Реляционная модель данных.
Как было отмечено в подразд. 5.3, в основе реляционной модели данных лежит их представление в виде таблиц, что в значительной степени облегчает работу проектировщика БД и — в последующем — пользователя в силу привычности и распространенности такого варианта использования информации. Данная модель была предложена Э.Ф.Коддом (E.F. Codd) в начале 70-х гг. XX в., и вместе с иерархической и сетевой моделями составляет множество так называемых великих моделей. Можно сказать, что сегодня именно эта модель используется во всех наиболее распространенных СУБД. Определение любой модели данных требует описания трех элементов: · определение типов (структур) данных; · определение операций над данными; · определение ограничений целостности. Сначала рассмотрим структуры данных и ограничения целостности, а затем более подробно остановимся на операциях реляционной алгебры. Типы структур данных. Рассмотрение этого вопроса требует введения определений нескольких основных понятий. Множество возможных значений некоторой характеристики объекта называется доменом (domain): Например, в качестве домена можно рассматривать такие характеристики студента, как его фамилия, курс, рост и т.п.:
D фамилия = {Иванов, Петров, Сидоров, …} D рост = {160, 161, 162, …, 190}.
Очевидно, что можно сопоставить понятия «атрибут» инфологической и «домен» реляционной моделей данных. Возможные значения характеристик объектов могут принимать числовые или текстовые значения, а их множества могут быть как конечными, так и бесконечными. Отметим, что в случае конечности домена можно организовать проверку явных ограничений целостности: в нашем примере домен D poст определяет, что все студенты должны иметь рост от 160 до 190 см, а номер курса не может превышать 5.
Вектор размерности k, включающий в себя по одному из возможных значений k доменов, называется кортежем (tuple). Для приведенного выше примера кортежами являются
(1, Иванов, 172); (3, Сидоров, 181); (5, Уткин, 184).
Если в кортеж входят значения всех характеристик объекта предметной области (т. е. атрибутов сущности инфологической модели), ему можно сопоставить такую типовую структуру данных, как запись (объектная запись). Декартовым произведением k доменов называется множество всех возможных значений кортежей
Пусть для того же примера определены три домена:
Тогда их декартовым произведением будет множество D, состоящее из восьми записей:
При увеличении размерности любого из доменов увеличивается и размерность их декартова произведения. Так, если в первом домене определены три элемента D 1 = {1, 4, 5}, декартово произведение имеет вид
Иными словами, декартово произведение — множество всех возможных комбинаций элементов исходных доменов. Наконец, важнейшее определение: отношением (relation) R, определенным на множествах доменов D 1, D 2,..., Dk, называют подмножество их декартова произведения
Элементами отношения являются кортежи. Отношение может моделировать множество однотипных объектов (сущностей), причем экземпляр сущности может интерпретироваться как кортеж. С помощью отношения можно моделировать и связи, в которых находятся объекты предметной области (сущности в ее инфологической модели). При этом кортеж такого отношения состоит из идентифицирующих атрибутов связываемых сущностей. Таким образом, понятие «отношение» позволяет моделировать данные и связи между ними. В силу этого можно определить реляционную базу данных (РБД) как совокупность экземпляров конечных отношений.
Если учесть, что результат обработки любого запроса к РБД также можно интерпретировать как отношение (возможно, не содержащее ни одного кортежа), то возникает возможность построения ИС, основным инструментом которой будет алгебра отношений (реляционная алгебра). Любой запрос в такой системе может быть представлен в виде формулы, состоящей из отношений, объединенных операциями реляционной алгебры. Создав СУБД, обеспечивающую выполнение этих операций, можно разрабатывать И С, в которых любой запрос потребителя программируется формулой. Ограничения целостности. Отношение может быть представлено таблицей, обладающей определенными свойствами (которые, по сути, и определяют внутренние ограничения целостности данных) [54]: · каждая строка таблицы — кортеж; · порядок строк может быть любым; · повторение строк не допускается; · порядок столбцов в отношении фиксирован. Понятие «отношение» весьма схоже с понятием «файл данных». Поэтому в дальнейшем будем использовать следующую терминологию: отношение — файл; кортеж — запись; домен — поле. Идентификация конкретной записи файла осуществляется по ключу (набору полей, по значению которого можно однозначно идентифицировать запись). В файле можно определить несколько ключей. Один из них, включающий минимально возможное для идентификации записи число полей, называется первичным ключом. Применительно к понятию «файл данных» внутренние ограничения целостности формулируются следующим образом: · количество полей и их порядок в файле должны быть фиксированными (т. е. записи файла должны иметь одинаковые длину и формат); · каждое поле должно моделировать элемент данных (неделимую единицу данных фиксированного формата, к которому СУБД может адресоваться непосредственно); · в файле не должно быть повторяющихся записей. СУБД, основанные на РБД, поддерживают и явные ограничения целостности. На практике они определяются зависимостями между атрибутами (см. разд. 5.2).
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|