Реляционные СУБД

Автор работы: Пользователь скрыл имя, 29 Октября 2013 в 21:37, курсовая работа

Краткое описание

Реляционные СУБД являются в настоящий момент самыми распространенными. Их реализации существуют на всех пригодных для этого платформах, для всех операционных систем и для всех применений от простейших продуктов, предназначенных для ведения картотек индивидуального пользования, до сложнейших распределенных многопользовательских систем.
СУБД в общем случае это собственно база данных, которая предполагает какой-либо метод сохранения информации на диске и возможности доступа и манипуляции с нею, и набор программных продуктов, представляющий пользователю все допустимые в базе средства работы с данными. Набор программных средств манипуляции данными СУБД удовлетворяет свойствам полноты (консистентности).

Содержание

ВВЕДЕНИЕ 4
1 БАЗА ДАННЫХ «СПОРТИВНЫЕ СОРЕВНОВАНИЯ» 5
1.1 Обзор и анализ источников 5
1.2 Проектные решения 5
2 ПРОЕКТИРОВАНИЕ БД «СПОРТИВНЫЕ СОРЕВНОВАНИЯ» 7
2.1 Анализ предметной области и составление спецификаций к данным 7
2.2 Построение концептуальной и логической модели данных 9
2.2.1 Описание связей 9
2.2.2 Логическая модель базы данных 9
2.2.3 Концептуальная модель данных 10
2.3 Физическая база данных 12
3 РАЗРАБОТКА ПРИЛОЖЕНИЯ ПО РАБОТЕ С БАЗОЙ ДАННЫХ 15
3.1 Кнопочная форма, интерфейс пользователя, запросы и отчеты 15
3.1.1 Запросы и отчеты 15
3.1.2 Кнопочная форма. Интерфейс пользователя. Формы и макросы. 25
3.2 Руководство пользователя 30

Прикрепленные файлы: 1 файл

Информатика.docx

— 7.32 Мб (Скачать документ)

В этом разделе приводится тип данных и состав таблиц БД, которые были сконструированы с помощью режима «конструктор». Каждая таблица реляционной базы данных изображена в таблицах 1, 2, 3, 4, 5, 6, 7 ниже:

 

Таблица 1 – Таблица «Залы»

Имя поля

Тип данных

Размер  поля

Код зала

Счётчик

Длинное целое

Название

Текстовый

15

Дата  открытия

Дата/время

-

Место расположения

Текстовый

15


 

Таблица 2 - Таблица «Спортсмены»

Имя поля

Тип данных

Размер  поля

Код спортсмена

Счетчик

Длинное целое

Фамилия

Текстовый

25

Имя

Текстовый

15

Отчество

Текстовый

20

Зал

Мастер  подстановок (Текстовый)

Длинное целое

Вес до соревнований

Числовой

3

Соревновательный  вес

Числовой

3

Максимально поднятый вес

Числовой

3

Дата  рождения

Дата/время

-

Место рождения

Текстовый

15


 

 

 

Таблица 3 - Таблица «Результаты»

Имя поля

Тип данных

Размер  поля

Код результата

Счетчик

Длинное целое

Код спортсмена

Мастер  подстановок (Числовой)

Длинное целое

Код судьи

Мастер  подстановок (Числовой)

Длинное целое

Код соревнования

Мастер  подстановок (Числовой)

Длинное целое

Результат

Числовой

3


 

Таблица 4 - Таблица «Соревнования»

Имя поля

Тип данных

Размер  поля

Код соревнования

Счетчик

Длинное целое

Место проведения

Текстовый

30

Дата  проведения

Текстовый

-


 

Таблица 5 - Таблица «Судейский состав»

Имя поля

Тип данных

Размер  поля

Код судьи

Счетчик

Длинное целое

Фамилия

Текстовый

25

Имя

Текстовый

15

Отчество

Текстовый

20

Разряд

Мастер  подстановок (Текстовый)

Длинное целое

Дата  рождения

Дата/время

-

Место рождения

Текстовый

15


 

Таблица 6 - Таблица «Тренерский состав»

Имя поля

Тип данных

Размер  поля

Код тренера

Счетчик

Длинное целое

Фамилия

Текстовый

25

Имя

Текстовый

15

Отчество

Текстовый

20

Дата  рождения

Дата/время

-

Место рождения

Текстовый

15

Зал

Мастер  подстановок (Текстовый)

Длинное целое

Разряд

Мастер  подстановок (Текстовый)

Длинное целое


Таблица 7 - Таблица «Достижения»

Имя поля

Тип данных

Размер  поля

Код достижения

Счетчик

Длинное целое

Аббревиатура  достижения

Текстовый

8

Полное  название достижения

Текстовый

50


 

 

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

1. однозначно идентифицировать записи;

2. избегать дублирования значений в ключевых полях;

3. выполнять сортировку таблиц;

4. ускорять операции поиска в таблицах;

5. устанавливать связи между отдельными таблицами БД.

 

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

 

3 РАЗРАБОТКА ПРИЛОЖЕНИЯ  ПО РАБОТЕ С БАЗОЙ ДАННЫХ

 

 

3.1 Кнопочная форма, интерфейс  пользователя, запросы и отчеты

 

3.1.1 Запросы и отчеты

 

Создание запросов начинается с  нажатием кнопки ,которая находиться во вкладке «Создание» и на панеле «Запросы». Начало создания отчетов происходит практически едентично : с кнопки , что находиться во вкладке «Создание» на панеле «Отчеты».

В реляционной базе данных «Спортивные  соревнования» были разработаны  следующие запросы и отчеты:

 

Запрос «Возраст спортсменов» (рис. 3):

 

Данный запрос относится к типу «Запрос на выборку» и предназначен для вычисления возрастов спортсменов. В данном запросе использовалась таблица «Спортсмены», а в качестве столбцов атрибут «Фамилия» и  вычисляемое поле «Полных лет», формулой которого является:

 

Year(Now())-Year([Спортсмены]![Дата рождения]),

 

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

 

 

 

Рисунок 3 - Запрос «Возраст спортсменов» в режиме «Таблица»

 

Запрос «Спортсменов на зал»

 

Данный запрос относится к типу «Запрос на выборку» и предназначен для учета спортсменов, используя  при этом их принадлежность к залам, от имени которых они выступают. Например, от каждого из пяти залов  выступают от четырех до восьми спортсменов. В данном запросе использовалась таблица «Спортсмены», а в качестве столбцов атрибут «Зал» и вычисляемое  поле «Спортсмены», которое было составлено не с помощью формулы, а уже  с помощью функции «Итоги», которая  включается с помощью кнопки , расположенной на вкладке «Конструктор» на вкладке «Показать или скрыть». Поле её включения появляется возможность использовать групповые операции во время создания запроса через режим «Конструктор». К групповым операциям так же относится и команда Count, с помощью которой и был построен данный запрос.

 

 

Рис. 4 - Запрос «Спортсменов на зал» в режиме «Конструктор»

 

Запрос «Спортсменов оценённых  судьей»

 

Данный запрос относится к типу «Запрос на выборку» и предназначен для подсчёта количества спортсменов, оценённых каждым судьей. В этом запросе присутствуют уже 3 таблицы, так как атрибуты, требующиеся для данного запроса, находятся в разных таблицах и для работоспособности этого запроса необходимо обеспечить целостность связей между этими таблицами, добавив их в источники. Тут присутствуют следующие таблицы: «Судейский состав» «Результат» «Спортсмены». Нужные атрибуты находятся лишь в двух из них, но между этими таблицами нету связи, но между ними присутствует связующая таблица, которую и пришлось добавить вместе с другими двумя в источник. Так же как и в предыдущем запросе, тут была использована та же функция «Итоги».

 

 

 

Рисунок 5 - Запрос «Спортсменов оценённых судьей» в режиме «Конструктор»

 

Запрос  «Весовой учет»

 

Данный запрос относится к типу «Запрос на выборку» и предназначен для учета количества килограмм  сброшенных или набранных спортсменами в период между их последнем взвешиванием и взвешиваем на соревнованиях. В  данном запросе в качестве источника  присутствует лишь таблица «Спортсмены», из которой было задействовано 5 атрибутов, 3 из которых – это ФИО спортсменов  и 2 – это до и соревновательный вес. Для начала требовалось вычислить  разницу в массе спортсменов. В связи с этим была создана  такая формула:

 

[Спортсмены]![Вес до соревнований]-[Спортсмены]![Соревновательный  вес].

 

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

 

IIf([Спортсмены]![Вес до соревнований]-[Спортсмены]![Соревновательный  вес]>0;"Сбросил вес в кол-ве" & " " & [Разница между до- и соревновательным весом] & " " & "кг";IIf([Спортсмены]![Вес до соревнований]-[Спортсмены]![Соревновательный вес]=0;"Вес остался прежним";"Набрал вес в кол-ве" & " " & -[Разница между до- и соревновательным весом] & " " & "кг")).

 

Данная формула помогла сделать  вывод в текстовом варианте, используя  при этом в качестве источника  предыдущий столбец. Наглядным примером может послужить рисунок 6:

 

 

Рисунок 6 - Запрос «Весовой учет» в режиме «Конструктор»

 

На данном рисунке видно, что  в строке с отрицательным числом в четвертом столбце, в столбце  «Вывод» присутствует надпись «Набрал  вес …». В строке с положительным  числом - «Сбросил вес …». А в строке с нулевым значение: «Вес остался прежним». Все эти значения создает одна формула и любые последующие однородные записи будут автоматизированы в данном запросе. На основе его был создан первый отчет.

 

Отчет «Весовой отчет»

 

Данный отчет был создан на основе запроса «Весовой отчет» с помощью кнопки , которая расположена в закладке «Создание» на панели «Отчеты», что существенно облегчило процесс создания отчета, и ускорила его.  В режиме «Конструктор» был убран столбец «Разница между до- и соревновательным весом», который служил лишь в качестве источника создания конечной формулы. Вот как это в конечном счете выглядит(рис.7) :

 

 

Рисунок 7 – Отчет «Весовой отчет» в режиме «Представление отчета»

 

Так же в ходе работы над отчетом  «Весовой отчет» была разработана следующие  формулы для подсчета количества спортсменов, сбросивших вес, в период между последним взвешиванием и  взвешиванием непосредственно на самих  соревнованиях:

 

=Sum(IIf([Весовой учет]![Разница между  до- и соревновательным весом]>0;1)),

 

=Sum(IIf([Весовой учет]![Разница между  до- и соревновательным весом]=0;1)),

 

=Sum(IIf([Весовой учет]![Разница между  до- и соревновательным весом]<0;1)),

 

каждая из этих формул позволяет  вычислить кол-во спортсменов по следующим критериям: «Спортсменов, сбросивших вес», «Спортсменов, вес, которых остался прежним», «Спортсменов, набравших вес». Так же напротив этих вычисляемых полей, были созданы другие поля, со следующими формулами, которые в зависимости от количества спортсменов склоняет слово «Спортсмен» в нужные падежи, например:

 

=IIf([Поле78]=0;"Спортсменов";IIf([Поле78]=1;"Спортсмен";IIf([Поле78]<5;"Спортсмена";"Спортсменов"))).

 

Наглядным примеров 2-ух предыдущих видов формул послужит рисунок 8.

 

 

Рисунок 8 – Исполнение вычисляемых полей в отчете «Весовой отчет»

 

Запрос «Результаты до и после  соревнований»

 

Данный запрос был создан по аналогии с запросом «Весовой учет». В запросе были использованы 2 таблицы: «Спортсмены» и «Результаты», из которых были взяты следующие атрибуты: «ФИО» Спортсменов, «Максимально поднятый вес», «Результат». Первый уникальный столбец был назван Разница между соревновательным и досоревновательным результатом» с помощью формулы:

 

[Результат]-[Максимально поднятый  вес],

 

которая помогла найти разницу  между его результатом на соревнованиях и некогда зафиксированным максимально поднятым весом спортсмена. Следующий уникальный столбец «Вывод» был создан на основе предыдущего, в основу которого легла следующая формула:

 

IIf([Результат]-[Максимально поднятый  вес]>0;"Результаты улучшились  на" & " " & [Разница между  соревновательным и досоревновательным  результатом] & " " & "кг";IIf([Результат]-[Максимально  поднятый вес]=0;"Резуьтат остался  прежним";"Результаты ухудшились  на" & " " & -[Разница между  соревновательным и досоревновательным  результатом] & " " & "кг")).

 

На основе данного запроса был  создан отчет «Результаты до и  после соревнований», конечный вид  которого представлен на рисунке 9.

 

Информация о работе Реляционные СУБД