- •3. Детализация реляционной модели данных
- •3.1. Определение и элементы реляционной модели
- •3.2 Связывание таблиц
- •3.2.1 Назначение и основные виды связывания таблиц
- •3.2.2 Межтабличная связь вида 1:1
- •3.2.3 Межтабличные связи вида 1:м и вида м:1
- •Межтабличная связь вида м:м
- •3.3 Контроль целостности связей
- •3.4 Теоретические языки запросов
- •3.5 Основы реляционной алгебры
- •3.5.1 Общая характеристика реляционной алгебры
- •3.5.2 Базовые теоретико-множественные операции реляционной алгебры Кодда
- •3.5.3 Специальные реляционные операции реляционной алгебры Кодда
- •3.5.4 Дополнительные операции реляционной алгебры
- •3.5.5Основные правила записи выраженийреляционной алгебры
- •3.6. Основы реляционного исчисления
- •3.6.1 Сущность реляционного исчисления и его соотношение с реляционной алгеброй
- •3.6.2 Реляционное исчисление, основанное на кортежах
- •3.6.3 Реляционное исчисление, основанное на доменах
- •3.7 Структурированный язык запросовSql
- •3.7.1 Общая характеристика и основные операторы языкаSql
- •3.7.2 Оператор создания таблицы
- •3.7.3 Оператор изменения структуры таблиц
- •3.7.4 Оператор удаления таблицы
- •3.7.5 Оператор создания индекса
- •3.7.6 Оператор удаления индекса
- •3.7.7Оператор создания представления
- •3.7.8 Оператор удаления представления
- •3.7.9 Оператор выборки записей
- •3.7.10 Оператор изменения записей
- •3.7.11 Оператор вставки новых записей
- •3.7.12 Оператор удаления записей
- •3.7.13 Некоторые важные функции sql
- •3.7.14 Триггеры, ограничения, правила и хранимые процедуры
- •3.7.14.1 Определения
- •3.7.14.2 Создание триггеров
- •3.7.14.3 Создание хранимых процедур
- •3.7.14.4 Создание правил и ограничений
3.2.3 Межтабличные связи вида 1:м и вида м:1
Связь 1:М имеет место в случае, когда одной записи основной таблицы соответствует несколько записей вспомогательной таблицы.
Пример 2.
Пусть имеются две связанные таблицы О2 и Д2. В таблице О2 содержится информация о видах мультимедиа-устройств ПЭВМ, а в таблице Д2 - сведения о фирмах-производителях этих устройств, а также о наличии на складе хотя бы одного устройства.
Таблица О2
* +
Код |
Вид устройства |
а |
CD-ROM |
б |
CD-Recorder |
в |
Sound Blaster |
Таблица Д2
* + *
-
Код
Фирма-производитель
Наличие
a
Acer
да
a
Mitsumi
нет
a
NEC
да
a
Panasonic
да
a
Sony
да
6
Philips
нет
6
Sony
нет
6
Yamaha
да
в
Creative Labs
да
Таблица Д2 имеет два ключевых поля, так как одна и та же фирма может производить устройства различных видов. В примере фирмаSonyпроизводит устройства считывания и перезаписи с компакт-дисков.
Сопоставление записей обеих таблиц по полю «Код» порождает псевдозаписи вида: (a, CD-ROM, Acer, да), (a, CD-ROM, Mitsumi, нет), (a, CD-ROM, NEC, да), (a, CD-ROM, Panasonic, да), (a, CD-ROM, Sony, да), (б, CD-Recorder, Philips, нет), (б, CD-Recorder, Sony, нет) и т. д.
Если свести псевдозаписи в новую таблицу, то получим полную информацию обо всех видах мультимедиа-устройств ПЭВМ, фирмах, их производящих, а также сведения о наличии конкретных видов устройств на складе.
Связь вида М:1 имеет место в случае, когда одной или нескольким записям основной таблицы ставится в соответствие одна запись дополнительной таблицы.
Пример 3.
Рассмотрим связь таблиц ОЗ и ДЗ. В основной таблице ОЗ содержится информация о названиях деталей (Поле11), видах материалов,из которого детали можно изготовить (Поле12), и марках материала (Поле13). В дополнительной таблице ДЗ содержатся сведения о названиях деталей (Поле21), планируемых сроках изготовления (Поле22) и стоимости заказов (Поле23).
Связывание этих таблиц обеспечивает такое установление соответствия между записями, которое эквивалентно образованию следующих псевдозаписей: (деталь1, чугун, марка1, 4.03.98, 90), (деталь1, чугун, марка2, 4.03.98, 90), (деталь2, сталь, марка1, 3.01.98, 35), (деталь2, сталь, марка2, 3.01.98, 35), (деталь2, сталь, маркаЗ, 3.01.98, 35), (детальЗ, алюминий, — , 17.02.98, 90),(деталъ4, чугун, марка2, 6.05.98, 240).
Таблица О3
+
Поле 11 |
Поле12 |
Поле 13 |
деталь1 |
чугун |
марка 1 |
деталь1 |
чугун |
марка2 |
деталь2 |
сталь |
марка1 |
деталь2 |
сталь |
марка2 |
деталь2 |
сталь |
маркаЗ |
детальЗ |
алюминий |
- |
деталь4 |
чугун |
марка2 |
Таблица ДЗ
* +
-
Поле21
Поле22
Поле23
деталь 1
4.03.98
90
деталь2
3.01.98
35
детальЗ
17.02.98
90
деталь4
6.05.98
240
Полученная псевдотаблица может быть полезна при планировании или принятии управленческих решений, когда необходимо иметь все возможные варианты исполнения заказов по каждому изделию. Отметим, что таблица ОЗ не имеет ключей и в ней возможно повторение записей. Если таблицу ДЗсделать основной, а таблицу ОЗ — дополнительной, получим связь вида 1:М. Поступив аналогично с таблицами О2 и Д2, можно получить связь вида М:1.Отсюда следует, что вид связи (1:М или М:1) зависит от того, какая таблица является главной, а какая дополнительной.