Файл: Практикума 2 Предметная область Летопись острова СантаБелинда.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 218
Скачиваний: 4
СОДЕРЖАНИЕ
Приложение 2. Описание предметных областей, схем баз данных и запросов для лабораторного практикума
2.1. Предметная область «Летопись острова Санта-Белинда»
2.2. Предметная область «Скачки»
2.3. Предметная область «Хроника восхождений в альпинистском клубе»
2.4. Предметная область базы данных медицинского кооператива
2.5. Предметная область базы данных «Городская Дума»
2.6. Предметная область базы данных рыболовной фирмы
2.7. Предметная область база данных фирмы, проводящей аукционы
2.8. Предметная область база данных библиотеки
Предметная область базы данных для обслуживания
2.10. Предметная область базы данных для обслуживания склада
СОДЕРЖАНИЕ
Приложение 2. Описание предметных областей, схем баз данных и запросов для лабораторного практикума 2
2.1. Предметная область «Летопись острова Санта-Белинда» 3
2.2. Предметная область «Скачки» 6
2.3. Предметная область «Хроника восхождений в альпинистском клубе» 10
2.4. Предметная область базы данных медицинского кооператива 13
2.5. Предметная область базы данных «Городская Дума» 17
2.6. Предметная область базы данных рыболовной фирмы 20
2.7. Предметная область база данных фирмы, проводящей аукционы 23
2.8. Предметная область база данных библиотеки 27
2.9.Предметная область базы данных для обслуживания 30
работы конференции 30
2.10. Предметная область базы данных для обслуживания склада 34
Приложение 2. Описание предметных областей, схем баз данных и запросов для лабораторного практикума
Описание каждой предметной области (ПрО) содержит следующие исходные данные для проектирования базы данных информационной системы, запросов и прав пользователей:
-
словесное описание предметной области; -
обобщенную схему базы данных в нотации IDEF1X; -
описание таблиц базы данных с указанием их названия, назначения, идентификатора в базе данных, их связей с другими таблицами и атрибутов для связи; -
описание атрибутов таблиц базы данных с указанием названия, идентификатора в базе данных, используемого типа данных, ограничения на значение, значения по умолчанию, признака обязательного поля, признака первичного, альтернативного или внешнего ключа; -
спецификаций запросов, представлений, хранимых процедур триггеров.
В словесном описании ПрО указаны назначение информационной системы (базы данных) и (или) классы пользователей информационной системы, в соответствии с которыми должны быть созданы пользователи в базе данных и им должны быть назначены права доступа к объектам базы данных. В случае необходимости студенты должны самостоятельно определить классы пользователей и их права доступа к объектам базы данных.
В приведенных ниже таблицах используются следующие обозначения:
-
PK – первичный ключ, AK – альтернативный ключ, FK – внешний ключ; -
N – один из целых типов, R – один из вещественных типов, С – один из символьных типов, В – логический тип, D – тип дата.
Описание предметных областей заимствовано в [9], поэтому выражаем благодарность авторам книги и рекомендуем книгу студентам в качестве практического пособия по языку SQL.
2.1. Предметная область «Летопись острова Санта-Белинда»
Словесное описание предметной области. Где-то в великом океане находится воображаемый остров Санта-Белинда. Вот уже триста лет ведется подробная летопись острова. В эту летопись заносятся и данные обо всех людях, какое-то время проживавших на острове. Записываются их имена, пол, даты рождения и смерти. Хранятся там и имена их родителей, если известно, кто они. У некоторых отсутствуют сведения об отце, у некоторых – о матери, а часть людей, судя по записям, – круглые сироты. Из летописи можно узнать, когда был построен каждый дом, стоящий на острове (а если сейчас его уже нет, то когда он был снесен), точный адрес, кто и когда в нем жил.
Точно так же, как и столетия назад, на острове действуют предприниматели, занимающиеся, в частности, ловлей рыбы, заготовкой сахарного тростника, выращиванием табака и т.п. Большинство из них занимается своим промыслом самостоятельно, а некоторые нанимают работников. Всё предприниматели – уроженцы острова. Имеются краткие описания деятельности каждого предпринимателя, сообщающие в том числе, когда было начато дело, когда и почему прекращено.
Разрабатываемая информационная система предназначена для губернатора острова и его администрации, а также союза предпринимателей острова.
Схема базы данных в нотации IDEF1X
Описание таблиц базы данных
№ п.п | Название | Идентификатор | Назначение | Тип связи | Атрибуты для связи |
1. | Жители | People | Список жителей острова | 1:М Жильцы | Ид. № жителя |
1:М Предприниматели | Ид. № жителя | ||||
2. | Дома | house | Список домов | 1:М Жильцы | Ид. № дома |
3. | Жильцы | Occupant | Список жильцов для каждого дома | М:1 Жители | Ид. № жителя |
М:1 Дома | Ид. № дома | ||||
4. | Ремесла | Crafts | Список ремесел | 1:М Предприниматели | Ид. № ремесла |
5. | Предприниматели | Business-mans | Список предпринимателей | М:1 Жители | Ид. № жителя |
М:1 Ремесла | Ид. № ремесла |
Описание атрибутов таблицы Жители
№ п/п | Название | Идентификатор | Тип | Размер | Ограничения | Знач. по умолчанию | Обязательное поле? | Признак ключа |
1. | Ид. № жителя | ID_People | N | 10 | 0÷9999999999 | – | + | PK |
2. | Фамилия | Surname | C | 20 | Только буквы | – | + | – |
3. | Имя | Name | С | 15 | Только буквы | – | + | – |
4. | Пол | Sex | В | 1 | 0 или 1 | 1 | + | – |
5. | Дата рождения | Date_R | D | 8 | 01.01.1700÷01.01.2015 | – | + | – |
6. | Дата смерти | Date_D | D | 8 | 01.01.1700÷01.01.2015 | – | – | – |
7. | Отец | Father | С | 20 | Только буквы | – | – | – |
8. | Мать | Mother | С | 20 | Только буквы | – | – | – |
Описание атрибутов таблицы Дома
№ п/п | Название | Идентификатор | Тип | Размер | Ограничения | Знач. по умолчанию | Обязательное поле? | Признак ключа |
1. | Ид. № дома | ID_ house | N | 8 | 0÷99999999 | – | + | PK |
2. | Адрес | Address | C | 50 | | – | + | АК |
3. | Дата постройки | Date_P | D | 8 | 01.01.1700÷01.01.2015 | – | + | – |
4. | Дата сноса | Date_ | D | 8 | 01.01.1700÷01.01.2015 | – | – | – |
5. | Площадь | Area | R | 7.2 | 0÷9999 | – | + | – |
Описание атрибутов таблицы Жильцы
№ п/п | Название | Идентификатор | Тип | Размер | Ограничения | Знач. по умолчанию | Обязательное поле? | Признак ключа |
1. | Ид. № жителя | ID_People | N | 10 | 0÷9999999999 | – | + | FK |
2. | Ид. № дома | ID_ house | N | 8 | 0÷99999999 | – | + | FK |
3. | Дата начала проживания | Date_N_Р | D | 8 | 01.01.1700÷01.01.2015 | – | + | – |
4. | Дата окончания проживания | Date_К_Р | D | 8 | 01.01.1700÷01.01.2015 | – | – | – |
Описание атрибутов таблицы Ремесла
№ п/п | Название | Идентификатор | Тип | Размер | Ограничения | Знач. по умолчанию | Обязательное поле? | Признак ключа |
1. | Ид. № ремесла | ID_craft | N | 3 | 0÷999 | – | + | PK |
2. | Название ремесла | Name_craft | С | 20 | – | – | + | AK |
3. | Описание ремесла | Description | С | 200 | – | – | – | – |
Описание атрибутов таблицы Предприниматели
№ п/п | Название | Идентификатор | Тип | Размер | Ограничения | Знач. по умолчанию | Обязательное поле? | Признак ключа |
1. | Ид. № жителя | ID_People | N | 10 | 0÷9999999999 | – | + | FK |
2. | Ид. № ремесла | ID_craft | N | 3 | 0÷999 | – | + | FK |
3. | Дата начала деятельности | Date_N_D | D | 8 | 01.01.1700÷01.01.2015 | – | + | – |
4. | Дата окончания деятельности | Date_К_D | D | 8 | 01.01.1700÷01.01.2015 | – | – | – |
5. | Причина окончания деятельности | Reason | С | 80 | – | – | – | – |
6. | Количество наемных работников | Workmans | N | 3 | 0÷999 | 0 | + | – |
Запросы на выборку данных
-
Выдать список всех жителей острова, имеющих заданную фамилию. Список упорядочить по дате рождения в убывающем порядке. -
Выдать список жителей острова, проживающих по заданному адресу в заданный период времени. -
Определить количество предпринимателей мужского пола, имеющих наемных работников, среднее, минимальное и максимальное количество наемных работников. -
Выдать количество домов, их суммарную и среднюю площадь для всех жителей, родившихся в 20-м веке. -
По названию ремесла выдать все адреса предпринимателей.
Представления
-
Создать представление, в котором для каждого жителя острова хранились его фамилия и имя, адрес проживания, дата начала и окончания проживания, площадь его дома. -
Создать представление, в котором для каждого предпринимателя острова хранились его фамилия и имя, название ремесла и его краткая характеристика, количество наемных работников, причем поле «дата окончания деятельности» должно быть пусто.
Хранимые процедуры
-
Написать хранимую процедуру, создающую список всех жителей острова, не проживающих ни в одном доме острова. -
Написать хранимую процедуру, осуществляющую прописку заданного жителя острова по указанному адресу. При прописке необходимо проверить, достаточно ли площади для прописки, предполагая, что на каждого проживающего должно приходиться не менее 20 м2.
Триггеры
-
При удалении очередного предпринимателя проверять, остались ли еще предприниматели, занимающиеся этим же ремеслом. -
При изменении площади дома проверять, не нарушены ли нормы проживания (не менее 20 м2 на одного человека). -
При добавлении нового предпринимателя проверять, не превысило ли суммарное число наемных работников, занимающихся данным ремеслом, установленный лимит.