Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Ishodniki.Ru »
Online книги »
Книги по БД »
Введение в системы управления базами данныхГлава 1. Элементы теории множествМножестваНаиболее простая структура данных, используемая в математике, имеет место в случае, когда между отдельными изолированными данными отсутствуют какие-либо взаимосвязи. Совокупность таких данных представляет собой множество. Понятие множества является неопределяемым понятием. Множество не обладает внутренней структурой. Множество можно представить себе как совокупность элементов, обладающих некоторым общим свойством. Для того чтобы некоторую совокупность элементов можно было назвать множеством, необходимо, чтобы выполнялись следующие условия:
Множества обычно обозначаются
заглавными латинскими буквами. Если
элемент
Если каждый элемент множества
Подмножество
Используя понятие множества можно построить более сложные и содержательные объекты. Операции над множествамиОсновными операциями над множествами являются объединение, пересечение и разность. Определение 1. Объединением двух множеств называется новое множество
Определение 2. Пересечением двух множеств называется новое множество
Определение 3. Разностью двух множеств называется новое множество
Если класс объектов, на которых
определяются различные множества
обозначить Декартово произведение множествОдним из способов конструирования новых объектов из уже имеющихся множеств является декартово произведение множеств. Пусть Определение 4. Декартовым (прямым)
произведением множеств
Определение 5. Степенью
декартового произведения Замечание. Если все множества
ОтношениеОпределение 6. Подмножество Определение 7. Мощность
множества кортежей, входящих в отношение Замечание. Понятие отношения является очень важным не только с математической точки зрения. Понятие отношения фактически лежит в основе всей реляционной теории баз данных. Как будет показано ниже, отношения являются математическим аналогом таблиц. Сам термин "реляционное представление данных", впервые введенный Коддом [43], происходит от термина relation, понимаемом именно в смысле этого определения. Т.к. любое множество можно рассматривать как декартовое произведение степени 1, то любое подмножество, как и любое множество, можно считать отношением степени 1. Это не очень интересный пример, свидетельствующий лишь о том, что термины "отношение степени 1" и "подмножество" являются синонимами. Нетривиальность понятия отношения проявляется, когда степень отношения больше 1. Ключевыми здесь являются два момента: Во-первых, все элементы отношения есть однотипные кортежи. Однотипность кортежей позволяет считать их аналогами строк в простой таблице, т.е. в такой таблице, в которой все строки состоят из одинакового числа ячеек и в соответствующих ячейках содержатся одинаковые типы данных. Например, отношение, состоящее из трех следующих кортежей {(1, "Иванов", 1000), (2, "Петров", 2000), (3, "Сидоров", 3000)} можно считать таблицей, содержащей данные о сотрудниках и их зарплатах. Такая таблица будет иметь три строки и три колонки, причем в каждой колонке содержатся данные одного типа. В противоположность этому
рассмотрим множество {(1), (1, 2), (1, 2, 3)},
состоящее из разнотипных числовых
кортежей. Это множество не является
отношением ни в Во-вторых. За исключением
крайнего случая, когда отношение есть само
декартово произведение Действительно, каждому отношению
можно поставить в соответствие некоторое
логическое выражение Если это не вызывает путаницы,
удобно и отношение, и его предикат
обозначать одной и той же буквой. Например,
отношение Примеры отношенийБинарные отношения (отношения степени 2)В математике большую роль играют
бинарные отношения, т.е. отношения, заданные
на декартовом произведении двух множеств Отношение эквивалентностиОпределение 8. Отношение
Обычно отношение
эквивалентности обозначают знаком
Легко доказывается, что если на
множестве Пример 1. Рассмотрим на
множестве вещественных чисел
Условия 1-3, очевидно, выполняются, поэтому данное отношение является отношением эквивалентности. Каждый класс эквивалентности этого отношения состоит из одного числа. Пример 2. Рассмотрим более
сложное отношение эквивалентности. На
множестве целых чисел Условия 1-3 легко проверяются, поэтому равенство по модулю является отношением эквивалентности. Предикат этого отношения имеет вид:
Классы эквивалентности этого отношения состоят из чисел, дающих при делении на n одинаковые остатки. Таких классов ровно n: [0] = {0, n, 2n, …} [1] = {1, n+1, 2n+1, …} … [n-1] = {n-1, n+n-1, 2n+n-1, …} Отношения порядкаОпределение 9. Отношение
Обычно отношение порядка
обозначают знаком
Пример 3. Простым примером
отношения порядка является отношение,
задаваемое обычным неравенством Предикат данного отношения есть
просто утверждение Пример 4. Рассмотрим на
множестве
Назовем такое отношение "быть
начальником". Легко проверить, что
отношение "быть начальником" является
отношением порядка. Заметим, что в отличие
от предыдущего примера, существуют такие
пары сотрудников Функциональное отношениеОпределение 10. Отношение
Обычно, функциональное отношение
обозначают в виде функциональной
зависимости - Предикат функционального
отношения есть просто выражение
функциональной зависимости Еще пример бинарного отношенияПример 5. Пусть множество
Информацию о взаимоотношения
данных молодых людей можно описать
бинарным отношением "любить", заданном
на множестве Способ 1. Перечисление фактов в виде произвольного текста (как это сделано выше). Способ 2. В виде графа взаимоотношений:
Рисунок 1 Граф взаимоотношений Способ 3. При помощи матрицы взаимоотношений:
Таблица 1. Матрица взаимоотношений Способ 4. При помощи таблицы фактов:
Таблица 2 Таблица фактов С точки зрения реляционных баз данных наиболее предпочтительным является четвертый способ, т.к. он допускает наиболее удобный способ хранения и манипулирования информацией. Действительно, перечисление фактов как текстовая форма хранения информации уместна для литературного произведения, но с трудом поддается алгоритмической обработке. Изображение в виде графа наглядно, и его удобно использовать как конечную форму представления информации для пользователя, но хранить данные в графическом виде неудобно. Матрица взаимоотношений уже больше соответствует требованиям информационной системы. Матрица удобна в обработке и компактно хранится. Но одно небольшое изменение, например, появился еще Вася и влюбился в несчастную Лену, требует перестройки всей матрицы, а именно, добавления и колонок, и столбцов. Таблица фактов свободна от всех этих недостатков - при добавлении новых действующих лиц просто добавляются новые строки. Что касается предиката данного отношения, то он имеет следующий вид (дизъюнктивная нормальная форма): R(x,y) = {(x = "Вовочка" AND y = "Вовочка") OR (x = "Петя" AND y = "Маша") OR (x = "Маша" AND y = "Петя") OR (x = "Маша" AND y = "Маша") OR (x = "Лена" AND y = "Петя")} Замечание. Приведенное отношение не является ни транзитивным, ни симметричным или антисимметричным, ни рефлексивным, поэтому оно не является ни отношением эквивалентности, ни отношением порядка, ни каким-либо другим разумным отношением. Замечание. Большая часть мировой литературы существует и имеет смысл лишь постольку, поскольку бинарное отношение "любить" не является отношением эквивалентности. В частности, по этой причине человечество не разбивается на классы эквивалентности взаимно любящих особей. Изучением характеристик данного отношения и соответствующего ему предиката занималось (и продолжает заниматься) большое количество экспертов, таких как Толстой Л.Н., Шекспир В. и др. n-арные отношения (отношения степени n)В математике n-арные отношения рассматриваются относительно редко, в отличие от баз данных, где наиболее важными являются именно отношения, заданные на декартовом произведении более чем двух множеств. Пример 6. В некотором университете на математическом факультете учатся студенты Иванов, Петров и Сидоров. Лекции им читают преподаватели Пушников, Цыганов и Шарипов, причем известны следующие факты:
Для того чтобы формально описать данную ситуацию (например, в целях разработки информационной системы, учитывающей данные о ходе учебного процесса), введем три множества:
Имеющиеся факты можно разделить на две группы. 1 группа (факты 1-3) - факты о преподавателях, 2 группа (факты 4-6) - факты о студентах. Для того чтобы отразить факты 1-3 (характеризующие
преподавателей и читаемые ими лекции),
введем отношение
Таблица 3 Отношение "Читает лекции по…" Для того чтобы отразить факты 4-6 (характеризующие
посещение студентами лекций), введем
отношение
Таблица 4 Отношение "Посещать лекции" Рассмотрим отношение Итак, факты о ходе учебного процесса удалось отразить в виде двух отношений третьей степени (3-арных), а сами отношения изобразить в виде таблиц с тремя колонками. Удобство использования табличной формы для задания отношения определяется в данном случае следующими факторами:
Нас сейчас не интересует вопрос, хороши ли полученные отношения. Заметим пока только, что, как показывают следующие замечания, не любую строку можно добавить в таблицу "Посещать лекции". Замечание. В таблицу "Посещать
лекции" нельзя добавить две одинаковые
строки, т.к. таблица изображает отношение Замечание. В таблицу "Посещать
лекции" нельзя добавить кортеж (Иванов,
Геометрия, Пушников). Действительно, из
таблицы "Читает лекции по…",
представляющей отношение Транзитивное замыкание отношенийВведем понятие транзитивного замыкания, связанное с бинарными отношениями, которое понадобится в дальнейшем. Определение 11. Пусть
отношение
Очевидно, что Пример 7. Пусть множество
причем некоторые из деталей и
конструкций могут использоваться при
сборке других конструкций. Взаимосвязь
деталей описывается отношением
Таблица 5 Отношение R Транзитивное замыкание
Таблица 6 Транзитивное замыкание отношения R Очевидный смысл замыкания ВыводыМножество- это неопределяемое понятие, представляющее некоторую совокупность данных. Элементы множества можно отличать друг от друга, а также определять, принадлежит ли данный элемент данному множеству. Над множествами можно выполнять операции объединения, пересечения, разности и дополнения. Новые множества можно строить при помощи понятия декартового произведения (конечно, есть и другие способы, но они нас в данный момент не интересуют). Декартово произведение нескольких множеств - это множество кортежей, построенный из элементов этих множеств. Отношение- это подмножество декартового произведения множеств. Отношения состоят из однотипных кортежей. Каждое отношение имеет предикат отношения и каждый n-местный предикат задает n-арное отношение. Отношение является математическим аналогом понятия "таблица". Отношения обладают степенью и мощностью. Степень отношения - это количество элементов в каждом кортеже отношения (аналог количества столбцов в таблице). Мощность отношения - это мощность множества кортежей отношения (аналог количества строк в таблице). В математике чаще всего
используют бинарные отношения (отношения
степени 2). В теории баз данных основными
являются отношения степени Назад | Содержание | Вперед |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Масло гидравлическое низкотемпературное мге масло мге 10 а.
Рейтинги
|