Составные объекты

Раздел: Моделирование данных

Составной объект (compound object) имеет минимум один объектный атрибут.
Две различные формы для ввода данных. Одна из них используется автомобильным парком компании для учета имеющихся транспортных средств. Во вторую форму вводятся данные о сотрудниках. Согласно этим формам, конкретное транспортное средство закрепляется не более чем за одним сотрудником, и за конкретным сотрудником может быть закреплено не более одного автомобиля.
Мы не можем определить из этих форм, должен ли каждый автомобиль закрепляться за каким-либо сотрудником и должен ли каждый сотрудник иметь автомобиль. Чтобы получить эту информацию, нам пришлось бы спросить об этом пользователей, работающих в автопарке или в отделе кадров. Предположим, мы выяснили, что сотрудник не обязан иметь транспортное средство, но каждое транспортное средство должно быть закреплено за каким-либо сотрудником.
Как мы уже отметили ранее, объектные атрибуты всегда появляются парами. Даже если формы, отчеты и запросы демонстрируют только одну сторону связи, у связи всегда имеется две стороны. Связь можно сравнить с мостом, соединяющим два острова: мост соприкасается с обоими островами, и двигаться по нему можно в обоих направлениях, даже если по обычаю или закону этот мост является однонаправленным.
Если не удается найти ни одной формы или отчета, документирующего одну из сторон связи, команда разработчиков должна спросить пользователей о кардинальных числах этой связи. В этом случае команде требуется выяснить, сколько общежитий может быть у студента и должен ли студент быть прикреплен к общежитию. Здесь мы допустим, что ответы на этот вопрос были следующими: студент может быть прикреплен максимум к одному общежитию, но может и не быть прикрепленным ни к одному.