- •Предисловие
- •Глава1. Логика классическая
- •1.1. Логика высказываний
- •1.1.1. Алгебра высказываний
- •1.1.1.2. Правила записи сложных формул
- •1.1.1.3. Законы алгебры высказываний
- •1.1.1.4. Эквивалентные преобразования формул
- •1.1.1.5. Нормальные формы формул
- •1.1.2. Исчисление высказываний
- •1.1.2.1. Интерпретация формул
- •1.1.2.2. Аксиомы исчисления высказываний
- •1.1.2.3. Метод дедуктивного вывода
- •1.1.2.4. Метод резолюции
- •Вопросы и задачи
- •Расчетно-графическая работа
- •1. 2. Логика предикатов
- •1.2.1. Алгебра предикатов
- •1.2.1.1. Логические операции
- •1.2.1.2. Правила записи сложных формул
- •1.2.1.3. Законы алгебры предикатов
- •1.2.1.4. Эквивалентные преобразования формул
- •1.2.1.2. Предварённая нормальная форма
- •1.2.1.3. Сколемовская стандартная форма
- •1.2.2. Исчисление предикатов
- •1.2.2.1. Интерпретация формул
- •1.2.2.2. Аксиомы исчисления предикатов
- •1.2.2.3. Правила унификации предикатов
- •1.2.2.4. Метод дедуктивного вывода
- •1.2.2.5. Метод резолюции
- •1.2.3. Логическое программирование
- •1.2.3.1. Основы логического программирования*
- •1.2.3.2. Подготовка среды Visual Prolog для работы
- •1.2.3.3. Описание логических задач на языке Prolog
- •Вопросы и задачи
- •Расчетно-графическая работа
- •Формула
- •1.3. Логика реляционная
- •1.3.1. Реляционная алгебра*
- •1.3.1.1. Унарные операции
- •1.3.1.2. Бинарные операции
- •1.3.2. Реляционное исчисление*
- •1.3.3. Языки реляционной логики
- •Вопросы и задачи
- •Расчетно-графическая работа
- •Глава 2. Неклассическая логика
- •2.1. Нечёткая логика
- •2.1.1. Нечёткие множества
- •2.1.2. Нечёткая алгебра
- •2.1.2.1. Операции над нечёткими множествами
- •2.1.2.2. Законы нечёткой алгебры
- •2.1.2.3. Свойства нечётких отношений
- •4.4.2. Экспертные системы
- •Вопросы и задачи
- •Расчетно-графическая работа
- •2.2. Модальная логика
- •2.2.1. Темпоральная (или временнáя) логика*.
- •Ответы и решения
- •Литература
- •Предметный указатель
112 |
Математическая логика |
|
|
1.3. Логика реляционная
Двухмерная таблица - удобная форма представления информации в различных сферах человеческой деятельности. Именами столбцов такой таблицы являются имена свойств объектов, чаще всего называемых атрибутами, а строками, называемыми кортежами - цепочки значений атрибутов. Область определения атрибута называют доменом. Число строк таблицы называют её мощностью.
Таблица 1.12
Дисципли- |
Лек- |
Лаб_заняти |
Практ_занят |
Отчет- |
на |
ции |
я |
ия |
ность |
|
(ч) |
(ч) |
(ч) |
(зач., экз.) |
физика |
34 |
34 |
17 |
экз |
информа- |
51 |
34 |
0 |
зач. |
тика |
|
|
|
|
... |
… |
… |
… |
… |
Таблица 1.12 отражает связи между наименованиями учебных дисциплин, видом и числом часов аудиторных занятий и формой отчетности. Верхнюю строку таблицы называют «шапкой таблицы», а остальные строки «телом таблицы». Именами атрибутов являются «Дисциплина», «Лекции», «Лаб_занятия», «Практ_занятия», «Отчетность». Доменом атрибута «Дисциплина» является <сло-
во>= {‘физика’, ‘информатика’,…}, а его |
тип - CHAR |
||
(строковое). |
Доменом |
атрибутов |
«Лекции», |
«Лаб_занятия», «Практ_занятия» являются <целое число>= <часы>{”,”<часы>}, а тип домена – INTEGER. Доменом атрибута «Отчетность» – <слово>={‘зач'., экз’.}, а его тип - CHAR (строковое).
1.3. Логика реляционная |
113 |
|
|
|
|
Множество совместимых кортежей называют отношением, а множество отношений для определенной области деятельности называют базой данных. Кортежи называют совместимыми, если они имеют одинаковую длину (или ранг), одинаковые имена компонент и одинаковый их порядок в кортеже.
Отношение можно рассматривать как файл определенного типа. Такой файл состоит из последовательности записей, по одной на каждый кортеж, причем в файле не должно быть одинаковых записей. Все записи файла должны иметь одинаковое число полей, так как кортежи должны быть совместимыми.
Между таблицей, отношением и файлом есть соответ-
ствие: |
|
|
|
ТАБЛИЦА |
←→ ОТНОШЕНИЕ |
←→ ФАЙЛ |
|
строка |
←→ |
кортеж |
|
←→ запись |
|
|
|
имя столбца←→ имя атрибута |
←→ имя поля |
||
тип атрибута←→тип домена |
←→ тип поля |
В одноименных полях различных записей должна храниться информация одного и того же типа, соответствующего заданному типу атрибута. Это является одним из основных требований реляционной модели: нормализация отношения
Таким образом, если дано множество атрибутов
A={A1, A2,…, An} и множество доменов D={D1, D2,..., , Dm}, то кортеж отношения есть t=(d1, d2,..., , dn) где di Dj.
Так как отношение есть множество совместимых кортежей, то r={t| t=(d1, d2,..., , dn), di Dj}.
114 |
Математическая логика |
Отношение, заданное на множестве упорядоченных кортежей, есть подмножество n-арного прямого произведения доменов, т.е.
r={t| t=(d1, d2,..., , dn), di D} nD.
Отношение на множестве упорядоченных кортежей задают схемой отношения с указанием имени отношения, числа и порядка следования атрибутов в кортеже и обо-
значают rel(r)=(A1, A2,…, An).
Например, rel(уч_план_1)=(дисциплина, лекции_(ч),лаб_занятия_(ч), практ_занятия_(ч), отчетность_(зач.,экз.)).
Множество схем отношений, используемых в реляционной базе данных, называют схемой реляционной базы данных и обозначают REL(R)={rel(r)}.
Схемы отношений базы данных имеют различную длину и различные наборы атрибутов. Поэтому чаще всего в каждом поле записи указывают <имя атрибута>”=”<’значение’>. Наличие в поле записи имени атрибута снимает ограничение на упорядоченность полей записи. При этом оказываются совместимыми записи, заданные одинаковым набором одинаковых имен полей, но имеющих различный порядок следования атрибутов.
Например, запись файла «уч_план_1» может быть (дисциплина=’физика’, лекции=’34’, лаб.занятия=’34’, практ.занятия=’17’, отчетность=’экз’.) или такой (практ.занятия=’17’, дисциплина=’физика’, отчетность=’экз’, лаб.занятия=’34’, лекции=’34’).
Для каждого отношения должен быть задан ключ. Ключ – это один или несколько атрибутов, выделяющих единственный кортеж отношения или единственную за-
1.3. Логика реляционная |
115 |
|
|
|
|
пись файла. Так, например, ключом учебного плана может быть атрибут «дисциплина».
Над отношениями оказалось возможным осуществлять алгебраические и логические операции. Так математическая логика нашла применение в управлении реляционными базами данных.
При изложении основ реляционной алгебры и реляционного исчисления будем придерживаться следующих ограничений:
•все атрибуты кортежа должны быть элементарными (или каждое поле записи должно иметь один тип: INTEGER (целые), REAL (вещественные), CHAR (сим-
вольные) или BOOLEAN (логические) и не должны быть функционально связаны между собой,
•все кортежи должны быть упорядоченными и иметь одинаковое число компонент в одном отношении (или все записи в файле должны быть упорядочнены и иметь одинаковое число полей),
•каждое отношение должно иметь ключ, в роли которого выступают один или несколько атрибутов и каждое отношение не должно содержать по одному ключу двух или более одинаковых кортежей (или файл не должен содержать двух или более одинаковых записей),
•никакие два столбца таблицы не должны иметь совпадающие имена атрибутов, но их значения могут принадлежать одному домену.