
- •18 Часов
- •Тема 1 Значение информационных систем и баз данныхв образовании инженера-строителя 4
- •Тема 2 Технология баз данных 7
- •Тема 3 Реляционные базы данных 13
- •Тема 4 Эксплуатация баз данных 19
- •Тема 5 субд в архитектуре "клиент-сервер" 20
- •Значение информационных систем и баз данныхв образовании инженера-строителя
- •Технология баз данных
- •Непосредственное управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация
- •Поддержка языков бд
- •Ядро субд
- •Компилятор языка бд
- •Подсистема поддержки времени выполнения
- •Утилиты
- •Иерархическая модель
- •Сетевая модель.
- •Реляционная модель
- •Реляционные базы данных
- •Отсутствие кортежей-дубликатов
- •Отсутствие упорядоченности кортежей
- •Отсутствие упорядоченности атрибутов
- •Атомарность значений атрибутов
- •Понятие функциональной зависимости и ключи
- •Типы связей в реляционных базах
- •Связь «один ко многим»
- •Связь «один к одному»
- •Связь «много к одному»
- •Связь «много ко многим»
- •Понятие нормализации
- •Основные свойства нормальных форм
- •Запросы на выборку;
- •Запросы на модификацию данных, или управляющие запросы
- •Запрос на выборку
- •Запросы на изменение
- •Субд в архитектуре "клиент-сервер"
- •Открытые системы
- •Клиенты и серверы локальных сетей
- •Системная архитектура "клиент-сервер"
- •Принципы взаимодействия между клиентскими и серверными частями
- •Преимущества протоколов удаленного вызова процедур
- •Типичное разделение функций между клиентами и серверами
- •Требования к аппаратным возможностям и базовому по клиентов и серверов
-
Реляционные базы данных
Фундаментальные свойства отношений
Остановимся теперь на некоторых важных свойствах отношений, которые следуют из приведенных ранее определений.
-
Отсутствие кортежей-дубликатов
То свойство, что отношения не содержат кортежей-дубликатов, следует из определения отношения как множества кортежей. Из этого свойства вытекает наличие у каждого отношения так называемого ключа - набора атрибутов, значения которых однозначно определяют кортеж отношения. Для каждого отношения, по крайней мере, полный набор его атрибутов обладает этим свойством.
-
Отсутствие упорядоченности кортежей
Отсутствие упорядоченности кортежей отношения является следствием определения отношения, как множества кортежей. Это не противоречит тому, что при формулировании запроса к БД, например, на языке SQL, можно потребовать сортировки результирующей таблицы в соответствии со значениями некоторых столбцов. Такой результат, вообще говоря, не отношение, а некоторый упорядоченный список кортежей.
-
Отсутствие упорядоченности атрибутов
Атрибуты отношений не упорядочены, поскольку по определению схема отношения есть {имя атрибута, его домен}. Для ссылки на значение атрибута в кортеже отношения всегда используется имя атрибута.
-
Атомарность значений атрибутов
Значения всех атрибутов являются атомарными. Это следует из определения домена атрибута как множества значений простого типа данных - среди значений домена не могут содержаться отношения.
Операции над отношениями реляционных БД
При рассмотрении отношений и операций над ними введем следующие понятия:
Степень отношения – число входящих атрибутов
Мощность отношения – число кортежей отношения
Совместные отношения – имеют одинаковые степени и одинаковые типы соответствующих атрибутов
Для манипулирования отношениями используют операции реляционной алгебры. Отношения реляционной алгебры - это множества, поэтому средства работы с отношениями базируются на традиционных операциях теории множеств, которые дополняются некоторыми операциями, специфичными для баз данных. Чаще всего выделяют следующие операции реляционной алгебры:
-
объединение отношений;
-
пересечение отношений;
-
разность отношений;
-
произведение отношений;
-
деление отношений;
-
ограничение (выборка) отношения;
-
проекция отношения;
-
соединение отношений.
Кроме перечисленных выше, в СУБД, как правило, реализуются также операция присваивания, позволяющая сохранять в базе данных результаты обработки, операция переименования атрибутов и операция агрегации (итоговые).
Операции реляционной алгебры могут быть описаны следующим образом.
1)Операция объединения двух отношений позволяет создать отношение, включающее все кортежи отношений-операндов. Отношения операнды должны быть совместны.
2) Результат операции пересечения отношений - отношение, содержащее строки, которые входят одновременно в оба отношения-операнда. Отношения операнды должны быть совместны.
3) Разность (вычитание) отношений используется для выделения строк, которые входят в первое отношение-операнд и не входят во второе. Отношения операнды должны быть совместны.
4) При выполнении операции декартово произведение двух отношений каждая строка первого отношения-операнда сцепляется (конкатенируется) с каждой строкой второго отношения-операнда. Сцепленные строки образуют отношение-результат. Степень результата – сумма степеней сомножителей. Мощность – произведение мощностей сомножителей. Множества атрибутов отношений-операндов не должны пересекаться.
5) Операция деления "обратна" операции прямого (декартова) умножения. Делитель должен содержать подмножество атрибутов делимого. Результат содержит только те атрибуты делимого, которых нет в делителе, и включает кортежи, декартовы произведения которых с делителем содержатся в делимом.
6) Операция выбора (селекции) - это выбор из отношения подмножества кортежей, удовлетворяющих заданному условию.
7) Операция проекции позволяет выбрать из отношения-операнда (здесь один операнд, унарная операция) определенные атрибуты отношения (на них выполняется проекция), исключая повторения в кортежах.
8) Операция соединения выполняется над несколькими отношениями, в каждом из которых имеется соединяющий атрибут. Результат включает все атрибуты соединяемых отношений.
Существует очень мало СУБД, язык которых поддерживают все операции. Большинство СУБД поддерживают только выбор, проекцию, соединение.
Связи в реляционной модели баз данных