Файл: Практикум по дисциплине базы данных Лабораторная работа 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.
Наследование атрибутов и отношений является важной идеей, поскольку она позволяет определять подмножества объектных множеств обладающих своими собственными атрибутами и отношениями и сохраняющие все атрибуты и отношения объемлющего множества. Это дает возможность более точно моделировать реальность, чем без идеи наследования.
-
ПОСТРОЕНИЕ КОНЦЕПТУАЛЬНОЙ МОДЕЛИ ДЛЯ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИХ СИСТЕМ
Исходным пунктом построения концептуальной модели данных в информационно-управляющих системах является рассмотрение информационных потребностей менеджмента. В процессе своей деятельности менеджеры должны получать точную информацию для принятия решений. Запросы на получение необходимых сведений можно выразить в форме вопросов. Следовательно, концептуальная модель БД должна учитывать возможность ответа на все поставленные вопросы.