Выявление сущностей, связей, модели работы магазина и ее предпосылок. Построение модели базы данных, ее внутренняя структура и требования к функциональности. Разработка запросов, осуществляющих поиск и вывод необходимой информации для пользователя.
Аннотация к работе
Таким образом, целью работы было спроектировать базу данных, удобную для автоматизации учета транзакций и учета поведения пользователей и сделать возможным ее редактирование через интернет; база должна предоставлять пользователю наиболее полные данные об имеющихся в наличии автомобилях, отвечать специфике центра по продаже автомобилей в целом. Были поставлены следующие задачи: · Анализ предметной области (выявление сущностей, связей, модели работы магазина и ее предпосылок); · Разработка запросов, позволяющих осуществить поиск и вывод необходимой информации для пользователя; В центре по продажам существует каталог товаров - автомобилей; каждая модель может быть представлена в одном или нескольких экземплярах (одинаковых или различных) Покупатель регистрируется на сайте и делает заказ, после чего ему рассчитывается сумма заказа и заказанные автомобили удаляются из базы. Order-Car - один заказ может содержать несколько машин, связь 1:МВ результате прохождения учебной практики был создан сайт, способный выполнять все поставленные задачи, а именно просматривать и редактировать базу данных, загруженную на локальный сервер.`IDCUSTOMER` INT NOT NULL AUTO_INCREMENT, `Name` VARCHAR(45) NOT NULL, `Surname` VARCHAR(45) NOT NULL, `E-mail` VARCHAR(45) NOT NULL, `Adress` VARCHAR(45) NULL, `PHONENUM` VARCHAR(45) NOT NULL, `Login` VARCHAR(45) NOT NULL, `Passwd` VARCHAR(45) NOT NULL, PRIMARY KEY (`IDCUSTOMER`)) `IDORDER` INT NOT NULL, `Date` DATE NULL, `Sum` VARCHAR(45) NULL, `Customer_IDCUSTOMER` INT NULL, PRIMARY KEY (`IDORDER`), INDEX `fk_Order_Customer1_idx` (`Customer_IDCUSTOMER` ASC), CONSTRAINT `fk_Order_Customer1` CREATE TABLE `mydb2`.`Engine` ( `IDCAR` INT NOT NULL AUTO_INCREMENT, `Brand_BRANDNAME` VARCHAR(45) NOT NULL, `Model` VARCHAR(45) NOT NULL, `Gearbox` VARCHAR(2) NOT NULL, `Engine_IDENGINE` INT NOT NULL, `VEHICLETYPE_IDTYPE` INT NOT NULL, `Colour` VARCHAR(45) NOT NULL, `Order_IDORDER` INT NULL, `Condition_Damaged` VARCHAR(3) NOT NULL, PRIMARY KEY (`IDCAR`), INDEX `fk_Car_Order1_idx` (`Order_IDORDER` ASC), INDEX `fk_Car_Brand1_idx` (`Brand_BRANDNAME` ASC), INDEX `fk_Car_Condition1_idx` (`Condition_Damaged` ASC), INDEX `fk_Car_Engine1_idx` (`Engine_IDENGINE` ASC), INDEX `fk_Car_VEHICLETYPE1_idx` (`VEHICLETYPE_IDTYPE` ASC), CONSTRAINT `fk_Car_Order1` {echo "location.replace («/denwer/aut.
Введение
В рамках выполнения практики необходимо разработать WEB-интерфейс под базу центра по продаже автомобилей. Таким образом, целью работы было спроектировать базу данных, удобную для автоматизации учета транзакций и учета поведения пользователей и сделать возможным ее редактирование через интернет; база должна предоставлять пользователю наиболее полные данные об имеющихся в наличии автомобилях, отвечать специфике центра по продаже автомобилей в целом. Так же в рамках учебной работы база не перегружалась обилием данных.
Были поставлены следующие задачи: · Анализ предметной области (выявление сущностей, связей, модели работы магазина и ее предпосылок);
· Построение модели базы данных;
· Разработка запросов, позволяющих осуществить поиск и вывод необходимой информации для пользователя;
· Разработка запросов, позволяющих добавлять, удалять и редактировать информацию;
· Разработка WEB-интерфейса для данной БД
1. Описание предметной области пользователь запрос продажа автомобиль
Описание модели работы центра по продажам и ее предпосылок
В центре по продажам существует каталог товаров - автомобилей; каждая модель может быть представлена в одном или нескольких экземплярах (одинаковых или различных) Покупатель регистрируется на сайте и делает заказ, после чего ему рассчитывается сумма заказа и заказанные автомобили удаляются из базы.
Описание сущностей
PK - Primary Key; FK - Foreign Key
Car
Поле Описание поля Тип данных
IDCAR(PK) Идентификационный номер INT
Model Модель VARCHAR(45)
Gearbox Тип КПП VARCHAR(2)
Colour Цвет VARCHAR(45)
Order_IDORDER(FK) Связующее поле INT
Brand_BRANDNAME(FK) Связующее поле VARCHAR(45)
VEHICLETYPE_IDTYPE(FK) Связующее поле VARCHAR(45)
Engine_IDENGINE(FK) Связующее поле VARCHAR(3)
Condition_Damaged(FK) Связующее поле VARCHAR(3)
Brand
ПОЛЕОПИСАНИЕ ПОЛЯТИП данных
BRANDNAME(PK) Название VARCHAR(45)
Country Страна-производитель VARCHAR(45)
Customer
ПОЛЕОПИСАНИЕ ПОЛЯТИП данных
IDCUSTOMER Идентификационный номер INT
Name Имя клиента VARCHAR(45)
Surname Фамилия клиента VARCHAR(45)
E-mail Электронный адрес VARCHAR(45)
Adress Адрес доставки VARCHAR(45)
Phone Телефон VARCHAR(45)
Login Логин VARCHAR(45)
Passwd Пароль VARCHAR(45)
Condition
ПОЛЕОПИСАНИЕ ПОЛЯТИП данных
Damaged (PK) Индикатор поврежденных автомобилей VARCHAR(3)
Mileage Пробег VARCHAR(45)
Engine
Поле Описание поля Тип данных
IDENGINE Идентификационный номер INT
ENGINETYPE(PK) Тип двигателя VARCHAR(3)
CUBICCAPACITY Объем двигателя INT
Horsepower Мощность двигателя INT
FUELTYPE Тип топлива VARCHAR(45)
VEHICLETYPE
Поле Описание поля Тип данных
IDTYPE(PK) Идентификационный номер INT
Type Тип автомобилей VARCHAR(45)
DOORNUM Колво дверей INT
Order
Поле Описание поля Тип данных
IDORDER (PK) Идентификационный номер INT
Date Дата покупки DATE
Sum Сумма к оплате VARCHAR(45)
Customer_IDCUSTOMER(FK) Связующее поле VARCHAR(45)
Описание связей между сущностями
Brand-Car - под брендом может выпускаться неограниченное количество разных автомобилей, связь 1:М
Customer-Order - от одного покупателя может поступать неограниченное колво заказов, связь 1:М
Order-Car - один заказ может содержать несколько машин, связь 1:М
VEHICLETYPE-Car - несколько машин могут быть одинакового типа, связь 1:М
Condition-Car - несколько машин могут быть одинакового состояния, связь 1:М
Engine-Car - несколько машин могут иметь одинаковые двигатели, связь 1:М
2. Описание структуры БД
Модель базы данных
По имеющимся описаниям сущностей и связей в редакторе MYSQL Workbench была создана модель, проиллюстрированная нижеследующей диаграммой:
Погружение в Mysql Workbench
Создание базы
Для создания базы было установлено соединение по адресу 127.0.0.1 и именем пользователя root@localhost
На начальный момент база содержала семь пустых таблиц, что подтверждали соответствующие запросы
Работа с запросами к базе
1) SELECT * FROM ((mydb2. Car inner join mydb2. Engine on Car. Engine_IDENGINE = Engine.IDENGINE)
INNER JOIN mydb2. VEHICLETYPE ON Car. VEHICLETYPE_IDTYPE = VEHICLETYPE.IDTYPE)
INNER JOIN mydb2. Condition ON Car. Condition_Damaged = Condition. Damaged
4) DELETE FROM mydb2. Car WHERE Car.IDCAR = $data["IDCAR"]
3. Описание структуры и функционирования сайта
Начальная страница авторизации, если пользователь не авторизован, он не может зайти на другие страницы кроме регистрации
Страница регистрации
Главная функциональная страница сайта, с нее осуществляется доступ на все остальные страницы. Таблица автомобилей появляется после нажатия на кнопку «Просмотреть базу автомобилей»
Главная страница после нажатия на кнопку «Добавить в базу»
Страница обратной связи
Страница About
4. Описание основной страницы
Основная страница позволяет осуществлять просмотр, поиск, редактирование (добавление и удаление), а также переадресация на страницы обратной связи, информации о сайте и выходить из учетной записи
Просмотр базы
Удаление из базы производится посредством установки галочки напротив нужного объекта и нажатия кнопки «Удалить выбранные объекты».
Добавление в базу
Поиск по базе производится после ввода символов в запрос поиска.
Вывод
В результате прохождения учебной практики был создан сайт, способный выполнять все поставленные задачи, а именно просматривать и редактировать базу данных, загруженную на локальный сервер.
Несомненно, для реального использования необходимо более детально и реалистично проработать модель работы центра по продаже, учесть в ней возможные риски, динамику, взаимодействие поставщиками и т.д.