Главная страница
Навигация по странице:

  • Вывод к главе 1

  • Глава 2. Разработка

  • 2.1.1 Создание таблиц и заполнение их информацией.

  • 2.1.2. Создание связей между таблицами

  • 2.1.3. Определение условий целостности данных.

  • 2.2. Создание форм, отчетов, запросов.

  • бд. 5fan_ru_Прокат автомобилей. База данных БД. бд Прокат автомобилей


    Скачать 1.61 Mb.
    Названиебд Прокат автомобилей
    Дата12.09.2022
    Размер1.61 Mb.
    Формат файлаdocx
    Имя файла5fan_ru_Прокат автомобилей. База данных БД.docx
    ТипКурсовая
    #674025
    страница4 из 5
    1   2   3   4   5

    Автомобили




    Клиенты

    ДТП

    Контракты














    Модель




    1.4.2. Определение дополнительных ограничений целостности


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

    1. Значения всех числовых атрибутов – больше 0 (или null, если атрибут необязателен).

    2. quality в cars и result в accidents не могут превышать 100, т.к. они означают %.

    3. Цвет (color) в cars – элемент списка цветов автомобилей.

    4. Год выпуска (year_of_issue) в cars не может быть меньше 1998 и не может превышать 2050.

    Денормализация

    Соотношение КЛИЕНТЫ:

    Рейтинг клиента и кол-во аварий лучше хранить как вычисляемые поля, т.к. это рациональнее с точки зрения реализации поиска постоянных клиентов и расчета скидки при заказе.

    Соотношение АВТОМОБИЛИ:


    В прокате автомобиль или нет рациональнее хранить как вычисляемое поле, чтобы быстрее реализовывать поиск автомобилей.

    1.4.3. Описание групп пользователей и прав доступа


    Опишем для каждой группы пользователей права доступа к каждой таблице и к каждому полю (атрибуту).

    1. Администратор БД: имеет доступ ко всем данным (по записи), может изменять структуру базы данных и связи между отношениями. Устанавливает права доступа для всех остальных групп.

    2. Представители администрации компании: имеют доступ по чтению ко всем данным и доступ по записи к отношениям CARS, CLIENTS, CONTRACTS, ACCIDENTS, BRANDS, MODELS.

    3. Менеджеры: имеет доступ по чтению ко всем данным. Имеют доступ по записи к отношениям CARS, CLIENTS, BRANDS, MODELS, ACCIDENTS, CONTRACTS.

    4. Сотрудники, обслуживающие заказы (могут отсутствовать): имеет доступ по чтению и записи к отношениям CLIENTS, ACCIDENTS, CONTRACTS.

    5. Сотрудники, обслуживающие автомобили: имеют доступ по чтению к CARS и MODELS.

    Вывод к главе 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, создаем новую таблицу. Таблица может находиться в двух режимах:

    • В режиме Modify, где указывается название полей их типы и размеры, а также определяется тип индекса. (Рис. 4)

    • В режиме Drowse, предназначенный для заполнения таблицы текстовой информацией. Для того чтобы ввести в таблицу данные нужно воспользоваться сочетанием клавиш CTRL+Y.

    Следующим шагом станет создание таблиц в базе данных «Прокат автомобилей» Таблицы эти уже продуманны на этапе «логического проектирования» и нам остается только перенести их в созданную базу данных. Начнем с сущности «Автомобили». Для этого создадим пустую таблицу и присвоим ей поля соответсвующии атрибутам сущности «Автомобили».

    • номер машины в базе

    • номер модели в базе

    • цвет автомобиля

    • статус

    • регистрационный номер авто



    Рис.4. Поля таблицы Автомобили

    Как видно по рисунку 4, каждому полю, мы присваиваем тип хранимых в нем данных (колонка Type) и размер его поля (Width).

    Для полей, которые будут связывать наши таблицы, необходимо задать индексы (ключи) (рис.5). В таблице автомобили (cars) такими полями будут:

    • ID (номер машины в базе) – первичный ключ. Это поле основное в таблице, по индексу которого таблица «Автомобили», будет связанна с таблицей «Контракты»

    • Model id (номер модели в базе) – вторичный ключ. Используется для связи с сущностью «Модели».



    Рис.5. индексы таблицы «Автомобили».
    Далее заполняем текстовой информацией таблицу «Автомобили» (рис. 6).



    Рис. 6. Заполнение текстовой информацией таблицы «Автомобили»

    Те же действия проделали с оставшимися сущностями.

    Создадим таблицу «Клиенты» и заполним её полями(установив в них необходимые типы данных) (Рис. 7)



    Рис.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 (Ограничить). Если в дочерней таблице есть связанные записи (т.е существуют записи с текущим значением родительского ключа), то FoxPro запрещает обновление родительского ключа.

    • Ignore (Игнорировать). При выборе данной опции система прекращает следить за соблюдением правил ссылочной целостности и разрешает обновление родительского ключа независимо от наличия связанных записей в дочерних таблицах.

    При оформлении целостности данных в БД «прокат автомобилей» использовались свойства «Cascade» и «Restrict», т.к вся информация в базе данных тесно связанна между собой и необходимо её хранение после удаления значений. Например, если клиент был удален, то информация о нем должна оставаться. (рис.18)



    Рис.18. Условия целостности БД»прокат автомобилей».

    2.2. Создание форм, отчетов, запросов.

    В большинстве случаев основным звеном программы является форма. Именно посредством форм пользователь оперирует данными – вводит и модифицирует их. По большому счету, форма –вот и все что видит пользователь

    в проводимое за работой с программой время.

    Для создания формы открываем вкладку Documents, выделяем Forms и нажимаем на кнопку New. Откроется окошко, в котором не обходимо выбрать способ, каким создается форма:

    • Wizard – быстрый способ создания формы со стандартным набором кнопок, стилем и простым в обращении.

    • New form – более долгий, но точный способ создания, в котором пользователь сам создает форму

    Выбираем Wizard и создаем форму для таблицы Автомобили. Переносим необходимые нам поля для отображения (ри.19)



    Рис.19. Выбор полей.

    Далее выбираем стиль оформления и набор кнопок (рис.20)



    Рис.20. Внешний вид формы

    На следующем шаге задаем сортировку (Рис.21)



    Рис.21 Выбор порядка вывода строк

    В конце сохраняем нашу форму в папке Forms (рис. 22)



    Рис.22 Сохранение формы.

    Так выглядит конечная форма (рис.23)



    Рис. 23 Конечная форма

    Таким же способом были реализованы формы для таблиц клиенты, контракты, модели, аварии (рис. 24).







    Рис. 24. Формы типа аварии, клиенты, контракты, модели

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

    Для создания отчета также открываем Documents, однако выбираем уже Reports и нажимаем New.. .Выбираем Wizard и создаем отчет для таблицы водитель, что бы распечатать информацию о водителях. Выбираем поля и способ сортировки (рис- 25).



    Рис.25. Выбор полей и сортировка в отчете

    В ыбираем стиль и ориентацию отчета, сохраняем наш отчет в папку Reports и запускаем (рис. 26).
    Рис. 26. Отчет о автомобилях

    Также был создан второй отчет о клиентах (рис. 27).

    Р ис.27. Отчет о клиентах.



    Запросы - это объект базы данных, который служит для извлечения данных из таблиц и предоставления их пользователю в удобном виде.

    Для создания запроса выбираем вкладку Data, а в ней поле Query. Также выбираем New query. Добавляем таблицу автомобили, и на ее основе создаем запрос, на автомобили которые находятся в гараже (рис. 28).



    Рис.28. Запрос на автомобили
    1   2   3   4   5


    написать администратору сайта