Файл: Практикума 2 Предметная область Летопись острова СантаБелинда.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 226
Скачиваний: 4
СОДЕРЖАНИЕ
Приложение 2. Описание предметных областей, схем баз данных и запросов для лабораторного практикума
2.1. Предметная область «Летопись острова Санта-Белинда»
2.2. Предметная область «Скачки»
2.3. Предметная область «Хроника восхождений в альпинистском клубе»
2.4. Предметная область базы данных медицинского кооператива
2.5. Предметная область базы данных «Городская Дума»
2.6. Предметная область базы данных рыболовной фирмы
2.7. Предметная область база данных фирмы, проводящей аукционы
2.8. Предметная область база данных библиотеки
Предметная область базы данных для обслуживания
2.10. Предметная область базы данных для обслуживания склада
2.5. Предметная область базы данных «Городская Дума»
Словесное описание предметной области. В базе хранятся имена, адреса, домашние и служебные телефоны всех членов Думы. В Думе работает порядка сорока комиссий, все участники которых являются членами Думы. Каждая комиссия имеет свой профиль, например, вопросы образования, проблемы, связанные с жильем, и так далее. Данные по каждой из комиссий включают: председатель и состав, даты включения и выхода из состава комиссии, избрания ее председателей. Члены Думы могут заседать в нескольких комиссиях. В базу заносятся время и место проведения каждого заседания комиссии с указанием депутатов Думы, которые участвуют в его организации.
Схема базы данных в нотации IDEF1X
Описание таблиц базы данных
№ п.п | Название | Идентификатор | Назначение | Тип связи | Атрибуты для связи |
1. | Депутаты | Deputies | Список депутатов | 1:М Депутаты в комиссиях | Ид. № депутата |
2. | Комиссии | Commissi-ons | Список комиссий | 1:М Депутаты в комиссиях | Ид. № комиссии |
1:М Заседания | Ид. № комиссии | ||||
3. | Депутаты в комиссиях | Deputies-Сommissi-on | Участие депутатов в комиссиях | М:1 Депутаты | Ид. № депутата |
М:1 Комиссии | Ид. № комиссии | ||||
4. | Заседания | Meetings | Заседания комиссий | М:1 Комиссии | Ид. № комиссии |
Описание атрибутов таблицы Депутаты
№ п/п | Название | Идентификатор | Тип | Размер | Ограничения | Знач. по умолчанию | Обязательное поле? | Признак ключа |
1. | Ид. № депутата | ID_ Deputy | N | 3 | 1÷999 | – | + | PK |
2. | ФИО | FIO | С | 35 | Только буквы | – | + | AK |
3. | Адрес | Address | С | 40 | – | – | + | – |
4. | Домашний телефон | Phone_H | С | 15 | – | – | – | – |
5. | Служебный телефон | Phone_O | С | 15 | – | – | + | – |
6. | Пол | Sex | B | 1 | 0 или 1 | 1 | + | – |
Описание атрибутов таблицы Комиссии
№ п/п | Название | Идентификатор | Тип | Размер | Ограничения | Знач. по умолчанию | Обязательное поле? | Признак ключа |
1. | Ид. № комиссии | ID_ Com-mission | N | 2 | 1÷99 | – | + | PK |
2. | Наименование | Name | С | 35 | Только буквы | – | + | AK |
3. | Председатель | Chairman | С | 35 | Только буквы | – | + | AK |
4. | Дата избрания | Date_E | D | 8 | 01.01.1980÷01.01.2010 | – | + | – |
5. | Профиль | Profile | С | 80 | Только буквы | – | + | – |
Описание атрибутов таблицы Депутаты в комиссиях
№ п/п | Название | Идентификатор | Тип | Размер | Ограничения | Знач. по умолчанию | Обязательное поле? | Признак ключа |
1. | Ид. № депутата | ID_ Deputy | N | 3 | 1÷999 | – | + | FK |
2. | Ид. № комиссии | ID_ Com-mission | N | 2 | 1÷99 | – | + | FK |
3. | Дата включения | Date_In | D | 8 | 01.01.1980÷01.01.2010 | – | + | – |
4. | Дата выхода | Date_Out | D | 8 | 01.01.1980÷01.01.2010 | – | + | – |
Описание атрибутов таблицы Заседания
№ п/п | Название | Идентификатор | Тип | Размер | Ограничения | Знач. по умолчанию | Обязательное поле? | Признак ключа |
1. | Ид. № комиссии | ID_ Com-mission | N | 2 | 1÷99 | – | + | FK |
2. | Дата заседания | Date_M | D | 8 | 01.01.1980÷01.01.2010 | – | + | PK |
3. | Время начала | Zero | D | 8 | 01.01.1980÷01.01.2010 | – | – | – |
4. | Место заседания | Place | С | 35 | Только буквы | Зал № 5 | + | – |
5. | ФИО_ организатора | Organizer | С | 35 | Только буквы | – | + | – |
Запросы на выборку данных
-
Выдать список всех комиссий, председатели которых были избраны в текущем году. Список упорядочить по фамилиям председателей комиссий по убыванию. -
Для каждого депутата выдать список всех комиссий, членом которых он когда-либо являлся, их профиль, ФИО их председателей, дату включения и выхода. -
По каждой комиссии показать количество проведенных заседаний в указанный период времени. -
Используя самосоединение таблиц получить все пары комиссий, заседания которых проходили в один и тот же день в указанный период времени. -
Выдать список всех депутатов, которые заседали в заданную дату в какой-либо комиссии. В результирующей таблице должны быть указаны адреса и телефоны депутатов, название комиссии, ее профиль и председатель.
Представления
-
Создать представление, в котором для каждой комиссии выдать список всех входивших в нее в разное время депутатов, их характеристики, характеристики комиссии. -
Создать представление, в котором для каждой комиссии выдать список всех ее заседаний, характеристики комиссий и характеристики заседаний.
Хранимые процедуры
-
Написать хранимую процедуру, которая перед удалением депутата из таблицы Депутат, удаляет его из всех комиссий, проставляя в дату выхода из комиссии текущую дату. -
Написать хранимую процедуру, которая перед удалением комиссии для каждого входящего в нее депутата проставляет в дату выхода из комиссии текущую дату.
Триггеры
-
При удалении записи о членстве депутата в комиссии проверять, является ли депутат членом какой-либо другой комиссии. Удаление недопустимо, если в результате депутат не будут входить ни в одну комиссию. -
При изменении председателя комиссии проверять, является ли он членом этой комиссии. Не члены комиссии выступать в роли председателя комиссии не могут. -
При добавлении нового заседания проверять, является ли организатор этого заседания членом комиссии. Не члены комиссии выступать в роли организаторов заседаний не могут.
2.6. Предметная область базы данных рыболовной фирмы
Словесное описание предметной области. Фирме принадлежит небольшая флотилия рыболовных катеров. Каждый катер имеет «паспорт», куда занесены его название, тип, водоизмещение и дата постройки. Фирма регистрирует каждый выход на лов, записывая название катера, имена и адреса членов команды с указанием их должностей (капитан, боцман и т.д.), даты выхода и возвращения, а также вес пойманной рыбы.
Схема базы данных в нотации IDEF1X
Описание таблиц базы данных
№ п.п | Название | Идентификатор | Назначение | Тип связи | Атрибуты для связи |
1. | Катера | Motorboat | Список катеров | 1:М Команды | Ид. № катера |
2. | Рыбаки | Fishermen | Список рыбаков | 1:М Команды | Ид. № рыбака |
3. | Команды | Com-mands | Команды катеров | М:1 Катера | Ид. № катера |
М:1 Рыбаки | Ид. № рыбака | ||||
1:М Лов | Ид. № катера Ид. № рыбака | ||||
4. | Лов | Catch | Список выходов на лов | М:1 Команды | Ид. № катера Ид. № рыбака |
Описание атрибутов таблицы Катера
№ п/п | Название | Идентификатор | Тип | Размер | Ограничения | Знач. по умолчанию | Обязательное поле? | Признак ключа |
1. | Ид. № катера | ID_Motor-boat | N | 2 | 1÷99 | – | + | PK |
2. | Название | Name | С | 35 | Только буквы | – | + | AK |
3. | Тип | Type | С | 20 | – | – | + | – |
4. | Водоизмещение | Vodoizme-schenie | R | 8,2 | 1÷99999 | – | – | – |
5. | Дата постройки | Date_B | D | 8 | 01.01.1980÷01.01.2010 | – | + | – |