Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Базы данных как модели моделей

Читайте также:
  1. D-моделирование в AutoCad 2011.
  2. II. 12-24. Причина страданий преданных
  3. II. Ввод и редактирование данных
  4. III. Жанровые модели художественной публицистики
  5. V. Форматирование данных
  6. X. Оператора манипулирования данными. Вставка данных
  7. Адресация данных в процессоре

Как вы можете видеть, есть множество различных способов моделирования кон­кретной ситуации в деловом мире, и это множество становится все обширнее по мере того, как моделируемая ситуация усложняется. Зачастую количество воз­можных моделей оказывается огромным, и выбрать среди них одну может быть нелегко.

Иногда при выявлении альтернатив команда, занимающаяся проектом, углуб­ляется в дискуссии по поводу того, какая модель данных наилучшим образом представляет реальный мир. Эти дискуссии исходят из ложных посылок. Базы данных не моделируют реальный мир, хотя распространено ошибочное мнение, согласно которому именно в этом и состоит их назначение. Базы данных явля­ются моделями пользовательских моделей мира (или, точнее, делового мира). Вопрос, задаваемый при выявлении альтернативных моделей данных, состоит не в том, насколько точно данная модель отражает реальный мир, а в том, насколь­ко точно она отражает имеющуюся в воображении пользователя модель среды, которая его окружает. Цель заключается в том, чтобы разработать структуру, ко­торая будет соответствовать представлениям пользователей.

Иммануил Кант и другие философы могли бы возразить, что людям не дано построить модель того, что существует на самом деле, и заявили бы, что суть вещей навсегда останется тайной для человечества[5]. Распространяя эту аргумен­тацию на компьютерные системы, Виноград (Winograd) и Флоре (Flores) выска­зали идею, что в обществах индивидуумы конструируют системы символов, которые позволяют им успешно действовать в мире. Последовательность симво­лов не является моделью бесконечности реального мира, а скорее представляет собой просто социальную систему, позволяющую пользователям успешно коор­динировать свои действия; ничего более по этому поводу сказать нельзя (Terry Winograd and F Flores, Understanding Computers and Cognition (Reading, MA: Addison-Wesley, 1986).

Таким образом, компьютерные системы должны моделировать и представлять взаимоотношения между своими пользователями. Они не моделируют ничего, кроме системы символов и связей. Поэтому научитесь задавать себе следующие вопросы: «Насколько точно данная модель отражает восприятие пользователей и имеющуюся в их воображении модель мира? Поможет ли эта модель пользова­телям согласованно и успешно взаимодействовать друг с другом и с клиента­ми?» Для аналитика бессмысленно заявлять, что его модель является лучшим представлением реальности. Суть в том, чтобы разработать модель, которая аде­кватно отражает модель деловой среды в представлении пользователя.

Резюме

Модель «сущность—связь» была разработана Питером Ченом. В этой модели опре­деляются сущности — идентифицируемые объекты, представляющие важность для пользователя. Все сущности данного типа образуют класс сущностей. Отдельная сущность называется экземпляром. Сущности имеют атрибуты, которые описы­вают их характеристики; один или несколько атрибутов определяют сущность.

Связи отражают взаимоотношения между сущностями. В ER-модели связи определяются явным образом; у каждой связи есть имя; существуют также клас­сы связей и экземпляры связей. У связей могут быть атрибуты.

Степень связи — это число сущностей, которые в ней участвуют. Большинство связей являются бинарными. Имеется три типа бинарных связей: 1:1, 1:N и N:M.

На диаграммах «сущность—связь» сущности изображаются прямоугольника­ми, а связи — ромбами. Максимальное кардинальное число связи указывается внутри ромба. Минимальное кардинальное число указывается с помощью пер­пендикулярной черты или овала. Связи, соединяющие сущности одного класса, называются рекурсивными. Атрибуты могут быть показаны на ER-диаграмме в эллипсах или в отдельной таблице.

Слабая сущность — это сущность, существование которой зависит от другой сущности; сущность, не являющаяся слабой, называется сильной сущностью. Слабые сущности изображаются с помощью прямоугольников со скругленными углами. Далее в этой книге мы определяем слабую сущность как сущность, логи­чески зависящую от другой сущности. Сущность может иметь минимальное кар­динальное число 1 в связи с другой сущностью, но при этом не быть слабой. Многозначные атрибуты представляются с помощью слабых сущностей.

Некоторые сущности имеют подтипы, которые определяют подмножества по­добных сущностей. Подтипы наследуют атрибуты от своего родителя, или надти-па. Связи типа «ИМЕЕТ» соединяют сущности разных типов, и идентификаторы у этих сущностей различны. Связи типа «ЕСТЬ» — это связи подтипов с их ро­дителями, и идентификаторы у сущностей, участвующих в такой связи, одинаковы.

Разработав модель данных, необходимо определить деловой регламент, ко­торый будет накладывать ограничения на возможные действия с сущностями. Каждая сущность в модели должна быть проанализирована на предмет возмож­ного добавления, изменения и удаления данных. Удаления, в частности, зачас­тую являются источником важных ограничений на обработку. Сформулирован­ные правила делового регламента необходимо документировать в модели данных.

Модель «сущность—связь» является важной частью многих CASE-продук-тов. Эти продукты предоставляют средства для конструирования и хранения ER-диаграмм. Некоторые из CASE-инструментов объединяют конструкции ER-модели с данными репозитория CASE. Унифицированный язык моделирования (UML) вводит новый стиль построения диаграмм «сущность—связь». Вам сле­дует иметь представление о диаграммах, выполненных в этом стиле; однако нуж­но понимать, что при проектировании базы данных не существует фундаменталь­ных различий между традиционным стилем и UML-стилем.

Завершив создание ER-модели, следует ее испытать. Один из способов это сделать — составить перечень вопросов, на которые можно ответить с помощью разработанной модели данных. Далее этот перечень показывается пользователям, которым предлагают подумать насчет дополнительных вопросов. Затем проверя­ется способность ER-модели ответить на эги дополнительные вопросы.

Базы данных моделируют не реальный мир, а модель делового мира, присут­ствующую в воображении пользователя. Правильным критерием для оценки мо­дели данных является то, насколько эта модель соответствует пользовательской модели. Спор о том, какая модель наилучшим образом отражает реальный мир, не имеет смысла.

Вопросы группы I

1. Дайте определение сущности и приведите пример.

2. Поясните разницу между классом сущностей и экземпляром сущности.

3. Дайте определение атрибута и приведите примеры атрибутов для сущности, описанной вами в ответе на вопрос 1.

4. Объясните, что такое композитный атрибут, и приведите пример.

5. Какой из атрибутов, приведенных вами в ответе на вопрос 3, идентифици­рует сущность?

6. Дайте определение связи и приведите пример.

7. Объясните, в чем разница между классом связей и экземпляром связи.

8. Дайте определение степени связи. Приведите пример связи со степенью больше 2, отличный от того, который дан в тексте.

9. Перечислите три типа бинарных связей и приведите примеры. Нарисуйте ER-диаграмму для каждого типа.

10. Дайте определения терминов максимальное кардинальное число и мини­мальное кардинальное число, максимальная кардинальность и минимальная кардинальность.

11. Назовите и нарисуйте символы, используемые в диаграммах «сущность-связь» для изображения: (а) сущности; (б) связи; (в) слабой сущности и ее связи; (г) рекурсивной связи; (д) сущности подтипа.

12. Приведите пример ER-диаграммы для сущностей ОТДЕЛ и СОТРУДНИК, имеющих связь 1:N. Сделайте допущение, что в отделе может и не быть со­трудников, но каждый сотрудник должен работать в каком-либо отделе.

13. Приведите пример рекурсивной связи и изобразите его на ER-диаграмме.

14. Приведите примеры атрибутов для сущностей ОТДЕЛ и СОТРУДНИК (из от­вета на вопрос 12) и изобразите их на ER-диграмме. Используйте для это­го символы UML-стиля.

15. Дайте определение термина слабая сущность и приведите пример, отлич­ный от того, который дан в тексте.

16. Поясните, в чем состоит неоднозначность в определении термина слабая сущность. Как этот термин интерпретируется в книге? Приведите приме­ры, отличные от тех, которые даны в тексте.

17. Дайте определение термина идентификационно-зависимая сущность и при­ведите пример, отличный от того, который дан в тексте.

18. Продемонстрируйте использование слабой сущности для представления многозначного атрибута Квалификация сущности СОТРУДНИК. Укажите ми­нимальное и максимальное кардинальное число на обеих сторонах связи. Используйте традиционные символы.

19. Продемонстрируйте использование слабой сущности для представления многозначного составного атрибута Телефон, состоящего из однозначных атрибутов КодРегиона и НомерТелефона. Пусть при этом атрибут Телефон принадлежит сущности ПРОДАВЕЦ. Укажите минимальное и максимальное кардинальное число на обеих сторонах связи. Используйте символы UML-стиля.

20. Опишите, что такое подтипы сущностей, и приведите пример, отличный от того, который дан в тексте.

21. Объясните значение термина наследование и покажите, как он относится к вашему ответу на вопрос 20.

22. Поясните разницу между связью типа «ИМЕЕТ» и связью типа «ЕСТЬ» и приведите пример для каждой связи.

23. Как документируется деловой регламент в модели «сущность—связь»?

24. Объясните, почему важно проверять модель данных после ее создания. Опи­шите один из способов проверки модели данных и объясните, как с по­мощью этого способа можно проверить модель, изображенную на рис. 3.21.

Вопросы группы II

25. Модифицируйте ER-диаграмму на рис. 3.19, включив в нее сущность ЗА­НЯТИЕ. Пусть сущности ИНДИВИДУАЛЫНОЕ_ЗАНЯТИЕ и ГРУППОВОЕ_ЗАНЯТИЕ будут подтипами сущности ЗАНЯТИЕ. Измените связи, где это необходимо. Используйте традиционные символы.

26. Модифицируйте ER-диаграмму на рис. 3.19, исключив из нее сущность ИНСТРУКТОР. Измените связи, где это необходимо. Используйте символы UML-стиля.

27. Какие из моделей на рис. 3.19 и из вашего ответа на вопросы 25 и 26 вы предпочитаете? Объясните причину вашего предпочтения.

28. Модифицируйте ER-диаграмму на рис. 3.21, включив в нее подтипы обо­рудования. При этом допустите, что оборудование, находящееся в собст­венности бюро аренды Сан-Хуана, относится к сущности АРЕНДА, а прочее оборудование относится к сущности ЯХТА. Для оборудования, относящего­ся к яхте, смоделируйте различие между тем оборудованием, которое за­креплено, и тем, которое не закреплено на яхте. Каков выигрыш от такой усложненной модели?

 

 

ЛИТЕРАТУРА ПО КУРСУ «БАЗЫ И БАНКИ ДАННЫХ»

1. Бекаревич Ю.Б., Пушкина Н.В. Самоучитель.Microsoft® Access 2002. – СПб.: БХВ-Санкт-Петербург, 2002. – 718 с.

2. Коннолли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика. – М.: Издательский дом "Вильямс", 2000. – 1120 с., также 2004

3. Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ. – М.: Мир, 1991. – 280 с.

4. Кренке Д. Теория и практика построения баз данных. – СПб.: Питер, 2003, также 2005– 858 с.

5. Четвериков В.Н., Ревунков Г.Н., Самохвалов Э.Н. Базы и банки данных. - М.: Высшая школа, 1992. – 340 с.

6. Карпова Т.С. Базы данных: модели, разработка, реализация. – СПб.: Питер, 2001. – 304 с.

7. Любая литература по ACCESS, например:

Михеева В.Д., Харитонова И.А. Microsoft® Access 2000. – СПб.: БХВ-Санкт-Петербург, 1999. – 1088 с.

8. Дейт К. Введение в системы баз данных. – М.: Издательский дом "Вильямс", 2001. –1072 с.

 

 


[1] В английском языке подсистема обработки обозначается термином run-time subsystem. He следует путать его с похожим термином run-time product, который имеет несколько другое значение. Этим термином некоторые производители обозначают урезанный вариант комплектации СУБД, куда входят подсистема обработки и ядро, но не входит подсистема средств проектирования. Такой вари­ант позволяет лишь запускать готовое приложение. Назначение таких продуктов в том, чтобы сни­зить стоимость приложения для конечного пользователя. Обычно СУБД без подсистемы средств разработки стоит намного дешевле, чем полноценная СУБД, а иногда и вовсе бесплатна. Следова­тельно, полную версию продукта покупает только разработчик, а конечные пользователи покупают сокращенную версию.

[2] Транзакция представляет собой набор действий, выполняемых отдельным пользо­вателем или прикладной программой с целью доступа или изменения содержимого базы данных.

[3] 1 International Standards Organization Publication ISO/IEC 9075 1992, Database Language SQL

 

[4] Иногда встроенные функции называют также агрегированными функциями (aggregate functions), чтобы отличать их от встроенных функций языков программирования, таких как SUBSTRING

[5] «Мы не можем, разумеется, за пределами всего возможного опыта составить определенное пред­ставление о том, какими являются веши сами по себе. И все же не в нашей власти совершенно уст­раниться от их исследования; ибо опыт никогда не удовлетворяет рассудок полностью, но, отвечая на вопросы, отсылает нас все дальше и дальше назад и оставляет нас неудовлетворенными относи­тельно полного решения» (Иммануил Кант. Пролегомены к любой будущей метафизике).


Дата добавления: 2015-07-08; просмотров: 248 | Нарушение авторских прав


Читайте в этой же книге: ПРИМЕРЫ ER-ПРОЕКТИРОВАНИЯ | Идентификаторы | Три типа бинарных связей | Слабые сущности | Подтипы сущностей | Пример ER-диаграммы | Документирование делового регламента | Конструкции ООП, введенные языком UML | Сущности | Проверка созданной ER-модели данных |
<== предыдущая страница | следующая страница ==>
Сущности| Марта, ср – Отправление из Орла в 22:00 от памятника Лескову.

mybiblioteka.su - 2015-2024 год. (0.011 сек.)