- •Определение базы данных и субд. Функции субд.
- •2 Модели данных и их классификация.
- •3 Функциональные зависимости.
- •4 Реляционная модель данных.
- •5 Реляционная алгебра.
- •6 Этапы разработки базы данных.
- •7 Концептуальное проектирование базы данных.
- •8 Целостность данных.
- •9 Критерии согласованности.
- •15 Нормальная форма Бойса-Кодда.
- •16 Транзакции и свойства транзакций.
- •17 Индивидуальный откат транзакций.
- •18 Метод временных меток.
- •19 Блокировки и решение проблем параллелизма.
- •20 Проблемы параллельной работы транзакций.
- •21 Преднамеренные блокировки.
- •22 Виды восстановления данных.
- •23 Восстановление после мягкого и жесткого сбоев.
- •24 Основные команды языка запросов sql.
- •25 Sql. Группировка и вычисления в запросах, соединения.
- •26 Sql. Представления. Хранимые процедуры и функции. Курсоры.
- •27 Способы организации архитектуры баз данных.
- •28 Физические модели хранения данных в субд.
- •29 Защита информации в базах данных.
- •30 Индексирование. Триггеры.
4 Реляционная модель данных.
Согласно Дейту реляционная модель состоит из трех частей, описывающих разные аспекты реляционного подхода: структурной части, манипуляционной части и целостной части.
В структурной части модели фиксируется, что единственной структурой данных, используемой в реляционных БД, является нормализованное n-арное отношение. По сути дела, в предыдущих двух разделах этой лекции мы рассматривали именно понятия и свойства структурной составляющей реляционной модели.
В манипуляционной части модели утверждаются два фундаментальных механизма манипулирования реляционными БД - реляционная алгебра и реляционное исчисление. Первый механизм базируется в основном на классической теории множеств (с некоторыми уточнениями), а второй - на классическом логическом аппарате исчисления предикатов первого порядка. Мы рассмотрим эти механизмы более подробно на следующей лекции, а пока лишь заметим, что основной функцией манипуляционной части реляционной модели является обеспечение меры реляционности любого конкретного языка реляционных БД: язык называется реляционным, если он обладает не меньшей выразительностью и мощностью, чем реляционная алгебра или реляционное исчисление.
Наконец, в целостной части реляционной модели данных фиксируются два базовых требования целостности, которые должны поддерживаться в любой реляционной СУБД. Первое требование называется требованием целостности сущностей. Второе требование называется требованием целостности по ссылкам и является несколько более сложным.
5 Реляционная алгебра.
Реляционная алгебра — формальная система манипулирования отношениями в реляционной модели данных.
Выборка
Операция выборки — унарный оператор, записываемый как σaθb(R) или σaθv(R), где:
a, b — имена атрибутов
θ — оператор сравнения из множества {<; ≤; =; ≥; >}
v — константа
R — отношение (в оригинале — relation, однако как видно из примера, подразумевается не столько взаимосвязь таблиц, сколько взаимосвязь/соотношение различных фактов в рядах этих таблиц).
Выборка σaθb(R) (или σaθv(R)) выбирает все наборы значений R, для которых функция a θ b (или a θ v) будет истинна.
Проекция
Операция выборки — унарный оператор, записываемый как πa1,…,an(R) где a1,…,an — спиоск полей, подлежащих выборке. Результатом такой выборки будет набор последовательностей значений отношения R, в котором будут присутствовать только поля, перечисленные в списке a1,…,an с естественным уничтожением потенциально возникающих кортежей-дубликатов.
Объединение
Пересечение
Разность
Деление
Реляционное деление достаточно нетривиально описать, но на примере его смысл нагляден. В целом, из таблицы A берутся значения строк, для которых присутствуют все комбинации значений из таблицы B.
Соединение
Операция соединения есть результат последовательного применения операций декартового произведения и выборки. Если в отношениях и имеются атрибуты с одинаковыми наименованиями, то перед выполнением соединения такие атрибуты необходимо переименовать.
