Сверь числа и знаки с фото.
Практическая работа № 1
Задание:
Разработать Диаграмму «Сущность-связь»
- База данных «Страховая компания»
Вы работаете в страховой компании. Вашей задачей является отслеживание ее финансовой деятельности. Компания имеет различные филиалы по всей стране. Каждый филиал характеризуется названием, адресом и телефоном. Деятельность компании организована следующим образом: к вам обращаются различные лица с целью заключения договора о страховании. В зависимости от принимаемых на страхование объектов и страхуемых рисков договор заключается по определенному виду страхования (например, страхование автотранспорта от угона, страхование домашнего имущества, добровольное медицинское страхование). При заключении договора вы фиксируете дату заключения, страховую сумму, вид страхования, тарифную ставку и филиал, в котором заключался договор.
- База данных «Гостиница»
Вы работаете в гостинице. Вашей задачей является отслеживание финансовой стороны ее работы. Ваша деятельность организована следующим образом: гостиница предоставляет номера клиентам на определенный срок. Каждый номер характеризуется вместимостью, комфортностью (люкс, полулюкс, обычный) и ценой. Вашими клиентами являются различные лица, о которых вы собираете определенную информацию (фамилия, имя, отчество и некоторый комментарий). Сдача номера клиенту производится при наличии свободных мест в номерах, подходящих клиенту по указанным выше параметрам. При поселении фиксируется дата поселения. При выезде из гостиницы для каждого места [обрезано]
На фото две задачи. Ниже — минимальные ER-модели: прямоугольники — сущности, связи — «один ко многим», первичный ключ отмечен как PK.
1. База данных «Страховая компания»
| Сущность | Атрибуты | Ключ |
|---|---|---|
| Филиал | id_филиала, название, адрес, телефон |
id_филиала |
| Клиент | id_клиента, ФИО |
id_клиента |
| Вид страхования | id_вида, наименование |
id_вида |
| Договор | id_договора, дата заключения, страховая сумма, тарифная ставка, id_клиента (FK), id_филиала (FK), id_вида (FK) |
id_договора |
Связи:
Клиент 1 : N Договор— один клиент может заключить несколько договоров.Филиал 1 : N Договор— в одном филиале может быть много договоров.Вид страхования 1 : N Договор— один вид страхования встречается во многих договорах.
Договор — центральная, или ассоциативная, сущность: у неё есть собственные признаки — дата, сумма, ставка, — и одновременно она связывает клиента, филиал и вид страхования.
2. База данных «Гостиница»
| Сущность | Атрибуты | Ключ |
|---|---|---|
| Клиент | id_клиента, фамилия, имя, отчество, комментарий |
id_клиента |
| Номер | id_номера, вместимость, комфортность, цена |
id_номера |
| Проживание | id_проживания, id_клиента (FK), id_номера (FK), дата поселения, дата выселения |
id_проживания |
Связи:
Клиент 1 : N Проживание— один клиент может проживать несколько раз.Номер 1 : N Проживание— один номер может сдаваться много раз.
Проживание связывает клиента и номер и хранит сроки. Это ассоциативная сущность: один клиент и один номер могут встречаться в разных записях, но каждая запись — это конкретное заселение.
Свободные места не надо хранить отдельным полем в «Номере»: их количество проверяют по вместимости номера и числу активных проживаний на нужную дату.
Если требуется учитывать не номер целиком, а конкретное спальное место, добавляют сущность Место (id_места, id_номера); тогда Проживание ссылается на id_места.
Проверка: ключи уникальны, внешние ключи не должны быть пустыми, а дата выселения должна быть позже даты поселения. Последняя строка на фото обрезана после слов «для каждого места»; дату выселения я показал как обязательный атрибут проживания.