関係代数(1)
Haskell の練習に関係代数を実装しよう。
関係代数は強い静的型ととても相性が良さそうだ。データ構造は色々な定義ができそうだけど、可能な限り、シンプルに行こう。
以下はまだ試行錯誤中のデータ構造。
-- 'Database in Depth', Chapter Two. -- Suppliers data SNO = SNO String deriving (Eq, Show, Ord) theSNO (SNO x) = x data NAME = NAME String deriving (Eq, Show, Ord) type S = (SNO, NAME, Integer, String) suppliers = fromList [ ((SNO "S1"), (NAME "Smith"), 20, "London"), ((SNO "S2"), (NAME "Jones"), 10, "Paris"), ((SNO "S3"), (NAME "Blake"), 30, "Paris"), ((SNO "S4"), (NAME "Clark"), 20, "London"), ((SNO "S5"), (NAME "Adams"), 30, "Athens") ] :: Set S
参考
- "Database in Depth: Relational Theory for Practitioners" http://www.amazon.com/Database-Depth-Relational-Theory-Practitioners/dp/0596100124