Правила независимости от данных (правила 8, 9 и 11).

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

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

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

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

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

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

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

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

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

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

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

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

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

Правило 8 – физическая независимость от данных

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

Правило 9 – логическая независимость от данных

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

Правило 11 – независимость от распределения данных

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

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

 

КОНТРОЛЬНЫЕ ВОПРОСЫ:

 

1. Какие структурные группы правил, по которым СУБД можно считать реляционной Вы знаете?

2. Сформулируйте правило 0 – фундаментальное правило, одно из тех, которые определяют: является ли СУБД реляционной.

3. Сформулируйте правило 12 – правило запрета обходных путей, одно из тех, которые определяют: является ли СУБД реляционной.

4. Сформулируйте правило 1 – представление информации, одно из тех, которые определяют: является ли СУБД реляционной.

5. Сформулируйте правило 6 – обновление представления, одно из тех, которые определяют: является ли СУБД реляционной.

6. Сформулируйте правило 3 – систематическая обработка неопределенных значений (NULL), одно из тех, которые определяют: является ли СУБД реляционной.

7. Сформулируйте правило 10 – независимость ограничений целостности, одно из тех, которые определяют: является ли СУБД реляционной.

8. Сформулируйте правило 10 – независимость ограничений целостности, одно из тех, которые определяют: является ли СУБД реляционной.

9. Сформулируйте правило 2 – гарантированный доступ, одно из тех, которые определяют: является ли СУБД реляционной.

10. Сформулируйте правило 4 – динамический интерактивный каталог, построенный по правилам реляционной модели, одно из тех, которые определяют: является ли СУБД реляционной.

11. Сформулируйте правило 5 – исчерпывающий подъязык данных, одно из тех, которые определяют: является ли СУБД реляционной.

12. Сформулируйте правило 7 – высокоуровневые операции вставки, обновления и удаления, одно из тех, которые определяют: является ли СУБД реляционной.

13. Сформулируйте правило 8 – физическая независимость от данных, одно из тех, которые определяют: является ли СУБД реляционной.

14. Сформулируйте правило 9 – логическая независимость от данных, одно из тех, которые определяют: является ли СУБД реляционной.

15. Сформулируйте правило 11 – независимость от распределения данных, одно из тех, которые определяют: является ли СУБД реляционной.

 


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