Реляционные базы данных
Большинство современных промышленных баз данных являютсяреляционными - данные в них представляют конечные отношения(relations), которые хранятся в таблицах. Схема отношения R(A1,A2, ..., An)включает имя отношения R и список его атрибутов A1,A2, ..., An. Вообще говоря, атрибуты в схеме отношения считаются неупорядоченными, т.е. являются не списком, а множеством. Но мы будем считать, что их порядок в схеме является "стандартным". Для каждого атрибута Ai определено множествоdom(Ai) его допустимых значений. Схема базы данных состоит из перечня схем отношений, входящих в эту базу. В приложенияхотношения чаще называют таблицами, их атрибуты -столбцами, строки таблиц - кортежамиили записями, а их элементы - полями. В каждый момент времени состояние базы данных (ее экземпляр) - это набор (конечных) таблиц имеющих соответствующие схемы.
Пример 8.1. Пусть, например, база данных со сведениями о сотрудниках некоторой организации имеет схему: Сотрудники(Номер, ФИО, Отдел, Должность, Оклад), Комнаты(НомерСотрудника, Этаж, НомерКомнаты). Рассмотрим некоторый экземпляр этой базы данных.
Сотрудники | |||||||
Номер | ФИО | Отдел | Должность | Оклад | |||
Иванов А.А. | торговый | менеджер | |||||
Сидоров Н.П. | плановый | экономист | |||||
Сидорова М.И. | торговый | зав.складом | |||||
Ольгина Н.А. | плановый | экономист | |||||
Горев С.В. | плановый | зав.отделом | |||||
Комнаты | |||||||
НомерСотрудника | Этаж | НомерКомнаты | |||||
С точки зрения логики предикатов, этот экземпляр не что иное, как некоторая конечная система сигнатуры с основным множеством, включающим строки и числа из таблиц. Первая из приведенных таблиц задает интерпретацию предиката Сотрудники(5), а вторая - интерпретацию предиката Комнаты(3).
Каждому отношению базы данных со схемой R(A1, ..., An) мы сопоставим n -местный предикат с тем же именем и n одноместных предикатов Ai(x) (i=1, ..., n), выражающих принадлежность объекта xобласти dom(Ai) допустимых значений атрибута Ai. Следовательно, кортеж (a1, ... , an)принадлежит отношению R тогда и только тогда, когда истинна формула . Множество таких предикатов для всех отношений базы данных и стандартных отношений, определенных на областях ее атрибутов (обычно это отношенияравенства и порядка: =, <, <=, >, >= ), образуют сингатуру базы данных.
Например, для приведенного выше отношения Сотрудники(5) предикаты-свойства соответствующих областей значений могут быть заданы следующим образом:
- - целое число,
- - строка символов длины <= 30,
- ,
- - строка символов длины <= 80,
- - целое число в интервале от 1000 до 100 000.
Каждый кортеж отношения Сотрудники удовлетворяет формуле .
Ниже мы будем просто писать R(a1, ... , an), подразумевая, что значения ai входят в соответствующие области dom(Ai). Каждая формула со свободными переменными x1, ... , xk в сигнатуре базы данных определяет множество состояний, т.е. наборов значений ее свободных переменных, на которых она истинна. Такое множество наборов можно рассматривать как множество кортежей, которые входят в новое отношение , определяемое формулой
Например, формула
задает отношение , определяющее список комнат сотрудников планового отдела:
ФИО | НомерКомнаты |
Сидоров Н.П. | |
Горев С.В. |
Отметим, что для конечных систем поиск значений свободных переменных формул логики предикатов, при которых они выполняются, и проверка истинности замкнутых формул производятся эффективно.
Дата добавления: 2022-05-27; просмотров: 100;