Теория и практика построения баз данных (1088289), страница 33
Текст из файла (страница 33)
Существование этой гругшы станет для нас важным при разработке форм и отчетов. Наконец, семантическая объектная диаграмма показывает, что конкретный ТОВАР может быть включен более чем в один ЗАКАЗ, но в каждом заказе этот товар может появиться только в одной строке. Этот факт невозможно указать на диаграмме «сущность — связь». Решите в конечном счете, какой из рисунков — 4.34 или 4.35 — дает вам лучшее представление о том, что должно содержаться в базе данных. Многие находят, что рамки, очерченные вокруг семантических объектов, и скобки, заключающие в себе групповые атрибуты, помогают более четко представить общую картину модели данных. Резюме Как модель «сугцность — связь», так н семантическая объектная модель используются для интерпретации требований пользователей н моделирования пользовательских данных. Эти модели похожи на линзы, сквозь которые смотрят разработчики, изучая и документируя пользовательские данные.
Обе они в конечном счете воплощаются в структуру базы данных. Семантический объект — это именованная совокупность атрибутов, которая в достаточной степени определяет отдельный феномен. Семантические объекты группируются в классы, и как у классов, так н у экземпляров семантических объектов есть имена.
Например, именем класса является ЕОТРУДНИК, а именем экземпляра этого класса — СОТРУДНИК 2000. Атрибуты описывают характерпстики представляемых феноменов. Набор атрибутов является достаточным, если он отражает все характеристики, которые требуются пользователям для выполнения их работы. Объекты представляют отдельные феномены — вещи и явления, которые рассматриваются пользователями как независямые и самостоятельные. Отдельные феномены, представляемые объектами, могут существовать илн не существовать физически — в самом деле, ведь они могут сами по себе быть представлением чего-то, как, например, контракт.
Объектные атрибуты могут быть простыми элементаьги данных, группами нлн другими семантическими объектами. Объектные диаграммы визуально представляют структуру объектов. Имена объектов пишутся заглавными буквами в верхней части диаграммы. Иеобъектные атрибуты записываются строчными буквами, а группы атрибутов заключаются в скобки. Все атрибуты имекл минимальное кардинальное число, показывающее, сколько экземпляров атрибута должно сугцествоэать, чтобы объект был допустимым. Они также имеют максимальное кардинальное число, которое показывает максимально допустимое количество экземпляров атрибута.
Кардинальность записывается в формате Х.М, где Х вЂ” это минимальное кардинальное число, а М— максимальное кардинальное число. Чтобы не загромождать объектную диаграмму, кардинальность 0.1 у простого атрибута не указывается. Ио для групповых и объектных атрибутов кардинальность указывается всегда. Объектные атрибуты всегда возникают парами. Если один объект имеет связь с другим, этот второй объект должен иметь связь с первым.
Объектные идентификаторы — это атрибуты, которые служат, в представлении пользователей, для различения объектов. Идентификаторы могут быть уникальнымн либо неуникальными. Атрибут любого типа может быть идентификатором. Идентификаторы обозначаются буквами ПЗ перед именем атрибута. Если атрибут является уникальным, то буквы 1Р подчеркиваются. Кардинальность идентификатора равна обычно 1.Е Домен атрибута — это совокупность всех возможных значений этого атрибута. Домены имеют физическое и семантическое описание. Существует три типа доменов: простой, групповой и семантический объект.
160 Глава 4. Семантическая обьектная модель Вопросы группы! 161 5) простой объектный атрибут; 6) многозначный объектный атрибут. Вопросы группы ! н ! ный от того, который дап в тексте. Приложения оперируют объектами через пользовательские представления. Представление объекта состоит нз имени объекта н всех атрибутов, видимых нз данного представления.
Разработка представления и объекта зачастую представляет собой итеративный процесс. Процесс разработки набора объектных диаграмм является итеративным. Сначала анализируются отчеты или формы, на их основе разрабатывается исходный набор объектов, а затем изучаются другие отчеты и формы, исходя из которых вводятся новые объекты и уточняются имеющиеся. Этот процесс продолжается до тех пор, пока пе будут исследованы все отчеты и формы. Существует семь типов обьектов.
Простые объекты не имеют многозначных и объектнкях атрибутов. Композитные объекты имеют многозначные атрибуты, но не имеют объектных атрибутов. Составные объекты содержат объектные атрибуты, а гибридные объекты сочетают в себе композитные и составные объекты. Ассоциативные объекты связывают два или более других объектов. Объекты подтипов представляют разновидности объектов.
Наконец, объекты вида архетип/версия используются для моделирования объектов, содержащих базовые данные и множественные пх вариации, или версии. Модель «сущность — связь» в качестве базовых элементов рассматривает сущности, в то время как семантическая объектная модель рассматривает в качестве базовых элементов семантические объекты. Кроме того, семантическая объектная модель содержит больше информации о значении данных, чем модель «сущность — связь». 1.
Объясните, почему модель «сущность — связь» и семантическая объектная модель похожи па линзы. 2. Дайте определение семантического объекта. 3. Объясните разницу между именем класса объекта и именем экземпляра объекта. Приведите примеры для обоих случаев. 4. Что требуется для того, чтобы набор атрибутов был достаточным описанием? 5. Объясните, что понимается под словосочетанием отдельный феномен в определении семантического объекта. 6. Объясните, почему отдельная строка заказа не является семантическим объектом.
7 Назовите трн типа атрибутов. 8. Приведите примеры атрибутов следующих типов: 1) простой однозначный атрибут; 2) групповой однозначный атрибут; 3) простой многозначный атрибут; 4) групповой многозначный атрибут; 9. Что такое минимальное кардинальное число? Как оно используется? Какие типы атрибутов имеют минимальное кардинальное число? 10. Что такое максимальное кардинальное число? Как оно используется? Ка кие типы атрибутов имеют максимальное карднпальнос число? 11. Что такое парныс атрибуты? Для чего они нужны? 12. Что такое идентификатор объекта? Приведите пример простого и группового атрибута, идентифицирующего объект.
13. Дайте определение домена атрибута. Какие бывают типы доменов атри- бутов7 Почему необходимо семантическое описание? 14. Что такое представление семантического объекта7 Приведите пример объекта и двух его представлений, отличный от того, который дан в тексте. 15. Приведите пример простого объекта, отличный от того, который дан в этой главе. 16. Привелите три примера композитных объектов, отличные от тех, которые приведены в этой главе. У одного объекта должен быть ровно один про- стой многозначный атрибут, другой объект должен иметь две независи- мых многозначных группы, а третий объект должен солержать вложенные . многозначные группы.
17. Приведите примеры четырех наборов составных объектов, отличные от тех, которые даны в тексте. Один набор должен иметь связь 1:1, другой — . 1:Ы, третий — М:1, и четвертый — ММ е 18. Приведите пример гибридного объекта, отличный от того, который дан в этой главе. 19. Приведите пример одного ассоциированного и двух составных объектов, отлячный от тех примеров, которые даны в этой главе. 20.
Приведите пример объекта надтипа с тремя объектами подтипов, отлич- 21. Приведите примеры объектов вида архетип/версия, отличный от приведенных в этой главе. 22. Укажите сходства молели «сущность — связь» и семантической объектной модели. 23. Укажнтс основные различия между моделью «сущность — связь» и семан- тической объектной моделью. 24. Объясните, почему сущности, как они определены в модели «сущцость— связь», не существуют в действительности. 25. Покажите, как модель «сущность — связь» н семантическая объектная мо дель будут интерпретировать данные, содержащиеся в форме 5АЕЕ5-ОРОЕР на рис. 4.23, а, и укажите основные различия. 162 Глава 4.
Семантическая объектная модель Вопросы к проекту Нгег10р 163 Вопросы группы П 26. Модифицируйте семантическую объектную лиаграмму на рис. 4.13, введя в нее объекты ГРУППА, ПРЕДМЕТЫ НА ВЫБОР и ЗАПИСЬ. Предположим, что ЗАПИСЬ вЂ” это ассоциативный объект, связывающий студента с предметом. 27. Модифпцируйте семантическую объектную диаграмму на рис. 4.13, введя в нее объект КОМИТЕТ. Допустим, что один преподаватель может быть назначен в несколько комитетов и что комитет включает в себя много преподавателей.
Создайте объект ЗАСЕДАНИЯ вЂ” объект вида архетип/версия, прелставляющий заседания комитета. 28. Измените свой ответ на вопрос 27, введя объект ЗАСЕДАН ИЕ как многозначную группу внутри объекта КОМИТЕТ. Является ли эта модель более удачной, чем предыдугцая? Обоснуйте свой ответ. Проекты 1. Разработайте семантическую объектную модель для Столичного агентства жилья из проекта 1 в конце главы 3. 2. Зайдите на сайт какого-нибудь производителя компьютеров, например 1Эе11 (мпчуг.де11.согп).
Пользуясь средствами сайта, опрелелнте, какой ноутбук вы могли бы приобрести для пользователя с бюджетом $10 000. Занимаясь выяснением этого вопроса, подумайте о том, какой структурой может обладать база данных по компьютерным системам и подсистемам, используемая для поддержки данного сайта. Разработайте семантическую объектную модель для базы данных по компьютерным системам и подсистемам для этого сайга.