Файл: Центросоюза российской федерации российский университет кооперации.docx
Добавлен: 10.01.2024
Просмотров: 178
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Соотношение АВТОМОБИЛИ:
В прокате автомобиль или нет рациональнее хранить как вычисляемое поле, чтобы быстрее реализовывать поиск автомобилей.
1.4.3. Описание групп пользователей и прав доступа
Опишем для каждой группы пользователей права доступа к каждой таблице и к каждому полю (атрибуту).
-
Администратор БД: имеет доступ ко всем данным (по записи), может изменять структуру базы данных и связи между отношениями. Устанавливает права доступа для всех остальных групп. -
Представители администрации компании: имеют доступ по чтению ко всем данным и доступ по записи к отношениям CARS, CLIENTS, CONTRACTS, ACCIDENTS, BRANDS, MODELS. -
Менеджеры: имеет доступ по чтению ко всем данным. Имеют доступ по записи к отношениям CARS, CLIENTS, BRANDS, MODELS, ACCIDENTS, CONTRACTS. -
Сотрудники, обслуживающие заказы (могут отсутствовать): имеет доступ по чтению и записи к отношениям CLIENTS, ACCIDENTS, CONTRACTS. -
Сотрудники, обслуживающие автомобили: имеют доступ по чтению к 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 указать его расположение. Для выбора папки, в которой вы хотите разместить проект, можно использовать кнопку обзор, открывающую окно проводника, позволяющее найти на компьютере необходимую папку. При этом ставим флажок 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. Откроется окошко, в котором не обходимо выбрать способ, каким создается форма: