- •Конспект лекций
- •Основные определенИя. Элементы субд.
- •Основные определения.
- •Система управления базами данных (субд)
- •Характеристика различных моделей баз данных.
- •Иерархические модель базы данных
- •1.4. Сетевая модель базы данных
- •Вопросы для самопроверки.
- •Общая характеристика реляционной модели данных
- •Фундаментальные свойства отношений.
- •Состав реляционной бд.
- •Базисные средства манипулирования реляционными данными
- •Элементы реляционной алгебры.
- •Реляционное исчисление.
- •Проектирование реляционных баз данных.
- •Проектирование баз данных на основе модели "Сущность-связь"
- •Элементы модели "сущность-связь"
- •Отображение подтипов в er-модели.
- •Общий порядок разработки модели бд на основе er моделирования.
- •4.1.4. Нормальная форма Бойса - Кодда (bcnf )
- •Механизмы работы с бд.
- •Ограничения
- •Описание ограничений
- •Механизмы реализации прикладной логики
- •Объявление курсора
- •Глобальные переменные работающие с курсорами
- •9.4. Исключения
- •Разработка клиентских приложений на основе архитектуры «Клиент – сервер»
- •Управление транзакции
- •Управление транзакциями (ут)
- •Управление на основе метода блокировок
- •Управление параллелизмов с использованием меток времени
- •Восстановление транзакций
- •Восстановление бд при различных режимах ведения журналов транзакций
- •Объектно-ориентированная модель бд
- •Отображение связей объектов в оом
- •Системы управления распределенными бд (сурбд)
- •Механизмы обеспечения прозрачности транзакций
- •Особенности проектирования распределенных бд
- •Типы пользователей
- •Создание учетных записей пользователей
- •Создание учетных записей пользователей в Sybase и Microsoft sql Server
- •Создание схемы.
- •Привилегии
-
Состав реляционной бд.
Согласно Дейту [1], реляционная модель баз данных состоит из трех частей:
1. В структурной части
2. В манипуляционной части
3. В целостной части
В структурной части модели фиксируется, что единственный структурой данных является реализованное n-арное отношение.
Манипуляционная часть включает механизмы манипулирования реляционными базами данных: реляционная алгебра и реляционное исчисление.
Реляционная алгебра основана на теории множеств и включает операции теории множеств.
Реляционное исчисление основано на аппарате алгебры логики и его раздела предикатного исчисления.
Целостная часть фиксирует 2 требования целостности, которые должны поддерживается в любой реляционной СУБД:
Требования целостности сущности. Данное требование соответствует первому свойству отношения – отсутствия кортежа дубликатов.
Требование целостности по ссылкам. Для того чтобы задать связь двух отношений, используется вторичный ключ (внешний). Внешний ключ содержит значение первичного ключа некоторой таблицы, с которой связана данная таблица.
С помощью внешних ключей одно отношение связывается с картежами другого отношения (базового). В базовом отношении этот ключ выступает в качестве первичного ключа.
Требование целостности по ссылкам подразумевает, что для каждого значения внешнего ключа должно найтись значение первичного ключа с таким же значениями, либо – значение должно на что-то указывать. При обновлении ссылающегося отношения (вставки новых кортежей) модификации внешнего ключа необходимо следить, чтобы не появились некорректные значения внешнего ключа. Особая ситуация возникает при удалении кортежей из отношения, на которую ведет ссылка. Для обеспечения целостности существует три подхода:
1. Запрещается удалить кортеж, на который указывает ссылка, т.е. сначала необходимо или удалить ссылающиеся кортежи, или изменить значения их внешних ключей.
2. В кортежах, в которых существует ссылки на удаляемый кортеж, значения внешнего ключа устанавливается как неопределённое.
3. При удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения удаляются все ссылающиеся на удаляемый кортеж кортежи.
-
Базисные средства манипулирования реляционными данными
-
Элементы реляционной алгебры.
-
Аппарат реляционной алгебры основан на теории множеств. Включает основные теоретико –множественные операции и дополнительные специальные реляционные операции.
Основные операции над отношениями:
Теоретико-множественные:
Объединения (U),
пересечения (∩),
разность (\),
прямое произведение (Х).
Специальные реляционные: ограничение, проекция, соединение, деление.
В состав реляционной алгебры также включаются такие операции как присваивания значений атрибутам, переименования атрибутов.
Операции объединения, пересечения разность аналогичны соответствующим операциям, выполняемым над множествами, однако отношения, над которыми выполняется эти операции, должны быть совместимы, то есть эти отношения должны иметь одинаковый набор атрибутов и эти атрибуты должны быть определены на одних и тех же доменах.
При выполнении прямого произведения двух отношений формируется новое отношение, кортежами которого будут все возможные сцепления кортежей первого и второго отношения. Прямое произведение может быть выполнено только над отношениями, у которых нет одинаковых атрибутов.
Операция ограничение производит ограничение отношений по некоторым условиям, т.е. формирование новое отношения, состоящие из кортежей отвечающих заданному условию, например
Where a>5,
где а один из атрибутов отношения.
Операция проекция выполняется на заданный набор его атрибутов, т.е. в исходном отношении оставляется только те атрибуты, на которые делается проекция. При выполнении проекции могут возникнуть дублирующие кортежи. Они соединяются в один. Операция «проекция» - одноместная операция.
Операция соединение отношение содержит три операнда. Первые два – соединяемые отношения, третий операнд – простое условие, которому должны отвечать кортежи результирующего отношения. Эту операцию можно рассматривать как прямое произведение, на которое наложено ограничение по заданному условию. Частный случай операции соединения - естественное соединение, когда в качестве условия задаётся равенство значения атрибутов соединяемых отношений.
В операции деления отношений участвуют 2 операнда: бинарные и унарные отношения. Результатом операции будет бинарные отношения, у которого значения второго атрибута равно значению атрибута отношения, участвующего операции в качестве второго операнда.