- •Курс лекций для студентов заочной формы обучения
- •Содержание
- •Введение
- •1. Основные понятия и термины
- •2. Логическое и концептуальное моделирование бд
- •Процесс построения модели данных
- •3. Модели данных
- •3.1. Иерархическая модель данных
- •3.2. Сетевая модель данных
- •3.3. Модель данных “сущность - связь”
- •3.4. Бинарная модель данных
- •3.5. Реляционная модель данных
- •4. Проектирование реляционных баз данных
- •4.1. Основные понятия
- •4.2. Ключи отношений
- •5.3. Операции над отношениями
- •5.3.1. Реляционные операторы
- •3. Применяем оператор выбора,
- •4.3.2. Операции обновления отношений
- •4.3.3. Другие операции над отношениями
- •4.4. Функциональные зависимости
- •4.5. Нормальные формы схем отношений
- •4.5.1. Первая нормальная форма ( 1 нф)
- •4.5.2. Вторая нормальная форма ( 2 нф)
- •4.5.3. Третья нормальная форма ( 3 нф)
- •4.5.4. Нормальная форма Бойса-Кодда (нфбк)
- •4.5.5. Многозначные зависимости. Четвертая нормальная форма
- •4.6. Декомпозиция схем отношений
- •4.7. Целостность данных
- •5. Системы управления базами данных (субд)
- •5.1. Функции субд
- •5.2. Языки баз данных
- •5.3. Типовая организация современной субд
- •5.4. Структуры внешней памяти
- •5.5. Хранение отношений
- •5.6. Индексы
- •5.6.2. Хэширование
- •5.6.3. Доступ к данным на основе инвертированных списков
- •6. Сетевые базы данных
- •6.1. Субд в архитектуре "клиент-сервер"
- •6.1.1. Открытые системы
- •6.1.2. Клиенты и серверы локальных сетей
- •6.1.3. Системная архитектура "клиент-сервер"
- •6.1.4. Серверы баз данных
- •6.1.5. Принципы взаимодействия между клиентом и сервером
- •6.1.6. Протоколы удаленного вызова процедур
- •6.1.7. Разделение функций между клиентами и серверами
- •6.1.8. Требования к аппаратным возможностям и программному обеспечению клиентов и серверов
- •6.2. Распределенные бд
- •6.2.1. Разновидности распределенных систем
- •6.2.2. Однородные распределенные системы
- •6.2.3. Интегрированные или федеративные системы и мультибазы данных
- •7. Современные направления разработок баз данных
- •Список используемой литературы:
4.2. Ключи отношений
Значение кортежа t на атрибуте А называют t (А) или, другими словами, А - значение кортежа t .
Если Х R некоторого отношения, тогда t (Х) можно интерпретировать как вхождение кортежа t в атрибуты, определяемые множеством Х.
Среди атрибутов схемы отношений можно выбрать такое подмножество атрибутов К R, что для любого ti(K) будет выполняться ti(K)tj(K), при ij.
Если К - минимальное подмножество атрибутов из R , то К - ключ отношения.
Отношение может иметь не единственный ключ. Эти ключи называют возможными ключами.
Множество ключей, выбранных из всех возможных ключей и определенным образом перечисленных, называют выделенными ключами.
Один из выделенных ключей отношения выбирают в качестве первичного.
Множество К R называютсуперключом, если К содержит любой из возможных ключей для r.
Атрибут А называется первичным, если входит в состав любого из возможных ключей.
Замечание 1:
Конечные отношения могут иметь различные ключи в зависимости от значений и количества кортежей в отношении, но при этом схема отношения не меняется.
Замечание 2:
Понятие ключа задается для схемы отношения, но это необходимо делать с учетом всех возможных состояний отношений с данной схемой.
Манипулирование связями и сущностями может быть реализовано при помощи реляционной алгебры, которая задает операции над отношениями.
5.3. Операции над отношениями
5.3.1. Реляционные операторы
Теоретико-множественные операции над отношениями
Два отношения с одной и той же схемой могут быть рассмотрены как подмножества одного и того же множества, составленного из всех возможных кортежей с этой схемой.
Для такого представления могут выполняться теоретико-множественные операторы:
Если r и s со схемой R, то
q (R) = r s- объединение;
q (R) = r s- пересечение;
q (R) = r - s- вычитание;
r s = r - (r - s).
Арность - размерность. Унарный - размерность 1, бинарный - размерность - 2, n - арный - размерность n.
Оператор выбора
Выбор- унарная операция, результатом которой является новое отношение с набором кортежей, атрибуты которых удовлетворяют определенному условию:
F (r) = q
F - условное выражение, операндами которого являются имена атрибутов, связанных между собой логическими операциями или операциями сравнения.
Пример:
r
A1
A2
A3
а
б
в
е
а
-
F(r):
(A1=a)(A1=)
A1A2
A3
а
б
в
е
а
и
к
л
Оператор проекции
Это также унарный оператор над отношением. Отличие от “выбора” - этот оператор выбирает не кортежи, а столбцы.
r (R), XR,
X (r) = q (X)
Если при этой операции образовались идентичные кортежи, то они удаляются. Операция проекции обладает свойством взаимопоглощения. Если две проекции выполняются последовательно и вторая операция выполняется по отношению к предыдущей операции, то конечный результат будет такой же, как непосредственно к исходному отношению, то есть
Y (X (r)) = Y (r)
Пример:
r (A, B, C)Х=(А,В) ; Y=(А)
а
A
B
а
б
d
е
и
к
а
б
-
A
а
d
и
B
C
а
б
в
d
е
а
и
к
л
а
б
д
б
A
а
d
и
а
-
A
а
d
и
B
C
а
б
в
d
е
а
и
к
л
а
б
д
Оператор декартова произведения
Это бинарный оператор, предназначенный для комбинирования двух отношений.
Пусть r1отношение арности к1, r2- к2.
r = r1x r2будет представлять из себя множество кортежей арности к1+ к2таких, что первые к1элементов кортежа отношения r составляют кортежи отношения r1, а последующие к2элемента кортежа из r составляются кортежами из r2. Сочетание кортежей из r1и r2при образовании кортежа r осуществляется по правилам декартова произведения .
Пример:
r1 r2r = r1x r2
-
а
р
с
и
а
б
с
d
б
а
р
а
б
с
и
с
d
а
р
с
d
с
и
Оператор естественного соединения отношений
Это бинарный оператор для комбинирования двух отношений.
Пусть r1(R1) и r2(R2), где
R1[A 1, A 2, ... , AK, B1, B2, ... , Bn]
R2[A 1, A 2, ... , AK, С1, С2, ... , Сm].
Тогда результатом естественного соединения будет отношение:
r = r1|> <| r2=
= П
Пример:
1. r1 r22. Сначала строим r = r1x r2
А
В
С
к
о
р
и
о
р
р
и
к
о
о
а
В
С
D
и
к
о
о
р
с
о
р
к
А
ВR1
СR1
ВR2
СR2
D
к
о
р
и
к
о
к
о
р
о
р
с
к
о
р
о
р
к
и
о
р
и
к
о
и
о
р
о
р
с
и
о
р
о
р
к
р
и
к
и
к
о
р
и
к
о
р
с
р
и
к
о
р
к
о
о
а
и
к
о
о
о
а
о
р
с
о
о
а
о
р
к
+
+
+
+
+