Основные понятия


Логика реляционная

Этот раздел классической математической логики используется для формального представления и обработки множества высказываний с одинаковой структурой. Такие высказывания удобно представлять двумерной таблицей, например:

 

Дисциплина Лекции Практика Отчетность
Информатика зачет
Математика зачет
Программирование экзамен

 

В этой таблице «закодированы» три высказывания:

1) По информатике читаются лекции в объеме 34 часов, проводятся практические занятия в объеме 56 часов, отчетность по дисциплине – зачет,

2) По математике читаются лекции в объеме 66 часов, проводятся практические занятия в объеме 77 часов, отчетность по дисциплине – зачет,

3) По программированию читаются лекции в объеме 45 часов, проводятся практические занятия в объеме 54 часов, отчетность по дисциплине – экзамен.

Именами столбцов такой таблицы являются имена свойств объектов, чаще всего называемых атрибутами,а строками, называемыми кортежами, - цепочки значений атрибутов. Область определения атрибута называют доменом. Число строк таблицы называют её мощностью.

Кортежи называют совместимыми, если они имеют одинаковую длину (или ранг), одинаковые имена компонент и одинаковый их порядок в кортеже. Множество совместимых кортежей называют отношением, а множество отношений для определенной области деятельности называют реляционной базой данных.

Отношение можно рассматривать как файл определенного типа. Такой файл состоит из последовательности записей,по одной на каждый кортеж, причем в файле не должно быть одинаковых записей. Все записи файла должны иметь одинаковое число полей, так как кортежи должны быть совместимыми.

Между таблицей, отношением и файлом есть соответствие:

ТАБЛИЦА ОТНОШЕНИЕ ФАЙЛ

строка « кортеж « запись

имя столбца « имя атрибута « имя поля

тип атрибута « тип домена « тип поля

 

Если дано множество атрибутов A={A1,A2,…,An} и множество доменов D={D1,D2,..., Dm}, то кортеж отношения есть t=(d1,d2,...,dn) где di∈Dj.

Так как отношение есть множество совместимых кортежей, то r={t| t=(d1,d2,...,dn), di∈Dj}. Отношение, заданное на множестве упорядоченных кортежей, есть подмножество n-арного прямого произведения доменов, т.е. r={t| t=(d1,d2,...,dn), di∈D}⊆ÄnD.

Отношение на множестве упорядоченных кортежей задают схемой отношения с указанием имени отношения и порядка следования атрибутов в кортеже: rel(r)=(A1, A2,…, An). Множество схем отношений, используемых в реляционной базе данных, называют схемой реляционной базы данных REL(R)={rel(r)}.

Для каждого отношения должен быть задан ключ – это один или несколько атрибутов, выделяющих единственный кортеж отношения или единственную запись файла.

Например, есть две таблицы Т1 и Т2 со структурой, соответственно:

 

Дисциплина Лекции Практика Отчетность
Информатика зачет
Математика зачет
Программирование экзамен

 

Преподаватель Дисциплина Учебная группа
Иванов И.И. Информатика 11-ИЭ
Петров П.П. Информатика 11-ВТ
Сухов С.С. Математика 10-ИЭ
Якушев Я.Я Программирование 11-ИЭ

 

Таблица Т1 имеет столбцы с именами – атрибутами отношения: Дисциплина – А1, Лекции – А2, Практика – А3, Отчетность – А4; таблица Т2 имеет столбцы с именами – атрибутами отношения: Преподаватель – А5, Дисциплина – А1, Учебная группа – А6.

Мощность таблицы Т1 – 3, мощность таблицы Т2 – 4.

В рамках одной таблицы кортежи совместимы, следовательно, мы имеем два отношения: таблице Т1 соответствует отношение r1, а таблице Т2 – отношение r2. Отношения r1 и r2 составляют реляционную базу данных, описывающую распределение учебной нагрузки между преподавателями вуза.

Доменами атрибутов являются:

· А1:=Дисциплина – D1 – множество названий учебных дисциплин из учебного плана;

· А2:=Лекции – D2 – множество натуральных чисел;

· А3:=Практика – D2;

· А4:=Отчетность – D3 – множество форм отчетности, принятых в высшей школе;

· А5:=Преподаватель – D4 - множество фамилий преподавателей вуза;

· А6:=Учебная группа – D5 – множество шифров учебных групп вуза.

Дадим формальное определение введенной реляционной базе данных:

· множество атрибутов А={A1,A2,A3,A4,A5,A6},

· множество доменов D={D1,D2,D3,D4,D5},

· схемы отношений:

o rel(r1)=(A1, A2,A3, A4)

o rel(r2)=(A5, A1,A6)

· кортежи отношений:

o для отношения r1:

§ t1r1=(Информатика,34,56,зачет)

§ t2r1=(Математика,66,77,зачет)

§ t3r1=(Программирование,45,54,экзамен)

o для отношения r2:

§ t1r2=(Иванов И.И.,Информатика,11-ИЭ)

§ t2r2=(Петров П.П.,Информатика,11-ВТ)

§ t3r2=(Сухов С.С.,Математика,10-ИЭ)

§ t4r2=(Якушев Я.Я.,Программирование,11-ИЭ)

· формальное определение отношений:

o r1={ t1r1,t2r1,t3r1}

o r2={ t1r2,t2r2,t3r2,t4r2}

· формальное определение базы данных из примера:

REL(R)={rel(r1),rel(r2)}.

 

Над отношениями можно осуществлять алгебраические и логические операции. Так математическая логика нашла применение в управлении реляционными базами данных.

При изложении основ реляционной алгебры и реляционного исчисления будем придерживаться следующих ограничений:

· все атрибуты кортежа должны быть элементарными (или каждое поле записи должно иметь один тип: INTEGER (целые), REAL (вещественные), CHAR (символьные) или BOOLEAN (логические)) и не должны быть функционально связаны между собой,

· все кортежи должны быть упорядоченными и иметь одинаковое число компонент в одном отношении (или все записи в файле должны быть упорядочены и иметь одинаковое число полей),

· каждое отношение должно иметь ключ, в роли которого выступают один или несколько атрибутов и каждое отношение не должно содержать по одному ключу двух или более одинаковых кортежей (или файл не должен содержать двух или более одинаковых записей),

· никакие два столбца таблицы не должны иметь совпадающие имена атрибутов, но их значения могут принадлежать одному домену.