Страница 2 из 3
· дата;
· время;
· денежный;
· перечислимый;
· интервальный и т. д.
Структурированные типы данных предназначены для задания сложных структур данных. Структурированные типы данных конструируются из составляющих элементов, называемых компонентами, которые, в свою очередь, могут обладать структурой. В качестве структурированных типов данных особенно распространены следующие типы данных:
· массивы;
· записи (структуры).
Общим для структурированных типов данных является то, что они имеют внутреннюю структуру. При работе с массивами или записями можно манипулировать массивом или записью как с единым целым (создавать, удалять, копировать целые массивы или записи), так с и их компонентами. Для структурированных типов данных есть специальные функции – конструкторы типов, позволяющие создавать массивы или записи из элементов более простых типов.
Работая же с простыми типами данных, например с числовыми, мы манипулируем ими как неделимыми целыми объектами.
Так вот, реляционная модель требует, чтобы типы используемых данных были простыми. Но что значит «простые»?
Для реляционной модели данных тип используемых данных сам по себе не важен. Требование, чтобы тип данных был простым, нужно понимать так, что в реляционных операциях не должна учитываться внутренняя структура данных [4]. Конечно, должны быть описаны действия, которые можно производить с данными как с единым целым, например данные числового типа можно складывать, для строк возможна операция конкатенации и т. д.
В реляционной модели данных с понятием типа данных тесно связано понятие домена, которое можно считать уточнением типа данных:
домен – это семантическое понятие. Домен можно рассматривать как подмножество значений некоторого типа данных, имеющее определенный смысл.
Домен характеризуется следующими свойствами:
· имеет уникальное имя;
· определен на некотором простом (скалярном) типе данных или на другом домене;
· может иметь некоторое логическое условие, позволяющее описать подмножество данных, допустимых для данного домена;
· может быть задан перечислением множества допустимых элементов данных;
· несет определенную смысловую нагрузку.
Домен и тип данных – это разные понятия. Домен представляет собой подмножество допустимых элементов данных некоторого типа, имеющее семантически значимое имя. Отличие домена от подмножества данных некоторого типа состоит именно в том, что домен отражает семантику, определенную предметной областью. Может быть несколько доменов, совпадающих как подмножества, но несущих различный смысл. Например, на множестве неотрицательных целых чисел могут быть определены домены «табельный номер», «стаж», «отпуск», «возраст», но смысл этих доменов будет различным, и это будут различные домены.
Понятие домена помогает правильно моделировать предметную область, исключая некорректные сравнения семантически разнородных данных. Некорректно, с логической точки зрения, сравнивать значения из различных доменов, даже если они имеют одинаковый тип. В этом проявляется смысловое ограничение доменов.
Единственным средством структуризации данных в реляционной модели является отношение.
Отношение (по-английски relation, отсюда происходит название модели) – это множество со специфическими свойствами.
В теории множеств отношением R называется подмножество декартова произведения множеств Dj:
Отношение представляет собой множество n-арных кортежей типа бd,d,ј,dс (n – число множеств-сомножителей D). Кортежи 12nj образуются из элементов множеств Dj по одному из каждого в заданном порядке.
Пример декартова произведения множеств A = {a1, a2} и B = = {b1, b2, b3}:
В математике отношение – не более чем абстрактный объект. В моделировании данных отношение наполняется содержательным смыслом и применяется для определения объектов реальной действительности и связей между ними.
В теории данных отношение определено на доменах Dj. Домен представляет собой именованное множество элементов данных скалярного типа.
В моделировании данных домен играет роль области определения атрибутов Aj – спецификаторов свойств моделируемых объектов и связей между ними. Атрибутам как спецификаторам свойств сущностей или связей присваиваются семантически значимые имена, как правило, в форме существительного. Причем на одном домене могут быть определены несколько атрибутов, но любой атрибут может быть определен только на одном домене.
Если отношение моделирует тип объекта или тип связи, то его элементы – кортежи – представляют экземпляры объектов или связей. Наглядным образом отношения является реляционная таблица. Отношение, подобно таблице, содержит заголовок и тело. Заголовок отношения представлен конечным множеством атрибутов. Атрибуты Aj определены на соответствующих доменах Dj и в заголовке представлены своими содержательными именами.
Тело отношения содержит множество кортежей-строк. В каждом i-кортеже для каждого j-атрибута имеется одно единственное значение, принадлежащее j-домену.
Максимальное число строк-кортежей называется кардинальным числом (мощностью) отношения. Число столбцов-атрибутов называется степенью отношения.
Отношение, точнее, переменная-отношение, имеет имя, допустим R. Атрибуты, определенные на доменах, также имеют имена, например A1, A2, … An. Заголовок отношения иначе называется схемой отношения. Схема отношения задается именем отношения и именами атрибутов R(A1, A2, … An). Экземпляр отношения, или значение переменной-отношения, образует тело отношения (реляционную таблицу). Набор взаимосвязанных отношений называется реляционной базой данных. А набор заголовков (схем) отношений входящих в базу данных называется схемой реляционной базы данных.
Манипулируя реляционными таблицами, следует помнить, что таблица и отношение – не синонимы. Отношение – это множество со специфическими свойствами, а таблица – это наглядный образ отношения. Табличное представление реляционной базы данных будет корректно, если иметь в виду правила интерпретации элементов таблицы, задающие соответствие между реляционной и табличной терминологиями (табл. 1).
Таблица 1
Соотношение реляционной и табличной терминологии
Ограничения целостности
Целостность структуры данных является синонимом ее системности. Обеспечение целостности данных гарантирует их системную полноту, адекватность модели данных моделируемой предметной области.
Структура базы данных определяется не только составом образующих ее информационных элементов, но и характером связей между ними. Связи соответствуют зависимостям между компонентами предметной области. Всякие зависимости представляют собой ограничения на возможные отношения элементов системы.
Ограничения целостности представляют собой условия, которые определяют допустимые отношения между элементами структуры данных. Для конкретной модели данных эти условия выполняются или не выполняются. Средством спецификации ограничений целостности является язык математической логики.