Классика баз данных - статьи

       

Пример проектирования и описания базы данных


При проектировании базы данных с использованием модели сущность-связь

выполняются четыре шага:

  1. идентификация представляющих интерес множеств сущностей связей;
  2. идентификация семантической информации в множествах связей, например, является ли некоторое множество связей отображением 1:n;
  3. определение множеств значений и атрибутов;
  4. организация данных в виде отношений сущность/связь и определение первичных ключей.

Будем использовать в качестве примера производственную компанию, рассмотренную в разд. 3.1. Результаты первых двух шагов проектирования базы данных отражены в диаграмме сущность-связь, показанной на рис. 11. Третий шаг состоит в определении множеств значений и атрибутов (см. рис. 2 и 3). На четвертом шаге принимается решение о первичных ключах сущностей и связей, и данные организуются в виде отношений "сущность/связь". Заметим, что для каждого множества сущностей на рис. 11 имеется соответствующее отношение сущность-связь. Мы будем использовать имена множеств сущностей (на уровне 1) как имена соответствующих отношений сущность-связь

(на уровне 2), если только это не вызывает путаницы.

В конце этого раздела мы показываем схему (определение данных) небольшой части базы данных из упомянутого выше примера производственной компании (синтаксис определения данных не представляет особой важности). Заметим, что множества значений определяются с указанием представлений и допустимых значений. Например, значения в EMPLOYEE-NO представляются как целые из 4 цифр с диапазоном значений от 0 до 2000. Затем мы объявляем три отношения сущностей: EMPLOYEE, PROJECT и DEPENDENT. Указываются атрибуты и множества значений, определенные на множествах сущностей, а также первичные ключи. DEPENDENT – это слабое отношение сущностей, так как частью его первичного ключа является EMPLOYEE.PK. Мы также объявляем два отношения связей: PROJECT-WORKER и EMPLOYEE-DEPENDENT. Указываются роли и вовлекаемые в связи сущности. Мы используем EMPLOYEE.PK для именования отношения сущностей (EMPLOYEE), и подходящие пары атрибут-множество значений используются как первичные ключи в этом множестве сущностей.
Устанавливается максимальное число сущностей из множества сущностей в отношении. Например, PROJECT-WORKER является отображением m:n. Мы можем указать значения m и n. Можно также задать не только максимальное число сущностей, но и их минимальное число. EMPLOYEE-DEPENDENT – это слабое отношение связей, так как одно из входящих в это отношение связей отношение сущностей DEPENDENT является слабым отношением сущностей. Заметим, что также указывается зависимость существования подчиненных от их начальника.
DECLARE VALUE-SETS REPRESENTATION ALLOWABLE-VALUES
EMPLOYEE-NO INTEGER(4) (0,2000) FIRST-NAME CHARACTER(8) ALL LAST-NAME CHARACTER(10) ALL NO-OF-YEARS INTEGER(3) (0,100) PROJECT-NO INTEGER(3) (1,500) PERCENTAGE FIXED(5.2) (0,100.00)
DECLARE REGULAR ENTITY RELATION EMPLOYEE ATTRIBUTE/VALUE-SET: EMPLOYEE-NO/EMPLOYEE-NO NAME(FIRST-NAME,LAST-NAME) ALTERNATIVE-NAME/(FIRST-NAME,LAST-NAME) AGE/NO-OF-YEARS PRIMARY KEY:
EMPLOYEE-NO
DECLARE REGULAR ENTITY RELATION PROJECT ATTRIBUTE/VALUE-SET: PROJECT-NO/PROJECT-NO PRIMARY KEY:
EMPLOYEE-NO
DECLARE WEAK RELATIONSHIP RELATION PROJECT-WORKER ROLE/ENTITY-RELATION.PK/MAX-NO-OF-ENTITIES
WORKER/EMPLOYEE.PK/n PROJECT/PROJECT.PK/m (отображение m:n) ATTRIBUTE/VALUE-SET: PERCENTAGE-OF-TIME/PERCETNTAGE
DECLARE WEAK RELATIONSHIP RELATION EMPLOYEE-DEPENDENT ROLE/ENTITY-RELATION.PK/MAX-NO-OF-ENTITIES
SUPPORTER/EMPLOYEE.PK/1 DEPENDENT/DEPENDENT.PK/n EXISTENCE OF DEPENDENT DEPENDENS ON: EXISTENCE OF SUPPORTER
DECLARE WEAK ENTITY RELATION DEPENDENT ATTRIBUTE/VALUE-SET: NAME/FIRST-NAME AGE/NO-OF-YEARS PRIMARY KEY:
NAME EMPLOYEE.PK THROUGH EMPLOYEE-DEPENDENT

Содержание раздела