Теория и практика построения баз данных (1088289), страница 28
Текст из файла (страница 28)
В этой ситуации разработчики начинают с определен>и того, какие объекты пользователи хотят отслеживать. Затем путем опроса пользователей команда выясняет, какие объектные атрибуты являются важными. На основе этой информации могут быть созданы прототипы форм и отчетов, с помощью которых модель ланных будет далее уточняться.
Пример: база данных администрации университета Н19Ы1пе Предположим, что администрация университета Н(ВЫ(пе желает вести учет данных по кафедрам, факультетам и специальностям студентов. Предположим, палее, что приложение должно генерировать четыре типа отчетов (рис. 4.5, 4.7, 4.9 и 4.11). Наша цель — изучить эти отчеты и, используя инженерный анализ, определить, какие объекты и атрибуты должны храниться в базе данных. Объект КОЛЛЕДЖ Отчет, изображенный на рис. 4.5, содержит информацию о колледже, а именно <> Колледже бизнеса.
Данный отчет — это только один частный пример. Университет Н(яЫ1пе имеет подобные отчеты и о других колледжах, в частности о Колледже искусств и наук и колледже социальных наук, Создавая модель данных, важно собрать достаточное количество примеров, чтобы на их основе можно было построить образец отчета о колледже. Здесь мы предположим, что отчет на рис. 4.5 является типичным.
Исследуя отчет, мы найдем данные, специфичные для данного колледжа (название, имя декана, номер телефона и местный адрес, а также сведения о каждой из кафедр колледжа. Это наводит на мысль о том, что база данных может содержать объекты КОЛЛЕДЖ и КАФЕДРА. а также связь между ними. Эти предварительные заключения отражены в объектных диаграммах на рис. 4.6. Обратите внимание, что мы не указали кардинальность простых атрибутов, у которых она равна 0,1. Колледж Бизнеса Мари Джефферсон, декан Местный адрес: Корпус бизнеса, комната 100 Телефон: 232-1187 Кафадрд Вдатр с>уденнтов Вавщцющийй 232-1841 232-1414 238-0011 318 211 247 Джексон, Сеймур П. Хью Тень, Сьюзен Браммер, Натанизпь Д. Бухгалтерский учет Финансы Информационные системы 184 212 236-9988 236-1184 Татл, Кристин А. Барнс, Джек Т.
Менеджмент Производство Рис, 4.6. Пример отчета о колледже 128 Глава 4. Семантическая обьектная модель Рис. 4.6. Первая версия объектов КОЛЛЕДЖ и КАФЕДРА Кардинальность атрибута КАФЕДРА объекта КОЛЛЕДЖ равна 1.1ь) — это означает, что колледж должен иметь как минимум одну кафедру и кафедр может быть много.
Это минимальное кардинальное число нс может быть выведено из отчета на рис. 4.5. Чтобы сго получить, пользователям был задан вопрос о том, может ли су>цсствовать колледж без кафедр, и их ответ был отрицательным. Также обратите внимание, что структура объскта КАФЕДРА вывсдсна на основе данных, представленных на рис. 4.5.
Поскольку объсктныс атрибуты вссгда являются парными, объект КОЛЛЕДЖ показан внутри обьскта КАФЕДРА, хотя, строго говоря, этот факт нельзя получить из анализа рис. 4.5. Как и в ситуации с атрибутом КАФЕДРА объекта КОЛЛЕДЖ, пользователей попросили определить кардинальность атрибута КОЛЛЕДЖ. Она равна 1.1, что означает, что кафедра можст быть связана с одним и только одним коллсджсм. По ходу изложения мы интерпретировали отчст на рис. 4.5 таким образом, что группы повторяющихся данных относятся к объекту КАФЕДРА как к независимому объекту.
Фактически наличие таких групп часто является сигналом о том, что сутцсствуст некий другой объект. Однако это не всегда так. Повторяюц>аяся группа может быль также групповым атрибутом, у которого оказалось несколько значений. Создание семантических объектных моделей данных 129 Вас, возможно, интересует, как различить эти два типа повторяюшнхся данных — тс, которые представляют объект, и тс, которые представляют группу.
Какого-либо твсрдого и чсткого правила на этот счет нс существует, поскольку ответ зависит от того, как пользователи представляют себе свой мир. Слсдовательно, наилучшим выходом будет спросить самих пользоватслсй о семантике их данных. Спросите, являются ли эти повторяющиеся группы данных частью колледжа, или они относятся к чому-то сц>с — чсму-то самостоятсльному. В псрвом случае они составляют групповой атрибут, во втором — семантический объскт. Посмотр>пс также друже от тсты Гили формы, или запросы). Имеются ли у пользоватслсй отчеты по кафсдрам? Если да, то предположснис о том, что кафедра может быпк прсдставлсна ссмантичсским объектом, подтвердится.
На самом деле персонал университета Н!ВЫ)лс работает с двумя видами отчетов по кафедрам. Этот факт сшс более укрепляет нас в мысли о том, что следует ввести объект под названием КАФЕДРА. Далсс, группы атрибутов, представляющие независимый объект, обьвтно содержат явный идентифицирующий атрибут или несколько атрибутов. АвтомоГ>или имеют номер или помор лицензии, продукты имеют учетный номер или штрих-код ГЗКП). Заказы также имсют учетные номера. Однако группа атрибутов 1ДатаИ>иерения, ДавлснисВШинс) нс имеет явного идентификатора, Ко~да вы спросите пользователя об идентификаторе этой группы, он в ответ спросит вас что-нибудь вроде; «Давлснис в шине чего?ь. Это будет давление в шине легконого автомобиля или грузовика или трейлера, или какого-либо с>цс транспортпого сродства.
Следовательно, такая группа представляет собой групповой атрибут некоторого другого объскта — объекта, который является ответом на вопрос «чего?». Объект КАФЕДРА Отчет, представленный на рис. 4.7, содержит информацию о кафедрах, а также список работающих на них прсподаватслсй. Обратите внимание, что этот отчст годсржит местный адрес кафедры. Поскольку эти данные нс присутствуют в всргин объекта КАФЕДРА, изображснной на рис. 4.6, нх необходимо добавить к объекту, как показано на рис.
4.8. Такое уточнение является типичным для процесса моделирования данных. То есть структура семантических объектов постоянно уточняется по мере того, как идентифицируются и анализируются новыс отчеты, формы и запросы. Объект ПРЕПОДАВАТЕЛЬ Отчет на рис. 4.7 нс только указывает на необходимость ввсдсния объскта КАФЕДРА, но и наводит на мысль, что для представления данных о профессоре может понадобиться сщс один объект. Соотвстствснпо, в модсль добавлсн объект ПРЕПОДАВАТЕЛЬ, как показано на рис.
4.8. Идентификатор объекта ПРЕПОДАВАТЕЛЬ, которым является атрибут ИияПрсподавателя, нс является уникальным; на ,>то указывает тот факт, что буквы 11) на рис. 4.8 нс подчеркнуты. Кафедра информационных систем Колледж бизнеса Браммвр, Натанизль Д. 236-9911 Корпус социальных наук, комната 213 Заведующий: Телефон; МестныйАд ес: Твавфои Офий Пввпадввятельь Рис.
4.9. Второй пример отчета о кафедре Рис. 4.7. Пример отчета о кафедре Обьекг СТУДЕНТ 130 Глава 4. Семантическая объектная модель Джонс, Пол Д. Корпус социальных наук, комната 219 232-7713 Паркс, Мэри Б. Корпус социальных наук, комната 309 232-5791 Ву, Элизабет Корпус социальных наук, комната 232 232-9112 В соответствии с обьектными диаграммами на рис.
4.8, на каждой кафедре должен быть как минимум один преподаватель, причем на одной кафедре преподавателей может быть несколько, но каждый преподаватель должен работать на одной и только на одной кафедре. Таким образом, согласно этой модели, работа па совместительству запрещена. Это ограничение является частью делового регламента, который должен определяться из опросов пользователей.
На рпс. 4.9 показан второй отчет о кафедре. В нем представлена информация о кафедре и о студентах, специальность которых имеет отношение к этой кафедре. Ситуация, когда об одном объекте имеется два отчета, типична; зги отчеты просто документируют различные представления одной и той же вешп. Более того, существование второго отчета укрепляет нашу уверенность в том, что кафедра является объектом в понимании пользователей. Отчет на рис. 4.9 содержит данные о студентах, профилпрующая специальность которых относится к области деятельности данной кафедры, что подразумевает, что студенты также являются объектами. Поэтому объект КАФЕДРА должен также солержать объекты СТУДЕНТ и ПРЕПОДАВАТЕЛЬ, как показано на рис. 4.10. Рис. 4.8. Уточненный объект КАФЕДРА и новый объект ПРЕПОДАВАТЕЛЬ Создание семантических объектных моделей данных 131 Объект СТУДЕНТ на рис.
4.10 имеет атрибуты ИмяСтудента, НомерСтудента и НомерТелефона — атрибуты, перечисленные в отчете на рис. 4.9. Обратите внимание, что и ИмяСтудента, и НомерСтудента являются идентификаторами. Имена стулентов не являются уникальными, а номера уникальны. На рис. 4.11 представлен другой пример отчета о студентах — письмо-приглашение, которое университет рассылает поступившим в него студентам.
Даже несмотря на то, что это письмо, оно все же является отчетом; вероятно, оно было создано в текстовом редакторе с помощью мастера стандартных писем. Те элементы данных в письме, которые должны храниться в базе данных, напечатаны жирным шрифтом. Кроме данных, относящихся к студенту, письмо также содержит данные о профильной кафедре студента и о его рукава ите е. оскольку руководитель является преподавателем, это письмо подтверждает потребность в отдельном объекте под названием ПРЕПОДАВАТЕЛЬ. Уточненные диаграммы объектов ПРЕПОДАВАТЕЛЬ и СТУДЕНТ представлены на рис. 4.12. Глядя на объект СТУДЕНТ, можно видеть, что как КАФЕДРА, так и ПРЕПОДАВАТЕЛЬ имеют единственное значение (их максимальное кардинальное число равно 1). Следовательно, студент этого университета имеет максимум одну профильную кафедру и одного руководителя, причем имеет обязательно.