Решил попробовать изучить Haskell и функциональное программирование. Хочу написать простую базу данных.
Значит для начала мне нужно определить основные элементы: домен, атрибут, кортеж, заголовок, отношение.
Пока я их определил так:
Домен (пока у меня два типа)
data Domain = Bool | Integer
Имя атрибута:
type Attribute = String
Заголовок:
type Header = [Attribute]
Кортеж (частичная функция от имени аттрибута к значению):
type Tuple = String -> Domain
Отношение:
type Relation = [Tuple]
Основывался, правда, на Википедии: http://en.wikipedia.org/wiki/Relational_model.
Как считаете, правильные ли определения я написал? И что можно хорошее почитать по реляционной модели? Дейт описывает как-то уж очень неформально. Хотелось бы чистой математики, достаточно одной статьи. Нашел только "A formal definition of the relational model" от 1982 года. Оно не сильно устарело?