Программирование >>  Разработка пользовательского интерфейса 

1 2 3 4 [ 5 ] 6 7 8 ... 147


УНИКАЛЬНЫЙ КЛЮЧ

НАИМЕНОВАНИЕ 1ИЕ1 ITA

Хитрая лиса

Злой EOJlli

Объеет ЗАКАЗ

НОМЕР ЗАКАЗА

КЛЮЧ КЛИЕНТА

Рис. 2.3. Взаимосвязь между данными при отношении один к одному

Взаимосвязь один ко многим ( между двумя типами объектов)

В определенный момент времени один клиент может стать обладателем нескольких моделей автомобилей, при этом несколько клиентов не могут являться обладателями одного автомобиля. Взаимосвязь один ко многим можно обозначить с помощью одинарной стрелки в направлении к одному и двойной стрелки в направлении ко многим , как это показано на рис. 2.2,6.

В этом случае одной записи данных первого объекта (его часто называют родительским или основным) будет соответствовать несколько записей второго объекта (дочернего или подчиненного). Взаимосвязь один ко многим очень распространена при разработке реляционных баз данных. В качестве родительского объекта часто выступает справочник, а в дочернем хранятся уникальные ключи для доступа к записям справочника. В нашем примере в качестве такого справочника можно представить объект КЛИЕНТ, в котором хранятся сведения о всех клиентах. При обращении к записи для определенного клиента нам доступен список всех

В рассматриваемой задаче по автоматизации управления работой дилера по продаже легковых автомобилей, если клиент производит заказ на покупку автомобиля впервые, осуществляется первичная регистрация его данных и сведений о сделанном заказе. Если же клиент производит заказ повторно, осуществляется регистрация только данного заказа. Вне зависимости от того, сколько раз данный клиент производил заказы, он имеет уникальный идентификационный номер (уникальный ключ клиента). Информация о каждом клиенте включает наименование клиента, адрес, телефон, факс, фамилию, имя, отчество, признак юридического лица и примечание. Таким образом, атрибутами объекта КЛИЕНТ являются УНИКАЛЬНЫЙ КЛЮЧ КЛИЕНТА ,

НАИМЕНОВАНИЕ КЛИЕНТА , АДРЕС КЛИЕНТА и т. д.

Следующий представляющий для нас интерес объект - МОДЕЛЬ АВТОМОБИЛЯ. Этот объект

имеет атрибуты УНИКАЛЬНЫЙ КЛЮЧ МОДЕЛИ , НАИМЕНОВАНИЕ МОДЕЛИ и т. д.

Третий рассматриваемый объект - ЗАКАЗ. Его атрибутами являются НОМЕР ЗАКАЗА , КЛЮЧ КЛИЕНТА и КЛЮЧ МОДЕЛИ .

И четвертый рассматриваемый объект - ПРОДАВЕЦ. Его атрибутами являются УНИКАЛЬНЫЙ КЛЮЧ ПРОДАВЦА , ИМЯ ПРОДАВЦА , ФАМИЛИЯ и ОТЧЕСТВО .

Взаимосвязь один к одному (между двумя типами объектов)

Мысленно вернемся к временам планово-распределительной экономики. Допустим, в определенный момент времени один клиент может сделать только один заказ. В этом случае между объектами КЛИЕНТ и ЗАКАЗ устанавливается взаимосвязь один к одному , обозначаемая одинарными стрелками, как это показано на рис. 2.2,а.

Между данными, хранящимися в объектах КЛИЕНТ и ЗАКАЗ, будет существовать взаимосвязь, в которой каждая запись в одном объекте будет однозначно указывать на запись в другом объекте. На рис. 2.3 приведен пример такой взаимосвязи между данными. Ни в одном, ни в другом объекте не может существовать записи, не связанной с какой-либо записью в другом объекте.

Объе1а КЛИЕНТ






Рис. 2.4. Взаимосвязь между данными при отношении один ко многим

Если мы будем просматривать записи объекта МОДЕЛЬ АВТОМОБИЛЯ, то в объекте КЛИЕНТ мы сможем получить данные о клиенте, купившем данный автомобиль (см. рис. 2.4). Обратите внимание, что для потерянных записей сведений о клиенте мы не получим.

Взаимосвязь многие ко многим (между двумя типами объектов)

В рассматриваемом примере каждый продавец может обслуживать нескольких клиентов. С другой стороны, приобретая автомобили в различное время, каждый клиент вполне может быть обслужен различными продавцами. Между объектами КЛИЕНТ и ПРОДАВЕЦ существует взаимосвязь многие ко многим . Такая взаимосвязь обозначается двойными стрелками, как это показано на рис. 2.2,в. На рис. 2.5 приведена схема, по которой в этом случае будут взаимосвязаны данные. При просмотре данных в объекте КЛИЕНТ мы сможем узнать, какие продавцы обслуживали определенного клиента. Однако в объекте ПРОДАВЕЦ в этом случае нам придется завести несколько записей для каждого продавца. Каждая строчка будет соответствовать каждому обслуживанию продавцом клиента. При таком подходе мы столкнемся с серьезными проблемами. Например, не сможем ввести в объект ПРОДАВЕЦ уникальный ключ для каждого продавца, так как неизбежно один продавец будет обслуживать нескольких клиентов, и в этом случае у нас появится несколько записей для одного и того же продавца.

покупок, которые он сделал и сведения о которых хранятся в объекте МОДЕЛЬ АВТОМОБИЛЯ, как это показано на рис. 2.4. В случае, если в дочернем объекте будут какие-то записи, для которых нет соответствующих записей в объекте КЛИЕНТ, то мы их не увидим. В этом случае говорят, что объект содержит потерянные (одинокие) записи. Это не допустимо, и в дальнейшем вы узнаете, как избегать подобных ситуаций.



ОбЪ= КЛИЕ1 IT

уникальный ключ

НАИМЬНОЬА-ИЬ КЛИЕНТА

Злом Езл-:

Объект ПРОДАВЕЦ

КЛЮЧ ПРОДАВ11А

ИМЯ ПРОДАВЦА

КЛЮ -! КЛИЕНТА

Кэрина

Карина

Лена

Лена

Рис. 2.5. Взаимосвязь между данными при отношении многие ко многим

Согласно теории реляционных баз данных для хранения взаимосвязи многие ко многим требуются три объекта: по одному для каждой сущности и один для хранения связей между ними (промежуточный объект). Промежуточный объект будет содержать идентификаторы связанных объектов, как это показано на рис. 2.6.



1 2 3 4 [ 5 ] 6 7 8 ... 147

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика