Вы находитесь на странице: 1из 11

Лабораторная работа № 1

Тема работы: «Проектирование ER-модели»


1. Цель работы
Формирование навыки по построению диаграмм UML для БД.

2. Задание
Спроектировать диаграмму «Cущность-связь».

3. Оснащение работы
ЭВМ, ERWin для разработки структуры БД.

4. Основные теоретические сведения


Инфологическое проектирование прежде всего связано с попыткой
представления семантики предметной области в модели БД. Реляционная
модель данных в силу своей простоты и лаконичности не позволяет отобразить
семантику, то есть смысл предметной области. Ранние теоретико-графовые
модели в большей степени отображали семантику предметной области. Они в
явном виде определяли иерархические связи между объектами предметной
области.
Проблема представления семантики давно интересовала разработчиков, и
в семидесятых годах было предложено несколько моделей данных, названных
семантическими моделями. К ним можно отнести семантическую модель
данных, предложенную Хаммером ( Hammer ) и Мак-Леоном ( McLeon ) в 1981
году, функциональную модель данных Шипмана ( Shipman ), также созданную
в 1981 году, модель «сущность—связь», предложенную Ченом ( Chen ) в 1976
году, и ряд других моделей. У всех моделей были свои положительные и
отрицательные стороны, но испытание временем выдержала только последняя.
И в настоящий момент именно модель Чена «сущность—связь», или
«EntityRelationship», стала фактическим стандартом при инфологическом
моделировании баз данных. Общепринятым стало сокращенное название ER-
модель, большинство современных CASE-средств содержат инструментальные
средства для описания данных в формализме этой модели. Кроме того,
разработаны методы автоматического преобразования проекта БД из ER-
модели в реляционную, при этом преобразование выполняется в
даталогическую модель, соответствующую конкретной СУБД. Все CASE-
системы имеют развитые средства документирования процесса разработки БД,
автоматические генераторы отчетов позволяют подготовить отчет о текущем
состоянии проекта БД с подробным описанием объектов БД и их отношений
как в графическом виде, так и в виде готовых стандартных печатных отчетов,
что существенно облегчает ведение проекта.
В настоящий момент не существует единой общепринятой системы
обозначений для ER-модели и разные CASE-системы используют разные
графические нотации, но разобравшись в одной, можно легко понять и другие
нотации.
Диаграммы «Cущность-связь» (ERD) предназначены для разработки
моделей данных и обеспечивают стандартный способ определения данных и
отношений между ними. Фактически с помощью ERD осуществляется
детализация хранилищ данных проектируемой системы, а также
документируются сущности системы и способы их взаимодействия, включая
идентификацию объектов, важных для предметной области (сущностей),
свойств этих объектов (атрибутов) и их отношений с другими объектами
(связей).
Данная нотация была введена Ченом (Chen) и получила дальнейшее
развитие в работах Баркера (Barker). Нотация Чена предоставляет богатый
набор средств моделирования данных, включая собственно ERD, а также
диаграммы атрибутов и диаграммы декомпозиции. Эти диаграммные техники
используются прежде всего для проектирования реляционных баз данных (хотя
также могут с успехом применяться и для моделирования как иерархических,
так и сетевых баз данных).
СУЩНОСТЬ представляет собой множество экземпляров реальных или
абстрактных объектов (людей, событий, состояний, идей, предметов и т.п.),
обладающих общими атрибутами или характеристиками. Любой объект
системы может быть представлен только одной сущностью, которая должна
быть уникально идентифицирована. При этом имя сущности должно отражать
тип или класс объекта, а не его конкретный экземпляр (например, АЭРОПОРТ,
а не ВНУКОВО).
ОТНОШЕНИЕ в самом общем виде представляет собой связь между
двумя и более сущностями. Именование отношения осуществляется с помощью
грамматического оборота глагола (ИМЕЕТ, ОПРЕДЕЛЯЕТ, МОЖЕТ
ВЛАДЕТЬ и т.п.).
Другими словами, сущности представляют собой базовые типы
информации, хранимой в базе данных, а отношения показывают, как эти типы
данных взаимоувязаны друг с другом. Введение подобных отношений
преследует две основополагающие цели:
 обеспечение хранения информации в единственном месте (даже если
она используется в различных комбинациях);
 использование этой информации различными приложениями.
Очень важным свойством модели «сущность-связь» является то, что она
может быть представлена в виде графической схемы. Это значительно
облегчает анализ предметной области. Существует несколько вариантов
обозначения элементов диаграммы «сущность-связь», каждый из которых
имеет свои положительные черты. Здесь мы будем использовать некий гибрид
нотаций Чена (обозначение сущностей, связей и атрибутов) и Мартина
(обозначение степеней и кардинальностей связей). В таблице 1 приводится
список используемых здесь обозначений. 

2
Атрибуты с сущностями и сущности со связями соединяются прямыми
линиями. При этом для указания кардинальностей связей используются
обозначения, введенные в предыдущем параграфе.
Таблица 1
Обозначение Значение
Набор независимых сущностей

Набор зависимых сущностей

Атрибут

Ключевой атрибут

Набор связей

В процессе построения диаграммы можно выделить несколько очевидных


этапов:
1. идентификация представляющих интерес сущностей и связей;
2. иИдентификация семантической информации в наборах связей
(например, является ли некоторый набор связей отображением 1:n);
3. определениекардинальностей связей;
4. определение атрибутов и наборов их значений (доменов);
5. организация данных в виде отношений «сущность-связь».
В качестве примера построим диаграмму, отображающую связь данных
для подсистемы учета персонала предприятия.
Выделим интересующие нас сущности и связи:
1. Прежде всего преприятие состоит из отделов, в которых работают
сотрудники. Оклад каждого сотрудника зависит от занимаемой им должности
(инженер, ведущий инженер, бухгалтер, уборщик и т.д.). Далее предположим,
что на нашем предприятии допускается совместительство должностей, т.е.
каждый сотрудник может иметь более чем одну должность (и работать более
чем в одном отделе), причем может занимать неполную ставку. В то же время,
одну и ту же должность могут занимать одновременно несколько сотрудников.
В результате этих рассуждений мы должны ввести наборы сущностей:
 ОТДЕЛ(ИМЯ_ОТДЕЛА),
 СОТРУДНИК(ТАБЕЛЬНЫЙ_НОМЕР, ИМЯ),
 ДОЛЖНОСТЬ(ИМЯ_ДОЛЖНОСТИ, ОКЛАД),
 и набор связей РАБОТАЕТ_В с атрибутом ставка между ними.
Атрибут ставка может принимать значения из интервала [0,1] (больше
нуля, но меньше или равен единице), он определяет какую часть должностного
оклада получает данный сотрудник. Данный пример реализован на рисунке 1.1.

3
Рисунок 1.1 – Диаграмма «сущность-связь»

Как уже отмечалось выше, каждый n-арный набор связей можно заменить


несколькими бинарными наборами. Сейчас как раз представляется удобный
случай, чтобы оценить преимущества каждого из этих способов представления
связей.
Тренарная связь, показанная здесь, безусловно несет более полную
информацию о предметной области. Действительно, она однозначно
отображает тот факт, что оклад сотрудника зависит от его должности, отдела,
где он работает, и ставки. Однако, в этом случае возникают некоторые
проблемы с определением степени связи. Хотя, как было сказано, каждый
работник может занимать несколько должностей, а в штате каждого отдела
существуют вакансии с различными должностями, тем не менее класс
принадлежности сущности ДОЛЖНОСТЬ на приведенном рисунке установлен
в (1,1). Это объясняется тем, что ДОЛЖНОСТЬ ассоциируется фактически не с
сущностями СОТРУДНИК и ОТДЕЛ, а со связью между ними. Обозначать этот
факт предлагается так, как это показано на следующей диаграмме,
представленной на рисунке 1.2.
 

Рисунок 1.2 – Пример реализации тренарной связи

4
Здесь сущности СОТРУДНИК, ОТДЕЛ и связь
РАБОТАЕТ_Ваггрегируются в некую новую абстрактную сущность, которая
ассоциируется с сущностью ДОЛЖНОСТЬ с помощью связи степени n:1.
Попытаемя отобразить ассоциации сотрудников, отделов и должностей с
помощью бинарных связей. Пример реализован на рисунке 1.3.
 

Рисунок 1.3 – Пример реализации бинарной связи

В этом случае для адекватного описания семантики предметной области


необходимо ввести еще одну сущность ШТАТНАЯ_ЕДИНИЦА, которая
фактически заменяет собой связь РАБОТАЕТ_В в абстрактной сущности и
поэтому имеет атрибут ставка.
Переход от n-арной связи через аггрегацию сущностей к набору
бинарных связей можно рассматривать как последовательные этапы одного
процесса, который приводит к однозначному порождению реляционной модели
данных. При построении диаграммы «сущность- связь» можно использовать
любой из этих трех способов представления данных.
2. Перечисли ряд объектов, описанных в предыдущем праграфе,
которые будут полезны при моделировании данных рассматриваемого
предприятия. Им соответствуют следующие сущности:
 ЗАКАЗЧИК(ИМЯ_ЗАКАЗЧИКА,АДРЕС);
 КОНТРАКТ(НОМЕР,СРОК_НАЧАЛА,СРОК_ОКОНЧИЯ,СУММА);
 РАБОЧАЯ ГРУППА(ПРОЦЕНТ_ВОЗНАГРАЖДЕНИЯ).
Атрибут «процент_вознаграждения» отражает ту долю стоимости
контракта, которая предназначена для оплаты труда членов соответствующей
рабочей группы. Смысл остальных атрибутов понятен без дополнительных
пояснений.

5
Как правило, один из членов рабочей группы является руководителем по
отношению к другим сотрудникам, входящим в ее состав. Для отражения этого
факта мы должны ввести связь «руководит» с кардинальностью 1,1:0,n между
сущностями СОТРУДНИК и РАБОЧАЯ_ГРУППА (сотрудник может
руководить в произвольном числе рабочих групп, но каждая рабочая группа
имеет одного и только одного руководителя).
3. Рассмотрим теперь более внимательно информационный объект
«заказчик». На практике очень часто возникает необходимость различать
национальную прнадлежность юридических лиц, с которыми предприятие
вступает в договорные отношения. Это свзано с тем, что для зарубежных фирм
необходимо хранить, например, сведения о валюте, в которой осуществляются
расчеты, языке, на котором подписан котракт и т.д. В свою очередь, для
отечественных компаний необходимо иметь сведения о их форме
собственности (частная или государственная), поскольку от этого может
зависеть порядок налогообложения средств, полученных за выполнение работ
по контракту.
4. Таким образом, мы приходим к выводу, что необходимо ввести в
рассмотрение еще два непересекающихся множества
ЗАРУБЕЖНОЕ_ПРЕДПРИЯТИЕ(ВАЛЮТА, ЯЗЫК) и
ОТЕЧЕСТВЕННОЕ_ПРЕДПРИЯТИЕ(ФОРМА_СОБСТВЕННОСТИ),
объединение которых составляет полное множество ЗАКАЗЧИК. Ассоциацию
между этими объектами называют отношением
наследования или иерархической связью, так как сущности
ЗАРУБЕЖНОЕ_ПРЕДПРИЯТИЕ и ОТЕЧЕСТВЕННОЕ_ПРЕДПРИЯТИЕ
наследуют атрибуты сущности ЗАКАЗЧИК(ИМЯ_ЗАКАЗЧИКА, АДРЕС). Для
того, чтобы определить к какому подмножеству относится конкретная
сущность из набора ЗАКАЗЧИК (и, соответственно, какой набор атрибутов она
имеет) необходимо ввести атрибут «национальная принадлежность»,
называемый дискриминантом. Этот тип связи предлагается отображать на
диаграмме следующим образом, который представлен на рисунке 1.4. 

Рисунок 1.4 – Реализация дискриминантного атрибута

6
Обобщая все проведенные выше рассуждения, получим
диаграму«сущность-связь», показанную на рисунке1.5.

Рисунок 1.5 – Обобщенная диаграмма «сущность-связь»

5. Порядок выполнения работы


1 В соответствии с вариантом спроектируйте диаграмму сущность-
связь.

Варианты заданий:
Вариант 1

7
База данных регистрации происшествий
Необходимо создать БД регистрации происшествий, которая должна
содержать:
- данные для регистрации сообщений о происшествиях
(регистрационный номер сообщения, дата регистрации, краткая фабула (тип
происшествия), источник сообщения);
- информацию о решении, принятом по данному происшествию
(отказано в возбуждении дела, удовлетворено ходатайство о возбуждении
уголовного дела с указанием регистрационного номера заведенного дела,
отправлено по территориальному признаку);
- информацию о лицах, виновных или подозреваемых в совершении
происшествия (регистрационный номер лица, Ф.И.О., адрес, количество
судимостей, дактилоскопический шифр отпечатков пальцев), отношение
конкретных лиц к происшествиям (виновник, потерпевший, подозреваемый,
свидетель);
- информацию о сотрудниках отдела происшествий
(регистрационный номер удостоверения, звание, Ф.И.О., адрес, состав семьи);
- информацию о самом происшествии (регистрационный номер
сообщения, регистрационный номер сотрудника, который прибыл на
происшествие, место происшествия, краткое описание происшествия).

Вариант 2
База данных фирмы, проводящей аукционы
Фирма занимается продажей с аукциона антикварных изделий и
произведений искусства. Владельцы вещей, выставляемых на проводимых
фирмой аукционах, юридически являются продавцами. Лица, приобретающие
эти вещи, именуются покупателями. Получив от продавцов партию предметов,
фирма решает, на каком из аукционов выгоднее представить конкретный
предмет. Перед проведением очередного аукциона каждой из выставляемых на
нем вещей присваивается отдельный номер лота. Две вещи, продаваемые на
различных аукционах, могут иметь одинаковые номера лотов.
В книгах фирмы делается запись о каждом аукционе. Там отмечаются
дата, место и время его проведения, а также специфика аукциона (например,
выставляются картины, написанные маслом, и не ранее 1900 года). Заносятся
также сведения о каждом продаваемом предмете (аукцион, на который он
заявлен, номер лота, продавец, отправная цена, краткое словесное описание).
Продавцу разрешается выставлять любое количество вещей, а покупатель
имеет право приобретать любое их количество. Одно и то же лицо или фирма
могут выступать и как продавец, и как покупатель. После аукциона служащие
фирмы, про-водящей аукционы, записывают фактическую цену, уплаченную за
предмет, фиксируют данные покупателя и номер служащего, производящего
запись.

Вариант 3

8
База данных рыболовной фирмы
Фирме принадлежит небольшая флотилия рыболовных катеров. Каждый
катер имеет паспорт, куда занесены его название, тип, водоизмещение, дата
постройки, информация о прохождении технических осмотров. Фирма
регистрирует каждый выход на лов, записывая название катера, имена и адреса
членов команды с указанием их должностей (капитан, боцман, моряки и т. д.),
даты и времени выхода и возвращения, а также вес пойманной рыбы отдельно
по видам (треска, хек, акула). За времяодного рейса катер может посетить
несколько рыболовных мест (банок). Фиксируются дата и время прихода на
каждую банку, а также дата и время отплытия, качество выловленной рыбы
(отличное, хорошее, плохое).

Вариант 4
База данных городской думы
В базе хранятся имена, адреса, домашние и служебные телефоны всех
членов городской думы. Кроме того, необходимо хранить информацию об
образовании, научных степенях и составе семей членов думы. В городской
думе работает определенное число комиссий, все участники которых являются
ее членами. Каждая комиссия имеет свой профиль, например: вопросы
образования, проблемы, связанные с жильем, и т. д. Данные по каждой из
комиссий включают: председатель и состав, прежние (за 10 предыдущих лет)
председатели и члены комиссий, даты включения и выхода из состава
комиссии, избрания ее председателей. Члены городской думы могут заседать
сразу в нескольких комиссиях, но председательствовать только в одной. В базу
данных заносятся время и место заседания каждой комиссии с кратким
описанием вопросов, которые рассматривались, и решений, принятых по
данным вопросам.

Вариант 5
База данных медицинской фирмы
База данных используется в работе медицинской фирмы. Необходимо
хранить информацию обо всех врачах с указанием их Ф.И.О., адреса, телефона ,
специализации (терапевт, лор и др.), режима работы и номера кабинета. Кроме
того, необходимо хранить информацию об образовании врача, курсах
повышения квалификации, научных степенях.
Для каждого пациента, который обращается в фирму, заводится
персональная карточка, где фиксируются Ф.И.О. пациента, дата рождения,
домашний адрес, контактные телефоны, хронические и перенесенные
заболевания. Всякий раз, когда врач осматривает больного, фиксируются дата
проведения осмотра, симптомы, диагноз, предписания больному и информация
о враче, проводившем осмотр. Если врач прописывает больному ка-кое-либо
лекарство, в таблицу заносятся название лекарства, способ его приема,
словесные описания предполагаемого действия и возможных побочных
эффектов.

9
Вариант 6
База данных тотализатора
В информационной системе должна быть представлена информация о
виде соревнований (скачки, автомобильные гонки, гонки на мотоциклах, на
осликах). Для каждого соревнования должна быть представлена информация о
виде транспорта (или виде животного), его название ( кличка, регистрационный
но-мер), владелец (название фирмы, Ф.И.О. владельца, адрес), ин-формация о
гонщиках (жокеях), куда входят Ф.И.О., адрес, возраст, рейтинг.
Необходимо хранить информацию о соревнованиях (дата проведения,
время проведения, место, организаторы, номера участников (регистрационные
номера автомобилей, клички лошадей), информация о жокеях (гонщиках),
занятые ими места и показанное время).
Кроме того, необходимо хранить информацию о ставках: номер паспорта,
вид соревнования, ставка, сумма выигрыша.

Вариант 7
База данных фирмы, обслуживающей конференции
База данных должна содержать справочник персоналий участников
конференции (Ф.И.О., ученая степень, ученое звание, научное направление,
место работы, кафедра (отдел), должность, страна, город, почтовый индекс,
адрес, рабочий телефон, домашний телефон, адрес электронной почты) и
информацию, связанную с участием в конференции (докладчик или участник,
дата рассылки первого приглашения, дата поступления заявки, тема доклада,
отметка о поступлении тезисов, дата рассылки второго приглашения, дата
поступления оргвзноса и размер оргвзноса, дата приезда, потребность в
гостинице, дата отъезда).
Необходимо хранить информацию о конференции: название
конференции, дата проведения, место проведения, организаторы, спонсоры,
количество дней проведения конференции, количество участников, количество
докладчиков.

Вариант 8
Летопись острова Санта-Белинда
Где-то в великом океане находится воображаемый остров
Санта-Белинда . И уже триста лет ведется подробная летопись острова. В
эту летопись заносятся данные обо всех людях, какое-то время проживающих
на острове. Записываются их имена, даты рождения и смерти (или даты приезда
и отбытия с острова). Хранятся имена родителей. Из летописи можно узнать,
когда построен каждый дом, стоящий на острове (а если его сейчас нет, то
когда он был снесен или по каким причинам разрушен), точный адрес и
подробный план этого дома, кто и когда в нем жил.
Точно также, как и столетия назад, на острове действуют
предприниматели, занимающиеся, в частности, ловлей рыбы, заготовкой

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

6. Форма отчета о работе


Лабораторная работа № ___
Номер учебной группы ____________
Фамилия, инициалы учащегося ___________________________________
Дата выполнения работы _____________
Тема работы: _________________________________________________
Цель работы: _________________________________________________
Оснащение работы: ____________________________________________
Результат выполнения работы: __________________________________
______________________________________________________________
______________________________________________________________

7. Контрольные вопросы и задания


1 Для чего предназначена диаграмма «сущность-связь»?
2 Дайте определение понятию «отношение» и «сущность».
3 Перечислите компоненты диаграммы «сущность-связь».

8. Рекомендуемая литература
Хомоненко, А.Д. Базы данных: учебник для высших учебных заведений /
А.Д. Хомоненко. – Спб.:КОРОНА, 2009.
Баркер, С. Ф. Профессиональное программирование в MicrosoftAccess
2007 / С.Ф. Баркер. – М.:Издательский дом «Вильямс», 2007
Лазицкас, Е.А. Базы данных и системы управления базами данных /
Е.А.Лазицкас, И.Н.Загуменникова, П.Г.Гилевский. – Мн.: Учреждение
образования «Республиканский институт профессионального образования»,
2015

11