В этом разделе рассматриваются два подхода к проектированию реляционной базы данных. Первый подход является более традиционным. В нем предполагается, что на этапе концептуального проектирования создается не концептуальная модель данных, а непосредственно реляционная схема базы данных, состоящая из определений реляционных таблиц. Проектирование реляционной базы данных заключается в нормализации этих определений таблиц согласно стандартной процедуре. Второй подход основан на концептуальной модели базы данных, создаваемой на этапе концептуального проектирования. Затем эта модель по определенным правилам преобразуется в реляционную модель.
До широкого распространения и признания концептуальных моделей традиционно использовался первый подход. Он все еще полезен в ситуациях, когда требуется достаточно простая схема базы данных. Второй подход с использованием концептуальных моделей имеет высокую ценность при проектировании больших, сложных схем баз данных, необходимых для корпоративных информационных систем.
Реляционная модель данных организует и представляет данные в виде таблиц или реляций. Реляция – это математический термин, обозначающий простую двумерную таблицу, состоящую из строк и столбцов данных.
Столбец таблицы – это атрибут реляции. Количество атрибутов реляции называется степенью реляции. Строки реляции называются кортежами. В литературе по базам данных строка таблицы (реляции) ранее называлась записью, клетка таблицы - полем. В дальнейшем таблицу будем описывать следующим образом:
<ИМЯ ТАБЛИЦЫ> (<СПИСОК АТРИБУТОВ>),
где список атрибутов – это множество неповторяющихся имен атрибутов, в котором ключевые атрибуты будут выделены подчеркиванием.
Набор всех возможных значений, которые могут принимать атрибуты, называется областью атрибута.
Пустые значения. Значение атрибута может быть пустым (иметь значение NULL). Значение NULL приписывается атрибуту в кортеже, если атрибут неприменим или его значение неизвестно.
Реляционная схема базы данных - список, в котором даются имена реляционных таблиц с перечислением их атрибутов (ключи подчеркнуты) и определений внешних ключей.