tandpデータの解説と練習問題など
基本的なrelational algebraのサンプルとして、LEAPのソースに含まれている、以下の書籍のサンプルのデータ、
の例に使われているデータを、source/data/tandp下に作っておきました。(LEAPのソースはGPLなのでこれを再配布したい時はご注意を)
tandpはLEAPのソースコードで使われていた名前ですが、おそらく書籍のタイトル、Theory and Practice of Relational Databasesの最初のTheory and Practiceを略してt and pから来ていると思います。
LEAPのソースコードに書かれているページ数は手元の第二版とはずれてるので自分の調べたページ数を以下に書いておきます。
図書館
- book.csv (p57, Example 4.1)
- index.csv (p57, Example 4.1)
- subject.csv (p57, Example 4.1)
- auction.csv (p60, Example 4.2)
図書館のデータベース。 bookは実際の各本のデータが入っている。 例えば「Androidを支える技術 I」が二冊ある場合も、このbook.csvに2つエントリが出来る。
subjectは分類コードとその名前が入っている。
indexは書籍の種類と棚が入っている。こちらは同じ本が二冊入っていたりはしない。
この3つが基本的なテーブルとなる。
最後のauctionは付加的なテーブルで、 図書館は古くなった本をオークションに出す、 という設定で、その取引の内容が記録されている。
purchase_priceが図書館が最初にその書籍を購入した時の価格、sell_priceはオークションで支払った価格。
divideのサンプル(p65, Example 4.7)
- lc.csv
- q.csv
ファッション雑貨店の在庫管理データベース(p67〜p68、4.3)
- goods.csv
- delivery.csv
- stock.csv
ファッション雑貨店の在庫管理データベースです。 商品はgoods.csvに一覧があります。
たくさんの支社に対して商品を配送していて、その配送記録がdelivery.csvにあります。
各支社の在庫がstock.csvにあります。