Теория модели реляционных баз данных. |
Теоретической основой модели стала теория отношений, основу которой заложили Ч.С. Пирс и Э. Шрёдер. Основоположником теории реляционных баз данных считается сотрудник фирмы IBM доктор A . Codd , опубликовавший в 1970 г. статью «Реляционная модель данных для больших коллективных банков данных». Кодд, будучи математиком по образованию, предложил использовать для обработки данных аппарат теории множеств и предикативной логики для того, чтобы внести в область управления базами данных строгие математические принципы. Предложения Кодда были настолько эффективны для систем баз данных, что за эту модель он был удостоен премии Тьюринга в области теоретических основ вычислительной техники. Термины реляционной модели и теории множеств:
|
Отношения удобно представлять в виде таблиц. Можно условно связать язык формальной логики, язык инфологических моделей и практический язык терминов реляционных БД с помощью следующей таблицы «синонимов»:
|
В прикладном смысле реляционной считается такая база данных, в которой все данные представлены для пользователя в виде прямоугольных таблиц значений данных, и все операции над базой данных сводятся к манипуляциям с таблицами. В более строгом изложении реляционная модель состоит из трех частей, описывающих разные аспекты реляционного подхода: структурной части, манипуляционной части и целостной части .
|
Свойства реляционных баз данных (вытекают из определения отношения и кортежа как множеств):
Последнее свойство является одним из самых спорных, и практически никогда не реализуется. Во всех широко распространённых СУБД используется в качестве значения поля маркер NULL , означающий отсутствие информации и обрабатывающийся специальным образом. Правило целостности объектов говорит о том, что первичный ключ отношения не должен содержать значений NULL . Реляционная алгебра: Алгеброй называется множество объектов с заданной на нём совокупностью операций, замкнутых относительного этого множества. Коддом было предложено 8 операций, хотя это множество избыточное, так как некоторые операции могут быть представлены друг через друга. Теоретико-множественные операции:
Пример на первые три операции : Предметная область: экзамен по курсу «Методы вычислений», который проводился в сентябре и декабре. Пусть имеются три отношения, имеющие эквивалентные схемы: R 1 = (Номер зачетки, ФИО, Группа) – список студентов, сдававших экзамен в сентябре; R 2 = (Номер зачетки, ФИО, Группа) – список студентов, сдававших экзамен в декабре; R 3 = (Номер зачетки, ФИО, Группа) – список студентов, сдавших экзамен по курсу до января месяца; Ударим реляционной алгеброй по следующим вопросам:
Специальные реляционные операции:
На интуитивном уровне операцию ограничения лучше всего представлять как взятие некоторой "горизонтальной" вырезки из таблицы. Пример: выбрать из R 3 студентов из группы 21402. Запишем так: R 4 = R 3 [ Группа = 21403 ] .
Продолжаем наш пример: R = R 4[Номер зачетки, ФИО].
По определению результатом операции сравнения является отношение, получаемое путем выполнения операции ограничения по условию b прямого произведения отношений R и Q . Операция соединения называется операцией эквисоединения , если условие соединения имеет вид ( a = b ), где a и b - атрибуты разных операндов соединения. Такое соединения применяется к паре отношений R и Q , обладающих общим атрибутом (т.е. атрибутом с одним и тем же именем и определенным на одном и том же домене). На интуитивном уровне это способ связи таблиц, имеющих одинаковое по смыслу поле.
Предположим, что имеются два отношения: Студенты (Имя, Группа) и Имена (Имя), причем унарное отношение Имена содержит все имена студентов в университете. Тогда после выполнения операции реляционного деления отношения Студенты на отношение Имена будет получено унарное отношение, содержащее номера групп, в которых студенты обладают всеми возможными в университете именами. |