Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

IDZ / IDZ

.pdf
Скачиваний:
82
Добавлен:
05.02.2020
Размер:
598.45 Кб
Скачать

МИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)

Кафедра МО ЭВМ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА к индивидуальному заданию

по дисциплине «Базы данных» тема: «Разработка и реализация базы данных»

Вариант 4

Студент гр. 7303

 

Овчинников С.М.

Преподаватель

 

 

Фомичева Т.Г.

Санкт-Петербург

2019

Содержание.

 

Формулировка задания. ..........................................................................................

3

Этап проектирования БД методом «сущность – связь»......................................

4

Реляционная модель:...............................................................................................

7

Анализ предполагаемых запросов.........................................................................

8

Структуры таблиц и постоянные связи между таблицами. ..............................

11

Содержимое таблиц, на которых производилась отладка системы.................

14

Иерархия интерфейса............................................................................................

15

Описание экранных форм.....................................................................................

16

Описание запросов ................................................................................................

25

Описание отчётов ..................................................................................................

31

Выводы......................................................................................................................................

32

2

Формулировка задания.

Задание 4:

Пусть требуется создать программную систему, предназначенную для организаторов выставки собак. Она должна обеспечивать хранение сведений о собаках - участниках выставки и экспертах. Для каждой собаки в БД должны храниться сведения, о том, к какому клубу она относится, кличка, порода и возраст, сведения о родословной (номер документа, клички родителей), дата последней прививки, фамилия, имя, отчество и паспортные данные хозяина.

На каждый клуб отводится участок номеров, под которыми будут выступать участники выставки. Сведения об эксперте должны включать фамилию и имя,

номер ринга, который он обслуживает; клуб, название клуба, в котором он состоит. Каждый ринг могут обслуживать несколько экспертов. Каждая порода собак выступает на своём ринге, но на одном и том же ринге в разное время могут выступать разные породы. Итогом выставки является определение медалистов по каждой породе. Организатор выставки должен иметь возможность добавить в базу нового участника или нового эксперта,

снять эксперта с судейства, заменив его другим, отстранить собаку от участия в выставке. Организатору выставки могут потребоваться следующие сведения:

На каком ринге выступает заданный хозяин со своей собакой?

Какими породами представлен заданный клуб?

Какие медали и сколько заслужены клубом?

Какие эксперты обслуживают породу?

Количество участников по каждой породе?

Необходимо предусмотреть возможность выдачи стандартной справки о призовом месте, занятом собакой на выставке и отчёта о результатах выступления каждого клуба (сколько всего участников, какие породы,

медалисты по породам).

3

Этап проектирования БД методом «сущность – связь».

ER-диаграмма:

Вданной ER-диаграмме присутствует 7 сущностей:

1.Сущность «Владелец» с ключом «Паспорт»;

2.Сущность «Собака» с ключом «Номер»;

3.Сущность «Ринг» с ключом «Номер»;

4.Сущность «Клуб» с ключом «Название»;

5.Сущность «Порода» с ключом «Название»;

6.Сущность «Эксперт» с ключом «Паспорт»;

7.Сущность «Медаль» с ключом «Номер»;

Рассмотрим правила генерации отношений.

1.Связь между сущностями «Владелец» и «Собака» имеет вид 1: N, так как одно владелец может иметь несколько собак, а собака иметь только 1

владельца. Класс принадлежностей обеих сущностей является обязательным, т.к. собака не может выступать без хозяина, и хозяин не может выступать без собаки. По 4-му правилу генерации отношений получаем 2 отношения:

a.Владелец (Паспорт, Фамилия, Имя, Отчество)

b.Собака (Номер, Кличка, Возраст, Порода, Родословная, Паспорт владельца, Клуб)

4

2.Связь между сущностями «Собака» и «Порода» имеет вид N:1, так как к одной породе могут принадлежать много собак, но собака может принадлежать одной породе. Класс принадлежности обоих сущностей является обязательным, т.к. собака обязана принадлежать породе, и

породе должны принадлежать собаки. По 4-му правилу генерации отношений получаем 2 отношения:

a.Собака (Номер, Кличка, Возраст, Порода, Родословная, Паспорт владельца, Клуб, Оценка);

b.Порода (Название, Ринг).

3.Связь между сущностями «Собака» и «Клуб» имеет вид N:1, т.к.N собак относиться к 1 клубу, но собака может относиться к 1 клубу. Класс принадлежности сущностей является обязательным со стороны собаки

(N-связной сущности) т.к. в клубе собаки может и не быть собак. По 4-

му правилу генерации отношений получаем 2 отношения:

a.Собака (Номер, Кличка, Возраст, Порода, Родословная, Паспорт владельца, Клуб, Оценка);

b.Клуб (Название, Верхняя граница номеров, Нижняя граница номеров)

4.Связь между сущностями «Порода» и «Эксперт» имеет вид 1: N, т.к. N

экспертов судит одну породу, и эксперт может судить одну породу.

Класс принадлежности обоих сущностей является обязательным, т.к. на каждую породу должен быть эксперт и каждый эксперт должен судить породу. По 4-му правилу генерации отношений получаем два отношения:

a.Порода (Название, Ринг);

b.Эксперт (Паспорт, Фамилия, Имя, Отчество, Порода, Клуб).

5.Связь между сущностями «Порода» и «Ринг» имеет вид N:1, т.к. N пород выступает на одном ринге, и порода выступает на только на своём ринге.

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

порода обязана выступать на ринге и ринг должен существовать с

5

выступающей породой. По 4-му правилу генерации отношений

получаем два отношения:

a.Порода (Название, Ринг);

b.Ринг (Номер).

6.Связь между сущностями «Клуб» и «Эксперт» имеет вид 1: N, т.к. N

экспертов относиться к клубу, и эксперт принадлежит одному клубу.

Класс принадлежности сущностей является обязательным со стороны эксперта, т. к. каждый эксперт должен относиться к клубу, но к клубу может относиться ноль экспертов. По 4-му правилу генерации отношений получаем два отношения:

a.Клуб (Название, Верхняя граница номеров, Нижняя граница номеров)

b.Эксперт (Паспорт, Фамилия, Имя, Отчество, Порода, Клуб).

7.Связь между сущностями «Собака» и «Медаль» имеет вид 1:1, так как одной собаке соответствует одна Медаль. Класс принадлежности обоих сущностей является обязательным, т.к. собака должна получить Медаль за выставку или её отсутствие. По 1-му правилу генерации отношений получаем 1 отношение:

a.Собака (Номер, Кличка, Возраст, Порода, Родословная, Паспорт владельца, Клуб, Медаль);

Витоге получим следующие отношения:

a.Владелец (Паспорт, Фамилия, Имя, Отчество);

b.Собака (Номер, Кличка, Возраст, Порода, Родословная, Паспорт владельца, Клуб, Оценка);

c.Клуб (Название, Верхняя граница номеров, Нижняя граница номеров);

d.Эксперт (Паспорт, Фамилия, Имя, Отчество, Порода, Клуб);

e.Порода (Название, Ринг);

f.Ринг (Номер)

6

Реляционная модель:

Определим функциональные зависимости между атрибутами каждого отношения и проверим их соответствие НФБК:

1. Вид функциональных зависимостей в отношении «Владелец»:

Паспорт → Фамилия, Имя, Отчество.

Не являются ФЗ:

Фамилия, Имя, Отчество → Паспорт т.к. могут быть люди с одинаковой фамилией, именем и отчеством

Других функциональных зависимостей нет, следовательно, отношение

«Владелец» находится в НФБК.

2. Вид функциональных зависимостей в отношении «Собака»:

Номер Кличка, Возраст, Порода, Родословная, Паспорт владельца, Клуб, Оценка.

Не являются ФЗ:

Кличка, Возраст, Порода, Родословная, Паспорт владельца, Клуб,

Оценка Номер. Все по отдельности и вместе не могут быть ФЗ

т.к. возможны 2 собаки из одного помёта с одинаковыми кличками и родословными, принадлежащие 1 владельцу и получившие одинаковые баллы.

Других функциональных зависимостей нет, следовательно, отношение

«Собака» находится в НФБК.

7

3.Вид функциональных зависимостей в отношении «Клуб»:

Название Верхняя граница номеров, Нижняя граница номеров Не являются ФЗ:

Верхняя граница номеров, Нижняя граница номеров → Название т.к. верхняя и нижняя граница могут совпадать и перекликаться для разных клубов.

Других функциональных зависимостей нет, следовательно, отношение

«Клуб» находится в НФБК.

4. Вид функциональных зависимостей в отношении «Порода»:

Название → Ринг Не являются ФЗ:

Ринг → Название т.к. на одном ринге может выступать много

пород Других функциональных зависимостей нет, следовательно, отношение

«Порода» находится в НФБК.

5. Вид функциональных зависимостей в отношении «Эксперт»:

Паспорт → Фамилия, Имя, Отчество, Порода, Клуб Не являются ФЗ:

Фамилия, Имя, Отчество, Порода, Клуб, Паспорт т.к. возможно существование однофамильцев, принадлежность к клубу, породе не является уникальной.

Других функциональных зависимостей нет, следовательно, отношение

«Эксперт» находится в НФБК.

6. Функциональных зависимостей в отношении «Ринг» не имеется.

Анализ предполагаемых запросов.

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

8

Запрос «На каком ринге выступает заданный хозяин со своей собакой?» Используя сущность, «Собака» и её атрибут «Номер»,

по которому будем искать заданную собаку и сущность «Порода»

и её атрибут «Ринг», которые связаны между собой атрибутом

«Порода» в сущности собака и атрибутом «Название» в сущности

«Порода».

Запрос «Какими породами представлен заданный клуб?»

Используя атрибуты «Клуб» и «Порода» сущности «Собака» получим выборку пород по заданному клубу.

Запрос «Какие медали и сколько заслужены клубом?» Используя атрибуты «Клуб», «Номер», «Медаль» сущности «Собака» получим выборку медалей по заданному клубу. Атрибут

«Номер» используем для подсчёта количества медалей, каждой ценности.

Запрос «Какие эксперты обслуживают породу?» Используя атрибуты: «Фамилия», «Имя», «Отчество», «Паспорт», «Порода» из сущности «Эксперт» получим выборку экспертов по заданной породе.

Запрос «Количество участников по каждой породе?» Используя атрибуты «Номер», «Порода» сущности «Собака». Подсчитав количество атрибутов «Номер» получим выборку количества участников по заданной породе.

Справка «О призовом месте занятом собакой». Используя атрибуты «Номер», «Клуб», «Фамилия», «Имя», «Отчество»,

«Медаль» сущности «Собака» получим выборку для конкретного номера.

Справка «Отчёт о результатах участия клуба». Используя атрибуты «Номер», «Клуб», «Порода», «Медали» сущности

«Собака» получим выборки для количества участников в клубе,

9

для пород, состоящих в клубе и медалей, полученных клубом.

Описание аналогичных запросов приведено выше.

Запрос «Добавление нового участника». Используя атрибуты

«Фамилия», «Имя», «Отчество», «Паспорт» сущности «Владелец» получим запрос на добавления нового владельца. Используя атрибуты «Кличка», «Возраст», «Порода», «Родословная»,

«Паспорт владельца», «Клуб», «Номер», «Прививка», «Медаль» сущности «Собака» получим запрос на добавление новой собаки.

Запрос «Добавление нового эксперта». Используя атрибуты

«Фамилия», «Имя», «Отчество», «Паспорт», «Порода», «Клуб» сущности «Эксперт» получим запрос на добавления нового эксперта.

Запрос «Снять эксперта с судейства, заменив другим». Используя атрибуты «Паспорт», «Порода» сущности «Эксперт» мы можем заменить породу эксперта2 породой эксперта1 и установить породу эксперта1 пустой, отстранив его от судейства.

Запрос «Отстранить собаку от участия». Используя атрибут

«Номер» сущности «Собака» получим запрос на удаление записи об собаке.

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

Избыточных функциональных зависимостей нет, т.к. каждая ФЗ присутствует только в одном отношении. Избыточных отношений нет, т.к.

атрибуты ни одного из отношений полностью не присутствуют в другом.

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

10

Соседние файлы в папке IDZ