このページの本文へ

女子大生とゼロから学ぶ データベースの基礎 第2回

リレーショナルの名前やドメイン、正規化や代数演算とは?

「由美ちゃん、これがRDBの要素だよ」(先生)

2010年01月21日 09時00分更新

文● 樋口千洋

  • この記事をはてなブックマークに追加
  • 本文印刷

「キー」はデータベースの鍵

先生:さて、上の3つの属性の中で意味合いが他とは異なるものが1つだけあります。どれだか分かりますか?

由美:商品番号じゃないかしら。

お父さん:えっ!? どうして?

由美:商品名や単価は商品そのものの性質を表わすものなので、同じになる場合があるわ。でも、商品番号は商品を特定するための記号よね。だから商品番号は商品ごとにひとつひとつ違うはずでしょ。

お父さん:なるほど確かにそうだ。

先生:由美さんの説明どおりですね。商品番号は記号で特定の商品を表わせるようにしたものですから、重複はないはずですよね。これがリレーションの場合なら、商品番号はタプルを表わす記号になります。このように、タプルを識別したり、特定のタプルを指定するために使う属性を「キー」といいます(図3)。

図3●商品のリレーションとキー

 キーは、特定のタプルを指定するときに複数のタプルが該当したり、該当するタプルが存在しないなんてことが起こらないように、重複する値や空の値があってはいけません。

 それから、上の場合キーは商品番号1つですが、リレーションによっては複数存在する場合がありますし、複数の属性を組み合わせてキーとして扱うこともあります。

由美:それはどんな場合ですか?

先生:たとえば商品番号を考えてみましょう。中村さん、商品番号に枝番号をつけることはありませんか?

お父さん:はい。複数の商品を組み合わせてセットで販売するときに使います。同じセットでも内容を少しずつ変えることがあるので、そういうときは商品番号に枝番を付けて管理することが多いです。

先生:それなら、そのセットの商品番号と枝番号を組にしてキーにするとよいと思います(図4)。

図4●複数の属性を組み合わせてキーを作成

お父さん:なるほどねえ。それで、そのキーって他に何に使うのですか?

先生:キーは重複や空の値を許さないので、索引を作ることができます。つまり索引を作ることで、膨大なタプルの中から探したいタプルだけを瞬時に検索することができるわけです。索引については、また別の機会に説明しましょう。

(次ページ、「リレーションの構成は簡潔な組み合わせにしよう」に続く)


 

カテゴリートップへ

この連載の記事