Реляционная модель данных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними. Элементы РМД и формы их представления приведены в таблице:
Элементы реляционной модели
Элементы реляционной модели |
Форма представления |
Отношение |
Таблица |
Схема отношения |
Строка заголовков столбцов таблицы (заголовок таблицы) |
Кортеж |
Строка таблицы |
Сущность |
Описание свойств объекта |
Атрибут |
Заголовок столбца таблицы |
Домен |
Множество допустимых значений атрибута |
Значение атрибута |
Значение поля в записи |
Первичный ключ |
Один или несколько атрибутов |
Тип данных |
Тип значений элементов таблицы |
Отношение представляет собой двумерную таблицу, содержащую некоторые данные.
Сущность есть объект любой природы, данные о котором хранятся в БД. Данные о сущности хранятся в отношении.
Атрибуты представляют собой свойства, характеризующие сущность. В структуре таблицы каждый атрибут именуется и ему соответствует заголовок некоторого столбца таблицы.
Рис. 3.1. Представление отношения СОТРУДНИК
Домен представляет собой множество всех возможных значений определенного атрибута отношения. Отношение СОТРУДНИК включает 4 домена. Домен 1 содержит фамилии всех сотрудников, домен 2 – номера всех отделов фирмы, домен 3 – названия всех должностей, домен 4 – даты рождения всех сотрудников. Каждый домен образует значения одного типа данных.
Отношение СОТРУДНИК содержит 3 кортежа. Кортеж рассматриваемого отношения состоит из 4 элементов, каждый из которых выбирается из соответствующего домена. Каждому кортежу соответствует строка таблицы.
Схема отношения (заголовок отношения) представляет собой список имен атрибутов (СОТРУДНИК(ФИО, Отдел, Должность, Д_рождения)). Множество собственно кортежей отношения называют содержимым (телом) отношения.
Первичным ключом (ключом отношения, ключевым атрибутом) называется атрибут отношения, однозначно идентифицирующий каждый из его кортежей (в отношении СОТРУДНИК(ФИО, Отдел, Должность, Д_рождения) ключевым является атрибут «ФИО». Ключ может быть составным (сложным), то есть состоять из нескольких атрибутов).
Каждое отношение обязательно имеет комбинацию атрибутов, которая может служить ключом. Возможны случаи, когда отношение имеет несколько комбинаций атрибутов, каждая из которых однозначно определяет все кортежи отношения. Все эти комбинации атрибутов являются возможными ключами отношения. Любой из возможных ключей может быть выбран как первичный.
Если выбранный первичный ключ состоит из минимально необходимого набора атрибутов, то он является не избыточным.
Ключи используются для достижения следующих целей:
1) исключения дублирования значений в ключевых атрибутах;
2) упорядочения кортежей;
3) ускорения работы к кортежами отношения;
4) организация связывания таблиц.
Внешний ключ – это не ключевой атрибут, значения которого являются значениями ключевого атрибута.
Реляционная модель накладывает на внешние ключи ограничения для обеспечения целостности данных, называемое ссылочной целостностью.
Если задаваемое таблицей отношение имеет ключ, то считается, что таблица тоже имеет ключ, и ее называют ключевой или таблицей с ключевыми полями.
Основной единицей обработки данных в реляционных БД является отношение.
Под индексом понимают средство ускорения операции поиска записей в таблице, а следовательно, и других операций, использующих поиск: извлечение, модификация, сортировка и т.д. таблицу, для которой используется индекс, называют индексированной.
Индекс выполняет роль оглавления таблицы, просмотр которого предшествует обращению к записям таблицы.
Для организации ссылки на запись таблицы могут использоваться три типа адресов: абсолютный, относительный и символический.
Организация индексирования таблиц осуществляется двумя способами: одноуровневой и многоуровневой.
При одноуровневой схеме в индексном файле хранятся короткие записи, имеющие два поля: поле содержимого старшего ключа адресуемого блока и поле адреса начала этого блока:
Рис.3.2. Одноуровневая схема индексации
На каждом блоке записи располагаются в порядке возрастания значения ключа или свертки. Старшим ключом каждого блока является ключ его последней записи.
Недостатки: ключи хранятся вместе с записями.
Двухуровневая схема в ряде случаев оказывается более рациональной, в ней ключи записей отделены от содержимого записей:
Рис. 3.3. Двухуровневая схема индексации
В этой схеме индекс основной таблицы распределен по совокупности файлов: одному файлу главного индекса и множеству файлов с блоками ключей.
Индексные файлы, создаваемые по ключевым полям таблицы, называются файлами первичных индексов.
Индексы, создаваемые пользователем для не ключевых полей, называются вторичными индексами.
В некоторых СУБД деление на первичные и вторичные индексы не производится. В этом случае используются автоматически создаваемые индексы и индексы, определяемые пользователем.
При проектировании реальных БД информацию размещают в нескольких таблицах. Таблицы при этом связаны семантикой информации. В реляционных СУБД для указания связей таблиц производят операцию их связывания.
Достоинство связывания: повышает производительность хранимой в БД информации, облегчает доступ к данным.
Основные виды связи таблиц
Между таблицами могут устанавливаться бинарные, тернарные и n-арные связи. Часто встречающаяся бинарная связь.
При связывании двух таблиц выделяют основную и дополнительную таблицы. логическое связывание таблиц производится с помощью ключа связи.
Ключ связи состоит из одного или нескольких полей, которые в данном случае называют полями связей (ПС).
Суть связывания состоит в установлении соответствия полей связи основной и дополнительной таблиц. Поля связи основной таблицы могут быть обычными и ключевыми. В качестве полей связи подчиненной таблицы чаще всего используются ключевые поля.
В зависимости от того, как определены поля связи основной и дополнительной таблиц между двумя таблицами могут устанавливаться следующие основные вида связи:
· один – один (1 : 1);
· один – много (1 : М);
· много – один (М : 1);
· много – много (М : М).
Характеристика видов связей таблиц
Характеристика полей связи по видам |
1 : 1 |
1 : М |
М : 1 |
М : М |
Поля связи основной таблицы |
являются ключом |
являются ключом |
не являются ключом |
не являются ключом |
Поля связи дополнительной таблицы |
являются ключом |
не являются ключом |
являются ключом |
не являются ключом |
Дадим характеристику названным видам связи и приведем примеры их использования.
Связь вида 1 : 1
Связь 1 : 1 образуется в случае, когда все поля связи основной и дополнительной таблиц являются ключевыми. Поскольку значения в ключевых полях обеих таблиц не повторяются, обеспечивается взаимно-однозначное соответствие записей этих полей. Сами таблицы становятся равноправными.
Пример 1.
Пусть имеется основная О1 и дополнительная Д1 таблицы. Ключевые поля обозначим символом «*», используемые для связи поля обозначим символом «+».
Таблица О1 Таблица Д1
* + * +
Поле 11 |
Поле12 |
|
Поле 21 |
Поле22 |
А |
10 |
А |
стол |
|
Б |
40 |
В |
книга |
|
В |
3 |
|
В приведенных таблицах установлена связь между записями (А, 10) таблицы О1 и записью (А, стол) таблицы Д1. основанием этого является совпадение значений в полях связи. Аналогичная связь существует и между записями (В, 3) и (В, книга) этих же таблиц.
Пример 2.
Пусть имеются сведения о выполняемых в некоторой организации научно-исследовательских работ. Эти данные включают в себя следующую информацию по каждой из работ: тему, шифр, даты начала и завершения работы, количество этапов, головного исполнителя и другую дополнительную информацию. Все работы имеют гриф «Для служебного пользования» или «секретно».
В такой ситуации всю информацию целесообразно хранить в двух таблицах: в одной из них – всю секретную информацию (шифр, полное наименование работы, головной исполнитель), а в другой – всю оставшуюся несекретную информацию. Обе таблицы можно связать по шифру работы. Первую таблицу целесообразно защитить от несанкционированного доступа.
Связь вида 1 : М
Связь вида 1 : М имеет место в случае, когда одной записи основной таблицы соответствует несколько записей вспомогательной таблицы.
Пример 3.
Пусть имеются две связанные таблицы О2 и Д2. в таблице О2 содержится информация о видах мультимедиа-устройств ПЭВМ, а в таблице Д2 – информация о фирмах-производителях этих устройств, а также о наличие хотя бы одного устройства.
Таблица О2 Таблица Д2
* + * + *
Код |
Вид устройства |
|
Код |
Фирма-производитель |
Наличие |
|
А |
CD-ROM |
А |
Acer |
Да |
|
|
Б |
CD-Recorder |
А |
Mitsumi |
Нет |
|
|
В |
Sound Blaster |
А |
NEC |
Да |
|
|
|
А |
Panasonic |
Да |
|
||
А |
Sony |
Да |
|
|||
Б |
Philips |
Нет |
|
|||
Б |
Sony |
Нет |
|
|||
Б |
Yamaha |
Да |
|
|||
В |
Creative Labs |
Да |
|
Таблица Д2 имеет два ключевых поля, так как одна и та же фирма может производить устройства различных видов.
Сопоставление записей обеих таблиц по полю «КОД» порождает псевдозаписи вида: (А, CD-ROM, Mitsumi, Нет), (А, CD-ROM, Acer, Да), (Б, CD-Recorder, Philips, Нет) и т.д.
Если свести псевдозаписи в новую таблицу, то получится полная информация обо всех видах мультимедиа-устройствах ПЭВМ.
Связь вида М : 1
Связь вида М : 1 имеет место в случае, когда одной или нескольким записям основной таблицы ставится в соответствие одна запись дополнительной таблицы.
Пример 4.
В основной таблице О3 содержится информация о названиях деталей (Поле11), видах материалов, из которого детали можно изготовить (Поле12), и марках материала (Поле13). В дополнительной таблице Д3 содержаться сведения о названиях деталей (Поле21), планируемых сроках изготовления (Поле22) и стоимость заказов (Поле23).
Таблица О3 Таблица Д3
+ * +
Поле11 |
Поле12 |
Поле13 |
|
Поле21 |
Поле22 |
Поле23 |
деталь1 |
чугун |
марка1 |
деталь1 |
4.03.05 |
90 |
|
деталь1 |
чугун |
марка2 |
деталь2 |
3.01.05 |
35 |
|
деталь2 |
сталь |
марка1 |
деталь3 |
17.02.05 |
90 |
|
деталь2 |
сталь |
марка2 |
деталь4 |
6.05.05 |
240 |
|
деталь2 |
сталь |
марка3 |
|
|||
деталь3 |
алюминий |
- |
||||
деталь4 |
чугун |
марка2 |
Связывание этих таблиц обеспечивает такое установление соответствия между записями, которое эквивалентно образованию следующих псевдозаписей: (деталь1, чугун, марка1, 4.03.05, 90), (деталь1, чугун, марка2, 4.03.98, 90), (деталь3, алюминий, -, 17.02.05,90) и т.д.
Полученная таблица может быть использована при планировании управленческих решений, когда необходимо иметь все возможные варианты исполнения заказов.
Если таблицу Д3 сделать основной, таблицу – О3 дополнительной, получим связь вида 1 : М.
Связь вида М : М
Связь вида М : М возникает в случае, когда нескольким записям основной таблицы соответствует несколько записей дополнительной таблицы.
Пример 5.
Пусть в основной таблице О4 содержится информация о том, на каких станках могут работать рабочие некоторой бригады. Таблица Д4 содержит сведения о том, кто из бригады ремонтников какие станки обслуживает.
Таблица О4 Таблица Д4
* * + * * +
Работает |
На станке |
|
Обслуживает |
Станок |
Иванов А.В. |
станок1 |
Голубев Б.С. |
станок1 |
|
Иванов А.В. |
станок2 |
Голубев Б.С. |
станок3 |
|
Петров Н.Г. |
станок1 |
Зыков А.Ф. |
станок2 |
|
Петров Н.Г. |
станок3 |
Зыков А.Ф. |
станок3 |
|
Сидоров В.К. |
станок2 |
|
Первой и третьей записям таблицы О4 соответствует первая запись таблицы Д4 (у всех этих записей значений второго поля – «станок1»). Четвертой записи таблицы О4 соответствует вторая и четвертая записи таблицы Д4 (во втором поле этих записей содержится «станок3»).
Исходя из определения полей связи этих таблиц можно составить новую таблицу с именем «О4+Д4»:
Работа |
Станок |
Обслуживание |
Иванов А.В. |
станок1 |
Голубев Б.С. |
Иванов А.В. |
станок2 |
Зыков А.Ф. |
Петров Н.Г. |
станок1 |
Голубев Б.С. |
Петров Н.Г. |
станок3 |
Голубев Б.С. |
Петров Н.Г. |
станок3 |
Зыков А.Ф. |
Сидоров В.К. |
станок2 |
Зыков А.Ф. |
Приведенную таблицу можно использовать для получения ответа на вопрос: «Кто обслуживает станки, на которых работает Петров Н.Г?».
Замечание.
На практике в связь обычно вовлекается сразу несколько таблиц. При этом одна таблица может иметь различного рода связи с несколькими таблицами. В случаях, когда связанные таблицы, в свою очередь, имеют связи с другими таблицами, образуется иерархия или дерево связей.
Контроль целостностей связей обычно означает анализ содержимого двух таблиц на соблюдение следующих правил:
· каждой записи основной таблицы соответствует нуль или более записей дополнительной таблицы;
· в дополнительной таблице нет записей, которые не имеют родительских записей в основной таблице;
· каждая запись дополнительной таблицы имеет только одну родительскую запись основной таблицы.
Вернутся в содержание.
Скачано с www.znanio.ru
© ООО «Знанио»
С вами с 2009 года.