step03 実習:単一のテーブルからなるDBの設計

1つのテーブルだけからなるデータベースも、知的生産では有効に活用できることがある。たとえば、step01で例に挙げた京大カードデータベースは、

3テーブルから成っているが、たがいに関連(リレーションシップ)はないので、それぞれを、単一のテーブルからなる、単一のデータベースと見なせる。これはテーブル設計(デザイン)の実習として、最初に取り組むべき題材である。
では、以下の4つのテーマについて、データを格納するテーブルを設計してみよう。テーマは、易しいものからやや難しいものへと並べてある。すなわち、最初の2つはもともと一覧表であるもの、次の1つは表ではあるが一覧表ではないもの、最後の1つは書かれたデータではない現実のモノである。

個人用の住所録
各自、5人分の個人情報を用意してほしい。昔ならアドレス帳だったが、いまは友人・知人の個人情報はスマホで管理しているだろう。提出課題ではないから、個人情報が流出する心配はない。
住所、氏名、電話番号など、各自で必要と思うフィールドとデータ型を決めて、テーブルを完成させること。
蔵書カード
各自、5冊分の本の書誌情報を用意してほしい。これも本の奥付をスマホで撮れば手間なしだ。
バスの停留所にある時刻表
表現すべきデータを、図3-1に示す。1、2の課題は元データが一覧表(Excel用語でリスト表)であったが、この表は異なる(マトリクス表)ことに注意が必要である。何を1つのレコードとするかは、この場合自明でなく、少なくとも3通りくらいの考え方がある。テーブル設計にも、1台のバスとは何かという哲学的思考が必要なことがよくわかる。
付せん
読書中に、気になる箇所を覚えておくために本のページに貼る付せんである。簡単なメモを書くことができる。この課題は元データがモノである。本に貼られた状態の1枚の付せんに、どんな情報が含まれているかを考えることが、テーブル設計の前半になる。図3-2にヒントを示す。

図3-1: バスの時刻表(明大駿河台キャンパスから最寄りのバス停)
図3-2: 1枚の付せんに含まれる情報 (一例であるから、各自自由に発想してよい)