
- •3. Назначение, основные функции и понятие субд.
- •4. Трёхуровневая архитектура бд.
- •5. Жизненный цикл базы данных.
- •6. Иерархическая и сетевая модели данных.
- •7. Реляционная модель данных. Общие представления.
- •8. Понятие домена.
- •8. Отношения, атрибуты и кортежи.
- •9. Формализация отношений в виде таблиц.
- •11. Потенциальные ключи. Первичные и альтернативные ключи.
- •12. Null-значения. Правило целостности объектов.
- •14. Внешние ключи. Ссылочная целостность.
- •15. Индексные файлы. Сортировка файлов бд.
- •16. Поиск записей в файле бд.
- •17. Стратегии ссылочной целостности.
- •18. Основные операции над реляционными базами данных.
- •18. Основы реляционной алгебры. Операции "Объединение", "Разность", "Декартово произведение". Примеры.
- •19. Специальные реляционные операции: "Выборка", "Проекция", "Соединение", "Деление". Примеры.
7. Реляционная модель данных. Общие представления.
Реляционная модель данных предложена сотрудником фирмы IBM Эдгаром Коддом и основывается на понятии отношение (relation). Отношение представляет собой множество элементов, называемых кортежами. Наглядной формой отношения является двумерная таблица.
В первом приближении реляционная модель состоит из следующих пяти компонентов:
■ Неограниченный набор скалярных типов (включая, в частности, логический тип или истинностное значение).
■ Генератор типов отношений и соответствующая интерпретация для сгенерированных типов отношений.
■ Возможность определения переменных отношения для указанных сгенерированных типов отношений.
■ Операция реляционного присваивания для присваивания реляционных значений указанным переменным отношения.
■ Неограниченный набор общих реляционных операторов {реляционная алгебра) для получения значений отношений из других значений отношений.
Таким образом, реляционную модель следует рассматривать в трех аспектах:
■ структурная часть
■ целостный аспект
■ манипуляционный аспект
Структурная часть описывает, какие конкретно объекты описывает данная реляционная модель. Кроме объектов определяются связи или отношения.
Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений, в любых реляционных БД. Основные два вида – целостность сущностей и целостность внешних ключей.
Манипуляционная часть описывает два эквивалентных способа обработки реляционных данных: реляционную алгебру и реляционное исчисление.
Физическое размещение данных в реляционных БД на внешних носителях легко осуществляется с помощью обычных файлов.
Достоинство реляционной модели заключается в простоте, понятности и удобстве физической реализации на ЭВМ. Наличие собственного математического аппарата также является одним из преимуществ данной модели. Проблемы же эффективной обработки данных оказались вполне разрешимыми.
Основными недостатками реляционной модели являются следующие: отсутствие стандартных средств идентификации отдельных записей и сложность описания иерархических и сетевых связей.
8. Понятие домена.
Важнейшим требованием к моделям данных является простота и интерпретируемость. Самыми простыми типами данных являются типы, используемые в программировании. По определению, они являются скалярными типами. Однако такое требование скалярности, распространяющееся на отдельные элементы реляционной модели, практически не накладывают никаких ограничений на эти структуры. То есть основная идея структурирования реляционной модели состоит в том, что в реляционных операциях не должна учитываться внутренняя структура данных. С другой стороны, структура реляционной модели должна быть зафиксирована, чтобы над этими структурами данных можно было выполнять определенные действия. В результате, при описании реляционных структур данных вводится фундаментальное понятие домена.
Домен является семантическим понятием и рассматривается, как подмножество значений некоторого типа данных, имеющих определенный смысл. Домен характеризуется следующими свойствами:
■ В пределах базы данных домен имеет уникальное имя.
■ Домен определяется на простом типе данных или на другом домене.
■ Домен может иметь ограничения в виде логических условий, описывающих допустимые для данного домена значения.
■ Домен имеет смысловую нагрузку.
Т.о., может существовать несколько доменов абсолютно совпадающих, как подмножество простых типов, но имеющих различную семантику. Например, домены «возраст сотрудника» и «количество сотрудников в отделе» можно одинаково определить на множестве неотрицательных целых чисел, но смысловое значение этих доменов будет различно. Некорректно сравнивать значения из различных доменов, даже если они имеют одинаковый тип. Именно понятие домена и позволяет корректно, с математической точки зрения, моделировать предметную область с помощью реляционной модели данных.