|
|
Проблемы реляционного подхода 14.11.1 2
| Необходимо иметь в виду, что это различие — чисто условное. Изменив постановку задачи, мы можем заняться не столько за¬казами, сколько клиентами или продуктами. Например, службу маркетинга могут интересовать не только наименование и адрес клиента, но и фамилия (ФИО) директора (напомним, что клиент — это ресторан, кафе, клуб), а также его возраст, характер, склонности... Включив эти данные в таблицу КЛИЕНТЫ, добавив туда потенциальных клиентов, служба маркетинга сможет решать собственные задачи.
В качестве дополнительного примера рассмотрим разницу между таблицами «Постановки» и «Спектакли», которые имеют¬ся, скажем, в БД N-ского театра. В таблице «Постановки» мы укажем код постановки (именно — постановки, не спектакля!), автора, название, режиссера, дату премьеры и проч. В результате получится относительно стабильный справочник (словарь) по¬становок (премьеры-то редко!). В таблице «Спектакли» будем вести оперативный учет спектаклей из справочного набора по¬становок, причем эта таблица будет меняться ежедневно, а по воскресеньям и два-три раза. Каковы поля оперативной табли¬цы? Из словаря возьмем только одно поле — код постановки, а далее: дата спектакля, число проданных билетов, сбор, погода (если хотите), исполнители главных ролей и проч.
При просмотре такой таблицы система сможет для любого конкретного спектакля выдать вам и полные данные о постанов¬ке из словаря.
При проектировании таких таблиц, как ЗАКАЗЫ, рекомендуем «золотые правила»:
уяснить себе, что есть первичный ключ таблицы (т. е. убе-диться, что двух записей с одинаковым значением ключа в таб-лице быть не может);
если первичный ключ не просматривается, подумать, пра-вильно ли подобран состав полей;
если первичный ключ безупречен, к нему можно дописы¬вать любые атрибуты, непосредственно зависящие от ключа.
Например, в словарь клиентов в принципе можно включить фамилию директора предприятия, код банка, связанного с кли-ентом. Но адрес банка включать нельзя — это атрибут не клиен¬та, а банка, и место его в таблице, где первичным ключом явля¬ется сам банк (или его код).
В Если при просмотре подготовленной БД вы обнаружили в даре таблиц одноименное поле, которое не входит в первичный ключ ни одной из этих таблиц, — это ошибка нормализации. Сис¬тема не сможет контролировать согласованность значений таких полей.history4you.ru |
| Категория: компьютеры 7 | Добавил: sergei4 (23.11.2010)
|
| Просмотров: 125
| Рейтинг: 0.0/0
|
|
|