- •Введение
- •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.3.2. Операции обновления отношений
В зависимости от изменений, происходящих на объекте реального мира в предметной области, происходит изменение состояния отношений в БД. Для реализации этих изменений используются операции обновления отношений.
Замечание: Приведенные далее имена операций ADD, DEL, CH не соответствуют именам в реальных СУБД. а приведены только для обозначения операций.
Добавление ADD новых кортежей в отношение
ADD ( r; A1 = d1, ... , AK = dK) - если порядок атрибутов в отношении может быть изменен.
ADD ( r; d1, ... , dK) - если порядок атрибутов не меняется.
Пример: r - группа датчиков
ADD (группа_датчиков; номер=100, назначение = измерение температур, тип = t - резисторный, подсистема = контроль аварийной ситуации)
При выполнении добавления возможно возникновение следующих ситуаций:
1) добавляемый кортеж не соответствует схеме указанного отношения (то есть имеются ошибки в атрибутах);
2) некоторые значения в кортеже не принадлежат соответствующим им доменам;
3) описанный кортеж совпадает (по ключу) с кортежем, уже имеющемся в отношении.
В этом случае операция ADD оставляет отношение без изменения и выдает признак ошибки.
Удаление DEL кортежа из отношения
DEL ( r; A1 = d1, ... , AK = dK ) - если порядок атрибутов в отношении может быть изменен.
DEL ( r; d1, ... , dK) - если порядок атрибутов не меняется.
Если в отношении указан ключ К=( В1, ... , Вm ), то удаление может выполняться только с указанием атрибутов ключа:
DEL( r; В1 = С1, ... , Вm = Cm).
Удаление выполняется успешно всегда, если удаляемый кортеж идентифицирован в отношении. Таким образом, в результате выполнения операции удаления отношение может оказаться пустым. Пустое отношение допускается в БД.
Изменение части кортежа CH
Если в отношении r со схемой R [A1 , ... , AK] изменяется атрибут кортежа t { С1, ... , Ср }, то это выполняется с помощью оператора
СН ( r; A1 = d1, ... , AK = dK; С1 = С1, ... , Ср = Cр)
Если К =( В1, ... , Вm ) - ключ отношения, то
СН ( r; В1 = d1, ... , Bm = dm; С1 = С1, ... , Ср = Cр)
Операция СН может быть выполнена помощью последовательности операций удаления и добавления. Все ошибочные ситуации, связанные с этими операциями, присущи и операции изменения части кортежа.
4.3.3. Другие операции над отношениями
Кроме операторов реляционной алгебры используют операторы, играющие существенную роль с практической точки зрения.
Оператор расщепления
r(R), (t) - предикат на кортеже t , t r
Тогда расщеплением r по (t) будет
SPLIT (r) = (S, S) таких, что
S ={ t r , (t) = 1}
S= { t r , (t) = 0}, S = r - S.
На предикат (t) не накладывается никаких ограничений, за исключением одного, заключающегося в том, что (t) зависит только от одного кортежа и не зависит от состояния отношения r(R). Например, предикат (t) не должен зависеть от количества кортежей в отношении.
П
(t) =( t (Тип_дат = T1)
t (Тип_дат = T4)
SPLIT
(r) = (S, S)
Тип
Дат
Имя
пар-ра
T1
P1
T1
P2
T2
P2
T2
P3
T3
P2
T4
P2
T4
P4
S
S
Тип
Дат
Имя
пар-ра
T1
P1
T1
P2
T4
P2
T4
P4
Тип
Дат
Имя
пар-ра
T2
P2
T2
P3
T3
P2
Оператор “фактор”
В качестве аргумента оператора берется отношение r, а результатом являются два отношения.
FACTOR (r) = (S, L)
При выполнении операции “фактор” в исходном отношении выделяется некоторое количество атрибутов и соответствующие им столбцы отделяются от исходного отношения. Задается новый атрибут, который добавляется к схеме исходного отношения. Выделенные атрибуты вместе с новым атрибутом составляют схему результирующего отношения L. Добавленный атрибут является ключевым в отношении L.
П
S
L
r
Шифр
Дат
Тип
Дат
Имя
п/сист
А1
T1
P1
А2
T1
P2
А3
T2
P2
А4
T1
P1
А5
T2
P1
А6
T2
P2
А7
T1
P1
Шифр
Дат
Метка
А1
1
А2
2
А3
3
А4
1
А5
4
А6
3
А7
1
Тип
Дат
Имя
п/сист
Метка
T1
P1
1
T1
P2
2
T2
P2
3
T2
P1
4