SQL – язык реляционных баз данных
Шрифт:
Если отношение моделирует тип объекта или тип связи, то его элементы – кортежи – представляют экземпляры объектов или связей. Наглядным образом отношения является реляционная таблица. Отношение, подобно таблице, содержит заголовок и тело. Заголовок отношения представлен конечным множеством атрибутов. Атрибуты Aj определены на соответствующих доменах Dj и в заголовке представлены своими содержательными именами.
Тело отношения содержит множество кортежей-строк. В каждом i–
Максимальное число строк-кортежей называется кардинальным числом (мощностью) отношения. Число столбцов-атрибутов называется степенью отношения.
Отношение, точнее, переменная-отношение, имеет имя, допустим R. Атрибуты, определенные на доменах, также имеют имена, например A1, A2, … An. Заголовок отношения иначе называется схемой отношения. Схема отношения задается именем отношения и именами атрибутов R(A1, A2, … An). Экземпляр отношения, или значение переменной-отношения, образует тело отношения (реляционную таблицу). Набор взаимосвязанных отношений называется реляционной базой данных. А набор заголовков (схем) отношений входящих в базу данных называется схемой реляционной базы данных.
Манипулируя реляционными таблицами, следует помнить, что таблица и отношение – не синонимы. Отношение – это множество со специфическими свойствами, а таблица – это наглядный образ отношения. Табличное представление реляционной базы данных будет корректно, если иметь в виду правила интерпретации элементов таблицы, задающие соответствие между реляционной и табличной терминологиями (табл. 1).
Таблица 1
Соотношение реляционной и табличной терминологии
Ограничения целостности
Целостность структуры данных является синонимом ее системности. Обеспечение целостности данных гарантирует их системную полноту, адекватность модели данных моделируемой предметной области.
Структура базы данных определяется не только составом образующих ее информационных элементов, но и характером связей между ними. Связи соответствуют зависимостям между компонентами предметной области. Всякие зависимости представляют собой ограничения на возможные отношения элементов системы.
Ограничения целостности представляют собой условия, которые определяют допустимые отношения между элементами структуры данных. Для конкретной модели данных эти условия выполняются или не выполняются. Средством спецификации ограничений целостности является язык математической логики.
Ограничения целостности данных принято классифицировать.
По происхождению ограничения целостности принято различать: · внутренние, обусловленные особенностью типа структуры данных, в частности отношения;
· семантические (явные), обусловленные смыслом, значением взаимосвязанных данных конкретной предметной области.
По способу контроля целостности данных, который осуществляет реляционная система (СУБД) ограничения целостности, принято различать: ·
безотлагательные, проверка которых осуществляется непосредственно в процессе манипулирования данными;
· отложенные, проверка которых совершается по завершении всех манипуляций со связанными таблицами.
Внутренние ограничения целостности
Внутренние ограничения целостности данных реляционной модели обусловлены свойствами отношения по определению как множества:
· у отношения не может быть одинаковых строк-кортежей;
· порядок следования кортежей значения не имеет;
· порядок следования атрибутов значения не имеет;
· все значения атрибутов атомарны (неделимы).
Уникальность строк-кортежей реляционной таблицы является следствием определения множества в математике. Действительно, тело отношения есть множество кортежей и, как всякое множество, не может содержать неразличимые элементы.
Неупорядоченность строк-кортежей также является следствием определения множества в математике. Тело отношения есть множество, а множество не упорядочено. Одно и то же отношение может быть представлено разными таблицами, отличающимися порядком следования строк. Иными словами, таблицы, отличающиеся только порядком следования строк, считаются эквивалентными.
Неупорядоченность атрибутов обусловлена тем обстоятельством, что каждый атрибут имеет уникальное имя в пределах отношения и порядок атрибутов не имеет значения. Одно и то же отношение может быть представлено разными таблицами, в которых столбцы идут в различном порядке. Иными словами, таблицы, отличающиеся только порядком следования столбцов, считаются эквивалентными. Условие атомарности атрибутов следует из определения реляционной модели. Атрибуты могут быть определены на простых типах данных (доменах), для которых в реляционных операциях не должна учитываться внутренняя структура данных.
Итак, из определения внутренних ограничений целостности следует, что две и более таблиц могут считаться эквивалентными при выполнении следующих условий:
· таблицы имеют одинаковое количество столбцов;
· таблицы содержат столбцы с одинаковыми наименованиями;
· столбцы с одинаковыми наименованиями содержат данные из одних и тех же доменов;
· таблицы имеют одинаковые строки с учетом того, что порядок столбцов может различаться.
Внутренние ограничения целостности являются безотлагательными. Их проверка реляционной СУБД выполняется автоматически.
Семантические ограничения целостности
Семантические ограничения целостности (или семантические условия) присущи самой предметной области и их учет основан на понимании смыслового содержания данных. Семантические ограничения целостности не выводятся. Это свойства данных, которые выполняются или не выполняются для рассматриваемого отношения элементов данных.
Семантические ограничения целостности для каждой предметной области будут свои, что представляет трудности для аналитика. Тем не менее классификация возможна и полезна. Семантические ограничения целостности различают: