Видання ( Код_ізданія , Код_заглавія, Від_ізданія, Номер_тома, Авторскій_знак, Бібліотечн_шіфр, Повторність, Код_іздательства, Год_ізданія, Анотація) [Заголовки, Від_ізданія, Видавництва];
Палітурки ( Номер_переплета , Код_ізданія, Ціна, Дата_пріобретенія) [Видання];
Стрижньові сутності і позначення зв'язані між собою асоціаціями:
Автори [Творці M, Видання N] ( Код_создателя , Код_ізданія ).
Укладачі [Творці M, Видання N] ( Код_создателя , Код_ізданія ).
Редактори [Творці M, Видання N] ( Код_создателя , Код_ізданія ).
Художники [Творці M, Видання N] ( Код_создателя , Код_ізданія ).
Перекладачі [Творці M, Видання N] ( Код_создателя , Код_ізданія , Мова).
Перевидання [Характери M, Видання N] ( Код_характера , Код_ізданія ).
Розміщення [Місця M, Палітурки N] ( Код_места , Номер_переплета , Дата_размещенія, Дата_із'ятія).
Видача [Читачі M, Палітурки N] ( Номер_білета , Номер_переплета , Дата_видачі, Термін, Дата_возврата).
І, нарешті, для зменшення обсягу часто використовуваного позначення "Видання" з нього виділена характеристика:
Анотації ( Код_ізданія , Анотація) {Видання}.
Рис. 5.2. Інфологіческая модель бази даних "Бібліотека", побудована за допомогою мови "Таблиці-зв'язку"
Проектування бази даних
У відповідність з процедурою проектування (п. 4.4) кожна з отриманих сутностей повинна бути представлена ​​базової таблицею. Перший варіант цих таблиць описується так:
СТВОРИТИ ТАБЛИЦЮ Творці * (Стрижнева сутність)
ПЕРВИННИЙ КЛЮЧ (Код_создат)
ПОЛЯ (Код_создат Ціле, Фам_ІО Текст 30);
СТВОРИТИ ТАБЛИЦЮ Видавництва * (Стрижнева сутність)
ПЕРВИННИЙ КЛЮЧ (Код_іздательства)
ПОЛЯ (Код_іздательства Ціле, Назва
Текст 40, Місто Текст 25);
< p> СТВОРИТИ ТАБЛИЦЮ Заголовки * (Стрижнева сутність)
ПЕРВИННИЙ КЛЮЧ (Код_заглавія)
ПОЛЯ (Код_заглавія Ціле, Заголовок Запис);
СТВОРИТИ ТАБЛИЦЮ Від_ізданія * ( Стрижнева сутність)
ПЕРВИННИЙ КЛЮЧ (Від_ізданія)
ПОЛЯ (Від_ізданія Ціле, Названіе_віда Текст 16);
СТВОРИТИ ТАБЛИЦЮ Характери * (Стрижнева сутність)
ПЕРВИННИЙ КЛЮЧ (Код_характера)
ПОЛЯ (Код_характера Ціле, Характер_переізданія Текст 16);
СТВОРИТИ ТАБЛИЦЮ Мови * (Стрижнева сутність)
ПЕРВИННИЙ КЛЮЧ (Код_язика)
ПОЛЯ (Код_язика Ціле, Мова Текст 16, Скорочення Текст 6);
СТВОРИТИ ТАБЛИЦЮ Місця * (Стрижнева сутність)
ПЕРВИННИЙ КЛЮЧ (Код_места )
ПОЛЯ (Код_места Ціле, Номер_комнати Ціле,
Номер_стелажа Ціле, Номер_полкі Ціле);
СТВОРИТИ ТАБЛИЦЮ Читачі * (Стрижнева сутність)
< p> ПЕРВИННИЙ КЛЮЧ (Ном_білета)
ПОЛЯ (Ном_білета Ціле, Прізвище Текст 20, Ім'я Текст 16,
батькові Текст 20, Адреса Текст 60, Телефон Текст 9);
СТВОРИТИ ТАБЛИЦЮ Видання * (Позначення)
ПЕРВИННИЙ КЛЮЧ (Код_ізданія)
ЗОВНІШНІЙ КЛЮЧ (Код_заглавія ІЗ Заголовка
NULL-значення НЕ допустимо
ВИДАЛЕННЯ З Заголовки ОБМЕЖУЄТЬСЯ
ОНОВЛЕННЯ Заглавія.Код_заглавія ОБМЕЖУЄТЬСЯ)
ЗОВНІШНІЙ КЛЮЧ (Від_ізданія ІЗ Від_ізданія
NULL-значення допустимо
ВИДАЛЕННЯ З Від_ізданія ОБМЕЖУЄТЬСЯ
ОНОВЛЕННЯ Від_ізданія.Від_ізданія КАСКАДІРУЕТСЯ)
ЗОВНІШНІЙ КЛЮЧ (Код_іздательства З Видавництва
NULL-значення НЕ допустимо
< p> ВИДАЛЕННЯ З Видавництва ОБМЕЖУЄТЬСЯ
ОНОВЛЕННЯ Издательства.Код_издательства КАСКАДІРУЕТСЯ)
ПОЛЯ (Код_ізданія Ціле, Код_заглавія Ціле,
Від_ізданія Текст 16, Номер_тома Ціле,
Авторскій_знак Текст 3, Бібліотечн_шіфр Текст 12,
Повторність Ціле, Код_іздательст-ва Ціле,
Год_ізданія Ціле)
ОБМЕЖЕННЯ (1. Значення полів Код_заглавія, Від_ізданія
і Код_іздательства повинні належати набору значень
відповідних полів таблиць Заголовки, Від_ізданія
і Видавництва; при порушенні висновок повідомлення "Такого
заголовка немає "," Такого виду видання немає "або" Такого
видавництва немає ".);
СТВОРИТИ ТАБЛИЦЮ Палітурки * (Позначення)
ПЕРВИННИЙ КЛЮЧ (Номер_переплета)
ЗОВНІШНІЙ КЛЮЧ (Код_ізданія З Видання
NULL-значення НЕ допустимо
ВИДАЛЕННЯ З Видання ОБМЕЖУЄТЬСЯ
ОНОВЛЕННЯ Ізданія.Код_ізданія КАСКАДІРУЕТСЯ)
ПОЛЯ (Номер_переплета Ціле, Код_ізданія Ціле, Ціна Гроші,
Дата_пріобретенія Дата)
ОБМЕЖЕННЯ (Значення поля Код_ізданія повинні належати набору
значень відповідного поля таблиці Видання;
при порушенні висновок повідомлення "Такого видання немає");
СТВОРИТИ ТАБЛИЦЮ Анотації * (Характеризує Видання)
ПЕРВИННИЙ КЛЮЧ (Код_ізданія)
ЗОВНІШНІЙ КЛЮЧ (Код_ізданія З Видання
NULL-значення допустимо
ВИДАЛЕННЯ З Видання ОБМЕЖУЄТЬСЯ
ОНОВЛЕННЯ Ізданія.Код_ізданія КАСКАДІРУЕТСЯ)
ПОЛЯ (Код_ізданія Ціле, Анотація Запис)
ОБМЕЖЕННЯ (Значення поля Код_ізданія повинні належати набору
значень відповідного поля таблиці Видання;
при порушенні висновок повідомлення "Такого видання немає");
СТВОРИТИ ТАБЛИЦЮ Автори * (Зв'язує Творці і Видання)
ПЕРВИННИЙ КЛЮЧ (Код_создателя, Код_ізданія)
ЗОВНІШНІЙ КЛЮЧ (Код_создателя З Творці
NULL-значення НЕ допустимо
ВИДАЛЕННЯ З Творці ОБМЕЖУЄТЬСЯ
ОНОВЛЕННЯ Создателі.Код_создателя КАСКАДІРУЕТСЯ)
ЗОВНІШНІЙ КЛЮЧ (Код_ізданія З Видання
NULL-значення НЕ допустимо
ВИДАЛЕННЯ З Видання ОБМЕЖУЄТЬСЯ
ОНОВЛЕННЯ Ізданія.Код_ізданія КАСКАДІРУЕТСЯ)
ПОЛЯ (Код_создателя Ціле, Код_ізданія Ціле)
ОБМЕЖЕННЯ (Значення полів Код_создателя і Код_ізданія повинні
належати набору значень відповідних полів
таблиць Творці та Видання; при порушенні висновок
повідомлення "Такого автора немає" або "Такого видання немає");
Аналогічний зміст мають описи таблиць Укладачі, Редактори, Художники і Перевидання. Решта ж таблиці проектованої бази даних описуються так:
СТВОРИТИ ТАБЛИЦЮ Перекладачі * (Зв'язує Творці, Видання та Мови)
ПЕРВИННИЙ КЛЮЧ (Код_создателя, Код_ізданія)
ЗОВНІШНІЙ КЛЮЧ (Код_создателя З Творці
NULL -значення НЕ допустимо
ВИДАЛЕННЯ З Творці ОБМЕЖУЄТЬСЯ
ОНОВЛЕННЯ Создателі.Код_создателя КАСКАДІРУЕТСЯ)
ЗОВНІШНІЙ КЛЮЧ (Код_ізданія З Видання
NULL- значення НЕ допустимо
ВИДАЛЕННЯ З Видання ОБМЕЖУЄТЬСЯ
ОНОВЛЕННЯ Ізданія.Код_ізданія КАСКАДІРУЕТСЯ)
ЗОВНІШНІЙ КЛЮЧ (Код_язика З Мови
NULL-значення НЕ допустимо
ВИДАЛЕННЯ З Мови ОБМЕЖУЄТЬСЯ
ОНОВЛЕННЯ Язикі.Код_язика КАСКАДІРУЕТСЯ)
ПОЛЯ (Код_создателя Ціле, Код_ізданія Ціле)
ОБМЕЖЕННЯ ( Значення полів Код_создателя, Код_ізданія і
Код_язика повинні належати набору значень
відповідних полів таблиць Творці, Видання
і Мови; при порушенні висновок повідомлення "Такого
автора немає "або" Такого видання немає "або" Такого
мови немає ");
СТВОРИТИ ТАБЛИЦЮ Розміщення * (Зв'язує Місця та Палітурки)
ПЕРВИННИЙ КЛЮЧ (Код_места, Номер_переплета)
ЗОВНІШНІЙ КЛЮЧ (Код_места З Місця
NULL-значення НЕ допустимо
ВИДАЛЕННЯ З Місця ОБМЕЖУЄТЬСЯ
ОНОВЛЕННЯ Места.Код_места КАСКАДІРУЕТСЯ)
ЗОВНІШНІЙ КЛЮЧ (Номер_переплета З Палітурки
NULL-значення НЕ допустимо
ВИДАЛЕННЯ З Палітурки КАСКАДІРУЕТСЯ
ОНОВЛЕННЯ Переплети.Ном_переплета КАСКАДІРУЕТСЯ)
ПОЛЯ (Код_места Ціле, Номер_переплета Ціле,
...