Проектирование реляционной базы данных "Электронный краевед"
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
±лиц (Код_Времени, Код_Места, Код_Личности). Получили вторую НФ. Запишем оставшиеся зависимые от первичного ключа атрибуты для таблицы События.
КодПричинаОписаниеМестоВремяЛичность
Рассмотрим неключевые атрибуты. Очевидно, они друг с другом не связаны, значит таблица находится в 3 НФ.
Таким же образом преобразовывались другие таблицы, избыточность данных в которых будет отсутствовать. Ключи в таблицах неповторяемы, поскольку используется тип данных Счетчик.
.3 Ключи и ограничение целостности данных
Отношения в базе данных будут строится на основе первичных ключей представленных в виде Кода. Все связи один-ко-многим показаны на ER-диаграмме. (рисунок 2)
К примеру, осуществляется связь один-ко-многим внешнего ключа время в таблице население и первичного ключа Код времени в таблице Времена, то есть в одно время может жить несколько населений.
Ограничение целостности осуществляется так же на уровне этих связей. К примеру, при удалении или внесении изменений в таблицы Место, Время, Населенный пункт, Личность, удаляться или изменяться соответствующие данные в таблице События или Место (при внесении изменений в таблицу Населенный пункт.
Для осуществления целостности, необходимо, чтобы каждому конкретному значению внешнего ключа соответствовал кортеж связанной таблицы с соответствующим значением первичного ключа. К примеру, для обозначения времени события, необходимо сначала создать связанную запись в таблице Времена, а уже потом создавать запись в таблице События.
5. ФИЗИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
Произведем ввод данных в таблицы отношения. Схема отношения приведена на рисунке 3.
Рисунок 3 - Схема отношений БД Электронный краевед
Ниже приведены данные таблицы Времена, на данных которых основываются большинство других таблиц.
Рисунок 4 - таблица Времена
.1 Составление форм для администратора
Главной формой является кнопочная, из которой пользователь или администратор попадает на нужную форму редактирования данных (для администратора), или на формы, через которые осуществляется доступ к запросам или отчетам (для пользователей).
Рисунок 5 - Главная кнопочная форма
При использовании базы данных администратором используются формы для редактирования данных таблиц. Они были введены для более удобного, интуитивно понятного ввода и поиска конкретных данных о времени, событии, месте и т.д. Доступ к таким формам осуществляется путем нажатия на левые кнопки главной кнопочной формы. К примеру, ниже приведена форма для редактирования таблицы Население.
Рисунок 6 - Форма для редактирования таблицы Население
На форме присутствуют кнопки: Закрыть, Удалить запись, Добавить запись, Найти запись, Подтверждение ввода. С помощью вкладки Время есть возможность выбора конкретного времени из таблицы Времена. Аналогично устроены формы для редактирования других таблиц.
.2 Составление форм, запросов и отчетов для пользователей
С помощью правого столбика кнопок на кнопочной форме осуществляется доступ к формам запросов и отчетам.
Перечень событий.
С помощью кнопки Перечень событий осуществляется доступ к подробному перечню событий, который основан на запросе с левым объединением. Более конкретное событие можно найти с помощью фильтра.
Рисунок 7 - Пользовательская форма событий, основанных на запросе
Рисунок 8 - Запрос на события.
Запрос с левым объединение использован для того, чтобы не исключались данные с невведенными значениями времени, места или личности. Таким образом выводятся все записи таблицы События с уточнениями из других таблиц, если таковые имеются.
События периода
Рисунок 9 - Форма для отображения событий, произошедших за период времени.
Рисунок 10 - Отчет выведенных данных.
Рисунок 11 - Запрос для отображения событий, произошедших за период времени.
Как видно из запроса, данные период необходимых дат берется из полей Поле1 и Поле3 (помечены От и До на форме), за счет чего осуществляется связь формы и запроса. Для того, чтобы запрос обновлялся после введения периода в полях, в обработчике событий кнопки подтверждения был написан код, обновляющий подчиненную форму с запросом:Sub Кнопка7_Click().подчиненная_форма_Период.RequerySub
Выбор события.
Выбор события по месту и личности осуществляется аналогично предыдущему способу выборки. Выборка может осуществляться по части текста названия места или личности благодаря условию отбора в запросе:"*" & [Forms]![Выбор_места]![Поле] & "*"
Рисунок 12 - Форма и запрос для получения данных о событиях по заданному месту
Отчет перечня населенных пунктов
Отчет основан на запросе, благодаря которому названия населенных пунктов выводятся в алфавитном порядке.
Рисунок 13 - Населенные пункты
Запрос места в населенном пункте
Выводится обработчиком событий:.OpenQuery "места в населенном пункте"
После введения параметра (названия населенного пункта) выводится данные ?/p>