Теория недели 18.11 - 23.11.2013: Организация баз данных, связывание таблиц в многотабличных базах данных

Организация баз данных, связывание таблиц в многотабличных базах данных.

Хранить БД в одной таблице неудобно и нерационально.

1. Таблица может содержать слишком большое количество полей, что неудобно пользователю.

2. Различные записи при этом во многих полях дублируют друг друга, что увеличивает информационный объем БД и замедляет процесс ее обработки.

Какие свойства являются неотъемлемыми в таблице “Комплектующие компьютера и поставщики”?

Неотъемлемыми свойствами являются “наименование” и “описание”.

А “название фирмы”, “адрес”, и “цена” не являются свойствами компьютера. Поэтому имеет смысл разделить исходную таблицу на две “Комплектующие” и “Поставщики”. Каждая таблица должна содержать по крайней мере, одно ключевое поле.

В таблице “Комплектующие” введем поле “код комплектующих”, а в таблице “Поставщики” – “код поставщика

После создания таблиц содержащих данные, относящиеся к различным аспектам БД, необходимо обеспечить целостность БД. Для этого надо связать таблицы между собой.

Тип, создаваемой связи зависит от полей, для которых определена связь.

Связь “один-ко-многим” 1:М (каждой записи в главной таблице соответствует несколько записей в подчиненной таблице).

Связь “один-ко-одному” 1:1 (оба поля являются ключевыми).

Связь “многие-ко-многим” М:N (представляет 2 типа связи 1:М через 3-ю таблицу, ключ которой состоит по крайней мере из двух полей, общих для 2-х других таблиц).

Как Вы думаете в нашем случае какая связь могла бы реализоваться?

Реализуется связь “многие-ко-многим” М:N.

Две таблицы, находящиеся в отношении М:N, могут быть связаны только с помощью третьей таблицы путем создания 2-х связей 1:М. Как Вы думаете, какую таблицу можно использовать?

Таблицу “Цена”.

Создадим таблицу “Цена” с ключевым полем “счетчик” и установим связи между этими таблицами.

Алгоритм установки связей между таблицами (демонстрируется на экране телевизора):

· открыть БД “Комплектующие”;

· в главном меню выбрать Сервис-Схема данных;

· добавить все таблицы;

· перетащить мышью ключевые поля из таблицы “Комплектующие” в таблицу “Цена” и из таблицы “Цена” в таблицу “Поставщики”.

на панели связи установить опции для каждой связи и нажать Создать.

Домашнеезадание:

Задача: Разработать проект реляционной БД “Коллекция аудиозаписей”, которая бы содержала главную таблицу “Список аудио-CD” и подчиненную таблицу “Содержание аудио-CD”.