Физическая модель БД
Описание физической модели базы данных включает в себя описание объектов БД. Есть несколько способов, с помощью которых структура объектов БД описывается для СУБД. Чаще всего для этого создается текстовый файл, который описывает эти структуры. Язык, используемый для определения структур объектов БД, называется языком определения данных (ЯОД). Альтернативой текстовому описанию является визуальный (графический) способ задания структур объектов БД, используемый, например, в СУБД Access.
Схема БД состоит из набора определений, выраженных на ЯОД. В результате компиляции команд, созданных на ЯОД, создается системный каталог (словарь данных), в котором хранятся метаданные, т.е. данные, описывающие объекты БД. Метаданные упрощают способы доступа и управления объектами БД.
Проектирование реляционных таблиц
Каждое отношение схемы реляционной базы данных, полученное на этапе даталогического проектирования, должно быть описано на языке ЯОД СУБД и содержать следующие конструкции:
- имя отношения (таблицы);
- имена атрибутов (полей);
- определение первичных ключей;
- определение уникальных (потенциальных) ключей;
- определение физических характеристик атрибута (тип и длину);
- определение обязательности значения атрибута;
- определение логических ограничений на значение атрибута.
В начале физического проектирования реляционных таблиц удобно создать техническое описание этих таблиц, что затем позволит более эффективно создавать текстовое описание их структур на ЯОД.
Техническое описание можно представить в виде таблицы. Рассмотрим на примере. Допустим, есть следующая схема реляционной БД, содержащая следующие отношения: Категория должности (Код, Название, Краткое название); Должность (Код, Название, Краткое название, Код категории); Подразделение (Номер, Название, Аббревиатура, Код подразделения); Запись о работе сотрудника (Номер, Дата начала, Дата окончания, Ставка, Код должности, Код подразделения, Код сотрудника); Сотрудник (Табельный номер, Имя, Дата рождения, Пол).
Техническое описание таблицы «Должность» на ЯОД СУБД Access приведено в таблице первой, на ЯОД СУБД InterBase в таблице второй.
Таблица – Реляционная таблица «Должность» (ЯОД Access)
Имя поля |
Код_Долж |
Назв_Долж |
Кр_Назв_Д |
Код_Катег. |
Ключ |
Ключевое поле |
|
|
|
Тип, длина |
Счетчик, Длинное целое |
Текстовый, 50 |
Текстовый, 16 |
Числовой, Длинное целое |
Обязательность значения |
Да |
Да |
Нет |
Да |
Логическое ограничение на поле |
|
Маска ввода: L<?????????????? |
Маска ввода: |
|
Примеры данных |
17 |
техник |
Тех |
3 |
29 |
хормейстер |
Хорм |
3 |
|
348 |
заведую-щий складом |
зав.скл. |
12 |
Таблица - Реляционная таблица «Dolgn» (ЯОД InterBase)
Имя поля |
Kod_D |
N_D |
Sh_K_D |
K-Kateg |
Ключ |
Primary Key |
|
|
Foreign Key |
Тип, длина |
Integer |
VarChar (50) |
VarChar(16) |
Integer |
Обязательность значения |
Not Null |
Not Null |
Null |
Not Null |
Логическое ограничение на поле |
Check (value>0) |
|
|
Check (value>0) |
Примеры данных |
17 |
техник |
Тех |
3 |
29 |
хормейстер |
Хорм |
3 |
|
348 |
заведую-щий складом |
зав.скл. |
12 |
Из таблиц видно, как отличаются языки определения данных в СУБД Access и InterBase. СУБД InterBase использует ЯОД, являющимся диалектом стандарта языка SQL.