Автор работы: Пользователь скрыл имя, 15 Декабря 2011 в 21:02, реферат
Жизненные циклы информационных систем. Цели и задачи проектирования. Проектирование баз данных (о трех этапах). Формулирование и анализ требований. Концептуальное проектирование. Модель «сущность-связь». Критерии выбора первичного ключа.
Начиная с 1970-х годов системы баз данных стали постепенно заменять файловые системы, использовавшиеся как часть инфраструктуры информационных систем (Information System — IS) организаций. Параллельно с этим росло признание того факта, что данные являются важным корпоративным ресурсом, к которому нужно относиться так же бережно, как и к другим ресурсам организации. Это привело к тому, что во многих организациях появились целые отделы или функциональные подразделения, занимавшиеся администрированием данных (АД) и администрированием баз данных (АБД). Они отвечали за обработку и управление корпоративными данными и корпоративными базами данных.
1 Введение
1.1 Жизненный цикл приложения баз данных
2 Цели и задачи проектирования
3 Проектирование баз данных(о трех этапах)
3.1 Подходы к проектированию базы данных
3.2 Моделирование данных
3.3 Критерии оценки модели данных
3.4 Этапы проектирования базы данных
3.4.1 Концептуальное проектирование базы данных
3.4.2 Логическое проектирование базы данных
3.4.3 Физическое проектирование базы данных
4 Формулирование и анализ требований
4.1 Определение требований к системе
4.2 Пользовательские представления
4.3 Сбор и анализ требований пользователей
5 Концептуальное проектирование базы данных
6 Модель "сущность-связь"
6.1 Элементы модели
6.1.1 Один к одному (обозначается 1 : 1 )
6.1.2 Один ко многим ( 1 : n )
6.1.3 Много к одному (n : 1 )
6.1.4 Многие ко многим ( n : n )
7 Критерии выбора первичного ключа
Любой фрагмент предметной области может быть представлен как множество сущностей, между которыми существует некоторое множество связей. Дадим определения:
Сущность
(entity) - это объект, который может
быть идентифицирован неким
Набор сущностей (entity set) - множество сущностей одного типа (обладающих одинаковыми свойствами). Примеры: все люди, предприятия, праздники и т.д. Наборы сущностей не обязательно должны быть непересекающимися. Например, сущность, принадлежащая к набору МУЖЧИНЫ, также принадлежит набору ЛЮДИ.
Сущность фактически представляет из себя множество атрибутов, которые описывают свойства всех членов данного набора сущностей.
В дальнейшем для определения сущности и ее атрибутов будем использовать обозначение вида
СОТРУДНИК (ТАБЕЛЬНЫЙ_НОМЕР, ИМЯ, ВОЗРАСТ).
Множество значений (область определения) атрибута называется доменом.
Отсюда
определяется ключ сущности - группа атрибутов,
такая, что отображение набора сущностей
в соответствующую группу наборов
значений является взаимнооднозначным
отображением. Другими словами: ключ
сущности - это один или более
атрибутов уникально
Связь (relationship) - это ассоциация, установленная между несколькими сущностями. Примеры:
(В скобках здесь следует отметить, что в методике проектирования данных есть своеобразное правило хорошего тона, согласно которому сущности обозначаются с помощью имен существительных, а связи - глагольными формами. Данное правило, однако, не является обязательным)
К сожалению, не существует общих правил определения, что считать сущностью, а что связью. В рассмотренном выше примере мы положили, что "руководит" - это связь. Однако, можно рассматривать сущность "руководитель", которая имеет связи "руководит" с сущностью "отдел" и "является" с сущностью "сотрудник".
Связь также может иметь атрибуты. Например, для связи ОТДЕЛ-РАБОТНИК можно задать атрибут СТАЖ_РАБОТЫ_В_ОТДЕЛЕ.
Роль сущности в связи - функция, которую выполняет сущность в данной связи. Например, в связи РОДИТЕЛЬ-ПОТОМОК сущности ЧЕЛОВЕК могут иметь роли "родитель" и "потомок". Указание ролей в модели "сущность-связь" не является обязательным и служит для уточнения семантики связи.
Набор связей (relationship set) - это отношение между n (причем n не меньше 2) сущностями, каждая из которых относится к некоторому набору сущностей.
Пример:
сущности
наборы сущностей
----------
----------------
e1 принадлежит
E1
e2 принадлежит
E2
. . .
en принадлежит
En
тогда [e1,e2,...,en] - набор связей R
Хотя, сторого говоря, понятия "связь" и "набор связей" различны (первая является элементом второго), их, тем не менее, очень часто смешивают. Поэтому, мы, не претендуя на академическую строгость, в дальнейшем также будем часто пользоваться терминами "связь" имея в виду "набор связей" и "сущность" имея в виду "набор сущностей".
В случае n=2, т.е. когда связь объединяет две сущности, она называется бинарной. Доказано, что n-арный набор связей (n>2) всегда можно заменить множеством бинарных, однако первые лучше отображают семантику предметной области.
То число сущностей, которое может быть ассоциировано через набор связей с другой сущностью, называют степенью связи. Рассмотрение степеней особенно полезно для бинарных связей. Могут существовать следующие степени бинарных связей:
Это означает, что в такой связи сущности с одной ролью всегда соответствует не более одной сущности с другой ролью. В рассмотренном нами примере это связь "руководит", поскольку в каждом отделе может быть только один начальник, а сотрудник может руководить только в одном отделе. Данный факт представлен на следующем рисунке, где прямоугольники обозначают сущности, а ромб - связь. Так как степень связи для каждой сущности равна 1, то они соединяются одной линией.
Таким
образом, говорят, что сущность "СОТРУДНИК"
имеет обязательный класс принадлежности
(этот факт обозначается также указанием
интервала числа возможных
В данном случае сущности с одной ролью может соответствовать любое число сущностей с другой ролью. Такова связь ОТДЕЛ-СОТРУДНИК. В каждом отделе может работать произвольное число сотрудников, но сотрудник может работать только в одном отделе. Графически степень связи n отображается "древообразной" линией, так это сделано на следующем рисунке.
Данный
рисунок дополнительно
Здесь также необходимо учитывать класс принадлежности сущностей. Каждый сотрудник должен работать в каком-либо отделе, но не каждый отдел (например, вновь сформированный) должен включать хотя бы одного сотрудника. Поэтому сущность "ОТДЕЛ" имеет обязательный, а сущность "СОТРУДНИК" необязательный классы принадлежности. Кардинальность бинарных связей степени n будем обозначать так:
Эта связь аналогична отображению 1 : n. Предположим, что рассматриваемое нами предприятие строит свою деятельность на основании контрактов, заключаемых с заказчиками. Этот факт отображается в модели "сущность-связь" с помощью связи КОНТРАКТ-ЗАКАЗЧИК, объединяющей сущности КОНТРАКТ(НОМЕР, СРОК_ИСПОЛНЕНИЯ, СУММА) и ЗАКАЗЧИК(НАИМЕНОВАНИЕ, АДРЕС). Так как с одним заказчиком может быть заключено более одного контракта, то связь КОНТРАКТ-ЗАКАЗЧИК между этими сущностями будет иметь степень n : 1.
В данном случае, по совершенно очевидным соображениям (каждый контракт заключен с конкретным заказчиком, а каждый заказчик имеет хотя бы один контракт, иначе он не был бы таковым), каждая сущность имеет обязательный класс принадлежности.
В этом случае каждая из ассоциированных сущностей может быть представлена любым количеством экземпляров. Пусть на рассматриваемом нами предприятии для выполнения каждого контракта создается рабочая группа, в которую входят сотрудники разных отделов. Поскольку каждый сотрудник может входить в несколько (в том числе и ни в одну) рабочих групп, а каждая группа должна включать не менее одного сотрудника, то связь между сущностями СОТРУДНИК и РАБОЧАЯ_ГРУППА имеет степень n : n.
Если существование сущности x зависит от существования сущности y, то x называется зависимой сущностью (иногда сущность x называют "слабой", а "сущность" y - сильной). В качестве примера рассмотрим связь между ранее описанными сущностями РАБОЧАЯ_ГРУППА и КОНТРАКТ. Рабочая группа создается только после того, как будет подписан контракт с заказчиком, и прекращает свое существование по выполнению контракта. Таким образом, сущность РАБОЧАЯ_ГРУППА является зависимой от сущности КОНТРАКТ. Зависимую сущность будем обозначать двойным прямоугольником, а ее связь с сильной сущностью линией со стрелкой:
Заметим,
что кардинальность связи для
сильной сущности всегда будет (1,1).
Класс принадлежности и степень
связи для зависимой сущности
могут быть любыми. Предположим, например,
что рассматриваемое нами предприятие
пользуется несколькими банковскими
кредитами, которые представляются
набором сущностей КРЕДИТ(
Выявление множества функциональных зависимостей для отношения осуществляется в целях определения множества ограничений целостности, которые должны распространяться на это отношение. Прежде всего необходимо рассмотреть такое важное ограничение целостности, как определение потенциальных ключей, один из которых должен быть выбран в качестве первичного ключа для отношения.
Чтобы
определить потенциальный
ключ (ключи) для некоторого отношения,
необходимо установить, какой атрибут
(или группа атрибутов) однозначно идентифицирует
каждую строку в этом отношении. Если отношение
имеет несколько потенциальных ключей,
необходимо установить, какой потенциальный
ключ должен применяться в качестве первичного
для этого отношения. Все атрибуты, которые
не входят в состав первичного ключа (называемые
атрибутами, отличными от атрибутов первичного
ключа), должны быть функционально зависимыми
от этого ключа.
Список
литературы