授業資料

表の正規化

  • 同じ情報は一カ所に集約する(1 fact in 1 place)

あまりまともでない表

書名著者名著者性別著者生年出版年出版社出版社所在地
たけくらべ樋口一葉18722010B社東京
こころ夏目漱石18672005C社東京
三四郎 , それから夏目漱石18672010A社大阪
舞姫森鴎外18622010B社東京

一つのセルに複数の情報を入れない(第一正規形)

書名著者名著者性別著者生年出版年出版社出版社所在地
たけくらべ樋口一葉18722010B社東京
こころ夏目漱石18672005C社東京
三四郎夏目漱石18672010A社大阪
それから夏目漱石18672010A社大阪
舞姫森鴎外18622010B社東京

キーにできるものとそれに従属する情報をひとまとめにして表を分割する(第三正規形)

  • 書名,著者名,出版社名がそれぞれ主キー
書名著者名出版年出版社
たけくらべ樋口一葉2010B社
こころ夏目漱石2005C社
三四郎夏目漱石2010A社
それから夏目漱石2010A社
舞姫森鴎外2010B社
著者名著者性別著者生年
樋口一葉1872
夏目漱石1867
森鴎外1862
出版社出版社所在地
A社大阪
B社東京
C社東京
  • これでは(同姓同名など)ユニークにならない場合もあるのでIDを使う
書籍ID書名出版年著者ID出版社ID
1たけくらべ201012
2こころ200521
3三四郎201021
4それから201021
5舞姫201032
著者ID著者名著者性別著者生年
1樋口一葉1872
2夏目漱石1867
3森鴎外1862
出版社ID出版社名出版社所在地
1A社大阪
2B社東京
3C社東京
  • 正規化することでデータのメンテナンスが楽になり速度も出る
    • ただし、正規化,ID化もあまりやり過ぎると使いにくくなり、かえって速度も落ちる場合がある。
    • 現実には、書籍のデータベースは共著なども考慮する必要があるのでこんなに単純にはならない。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS