
- •107. Базы данных: семантическая модель “cущность–связь”.
- •Пример нарушения целостности базы
- •Понятие транзакции
- •105. Нормализация реляционных бд
- •103. Поддержка целостности в реляционных базах данных.
- •104. Язык sql
- •102. Реляционная модель данных: структурная часть.
- •Структурная часть: термины
- •Структурная часть: домен
- •Структурная часть: отношения
- •Структурная часть: свойства отношений
Структурная часть: домен
Согласно Дейту, реляционная модель состоит из трех частей: структурной части, целостной части, манипуляционной части.
Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные n-арные отношения.
Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей.
Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными — реляционную алгебру и реляционное исчисление.
В реляционной модели данных с понятием тип данных тесно связано понятие домена, которое можно считать уточнением типа данных. Домен — это семантическое понятие. Домен можно рассматривать как подмножество значений некоторого типа данных имеющих определенный смысл.
Домен характеризуется следующими свойствами:
домен имеет уникальное имя (в пределах БД),
домен определен на некотором простом типе данных (числовой, текстовый) или на другом домене,
домен может иметь некоторое логическое условие, позволяющее описать подмножество данных, допустимых для данного домена,
домен несет определенную смысловую нагрузку.
Например, домен STATUS имеющий смысл “статус поставщика” можно описать как подмножество множества натуральных чисел: STATUS={n О N: nі10 and n<=30}
Если тип данных можно считать множеством всех возможных значений данного типа, то домен напоминает подмножество в этом множестве.
Отличие домена от понятия подмножества состоит именно в том, что домен отражает семантику, определенную предметной областью. Может быть несколько доменов, совпадающих как подмножества, но несущие различный смысл. Например, домены WEIGHT (вес) и QTY (количество) можно одинаково описать как множество неотрицательных целых чисел, но смысл этих доменов будет различным, и это будут различные домены.
Структурная часть: отношения
Фундаментальным понятием реляционной модели данных является понятие отношения.
Атрибут отношения — есть пара вида <ИмяАтрибута : ИмяДомена>.
Имена атрибутов должны быть уникальны в пределах отношения. Часто имена атрибутов отношения совпадают с именами соответствующих доменов.
Отношение R, определенное на множество доменов D1, D2, Dn, содержит две части: заголовок и тело.
Заголовок содержит фиксированное множество атрибутов отношения:{ <А1:D1>, <A2:D2>,..., <An:Dn> } причем каждый из атрибутов Aj соответствует только одному из доменов Dj (j=1,2,... n).
Тело содержит множество кортежей. Каждый кортеж, в свою очередь, содержит множество пар вида <ИмяАтрибута : ЗначениеАтрибута>: { <A1:Vi1>, <A1:Vi2>,... <An:Vin>} (i=1,2,... m, где m — количество кортежей в этом множестве).
В каждом кортеже есть одна такая пара <Aj:Vij> для каждого атрибута Aj в заголовке. Для любой такой пары <Aj:Vij> Vij является значением из уникального домена Dj, который связан с атрибутом Aj.
Значения m называются кардинальным числом, n — степенью отношения R.
Реляционной БД называется набор отношений.
Схемой реляционной БД — называется набор заголовков отношений, входящих в БД.