Мегаобучалка Главная | О нас | Обратная связь


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



2016-01-05 1098 Обсуждений (0)
Средства поддержания целостности 0.00 из 5.00 0 оценок




 

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

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

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

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

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

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

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

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

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

 


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

 

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

 

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

 

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

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

 

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

 

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

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

 

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

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

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

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

 

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

 

 

Запросы к базе данных

 

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

- с помощью команды SELECT SQL языка Visual FoxPro, которая является аналогом соответствующей команды SQL;

- с помощью мастера запросов и

- с помощью конструктора запроса.

Команда SELECT имеет множество возможностей (опций). Ее упрощенное представление имеет вид:

SELECT Список выбираемых полей

FROM СписокТаблиц – источник данных [INTO ИмяТаблицы получателя данных]

[WHERE УсловиеВыборки]

[GROUP BY УсловиеГруппировки]

[ORDER BY УсловиеУпорядочивания вводимых данных]

Квадратные скобки указывают на необязательность опции.

Конструктор запроса позволяет:

- выбирать данные из одной или нескольких таблиц, используя сложные критерии;

- устанавливать временные связи между таблицами;

- выбирать поля и записи таблиц с требуемыми данными;

- выполнять вычисления с использованием выбранных данных.

Работа с конструктором запроса сводится к заполнению форм запроса. Результатом запроса всегда является таблица, которая может быть сохранена в массиве или созданной новой таблице, отражена на экране или оформлена в виде отчета. Данные, содержащиеся в результирующей таблице, могут быть представлены в виде графика или гистограммы [7].

Запросы представлены в приложении В.

 

 



2016-01-05 1098 Обсуждений (0)
Средства поддержания целостности 0.00 из 5.00 0 оценок









Обсуждение в статье: Средства поддержания целостности

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1098)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)