
Тема 1: Введение в бд. Реляционная модель данных.
Введение в теорию баз данных. Определение ИС, БД, СУБД. Модели БД. Типы СУБД. Функции СУБД. Понятие архитектуры клиент-сервер.
Важное условие функционирования любой организации – развитая ИС, которая представляет собой систему, реализующую автоматизированный сбор, хранения,… информации…
БД - наименованная сов-ть данных, организованных по определенным правилам…
СУБД представляет собой ППП, предназначенные для создания, сопровождения БД.
Модели БД и Типы СУБД:
Иерархическая
Сетевая
Реляционная
ОО
Функции СУБД:
Управление данными в БД
Управление в памяти компилятора
Управление транзакциями (послед-ть операций над БД, выполн. как единое целое)
Сервером опред. ресурса в конкр. сети наз-ся программа, управляющая этими ресурсами.
Клиентом называется программа, использующая ресурс, предоставленный сервером.
<-
архитектура клиент-сервер
_____________________________________________________________________________
Структурная часть РМД.
Кристофер Дейт определил три составные части реляционной модели данных:
Структурная
Манипуляционная
Целостная
Структурная часть описывает, какие объекты рассматриваются РМ. Единственной структурой данных является нормализованное n-арное отношение. Отношения удобно представлять в форме таблиц, где каждая строка есть кортеж, а каждый столбец – атрибут, определенный на некотором домене. Данный неформальный подход к понятию отношения дает более привычную для разработчиков и пользователей форму представления, где реляционная база данных представляет собой конечный набор таблиц.
_____________________________________________________________________________
Целостная часть РМД.
Целостная часть модели определяет требования целостности сущностей и целостности ссылок. Первое требование состоит в том, что любой кортеж любого отношения отличим от любого другого кортежа этого отношения, т.е. любое отношение должно обладать первичным ключом. Требование внешнего ключа состоит в том, что для каждого значения внешнего ключа, появляющегося в ссылающемся отношении, в отношении, на которое ведет ссылка, должен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть неопределенным (т.е. ни на что не указывать).
PK – потенц. ключ, который выбран для уник. идентификации картежей в отношении
NULL знач. – это маркер, который показывает, что значение атрибута неизвестно.
Существуют 3 разновидности связей:
Один ко многим 1:N, 1:∞
Один к одному 1:1
Многие ко многим N:N
_____________________________________________________________________________
Операции, нарушающие ссылочную целостность. Стратегии поддержания ссылочной целостности.
СЦ может нарушаться в рез-те выполнения операций, изменяющих состояние БД:
отнош.
операция
главное
подчиненное
вставка
-
+
обновление
+
+
удаление
+
-
Обновление
Удаление кортежей в отношении
+ СЦ нарушается
- СЦ не нарушается
Стратегии поддержания СЦ:
ограничения – не разрешается вып-е операции приводящее к нарушению СЦ, треб. только 1 проверка: есть ли в подч. отношении кортежи, ссылающиеся на гл. отн-е.
каскадирования - разрешить выполнение требуемой операции, но внести при этом необходимые поправки в других отношениях, чтобы не допустить нарушения СЦ и сохранить все имеющиеся связи. Изменение начинается в родительском отношении и каскадно выполняется в дочернем отношении, но тут есть одна тонкость - дочернее отношение само может быть родительским для некоторого третьего отношения. Если на некотором этапе одна из каскадных операций не может быть выполнена, то необходимо вернуть базу данных в исходное состояние.
Дополнительные стратегии поддержания ссылочной целостности:
Установка NULL - разрешить выполнение операции, но все возникающие некорректные значения внешних ключей изменять на null-значения. Но есть недостаток: кортежи дочернего отношения теряют всякую связь с кортежами родительского отношения.
Установка по умолчанию - разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на значение, принятое по умолчанию. Недостатки заключаются в следующем: кортежи дочернего отношения теряют всякую связь с кортежами родительского отношения, и в родительском отношении должен быть некий кортеж, PK которого принят как значение по умолчанию для внешних ключей. В качестве такого "кортежа по умолчанию" обычно принимают специальный кортеж, заполненный нулевыми значениями (не null-значениями!). Этот кортеж нельзя удалять из родительского отношения, и в этом кортеже нельзя изменять значение потенциального ключа.
Игнорирования - выполнять операции, не обращая внимания на нарушения ссылочной целостности.
_____________________________________________________________________________