Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неделя 06 Лекция 1 (9).doc
Скачиваний:
5
Добавлен:
13.11.2019
Размер:
66 Кб
Скачать
☆

9.3. Структурные правила (правила 1 и 6).

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

Правило 1 – представление информации

Вся информация в реляционной базе данных представляется в явном виде на логическом уровне и только одним способом — в виде значений в таблицах.

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

Правило 6 – обновление представления

Все представления, которые являются теоретически обновляемыми, должны быть обновляемы и в данной системе.

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

9.4. Правила целостности (правила 3 и 10).

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

Правило 3 – систематическая обработка неопределенных значений (NULL)

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

Правило 10 – независимость ограничений целостности

Специфические для данной реляционной СУБД ограничения целостности должны определяться на подъязыке1 реляционных данных и храниться в системном каталоге, а не в прикладных программах.

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

9.5. Правила управления данными (правила 2, 4, 5 и 7).

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

Правило 2 – гарантированный доступ

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

Правило 4 – динамический интерактивный каталог, построенный по правилам реляционной модели

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

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

Правило 5 – исчерпывающий подъязык данных

Реляционная система может поддерживать несколько языков и различные режимы работы с терминалами (например, режим заполнения формы — fill-in-the-blanks). Однако должен существовать по крайней мере один язык, операторы которого позволяли бы выражать все следующие конструкции: 1) определение данных; 2) определение представлений; 3) команды манипулирования данными (доступные как интерактивно, так и из программ); 4) ограничения целостности; 5) авторизация пользователей; 6) организация транзакций (запуск, фиксация и откат).

Следует отметить, что новый стандарт ISO для языка SQL обеспечивает выполнение всех этих функций таким образом, что любой поддерживающий этот стандарт язык автоматически будет удовлетворять и этому правилу.

Правило 7 – высокоуровневые операции вставки, обновления и удаления

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