Современные
информационные технологии/2. Вычислительная техника и программирование
Жукова Е.А.,
Галушко С.А., Милинчук Ю.А.
Государственное
высшее учебное заведение «Национальный Горный Универсистет»
ОСНОВНЫЕ СТРУКТУРНЫЕ
ПОНЯТИЯ РЕЛЯЦИОННОЙ МОДЕЛИ.
Изучение реляционных баз данных и систем
управления реляционными базами данных - это наиболее распространенный в данное
время подход, хотя наряду с общепризнанными достоинствами имеет ряд
недостатков. К числу достоинств реляционного подхода можно отнести:
·
Обеспечение более
высокой степени независимости от данных. Прикладные программы не должны
зависеть от изменений внутреннего представления данных, в частности от
изменений организации файлов, переупорядочивания записей и путей доступа.
·
Создание прочного
фундамента для решения семантических вопросов, а также проблем
непротиворечивости и избыточности данных
·
Расширение языков
управления данными за счет включения операций над множествами.
Основными
понятиями реляционных баз данных являются типы данных, домен, атрибут,
первичный ключи отношения.
Покажем
смысл этих понятий на примере отношений АВТОРЫ КНИГ и КНИГИ, которые содержат
информацию о книгах некоторой библиотеки (см. рисунок).
Понятие типа данных в
реляционной модели полностью соответствует понятию типа данных в языках
программирования. Наименьшая часть реляционной базы данных – это атомарное
(неделимое) значение для этой базы данных. Доменом
называется
множество атомарных значений одного и того же типа, другими словами домен - это набор допустимых значений для одного
или нескольких атрибутов.
Домены представляют собой чрезвычайно мощный компонент реляционной базы
данных. Каждый атрибут определяется на некотором домене. Домены могут
отличаться для каждого из атрибутов, но два и более атрибутов могут
определяться на одном и том же домене. В примере представлены домены для
некоторых атрибутов отношений BookAuthors и Books. Три
атрибута - FamilyName (Фамилия), Name (Имя) и Patronymic (Отчество) -
определены на одном и том же домене FIO, содержащем
фамилии, имена и отчества всех людей, информация о которых храниться в этой БД.
Этот домен будет базироваться на символьном типе данных. Атрибуты же AuthorCode и Code – на домене, который будет базироваться на целочисленном типе данных. Обратите внимание,
что в любой момент времени в доменах могут существовать значения, которые не
будут реально представлены значениями соответствующего атрибута.
Понятие домена имеет большое значение, поскольку благодаря ему
пользователь может централизованно определять смысл и источник значений,
которые могут получать атрибуты. В результате при выполнении реляционной
операции системе доступно больше информации, что позволяет ей избежать
семантически некорректных операций. Например, бессмысленно сравнивать фамилию автора
с названием книги, даже если для обоих этих атрибутов определениями доменов
являются символьные строки. С другой стороны, например, помесячная арендная
плата объекта недвижимости и количество месяцев, в течение которых он сдавался
в аренду, принадлежат разным доменам (первый атрибут имеет денежный тип, а
второй — целочисленный). Однако умножение значений из этих доменов является
допустимой операцией. Как следует из этих двух примеров, обеспечить полную реализацию
понятия домена совсем непросто, а потому во многих РСУБД они поддерживаются не
полностью, а лишь частично.
Кортеж – это строка
отношения. Элементами отношения являются кортежи, или строки, таблицы. В отношении
BookAuthors каждая строка содержит семь значений,
по одному для каждого атрибута. Кортежи могут располагаться в любом порядке,
при этом отношение будет оставаться тем же самым, а значит, и иметь тот же
смысл.
Степень
отношения. Степень отношения определяется количеством атрибутов, которое оно содержит.
Отношение BookAuthors семь атрибутов
и, следовательно, его степень равна семи. Это значит, что каждая строка таблицы
является 7-арным кортежем, т.е. кортежем, содержащим семь значений. Отношение
только с одним атрибутом имеет степень 1 и называется унарным (unary) отношением (или 1-арным кортежем).
Отношение с двумя атрибутами называется бинарным (binary), отношение с тремя атрибутами — тернарным
(ternary), а для отношений с большим количеством
атрибутов используется термин n-арный (n-агу). Определение степени отношения
является частью заголовка отношения.
Кардинальность – это
количество кортежей, которое содержит отношение. Эта характеристика меняется
при каждом добавлений или удалении кортежей. Кардинальность является свойством
тела отношения и определяется текущим состоянием отношения в произвольно взятый
момент.
Реляционная база данных – это набор отношений, имена которых
совпадают с именами отношений в схеме базы данных.
Таким образом, очевидно, что основные структурные понятия реляционной
модели данных (если не считать понятие домена) имеют очень простую интуитивную
интерпретацию, хотя в теории реляционных БД все они определяются абсолютно
формально и точно.