ответы к зачёту по Базам Данных (2009) (1122570), страница 13
Текст из файла (страница 13)
1) Создатель любого объекта БД автоматически становится его владельцем. Владелец облает всеми привилегиями для выполнения действий над данным объектом. Он может передать все/часть своих привилегий другим пользователям или ролям, в том числе привилегию на передачу привилегий (рекурсия).
2) С любой пользой и любой ролью в SQL связан уникальный идентификатор инициализаций. Средства создания идентификатора пользователя в стандарте SQL не определено. Но должен существовать пользователь с идентификатором PUBLIC – псевдопольз., соотв. любому пользователю. Для создания/удаления роли поддерживаются операторы CREATEROLE и DROPROLE.
3) Для передачи привилегии роли поддерживается оператор GRANT, для удаления – REMOVE.
-
Объектно-ориентированная модель данных. Ее структурная, манипуляционная и целостная части. Реализации
Объектная БД – набор контейнеров произвольного типа (объекты)
Типы данных:
Литеральные:
-
атомарные
-
числовые
-
строковые
-
темпоральные
-
логические
-
конструированные
-
структуры
-
коллекции (мн-ва, мульти мн-ва, массивы, списки, словари)
Объектные:
-
атомарные
-
объект: коллекция
Литеральные – только в качестве типов атрибутов внутри объекта значение д. типов не имеют идентификаторов и не могут самостоятельно храниться в БД.
Объектные – у любого типасуществует конструктор (созд. и инициал.) и отдельный атрибут OID (объект. идентификатор). OID уникален по всей БД (ключ – только в пределах таблицы). OID генерирует БД и не зависит от состояния объекта (ключ зависит от состояния объекта)
3 вида эквивалентностей объектов:
-
идентичность (идентификаторы совпадают)
-
эквивалентность по значению (значение всех их атрибутов одинаково, в случае сложных объектов - рекурсивно)
-
поверхностная эквивалентность, когда атрибуты идентичны (простые – по значению, объектные – по идентификатору)
Объектные коллекции могут храниться в БД самостоятельно и имеют идентификатор.
Манипулирование данными
Операторы могут вызываться из любого языка программирования и наоборот
В OQL результатом запроса является:
-
индивидуальный объект
-
коллекция объектов
-
коллекция литеральных значений
-
индивидуальные литеральные значения
ODL позволяет описать схему БД в виде набора интерфейсов объектных типов.
Подходы к созданию объектов:
-
устойчивость – характеристика всех экземпляров всех объектных типов
-
вызов конструктора предпол. создание транзитного экземпляра
-
смешанный: тип объекта определяется параметрами конструктора
Удаление объектов:
-
объект физически удаляется в любом случае
-
объект имеет счетчик ссылок. При ненулевом значении счетчика выставляется флаг уничтожения, а объект физически удаляется после того, как счетчик=0.
Ограничения целостности:
объекты совпадают тогда и только тогда, когда они идентичны, значит, нет ограничения целостности как в реляц. БД. Не существует потомков без предка.
Реализации: Versant, Objectivity DB, db4objects (Java/.NET)
с середины 2000x ODBMS.ORG – 2008 – новый стандарт
56. Объектно-реляционные расширения языка SQL. Возможные подходы к объектно-реляционному отображению без использования объектно-реляционных расширений SQL.
Определение пользователем типов данных и типизированных таблиц.
UDT:
-
Индивидуальный тип. Основан на единственном предопределенном типе (типа typedef), но без наследственных операций, их нужно указывать.
-
Структурный тип. Именованный тип данных, включающий 1 или более атрибутов любых из допустимых в SQL типов данных, в том числе в данных структурного типа можно использовать механизм наследственности от ранее определенного структурного типа.
При определении типизированных таблиц указывается ранее определенный структурный тип, и если в нем N атрибутов, то в таблице N+1 столбец “лишний” – самоссылающийся и содержит типизированный уникальный идентификатор строк.
Способ генерации значений при определении структурного типа
-
SYSTEM GENERATED – аналог ООБД
-
USER DEFINED (TYPE) – опр. тип уникального идентификатора, пользователь указывает значение, когда вставляет строки
-
USER DEFINED (список столбцов) – аналог ключа
57. Истинная реляционная модель данных. Ее структурная, манипуляционная и целостная части. Реализации.
Типы данных
-
скалярный (инкапсулир. тип, внутренняя структура которого скрыта от пользователя)
-
кортежный (определяется указанием заголовка в вие множества пар <имя атр., тип атр.>, значение – триплет <имя, тип, значение>)
-
отношение (определяется заголовком <имя, тип>, значение-заголовок, совпадение заголовка в определении + тело как множество кортежей)
Любой кортеж в отношении содержит ровно 1 значение для любого атрибута, значит, отношение в 1NF.
БД – набор долговременно хранимых отношений.
Манипуляция данными:
-
алгебра А
-
язык D (принципы: для запросов – алгебраический подход, запросы, адрес к сложным данным, формулируется более точно, чем на SQL.)
Ограничения целостности:
-
обязательное определение хотя бы 1 возможного ключа
-
поддержка ограничения целостности как произвольных условных выражений, которые логически эквивалентны замкнутой правильно построенной формуле.
-
Рекомендуется использовать ср. под. ссылоч. целостности DATAPHOR.
За проделанную титаническую работу спасибо 417 группе кафедры ММП 2011 г. выпуска!