Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kursach_bd.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
702.46 Кб
Скачать

5 Даталогическое проектирование

5.1 Состав таблиц базы данных

В этом разделе приводится состав таблиц базы данных «Научно-исследовательская работа». Для каждого поля таблицы указан размер поля (в количестве символов), тип. Для первичных ключей введен запрет неопределенных значений. Для остальных полей возможность запрета неопределенных значений определяется семантикой предметной области.

Таблица 8 - Состав таблицы «Должности»

Наименование атрибутов

Тип полей

Размер полей

Допустимость неопределенных значений

kod_doljnosti;

doljnost.

integer

character

4

40

NOT NULL

Таблица 9 - Состав таблицы «Образование»

Наименование атрибутов

Тип полей

Размер полей

Допустимость неопределенных значений

kod_obrazovania;

obrazovanie.

integer

character

4

40

NOT NULL

Таблица 10 - Состав таблицы «Формы трудового участия»

Наименование атрибутов

Тип полей

Размер полей

Допустимость неопределенных значений

kod_f_trud_uchast;

forma_trud_uchast.

integer

character

4

40

NOT NULL

Таблица 11 - Состав таблицы «Сотрудники»

Наименование атрибутов

Тип полей

Размер полей

Допустимость неопределенных значений

tab_nom_sotr;

fio;

inn;

kod_doljnosti;

uchen_stepen;

kod_obrazov;

semeinoe_polojen;

kolvo_detei;

kod_f_trud_uch;

god_otchetn;

kod_kafedri;

shifr_temi.

integer

character

character

integer

character

integer

character

integer

integer

date

integer

integer

4

40

10

4

20

4

20

4

4

8

4

4

NOT NULL

Таблица 12 - Состав таблицы «Факультеты»

Наименование атрибутов

Тип полей

Размер полей

Допустимость неопределенных значений

kod_fak;

nazv_fakulteta.

integer

character

4

40

NOT NULL

Таблица 13 - Состав таблицы «Кафедры»

Наименование атрибутов

Тип полей

Размер полей

Допустимость неопределенных значений

kod_kaf;

nazv_kafedri;

kod_fak.

integer

character

integer

4

40

4

NOT NULL

Таблица 14 - Состав таблицы «Темы»

Наименование атрибутов

Тип полей

Размер полей

Допустимость неопределенных значений

shifr_temi;

nazv_temi;

god_objem_fin_tem

integer

character

float

4

40

10

NOT NULL

5.2 Средства поддержания целостности

Обеспечение целостности базы данных означает выполнение ряда ограничений, соблюдение которых необходимо для поддержания непротиворечивости хранимых данных. Среди ограничений целостности можно выделить ограничения диапазонов значений атрибутов отношений и структурные ограничения на кортежи отношений.

Первый тип ограничений предполагает контроль значений атрибутов отношений.

Структурные отношения фиксируют два требования целостности, которые должны поддерживаться реляционными СУБД: требование целостности сущностей и целостности ссылок. Каждому экземпляру сущности, представленному в отношении, соответствует только один его кортеж. Первое требование состоит в том, что любой кортеж отношения должен быть отличим от любого другого кортежа этого отношения, иными словами, любое отношение должно обладать первичным ключом.

Формулировка второго требования тесно связана с понятием внешнего ключа. Требование целостности по ссылкам состоит в том, что для каждого значения внешнего ключа родительской таблицы должна найтись строка в дочерней таблице с таким же значением первичного ключа.

В Visual Fox Pro поддержка ссылочной целостности выполняется с помощью одноименного Построителя. Чтобы открыть Построитель ссылочной целостности, достаточно выполнить следующее:

- Открыть БД с таблицами, для которых необходимо установить ссылочную целостность;

- В контекстном меню Конструктора БД задать команду Referential Integrity (ссылочная целостность), что и приведет к открытию окна Построитель ссылочной целостности данных.

В окне Построителя перечислены все постоянные связи между таблицами БД Подписка. Информация по каждой связи размещена в отдельной строке. Первые два столбца содержат имена родительских и дочерних таблиц. Следующие три столбца содержат правила поддержания ссылочной целостности в случае редактирования, удаления и добавления записей соответственно. Изначально все правила содержат Ignore, но они определяются для каждой связи и каждой из трех перечисленных операций. Последние два столбца содержат индексы (теги) родительской и дочерней таблиц, по которым осуществляется связь.

В диалоговом окне Построителя ссылочной целостности коррективам могут быть подвергнуты только столбцы с правилами. Задача состоит в том, чтобы для каждой связи определить правила поддержания ссылочной целостности при выполнении каждой из трех возможных операций с данными этих таблиц.

Таблица 15 - Средства поддержания целостности по ссылкам при модификации

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

Описание

Cascade

При изменении первичного ключа или ключа-кандидата в родительской таблице автоматически осуществляется каскадное изменение всех соответствующих значений в дочерней таблице.

Restrict

Не позволяет изменять значения полей первичного ключа или ключа-кандидата в родительской таблице, если в дочерней таблице имеется хотя бы одна запись, содержащая ссылку на изменяемую запись.

Ignore

Позволяет изменять значения полей первичного ключа или ключа-кандидата в родительской таблице независимо от существования связанных записей в дочерней таблице. Целостность данных при этом не поддерживается

При удалении записи из родительской таблицы возможны следующие варианты действий:

Таблица 16 - Средства поддержания целостности по ссылкам при удалении

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

Описание

Cascade

При удалении первичного ключа или ключа-кандидата в родительской таблице автоматически осуществляется каскадное удаление всех соответствующих значений в дочерней таблице.

Restrict

Не позволяет удалять значения полей первичного ключа или ключа-кандидата в родительской таблице, если в дочерней таблице имеется хотя бы одна запись, содержащая ссылку на изменяемую запись. При попытке удаления возникает ошибка, которую можно обработать программно.

Ignore

Позволяет удалять значения полей первичного ключа или ключа-кандидата в родительской таблице независимо от существования связанных записей в дочерней таблице. Целостность данных при этом не поддерживается.

При добавлении новой записи в дочернюю таблицу или редактировании в ней существующей записи.

Таблица 17 - Средства поддержания целостности по ссылкам при вводе

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

Описание

Restrict

Не позволяет вводить запись, если значение индексного выражения дочерней таблицы не соответствует одной из записей родительской таблицы.

Ignore

При вводе данных в дочернюю таблицу не анализируется значение индексного выражения. Целостность данных при этом не поддерживается.

В данном курсовом проекте ссылочная целостность формировалось следующим образом:

- Изменение значений ключевых полей родительских таблиц. Таблица «сотрудники» является дочерней по отношению к таблицам «должности», «образование», «формы трудового участия» и «темы», а таблица «кафедры» является дочерней по отношению к таблице «факультеты» (рисунок 1). Соответствующие поля являются ключевыми. При необходимости такие изменения нужны в родительских таблицах. В этом случае они синхронно (каскадно) изменяются в дочерних таблицах.

- Удаление записей в родительских таблицах. Запретим удаление записей в родительских таблицах, имеющих в дочерних таблицах записи с совпадающими значениями внешних ключевых полей.

- Изменение (добавление) записей в дочерней таблице. Запретим ввод записей в дочерней таблице, не соответствующих одной из записей в родительской таблице [2].

Рисунок 1 – Таблица «Средства поддержания целостности»

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]