Модели данных и методы построения баз данных, страница 3

1.  Преобразуйте сущности в таблицы

§  Создайте бланк экземпляра каждой таблицы. Укажите имя таблицы.

2.  Преобразуйте атрибуты в столбцы

§  Каждый атрибут сущности из ER-модели должен быть отображен в имя столбца таблицы. Атрибуты, отмеченные символом “*”, преобразуйте в столбцы NOT NULL (в бланке экземпляра таблицы отмечается, как NN).

СОТРУДНИК

Номер

Фамилия

Имя

Телефон

Тип ключа

Обязательность / Уникальность

NN

NN

NN

Внешний ключ на таблицу

Внешний ключ на колонки

Тип данных

NUM

CHAR

CHAR

CHAR

Максимальная длина

7

20

15

20

Пример

1

Петров

Александр

12-34-56

СОТРУДНИК_ПРОЕКТ

Срок_выполнения

Тип ключа

Обязательность / Уникальность

Внешний ключ на таблицу

Внешний ключ на колонки

Тип данных

DATE

Максимальная длина

Пример

10.10.2002

3.  Уникальные идентификаторы преобразуйте в первичные ключи. Если необходимо, включите в первичный ключ компоненты внешнего ключа

§  Преобразуйте все атрибуты сущностей, отмеченные символом “#” в столбцы первичного ключа (помечаются символом PK). Эти столбцы, также, помечаются символом NN. Если первичный ключ состоит из одного столбца, столбец помечается, как U, если из нескольких – каждый из них помечается символом U1. Альтернативные столбцы, также, помечаются, как U и NN, но символом PK можно пометить только один первичный ключ.

§  Если уникальный идентификатор сущности (UID) включает связь, необходимо добавить столбец для каждой связи и пометить его, как FK и PK. Эти столбцы необходимо, также, пометить символами NN и U1.

СОТРУДНИК

Номер

Фамилия

Имя

Телефон

Тип ключа

PK

Обязательность / Уникальность

NN, U

NN

NN

Внешний ключ на таблицу

Внешний ключ на колонки

Тип данных

NUM

CHAR

CHAR

CHAR

Максимальная длина

7

20

15

20

Пример

1

Петров

Александр

12-34-56

СОТРУДНИК_ПРОЕКТ

Срок_выполнения

Номер_сотрудника

Номер_проекта

Тип ключа

PK, FK1

PK, FK2

Обязательность / Уникальность

NN, U1

NN, U1

Внешний ключ на таблицу

СОТРУДНИК

ПРОЕКТ

Внешний ключ на колонки

Номер

Номер

Тип данных

DATE

NUM

NUM

Максимальная длина

7

7

Пример

10.10.2002

1

1

4.  Преобразуйте связи во внешние ключи

  • Для связи «многие к одному» поместите внешний ключ на стороне «много» и пометьте его символом FK. Так же поступите с рекурсивными связями. Если связь обязательная, пометьте ее символом NN.
  • Для связи «один к одному» поместите внешний ключ на обязательной стороне связи (или на любой стороне, если связь необязательна в обоих направлениях). Пометьте столбец внешней связи символом FK. Если связь обязательная, пометьте ее символом NN.

СОТРУДНИК

Номер

Фамилия

Имя

Телефон

Номер_руководителя

Тип ключа

PK

FK

Обязательность / Уникальность

NN, U

NN

NN

Внешний ключ на таблицу

СОТРУДНИК

Внешний ключ на колонки

Номер

Тип данных

NUM

CHAR

CHAR

CHAR

NUM

Максимальная длина

7

20

15

20

7

Пример

1

Петров

Александр

12-34-56

2

После полного преобразования ER-модели в табличную модель в нашем примере (Рисунок 5) должны получиться следующие бланки экземпляров таблиц:

СОТРУДНИК

Номер

Фамилия

Имя

Телефон

Номер_руководителя

Тип ключа

PK

FK

Обязательность / Уникальность

NN, U

NN

NN

Внешний ключ на таблицу

СОТРУДНИК

Внешний ключ на колонки

Номер

Тип данных

NUM

CHAR

CHAR

CHAR

NUM

Максимальная длина

7

20

15

20

7

Пример

1

Петров

Александр

12-34-56

2

ПРОЕКТ

Номер

Наименование

Стоимость

Тип ключа

PK

Обязательность / Уникальность

NN, U

NN

Внешний ключ на таблицу

Внешний ключ на колонки

Тип данных

NUM

CHAR

NUM

Максимальная длина

7

250

10

Пример

1

Моделирование прокатного стана

100000

СОТРУДНИК_ПРОЕКТ

Срок_выполнения

Номер_сотрудника

Номер_проекта

Тип ключа

PK, FK1

PK, FK2

Обязательность / Уникальность

NN, U1

NN, U1

Внешний ключ на таблицу

СОТРУДНИК

ПРОЕКТ

Внешний ключ на колонки

Номер

Номер

Тип данных

DATE

NUM

NUM

Максимальная длина

7

7

Пример

10.10.2002

1

1

ПОДПРОЕКТ

Номер

Наименование

Номер_проекта

Тип ключа

PK

PK, FK

Обязательность / Уникальность

NN, U1

NN

NN, U1

Внешний ключ на таблицу

ПРОЕКТ

Внешний ключ на колонки

Номер

Тип данных

NUM

CHAR

NUM

Максимальная длина

7

250

7

Пример

1

Стратегия и анализ

1

Литература

1.  Вильям Дж. Пэйдж Использование Oracle8/8i: пер. с англ. – М.: Издательский дом "Вильямс", 1999.

2.  Джудит С.Боуман и др. Практическое руководство по SQL/ 3-е издание: пер. с англ. – К.:  Диалектика, 1997.