Файл: Практикум по дисциплине базы данных Лабораторная работа n 1 Построение концептуальной модели базы данных.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.05.2024

Просмотров: 55

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.




Рис. 11. Изображение мощности отношения СОСТОИТ-В –БРАКЕ-С


Некоторые отношения не имеют конкретного значения максимальной мощности. Например, инспектор контролирует как минимум одного рабо­чего» возможно, больше. Такую мощность мы будем обозначать 1,*, где «1» обозначает минимальную мощность, а «*» просто обозначает «много». С дру­гой стороны, если мы допускаем, что каждого данного рабочего контроли­рует один и только один инспектор, то мощность в обратном направлении будет 1,1 (рис. 12).



Рис.12. Мощность отношения КОНТРОЛИРУЕТ



Мощность отношения конкретизации (или включения) всегда одна и та же. Каждый элемент объемлющего множества связан с одним или нулем элементов подмножества, а каждый элемент подмножества связан ровно с одним элементом объемлющего множества (рис. 13).


Рис. 13. Мощность отношения конкретизации


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

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

Отношение один - к – одному. Отношение, максимальная мощность которого равна одному в обоих направлениях.

Отношение один - ко – многим. Отношение, максимальная мощность которого равна одному в одному в одном направлении и многим в обратном.


Отношение много - к – многим. Отношение, максимальная мощность которого равна многим в обоих направлениях.

Если максимальная мощность отношения в обоих направлениях равна одному, мы называем его отношением один-к-одному. Если максимальная мощность в одном направлении равна одному, а в другом — многим, то от­ношение называется отношением один-ко-многим. И, наконец, если макси­мальная мощность в обоих направлениях равна многим, то отношение назы­вается отношением много-ко-многим. В табл.1 приведены характери­стики трех основных мощностей отношений.

Табл. 1. Три основные мощности отношений

Мощность

Обозначение

Пример

Один -к- одному

1:1 или 1-1

У мужа есть одна жена. У жены есть один муж (мощность отношения один-к-одному)

Один – ко -многим

1:* или 1-*

Служащий работает в одном отделе. В отделе работает много служащих (Мощность отношения один-ко-многим)

Много –ко -многим

*:* или *-*

Студент посещает много курсов. Курс слушает много студентов (Мощность отношения много-ко-многим)


2.5. АТРИБУТЫ

Мы представляем объектные множества в виде прямоугольников, а их элементы — в виде точек. Это очень абстрактно. (Что может иметь меньше характеристик, чем точка?) Мы обычно представляем себе элементы объект­ных множеств обладающими некоторыми атрибутами, позволяющими их различать. Например, у человека есть имя, дата рождения, номер страховки, рост, вес, пол, цвет волос, мать. отец и, возможно, супруг(а). Как представлять эти атрибуты?

На самом деле, атрибут объекта — просто функциональное отношение объектного множества этого объекта к другому объектному множеству. Так, два из перечисленных выше атрибутов представлены в виде отношений на рис.14.


Рис. 14. Изображение атрибутов объекта

Атрибут. Функциональное отношение объектного множества с другим объектным множеством.

Однако иногда удобно представлять атрибуты более простым обра­зом, как на рис. 15, Обратите внимание, что имя отношения и имя объекта в некотором смысле комбинируются, давая вместе имя атрибута, особенно ДАТА-РОЖДЕНИЯ. Таким образом, мы видим, что такая запись атрибутов является просто краткой записью отношений. Обычно такой краткой записью можно пользоваться, если мы не собираемся использовать атрибут как объект, участвующий в других отношениях.




Рис. 15. Краткая форма изображения атрибутов объекта


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

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

Ключи. Ключ — это значение, которое однозначно определяет элемент объектного множества. Мы ранее упоминали суррогатные ключи, которые используются в компьютерных системах для идентификации элементов аб­страктных (нелексических) объектных множеств. В реализации концепту­альной базы данных каждый человек из объектного множества ЧЕЛОВЕК получит суррогатный ключ для идентификации этого человека внутри базы данных. Однако, поскольку суррогатные ключи не могут быть использованы вне системы, пользователям базы данных требуются другие средства иден­тификации элементов множества ЧЕЛОВЕК. Для этого используются внеш­ние ключи.

Внешний ключ (иногда называется идентификатором) — это лексиче­ский атрибут или набор лексических атрибутов, значения которых всегда однозначно определяют элемент объектного множества. Лексический атрибут — это атрибут, созданный с участием лексического объектного множе­ства. Таким образом, внешние ключи пользователи могут использовать для идентификации с их помощью конкретных элементов объектного множества вне системы базы данных. Например, на рис. 15 ,№-СТРАХОВКИ
может служить ключом для объекта ЧЕЛОВЕК, если допустить, что каждый номер страховки соответствует ровно одному человеку. Таким образом, минималь­ная и максимальная мощности в направлении от №-СТРАХОВКИ к ЧЕЛОВЕК будут 1,1. ДАТА-РОЖДЕНИЯ, напротив, не может служить клю­чом, так как любая данная дата может быть днем рождения нескольких разных людей.

Ключ. Значение, которое всегда можно использовать для однозначного определения элемента объектного множества.

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

Идентификатор. Внешний ключ.

Иногда для создания ключа требуется более одного атрибута. Предполо­жим, что ЧЕЛОВЕК с рис. 15 используется в генеалогической базе данных, отслеживающей генеалогические деревья. Поскольку многие люди из объекта ЧЕЛОВЕК умерли до появления страховок, в качестве ключа при­дется использовать не №-СТРАХОВКИ, а что-то другое. Возможно, доста­точно окажется имени, даны рождения и места рождения. Если это так, то ключом будет комбинация этих трех атрибутов. Если нет, придется привле­кать дополнительные атрибуты. Если нужно, мы всегда можем создать иден­тификационный номер, однозначность которого будет заложена в системе.

Мы показываем, что атрибут служит внешним ключом, подчеркивая его имя.

Не для каждого объекта нужен ключ. Например, в базе данных, запи­сывающей продажи, пользователя может интересовать только продаваемый товар и объем продажи. Очевидно, что многие продажи могут иметь одни и те же значения объема и товара. Совершенно неразумно заставлять пользо­вателя создавать однозначный ключ для каждой продажи. Таким образом, база данных будет записывать только ту информацию о продажах, в которой заинтересован пользователь, однако она будет создавать отдельную запись для каждой продажи. Так, на рис. 16 показаны две разные продажи, в ко­торых продавался товар А237 в количестве 5.95. Пользователь увидит две продажи, не имея никакой возможности различить их; но его это и не инте­ресует. Таким образом, отсутствие ключа не имеет последствий.



Рис. 16. Продажи с одинаковыми значениями атрибутов
Конкретизация/обобщение и атрибуты. Если объект является конкре­тизацией другого объекта, то тогда конкретизированный объект
наследует все атрибуты и отношения обобщенного объекта. ЖЕНАТЫЙ ЧЕЛОВЕК, на­пример, является конкретизацией объекта ЧЕЛОВЕК. Поэтому у состоящего в браке человека есть имя, номер страховки, адрес и т.д. просто потому, что он является человеком. Объект ЖЕНАТЫЙ ЧЕЛОВЕК наследует эти атри­буты от объекта человек. Кроме того, у конкретизированного объекта могут быть свои собственные атрибуты. Например, СУПРУГ будет атрибутом объ­екта ЖЕНАТЫЙ ЧЕЛОВЕК, но не объекта ЧЕЛОВЕК. Эти понятия иллюст­рируются рисунком 17.


Рис. 17. Наследование атрибутов при конкретизации

Наследование. Свойство объектного подмножества обладать всеми атрибутами объемлющего множества.

Конкретизированные объекты наследуют не только атрибуты, но и все отношения. На рис. 18 показано, что ЧЕЛОВЕК связан с объектом КОМПАНИЯ отношением РАБОТАЕТ-В.



Рис. 18. Наследование отношений
ЖЕНАТЫЙ ЧЕЛОВЕК, будучи конкретизацией объекта ЧЕЛОВЕК, также связан с объектом КОМПАНИЯ отношением РАБОТАЕТ-В. Предположим, что Джон Доу женат и работает на фирме XYZ. У нас есть точка объекта ЖЕНАТЫЙ ЧЕЛОВЕК, представ­ляющая Джона Доу, точка объекта ЧЕЛОВЕК, представляющая его же, и точка объекта КОМПАНИЯ, представляющая XYZ. Джон Доу из объекта ЖЕНАТЫЙ ЧЕЛОВЕК связан с Джоном Доу из объекта ЧЕЛОВЕК, который связан с компанией XYZ. Следовательно, Джон Доу объекта ЖЕНАТЫЙ ЧЕЛОВЕК связан с компанией XYZ.

Наследование атрибутов и отношений является важной идеей, поскольку она позволяет определять подмножества объектных множеств обладающих своими собственными атрибутами и отношениями и сохраняющие все атрибуты и отношения объемлющего множества. Это дает возможность более точно моделировать реальность, чем без идеи наследования.


  1. ПОСТРОЕНИЕ КОНЦЕПТУАЛЬНОЙ МОДЕЛИ ДЛЯ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИХ СИСТЕМ



Исходным пунктом построения концептуальной модели данных в информационно-управляющих системах является рассмотрение информационных потребностей менеджмента. В процессе своей деятельности менеджеры должны получать точную информацию для принятия решений. Запросы на получение необходимых сведений можно выразить в форме вопросов. Следовательно, концептуальная модель БД должна учитывать возможность ответа на все поставленные вопросы.