Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дехтярь М.И. Основы дискретной математики Лекци...docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
473.92 Кб
Скачать

Основы дискретной математики информация [-] Автор: М.И. Дехтярь

8. Лекция: Логика предикатов и базы данных

Содержание

  • Реляционные базы данных

  • Реляционная алгебра

    • Теоретико-множественные операции

    • Специальные реляционные операторы

  • Запросы

  • Ограничения целостности

  • Задачи

Реляционные базы данных

Большинство современных промышленных баз данных являются реляционными - данные в них представляют конечные отношения (relations), которые хранятся в таблицах. Схема отношения R(A1,A2, …, An) включает имя отношения R и список его атрибутов A1,A2, …, An. Вообще говоря, атрибуты в схеме отношения считаются неупорядоченными, т.е. являются не списком, а множеством. Но мы будем считать, что их порядок в схеме является "стандартным". Для каждого атрибута Ai определено множество dom(Ai) его допустимых значений. Схема базы данных состоит из перечня схем отношений, входящих в эту базу. В приложениях отношения чаще называют таблицами, их атрибуты - столбцами, строки таблиц - кортежами или записями, а их элементы - полями. В каждый момент времени состояние базы данных (ее экземпляр) - это набор (конечных) таблиц имеющих соответствующие схемы.

Пример 8.1. Пусть, например, база данных со сведениями о сотрудниках некоторой организации имеет схему: Сотрудники(Номер, ФИО, Отдел, Должность, Оклад), Комнаты(НомерСотрудника, Этаж, НомерКомнаты). Рассмотрим некоторый экземпляр этой базы данных.

Сотрудники

Номер

ФИО

Отдел

Должность

Оклад

1

Иванов А.А.

торговый

менеджер

7000

2

Сидоров Н.П.

плановый

экономист

5000

3

Сидорова М.И.

торговый

зав.складом

6000

4

Ольгина Н.А.

плановый

экономист

5500

5

Горев С.В.

плановый

зав.отделом

10000

Комнаты

НомерСотрудника

Этаж

НомерКомнаты

3

2

17

1

2

17

7

2

18

5

3

7

2

3

27

С точки зрения логики предикатов, этот экземпляр не что иное, как некоторая конечная система сигнатуры Σ2={Сотрудники(5), Комнаты(3)} с основным множеством, включающим строки и числа из таблиц. Первая из приведенных таблиц задает интерпретацию предиката Сотрудники(5), а вторая - интерпретацию предиката Комнаты(3).

Каждому отношению базы данных со схемой R(A1, …, An) мы сопоставим n-местный предикат с тем же именем и n одноместных предикатов Ai(x) (i=1, …, n), выражающих принадлежность объекта x области dom(Ai) допустимых значений атрибута Ai. Следовательно, кортеж (a1, … , an) принадлежит отношению R тогда и только тогда, когда истинна формула A1(a1) … An(an) R(a1, … , an). Множество таких предикатов для всех отношений базы данных и стандартных отношений, определенных на областях ее атрибутов (обычно это отношения равенства и порядка: =, <, , >, ), образуют сингатуру базы данных.

Например, для приведенного выше отношения Сотрудники(5) предикаты-свойства соответствующих областей значений могут быть заданы следующим образом:

  • Номер(x) x - целое число,

  • ФИО(x) x - строка символов длины 30,

  • Отдел(x) } x {торговый, плановый, производственный},

  • Должность(x) x - строка символов длины 80,

  • Оклад(x) x - целое число в интервале от 1000 до 100 000.

Каждый кортеж отношения Сотрудники удовлетворяет формуле Сотрудники(n, f, o, d, z) Номер(n) ФИО(f) Отдел(o) Должность(d) Оклад(z).

Ниже мы будем просто писать R(a1, … , an), подразумевая, что значения ai входят в соответствующие области dom(Ai). Каждая формула Φ(x1, …, xk) со свободными переменными x1, … , xk в сигнатуре базы данных определяет множество состояний, т.е. наборов значений ее свободных переменных, на которых она истинна. Такое множество наборов можно рассматривать как множество кортежей, которые входят в новое отношение PΦ (k), определяемое формулой Φ.

Например, формула

задает отношение PΦ(2), определяющее список комнат сотрудников планового отдела:

ФИО

НомерКомнаты

Сидоров Н.П.

27

Горев С.В.

7

Отметим, что для конечных систем поиск значений свободных переменных формул логики предикатов, при которых они выполняются, и проверка истинности замкнутых формул производятся эффективно.