
3.6. Представления
Базовое отношение |
Поименованное отношение, соответствующее сущности в концептуальной схеме, кортежи которого физически хранятся в базе данных |
Представление |
Динамический результат одной или нескольких реляционных операций над базовыми отношениями. Представление является виртуальным отношением, которое в базе данных реально не существует, и которое создается по требованию пользователя в момент поступления этого требования. |
Назначение представлений:
предоставляет гибкий механизм защиты БД за счет сокрытия некоторой ее части от определенных пользователей;
позволяет организовать доступ пользователей к данным наиболее удобным для них способом;
позволяет упрощать сложные операции с базовыми отношениями.
3.7. Правила, которым должны удовлетворять реляционные субд
Для определения того, является ли СУБД реляционной Кодд (1985 г) предложил 13 правил, которым они должны удовлетворять. Их можно разделить на 5 групп:
Фундаментальные - 0, 12;
Структурные - 1, 6;
Целостности - 3, 10;
Управления данными - 2, 4, 5, 7;
Независимости от данных - 8, 9, 11
№ |
Гр. |
Правило |
0 |
1 |
Фундаментальное правило. Реляционная СУБД должна быть способна управлять базами данных исключительно с помощью ее реляционных функций |
1 |
2 |
Представления информации. Вся информация в реляционной БД представляется в явном виде на логическом уровне только одним способом – в виде значений в таблицах. В том числе, метаданные. |
2 |
4 |
Гарантированный доступ. Для каждого элемента данных реляционной БД должен быть гарантирован логический доступ на основе комбинации имени таблицы, значения первичного ключа и имени столбца |
3 |
3 |
Поддержка неопределенных значений. СУБД поддерживает неопределенные значения (Null).
|
4 |
4 |
Реляционный системный каталог. Описание БД должно представляться на логическом уровне таким же образом, как и обычные данные, что позволяет пользователям использовать для обращения к ним тот же реляционный язык. |
5 |
4 |
Исчерпывающий подъязык данных. Реляционная СУБД может поддерживать несколько языков. Однако должен существовать по крайней мере один язык, операторы которого позволяли бы выполнять следующие функции: 1) определение данных; 2) определение представлений; 3) команды манипулирования данными; 4) ограничения целостности; 5) авторизации пользователей; 6) организации транзакций. |
6 |
2 |
Обновление представления. Все педставления, которые являются теоретически обновляемыми, должны быть обновляемыми в данной СУБД. Не реализовано ни в одной СУБД, т.к. нет условий идентификации «теоретически обновляемые» |
7 |
4 |
Высокоуровневые операции извлечения, вставки, удаления, обновления. Способность СУБД выполнять операции извлечения данных, команд вставки, удаления и обновления как единой операции.
|
8 |
5 |
Физическая независимость от данных. От способа хранения |
9 |
5 |
Логическая независимость от данных. Независимость приложений от изменений базовых таблиц |
10 |
3 |
Независимость ограничений целостности. Ограничения целостности должны определяться на подъязыке реляционных данных и храниться в системном каталоге, а не в прикладных программах. |
11 |
5 |
Независимость от распределения данных. |
12 |
1 |
Правило запрета обходных путей. Если СУБД имеет низкоуровневый язык (с последовательной построчной обработкой), он не должен позволять обходить правила и ограничения целостности, описанных на реляционном языке высокого уровня |
4-