Автор работы: Пользователь скрыл имя, 07 Февраля 2014 в 09:02, курсовая работа
Цель курсовой работы: Создание БД «Прокат автомобилей»
Для достижения цели были поставлены следующие задачи:
Изучить и анализировать литературу.
Ознакомиться с предметной областью
Построить ER – модель.
Охарактеризовать СУБД для реализации БД.
Построить логическую модель БД.
Разработать проект и БД.
Создать объекты (запросы, отчеты, таблицы, формы).
Определить условия целостности.
Создать справку
Создать программную оболочку
Создать инсталляционный пакет.
Введение
Глава 1. Анализ БД
1.2 Описание предметной области
1.3 Инфологическая модель БД
1.4 Выбор СУБД
1.5 Логическое пректирование
Вывод к главе 1
Глава 2. Разработка
База данных «Прокат автомобилей»
2.1.1 Создание таблиц и заполнение их информацией
2.1.2 Создание связей между таблицами
2.1.3 Определение условий целостности данных
2.2. Создание форм, отчетов и запросов
Запросы
2.3 Обеспечение защиты от несанкционированного доступа
2.4 Создание меню проекта и программной оболочки
2.5 Создание справочной системы
2.6 Создание инсталляционного пакета
Вывод к главе 2
Список литературы
(таблица 8)
Вторая нормальная форма 2 НФ
Ключом отношения Клиенты (Clients) является комбинация полей (ID, Family, Dyers). Все поля не входящие в состав ключа, зависят только от идентификатора Clients. Поэтому отношение должно быть разбито на два: Клиенты и Клиенты – ФИО – Dyers Отношение Клиенты – ФИО – Dyers приведённое к 2НФ
(таблица 9)
Id |
Familiya |
Imya |
Otchestvo |
Dyers |
1 |
Громов |
Игорь |
Николаевич |
2 |
2 |
Ближина |
Мария |
Анатольевна |
5 |
3 |
Тимохин |
Степан |
Сергеевич |
6 |
Третья нормальная форма (3НФ)
Для отношения Клиенты (Clients) атрибут Accidents зависит от Result, а не от ключа. Поэтому для приведения отношения к 3НФ нужно выделить из него ещё одно отношение ДТП (таблица 10)
Id |
Accidents |
Result |
1 |
0 |
0% |
2 |
0 |
0% |
3 |
1 |
5% |
4 |
0 |
0% |
5 |
0 |
0% |
6 |
0 |
0% |
7 |
0 |
0% |
8 |
0 |
0% |
(таблица 10)
1НФ. Отношения данной БД не нарушают 1НФ, т.к. нет сложных атрибутов.
2НФ. Отношения данной БД примера не нарушают 2НФ, т.к. не ключевые атрибуты всех отношений функционально полно зависят от первичных ключей.
3НФ. Отношения данной БД нарушают 3НФ, т.к. есть транзитивные зависимости:
Перечислим ограничения целостности, которые не указаны в таблицах.
В прокате автомобиль или нет рациональнее хранить как вычисляемое поле, чтобы быстрее реализовывать поиск автомобилей.
Опишем для каждой группы пользователей права доступа к каждой таблице и к каждому полю (атрибуту).
Вывод к главе 1
Выполнив главу 1, я понял что, базы данных это средство для организации оптимизированного хранения, выборки и представления информации. Программное обеспечение, предназначенное для организации и ведения баз данных – это Система Управления Базами Данных. Таблицы составляют основу нашей БД. В них храниться вся необходимая информация. Для работы оптимальной СУБД является Visual FoxPro 9.0.
Глава 2. Разработка
Базы Данных «Прокат Автомобилей»
2.1 Проектирование БД.
При разработке БД «Прокат автомобилей» были созданы следующие таблицы, которые осуществляют информационную поддержку БД «Прокат автомобилей»:
Для начала создания БД «Прокат автомобилей», с помощью СУБД FoxPro
Необходимо запустьить приложение Microsoft Visual FoxPro. После программы в меню File, нужно кликнуть кнопку NEW. В результате появится окно New, в нем нужно выбрать вкладку Project. Будет предложено два варианта создания проекта: Вручную, либо же с помощью мастера. Выбираем вариант Wizard (с помощью мастера).
Для создания проекта с помощью мастера, требуется выполнить следующие действия:
В меню File выберите команду New (рис.1)
Рис. 1. Новый проект
Откроется диалоговое окно New, в котором нужно выбрать опцию Project и нажать кнопку Wizard.
Далее в поле ввода Project name необходимо задать имя создаваемого проекта, а в поле ввода Project file указать его расположение. Для выбора папки, в которой вы хотите разместить прект, можно использовать кнопку Browse, открывающую диалоговое окно, позволяющее найти на компьютере необходимую папку. При этом ставим флажок Create project directory structure, который позволяет автоматически создать в указанной папке проекта специализированные папки. На данном этапе создается База Данных (рис. 2)
Рси.2 Создание проекта
После определения имени файла и его расположения нажмите кнопку ОК для создания нового проекта. Мастер переходит к созданию нового проекта, и на экране появляется диалоговое окно построителя приложения Application Builder (рис. 3)
Рис.3. построитель изображения
Диалоговое окно содержит следующие вкладки:
General – основные параметры создаваемого проекта
Credits – информация об авторах проекта.
Data – Параметры создания баз данных и таблиц.
Form – информация о формах, входящих в проект.
Reports - информация об отчетах, входящих в проект.
Advanced – параметры создания справочной системы, меню проекта.
2.1.1 Создание таблиц и заполнение их информацией.
Следующим этапом проектирования базы данных является создание таблиц. Для того чтобы создать таблицы необходимо в окне Projet Manager выбрать вкладку Data, которая содержит ветви для работы с источниками данных, внеё входят базы данных, таблицы, свободные таблицы и запросы.
Ввыбрав вкладку New Table, создаем новую таблицу. Таблица может находиться в двух режимах:
Следующим шагом станет создание таблиц в базе данных «Прокат автомобилей» Таблицы эти уже продуманны на этапе «логического проектирования» и нам остается только перенести их в созданную базу данных. Начнем с сущности «Автомобили». Для этого создадим пустую таблицу и присвоим ей поля соответсвующии атрибутам сущности «Автомобили».
Рис.4. Поля таблицы Автомобили
Как видно по рисунку 4, каждому полю, мы присваиваем тип хранимых в нем данных (колонка Type) и размер его поля (Width).
Для полей, которые будут связывать наши таблицы, необходимо задать индексы (ключи) (рис.5). В таблице автомобили (cars) такими полями будут:
Рис.5. индексы таблицы «Автомобили».
Далее заполняем текстовой информацией таблицу «Автомобили» (рис. 6).
Рис. 6. Заполнение текстовой информацией таблицы «Автомобили»
Те же действия
проделали с оставшимися
Создадим
таблицу «Клиенты» и заполним
её полями(установив в них
Рис.7. Поля таблицы «Клиенты»
Рис.8. Индексы таблицы «Клиенты»
Заполним таблицу «Клиенты» записями (рис.9)
Рис.9. Заполнение таблицы «Клиенты»
Следующей создадим таблицу «Контракты» » и заполним её полями(установив в них необходимые типы данных) (Рис. 10)
Рис.10. Поля таблицы «Контракты»
Рис.11. Индексы таблицы «Контракты»
Рис.12. Заполнение таблицы «Контракты»
Следующей создадим таблицу «ДТП» » и заполним её полями(установив в них необходимые типы данных) (Рис. 13)
Рис.13. Поля таблицы «ДТП»
Рис.14. Индексы таблицы «ДТП»
Рис.15. Заполнение таблицы «ДТП»
В результате мы получаем пять таблиц (рис. 16)
Рис.16. БД»Прокат автомобилей».
2.1.2.
Создание связей между
Связать таблицы на FoxPro очень просто, но такая возможность должна быть заранее предусмотрена. Созданые нами таблицы, хотя и находяться в одной базе данных, по сути, ни как не связанны друг с другом и могут предоставить информацию, содержащуюся только в каждой по отдельности. Однако этого не доставточно для дальнейшей разработки базы данных и правильной работы формы, отчетов и запросов. Сначала следует соединить созданные таблицы, посредством связи (Рис.17).
Между таблицами «Клиент» и «Контракты» создаем связь один ко мноким, ткак как один клиент может заключить несколько контрактов.
Между таблицами «Контракты» и «ДТП» создаем связь один ко многим, т.к по одному контраку может быть несколько ДТП.
Между таблицами «Автомобили» и «Модели» создаем связь многие к одному, т.к много машин может быть одной модели.
В таблице «Контракты» и «Автомобили» связь многие к одному т.к много контрактов может быть на одну машину .
Рис.17. БД «Прокат автомобилей» со связями.
Установленные отношения между таблицами могут быть использованы для создания целостности данных.
2.1.3.
Определение условий
Целостность данных является одним из самых важных требований, предъявляемых к базам данных.
Целостность (от англ. Integrity – нетронутость, неприкосновенность, сохранность, цеостность) – понимается как правильность данных в любой момент веремени.
Для каждого действия (обновления, удаления и вставки) отведена отдельная вкладка, на которй перечисленнны доступные варианты поведения. При обновлении ключевого значения в родительской таблице можно применить следующие правила поведения.
При оформлении целостности данных в БД «прокат автомобилей» использовались свойства «Cascade» и «Restrict», т.к вся информация в базе данных тесно связанна между собой и необходимо её хранение после удаления значений. Например, если клиент был удален, то информация о нем должна оставаться. (рис.18)