- •Базы данных
- •Литература
- •1. Введение в базы данных
- •1.1. Данные, информация, знания
- •1.2. Банки и базы данных (основные компоненты и понятия)
- •1.3. Архитектура информационной системы клиент-сервер
- •1.4. Классификация и основные функции субд
- •1.5. Обмен данными при работе с бд в локальной ис
- •2. Модели и типы данных
- •2.1. Иерархическая модель
- •2.2. Сетевая модель
- •2.3. Реляционная модель
- •2.4. Типы данных в субд
- •3. Реляционная модель данных
- •3.1. Определение реляционной модели
- •3.2. Связывание таблиц; основные виды связи
- •3.3. Связь таблиц вида 1:1
- •3.4. Связь таблиц вида 1:м
- •3.5. Связь таблиц вида м:1
- •3.6. Связь таблиц вида м:м
- •3.7. Контроль целостности связей
- •3.8. Введение в язык запросов qbe
- •3.9. Основные объекты субд ms Access
- •3.10. Общая характеристика языка qbe субд ms Access
- •3.11. Построение условий в запросах на выборку в субд ms Access
- •3.12. Запросы на выборку в субд ms Access (вычисления по горизонтали и вертикали, группирование записей)
- •3.13. Структурированный язык запросов sql (общая характеристика, инструкции)
- •3.14. Структурированный язык запросов sql (имена, типы данных, встроенные функции)
- •3.15. Язык sql: команда создания таблицы (create table)
- •Описание столбцов
- •Пример создания таблицы
- •3.16. Язык sql: команда извлечения данных (select) и отдельные разделы этой команда
- •3.17. Примеры использования команды select
3.4. Связь таблиц вида 1:м
Связь 1:М имеет место в случае, когда одной записи основной таблицы соответствует несколько записей вспомогательной таблицы.
Пример. Пусть имеются две связанные таблицы О2 и Д2 (рис. 3.4). В таблице О2 содержится информация о видах запасных частей к прессам, а в таблице Д2 – сведения о фирмах-производителях этих запчастей, а также о наличии на складе хотя бы одной запасной запчасти.
Таблица О2 Таблица Д2
* + * + *
Код |
Вид запчасти |
а |
вкладыш вала |
б |
манжета |
в |
вставка муфты |
Код |
Фирма-производитель |
Наличие |
а |
МехПресс |
да |
а |
Ремзавод |
нет |
а |
Машзавод |
да |
а |
Завод КПА |
да |
а |
ТяжМехПресс |
да |
б |
Гидравлик |
нет |
б |
Завод РПИ |
нет |
б |
Гидроагрегат |
да |
в |
МехПресс |
да |
Рис. 3.4. Пример связи таблиц вида 1:1
Таблица Д2 имеет два ключевых поля, так как одна и та же фирма может производить разные запчасти. В примере фирма «МехПресс» производит вкладыши вала и вставки муфты.
Сопоставление записей обеих таблиц по полю «Код» порождает псевдозаписи вида: (а, МехПресс, да); (а, Ремзавод, нет); (а, Машзавод, да) и т.д.
Если свести псевдозаписи в новую таблицу, то получим полную информацию обо всех видах запчастей и фирмах, их производящих, а также сведения о наличии конкретных видов запчастей на складе.
3.5. Связь таблиц вида м:1
Связь М:1 имеет место в случае, когда одной или нескольким записям основной таблицы ставится в соответствие одна запись дополнительной таблицы.
Пример. Рассмотрим связь таблиц О3 и Д3 (рис. 3.5), где О3 – основная таблица, Д3 – дополнительная таблица.
Таблица О3 Таблица Д3
+ * +
Название детали |
Срок изготовления |
Стоимость заказа |
деталь1 |
4.03.98 |
90 |
деталь2 |
3.01.98 |
35 |
деталь3 |
17.02.98 |
90 |
деталь4 |
6.05.98 |
240 |
Название детали |
Виды материалов |
Марки материалов |
деталь1 |
чугун |
марка1 |
деталь1 |
чугун |
марка2 |
деталь2 |
сталь |
марка1 |
деталь2 |
сталь |
марка2 |
деталь2 |
сталь |
марка3 |
деталь3 |
алюминий |
- |
деталь4 |
чугун |
марка2 |
Рис. 3.5. Пример связи таблиц вида М:1
Связывание этих таблиц обеспечивает эквивалентное образование следующих псевдозаписей: (деталь1, чугун, марка1, 4.03.98, 90); (деталь1, чугун, марка2, 4.03.98, 90); (деталь2, сталь, марка1, 3.01.98, 35); (деталь2, сталь, марка2, 3.01.98, 35) и т.д.
Полученная псевдотаблица может быть полезна при принятии управленческих решений, когда необходимо иметь все возможные варианты исполнения заказов по каждому изделию. Отметим, что таблица О3 не имеет ключей и в ней возможно повторение записей. Если таблицу Д3 сделать основной, а таблицу О3 - дополнительной, получим связь вида 1:М. Отсюда следует, что вид связи (1:М или М:1) зависит от того, какая таблица является главной, а какая дополнительной.