skillup

技術ブログ

Database

データクレンジング

投稿日:

リレーショナルデータベースでデータを管理する前に、しなくてはいけないことはデータをデータベースに登録できる形に整形することです。

このことをデータクレンジングといいます。

これを行わずに何も考えずにデータベースに登録する場合、フォーマットが非効率であったりなど、データが「汚れていること」が多々あります。

特に厄介ないのが、今までデータベースでデータを管理していないのに、データベースでこれから登録しようとしたり、リレーショナルデータベース以外の管理方法でデータが利用されていたようなケースです。

その場合下記のような流れでデータを登録していくことが多いです。

  1. オリジナルのデータ
  2. データフォーマットの調査
  3. データクレンジング
  4. オリジナルのデータ
  5. データベース設計
  6. データベース登録

代表的なデータクレンジングの内容

一意キーの特定

これは紙などでデータを管理していた場合に起こりがちですが、レコードを特定するキーがないことです。

例えば注文書の記録を集めた場合、顧客情報をそのままかいており、顧客名には複数の表記が見られたり(渡邊と渡辺)、そもそも特定ができないもの(同姓同名の注文者)もあります。

この場合、新たにキーを作成することから始める必要があります。

名寄せ

名寄せとは名前の似通った名前を寄せ集めて統合することです。

人名や企業名の表記ゆれを解消して名称を統一します。例 (株)武田産業 武田産業株式会社

名寄せが必要になるのは情報を記録する際にフリーハンド(フォーマットがない・ゆるい)の入力を許していることが原因です。このようなことが起こると以前のエントリーで話したようなダブルマスタといったバッドノウハウを生み出すことにもなります。

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

EXISTSと集合

前回に引き続きEXISTSの問題です。 下記のようなテーブル(projects)があり、 project_id | step_nbr | status ———&#8 …

no image

MySQLのセキュアな設定

以前SSHの設定についていろいろ書いたんで今回はMySQLに関して。 Contents1 基本的な処方箋(MySQLに限らないかも)2 ホストのアクセスを制限する3 LOCAL INFILEコマンドを …

no image

SQL基礎 手続き型言語と集合思考の言語

どんな仕事でもそうだと思いますが、長年惰性で使っていると日常の作業はなんとかできてるけど、実は深く理解していない&効率のいいやり方を知らない、ということが結構あります。 私の場合、ちょっと前にCSSを …

no image

SQL基礎 結合に関して

SQL実践入門を読んで勉強しておりますが、本日は結合に関して。 Contents1 クロス結合2 内部結合3 外部結合4 結合のアルゴリズムとパフォーマンス4.1 NestedLoops4.2 Has …

no image

postgresの外部キー制約やcascadeについて

外部キーを貼っておくと、当然、削除などを行うときにエラーになり、truncateも当然できなくなりますが、cascadeをつけることで、関連するテーブルまで一気にtruncateされます。 [cray …

アーカイブ