Файл: Практикума 2 Предметная область Летопись острова СантаБелинда.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.10.2023

Просмотров: 234

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

2.3. Предметная область «Хроника восхождений в альпинистском клубе»


Словесное описание предметной области. В базе данных должны записываться даты начала и завершения каждого восхождения, имена и адреса участвовавших в нем альпинистов, название и высота горы, страна и район, где эта гора расположена.

Разрабатываемая информационная система предназначена для руководства и членов альпинистского клуба.

Схема базы данных в нотации IDEF1X



Описание таблиц базы данных



п.п

Название

Идентификатор

Назначение

Тип связи

Атрибуты для связи

1.

Альпинисты

Climbers

Список членов клуба

1:М Альпинисты в группах

Ид. № альпиниста

2.

Группы

Groups

Список групп

1:М Альпинисты в группах

Ид. № группы

1:М Восхождения

Ид. № группы

3.

Альпинисты в группах

Climbers-Group

Вхождения альпинистов в группы

М:1 Альпинисты

Ид. № альпиниста

М:1 Группы

Ид. № группы

4.

Горы

Mountains

Список гор

1:М Восхождения

Ид. № горы

5.

Восхождения

Ascents

Список восхождений

М:1 Группы

Ид. № группы

М:1 Горы

Ид. № горы



Описание атрибутов таблицы Альпинисты



п/п

Название

Идентификатор

Тип

Размер

Ограничения

Знач. по умолчанию

Обязательное поле?

Признак ключа

1.

Ид. № альпиниста

ID_Climber

N

4

1÷9999



+

PK

2.

ФИО

FIO

С

35

Только буквы



+



3.

Адрес

Address

С

40





+



4.

Телефон

Phone

С

15









5.

Звание

Rank

С

20









6.

Пол

Sex

B

1

0 или 1

1

+




Описание атрибутов таблицы Группы



п/п

Название

Идентификатор

Тип

Размер

Ограничения

Знач. по умолчанию

Обязательное поле?

Признак ключа

1.

Ид. № группы

ID_Group

N

2

1÷99



+

PK

2.

Количество

Amount

N

2

1÷99



+



3.

ФИО руководителя

Leader

С

20

Только буквы



+





Описание атрибутов таблицы Альпинисты в группах



п/п

Название

Идентификатор

Тип

Размер

Ограничения

Знач. по умолчанию

Обязательное поле?

Признак ключа

1.

Ид. № альпиниста

ID_Climber

N

4

1÷9999



+

FK

2.

Ид. № группы

ID_Group

N

2

1÷99



+

FK

3.

Дата начала восхождения

Date_N

D

8

01.01.1980÷01.01.2010



+



4.

Дата окончания восхождения

Date_N

D

8

01.01.1980÷01.01.2010



+




Описание атрибутов таблицы Горы



п/п

Название

Идентификатор

Тип

Размер

Ограничения

Знач. по умолчанию

Обязательное поле?

Признак ключа

1.

Ид. № горы

ID_ moun-tain

N

3

1÷999



+

PK

2.

Название

Name

С

40

Только буквы



+

АК

3.

Высота

Height

R

7,2

0÷9999



+



4.

Страна

Country

С

20

Только буквы

Россия

+



5.

Район

Region

С

20

Только буквы









Описание атрибутов таблицы Восхождения



п/п

Название

Идентификатор

Тип

Размер

Ограничения

Знач. по умолчанию

Обязательное поле?

Признак ключа

1.

Ид. № группы

ID_Group

N

2

1÷99



+

FK

2.

Ид. № горы

ID_ moun-tain

N

3

1÷999



+

FK

3.

Дата восхождения

Date_A

D

8

01.01.1980÷01.01.2010



+

PK

4.

Успешное?

Successful

B

1

0 или 1

1

+



5.

Длительность

Duration

N

2

1÷99







6.

Количество покоривших гору

Amount

N

2

1÷99








Запросы на выборку данных

  1. Выдать список всех альпинистов, имеющих звание мастер спорта, их фамилии, адреса и телефоны. Список упорядочить по фамилии.

  2. Для каждого альпиниста выдать список групп, в которые он входил, ФИО руководителя группы, период вхождения.

  3. Предоставить информацию о том, сколько альпинистов побывало на каждой горе. Список отсортировать в алфавитном порядке по названию вершин.

  4. Показать список восхождений (групп), которые осуществлялись в указанный пользователем период времени. Для каждой группы показать ее состав.

  5. Выдать список всех альпинистов, осуществивших восхождение на горы заданной страны.


Представления

  1. Создать представление, в котором для каждой горы хранились бы все восхождения, FKлючая дату восхождения, количество дошедших до вершины, ФИО руководителя.

  2. Создать представление, в котором для каждой группы хранить список входящих в нее в разное время альпинистов с их характеристиками.


Хранимые процедуры

  1. Написать хранимую процедуру, которая при добавлении нового восхождения проверяет, не превышает ли длительность восхождения период пребывания каждого альпиниста в этой группе.

  2. Написать хранимую процедуру перехода альпиниста из одной группы в другую.

Триггеры

  1. При удалении альпиниста проверять, остались ли в группах, в которые он входил, еще альпинисты. Если нет, то удалить и группы.

  2. При изменении звания альпиниста проверять, не ниже ли оно предыдущего, что недопустимо.

  3. При добавлении нового альпиниста в группу необходимо проверять, не превысило ли число альпинистов в группе некоторую заданную границу.