Многотабличные базы данных
Достаточно часто встречается ситуация, когда хранить все данные в одной таблице реляционной БД неудобно и нерационально. Таблица может содержать слишком большое количество полей. При этом во многих полях могут дублироваться данные, что увеличивает необходимое для хранения место и замедляет процедуры обработки данных.
Поясним это на примере.
Пусть реляционная база данных «Комплектующие компьютера и поставщики» содержит информацию о различных комплектующих и имеет поля: Счетчик, Наименование, Описание, Название фирмы, Адрес, Цена (табл. 3.2).
Таблица 3.2. Комплектующие компьютера и поставщики
Счетчик | Наименование | Описание | Название фирмы | Адрес | Цена, руб. |
1 | Системный блок | Intel Core 2 Quad | Фирма1 | Адрес1 | 9000 |
2 | Системный блок | Intel Core 2 Quad | Фирма2 | Адрес2 | 10000 |
3 | Монитор | 19" | Фирма1 | Адрес1 | 5000 |
4 | Монитор | 19" | Фирма2 | Адрес2 | 6000 |
5 | Клавиатура | 104 кл. | Фирма1 | Адрес1 | 250 |
6 | Клавиатура | 104 кл. | Фирма2 | Адрес2 | 300 |
7 | Мышь | Беспроводная | Фирма1 | Адрес1 | 300 |
8 | Мышь | Беспроводная | Фирма2 | Адрес2 | 350 |
Данные записей 1 и 2, 3 и 4, 5 и 6, 7 и 8 дублируются в полях Наименование, Описание, Название фирмы и Адрес. Таким образом, почти половину объема таблицы составляет избыточная, дублированная информация.
Проанализируем причину дублирования. Комплектующие компьютера имеют два неотъемлемых свойства: Наименование и Описание.
Название фирмы, Адрес и Цена не являются свойствами комплектующих компьютера, они являются свойствами поставщика.
Естественно выделить из исходной таблицы две отдельные таблицы: «Комплектующие» и «Поставщики».
Чтобы однозначно идентифицировать записи в этих таблицах, введем в них первичные ключи.
В таблицу «Комплектующие» введем поле Код комплектующих (табл. 3.3).
Таблица 3.3. Комплектующие
Код комплектующих | Наименование | Описание |
К1 | Системный блок | Intel Core 2 Quad |
К2 | Монитор | 19” |
К3 | Клавиатура | 104 кл. |
К4 | Мышь | Беспроводная |
В таблицу «Поставщики» введем поле Код поставщика (табл. 3.4).
Таблица 3.4. Поставщики
Код поставщика | Название фирмы | Адрес |
П1 | Фирма1 | Адрес1 |
П2 | Фирма2 | Адрес2 |
О том, куда поместить информацию о цене, поговорим позже.
Следующая страница Контрольные вопросы