Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ans.doc
Скачиваний:
12
Добавлен:
01.04.2025
Размер:
663.04 Кб
Скачать
  1. Реляционная модель данных: исчисления. Эквивалентность алгебры и исчислений.

Переменные: обозначают значения атрибутов отношений. Простые условия на значения переменных. Логические выражения, скобки. Кванторы. Запрос: левая часть - список переменных, правая часть - выражение в реляционном исчислении.

Эквивалентность алгебры и исчисления:

  • От алгебры к исчислению:

    • построить выражения для каждой операции

    • построить выражение для суперпозиции операций из выражений для этих операций

  • От исчисления к алгебре:

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

    • построить выражение для условий в выражении исчисления

    • выполнить проекцию на перечисленные в левой части атрибуты

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

Переменные: X ∈ R,Y ∈ S ...

Простые предикаты: X.attrR op const или X.attrR op Y.attrS

Логические операции ∨,∧,¬, кванторы

Запрос: (X.a1, X.a2, Y.b1, . . .) |— предикат

Другим языком запросов (помимо реляционной алгебры) является реляционное исчисление. Бывают разные виды реляционных исчислений. Запрос должен представляться одним логическим предикатом. Можно писать простые условия на атрибуты (сравнивать их друг с другом и константами при помощи >, <, <>, =, причём равенства и неравенства должны быть определены для данного домена). Можно смешивать атрибуты, взятые из разных отношений. Необходимо задать список атрибутов, включаемых в результат. Наконец, можно навешивать кванторы. В результате должно получиться отношение. Реляционное исчисление эквивалентно реляционной алгебре (то есть любой запрос из алгебры можно выразить средствами исчисления и наоборот).

Доказательство.

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

Идея доказательства в другую сторону такова: реляционная алгебра имеет базис (базисный набор операций). Можно построить выражения, реализующие операции базиса, и показать, как строится комбинация операций.

Что и требовалось доказать.

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

Алгебра императивна, исчисление декларативно (т.е. отличаются уровнем процедурности).

http://www.intuit.ru/department/database/rdbintro/5/

http://wiki.auditory.ru/%D0%91%D0%94:%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%E2%84%9612

  1. Объектно-ориентированные базы данных: типы данных. Идентификация и изменяемость.

Persistent programming languages

– Полностью скрывают существование базы данных, используется модель данных языка программирования

• Языки программирования баз данных

– СУБД включается в состав приложения

• Объектные базы данных

– Приложение включается в состав БД

• Объектно-реляционные базы данных

– Фактически предоставляется всеми высокопроизводительными СУБД

– Представляет собой набор расширений табличной модели данных

Объектные расширения табличной (реляционной) модели данных:

• Объектные типы данных в качестве значений

• Сложные типы данных – множества, сумки (множества с дубликатами), списки и массивы

• Вложенные таблицы

Связи в объектной модели данных:

• Только бинарные 1:0, 1:m

• Не поддерживаются связи m:n

• Автоматически поддерживаются СУБД

• Связи 1:m реализуются массивом ссылок (со стороны 1)

• Ограничения целостности: обязательное участие в связи

Rob, Coronel, стр 66:

Объекты <- сущности (любой объект представляет только один экземпляр сущности). Атрибуты описывают свойства объекта. Класс – совокупность подобных объектов со структурой совместного доступа (атрибуты) и поведением (методы). Методы = поведение объекта = реальные действия. Классы образуют иерархию классов, каждый класс имеет не более одного предка. Наследование – возможность объекта внутри иерархии классов наследовать атрибуты и методы классов, структурно расположенных выше его.

Рисуется в виде вертикального прямоугольника.

Молина, стр 150:

ODL – Object Definition Language

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

Типы данных: атомарные типы (числа и т.п.), записи, коллекции, ссылки.

Объект – значение соответствующего типа (immutable object), либо переменная, содержащая значение такого типа (mutable object).

ODL types: atomic type, class, set, bag, list, array, dictionary, structure

Конспект, стр 21: стоит почитать

Литерал – константа, сама себя идентифицирует.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]