Читать книгу Основы использования и проектирования баз данных - Владимир Михайлович Илюшечкин - Страница 10

Глава 2
Реляционная модель данных

Оглавление

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

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

– принадлежность элемента множеству (например,

означает, что элемент d принадлежит множеству D);

– отрицание принадлежности элемента множеству (например,

означает, что элемент d не принадлежит множеству D);

| D | – мощность множества D, равная числу элементов в этом множестве;

– вхождение одного множества в другое множество (например,

означает, что все элементы множества А одновременно являются элементами множества D и | А | ≤ | D |);

– включение одного множества в другое множество (например,

означает, что все элементы множества А одновременно являются элементами множества D и | А | < | D |);

– объединение множеств (например,

означает множество, элементы которого принадлежат множеству X или множеству У);

– пересечение множеств (например,

означает множество, элементы которого принадлежат одновременно множеству X и множеству У);

– пустое множество, т. е. множество, в котором отсутствуют элементы;

{а, b, с}– множество, состоящее из элементов а, b, с;

{е | у} — множество элементов е, удовлетворяющих условию у; при записи условия могут использоваться символы:

обозначающие логические операторы «И» и «ИЛИ» соответственно, например,

обозначает множество элементов х, которые принадлежат множеству R и не принадлежит множеству 5.

Реляционная БД – это совокупность отношений, содержащих всю информацию, которая должна храниться в БД.

Математически термин «отношение» определяется следующим образом.

Пусть даны N множеств D1, D2,…, DN. Отношением R над этими множествами называется множество упорядоченных N-кортежей вида <d1, d2, …, dn>, где

Множества D1, D2, …, DN называются доменами (областями определения) отношения R.

Поясним это определение конкретным примером. Пусть даны четыре домена: D1множество целых чисел, обозначающих номера преподавателей; D2множество символьных строк, представляющих собой фамилии преподавателей; D3множество символьных строк, представляющих собой названия должностей; D4множество целых чисел, обозначающих стаж работы преподавателей. На рис. 2.1 показан пример отношения R, состоящего из пяти кортежей.

Рис. 2.1. Отношение с математической точки зрения.


Каждый кортеж состоит из четырех элементов, которые выбираются каждый из своего домена. Порядок элементов в каждом кортеже строго определен: первый элемент кортежа выбирается из домена D, второй элемент – из домена D2 и т. д. Каждый элемент кортежа представляет собой значение одного из атрибутов, соответствующего одному из доменов.

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

Рис. 2.2. Отношение с точки зрения обработки данных.


Итак, разными точками зрения допускается следующая терминология:

Количество атрибутов в кортеже, или число столбцов в таблице, называется степенью отношения. Текущее число кортежей, или строк, называется мощностью отношения и обозначается как | R |. Степень отношения не изменяется после создания отношения, но мощность отношения будет изменяться при добавлении новых и удалении старых кортежей. Схемой отношения R называется перечень атрибутов А. данного отношения с указанием домена Di, к которому они относятся:

По определению все кортежи различаются. Для однозначной идентификации конкретного кортежа используется так называемый первичный ключ отношения. Первичный ключ – это атрибут, или набор из минимального числа атрибутов, который однозначно идентифицирует конкретный кортеж и не содержит дополнительных атрибутов. Это значит, что если отдельный произвольный атрибут исключить из первичного ключа, то оставшихся атрибутов будет недостаточно для однозначной идентификации отдельных кортежей. Например, в отношении ПРЕПОДАВАТЕЛЬ первичным ключом может быть только номер преподавателя НП, в таблице ЧИТАЕТ первичным ключом является набор атрибутов <НП, НК>, обозначающих номер преподавателя и номер читаемого учебного курса (рис. 2.3).

Для краткости отношение R принято обозначать именем, после которого в скобках перечисляются его атрибуты, причем атрибуты, входящие в первичный ключ указываются в начале списка и подчеркиваются, например:

Рис. 2.3. Первичные ключи.


В реляционной БД таблицы взаимосвязаны и соотносятся друг с другом как главные и подчиненные. Одной строке главной таблицы могут соответствовать несколько строк подчиненной таблицы (рис. 2.4). Связь главной и подчиненной таблиц осуществляется через первичный ключ (primary key) главной таблицы и внешний ключ (foreign key) подчиненной таблицы. Внешний ключ – это атрибут, или набор атрибутов, подчиненной таблицы, который в главной таблице является первичным ключом. Связь главной и подчиненной таблиц схематически изображается линией, соединяющей первичный и внешний ключи этих таблиц, с указанием одной стрелки со стороны главной таблицы и двух стрелок со стороны подчиненной таблицы (рис. 2.5).

Рис. 2.4. Связь главной таблицы ПРЕПОДАВАТЕЛЬ с подчиненной таблицей ЧИТАЕТ.


Рис. 2.5. Схематическое изображение связи главной таблицы ПРЕПОДАВАТЕЛЬ с подчиненной таблицей ЧИТАЕТ.


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

В результате индексирования создается дополнительный индексный файл, упорядоченный по значениям индексного ключа. Структура индексного файла может быть разной, но должна обеспечивать быстрый поиск. На рис. 2.6 показана возможная структура индексного файла, ускоряющего поиск в файле ПРЕПОДАВАТЕЛЬ по номеру преподавателя.

Рис. 2.6. Пример индексного файла.

2.2. Реляционная алгебра

Реляционная алгебра служит математической основой реляционной ДЛМ. Так как отношение является множеством, то реляционная алгебра является алгеброй взаимосвязей между особыми множествами, называемыми отношениями.

В реляционной алгебре существует ряд операций над отношениями, например: проекция, выборка, соединение, объединение, пересечение, вычитание, умножение.

2.2.1. Проекция

Воспользуемся в качестве примера следующим отношением R, представленным в виде таблицы (рис. 2.7).

Рис. 2.7. Отношение R (r кортеж).


Пусть для конкретного кортежа г, являющегося элементом отношения R, r[Х] обозначает расположенные в ряд составляющие кортежа, соответствующие множеству атрибутов X. Например, если Х={ЗавК, Нтел}, то r[Х] = <Вернер, 2882>.

Проекцией отношения R на X называют новое отношение:

Проекции R[ЗавК, Нтел] и R[НП, ЗавК] показаны на рис. 2.8.

Рис. 2.8. Проекции R[ЗавК, Нтел] и R[НП, ЗавК].


То есть при проецировании из исходного отношения R удаляется часть атрибутов, не указанных в X. При этом если в полученном таким способом отношении окажутся одинаковые кортежи, то из них оставляют по одному представителю. Следовательно, проекция является операцией, при которой из отношения выделяются только нужные столбцы.

2.2.2. Выборка

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

Выборкой из отношения R по условию Θ для множества атрибутов X называют новое отношение:

Так, выборка по условию Θ(r[Х]) = (ЗавК='Шаньгин'), т. е. информация о преподавателях, работающих на кафедре Шаньгина, показана на рис. 2.9.

Рис. 2.9. Выборка.

2.2.3. Соединение

Операция соединения обратна операции проекции и предназначена для создания одного нового отношения из двух уже существующих отношений. Новое отношение получается путем конкатенации (сцепления) кортежей первого отношения R с кортежами второго отношения S. Только те кортежи подвергаются конкатенации, в которых значение заданного атрибута X в отношении R совпадает со значением заданного атрибута Y в отношении S:


Конец ознакомительного фрагмента. Купить книгу
Основы использования и проектирования баз данных

Подняться наверх