Анализ предметной области и введение ограничений. Выделение базовых сущностей. Концептуальная модель данных. Построение схемы реляционной модели базы данных магазина одежды в третьей нормальной форме. Описание физической БД. Проектирование интерфейса.
Аннотация к работе
База данных - представленная в объективной форме совокупность самостоятельных материалов (статей, расчетов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ). 3) В оперативной памяти (англ. in-memorydatabase, memory-residentdatabase, mainmemorydatabase): все данные на стадии исполнения находятся в оперативной памяти. Использование баз данных в web индустрии позволяет более комфортно и быстро взаимодействовать с сайтом, облегчает работу администрации, дает пользователю больший комфорт при пользовании данным приложением. · Пользователь может заказать один и тот же товар в нескольких размерах · Зарегистрированные пользователи могут посмотреть список заказанных ими товаровКодадмина id int Not null, auto_incriment, primery key email email varchar Not null Пароль password varchar Not null имя name varchar Not null дата date date Not null ip ip varchar Not null Код категории id int Not null,auto_incriment, primery key название name varchar Not null Краткое описание Meta_description text Not null описание description text Not null картинка imge varchar Not null Дата заказа Date_zakaz date Not nullкод заказа If_ORDERINFO int Not null, Внешний ключ Дата удаления Date date Not null product код Id int Not null, auto_incriment, primery key Артикул Article int Not null название Name varchar Not null Дата Date date Not null Код размера Id_razmer Int Not null, Внешний ключ количество Count int Not null razmer код Id int Not null, auto_incriment, primery key название Name varchar Not nullДля боли комфортного управленияweb сайтом предусмотрено главное меню которое отображается на всех страничках одинаково и позволяет пользователю в любой момент получить доступ любой страничке сайта. При нажатии кнопкой мыши на пункте Весь товар будет выводиться список всех товаров. Таблица «order_status» предназначена для хранения списка заказанных товаров, количестве, размерах и пользователе заказавшем их Таблица «product» предназначена для хранения информации о товаре Таблица «user_description» предназначена для хранения данных о пользователе интерфейс база данные магазин$s = mysql_query("UPDATE category SET name = "".$_POST["name"]."", meta_description="".$_POST["METADESCRIPTION"]."", description="".$_POST["description"]."" } function main() {if(isset($_POST["add_category"])) {obrobotka::NEWCATEGORY();}//добавление новой категории if(isset($_POST["update_category"])) {obrobotka::UPDATECATEGORY();}//обновление категории if(isset($_POST["add_tovar"])) {obrobotka::ADDTOVAR();}//добавление нового товара if($_GET["delete"] == "cat") {obrobotka::DELETECATEGORY();} if($_GET["delete"] == "tovar") {obrobotka::DELETETOVAR();} if(isset($_POST["UPDATEORDERINFO"])) {obrobotka::UPDATEORDERINFO();} if(isset($_POST["add_razmer"])) {obrobotka::add_razmer();} if(isset($_POST["update_razmer"])) {obrobotka::update_razmer();} if(isset ($_POST["ENTERADMIN"])) {obrobotka::ENTERADMIN();} if($_GET["exit"] == "admin") {obrobotka::EXITADMIN();} VALUES ("".$_POST["category"]."", "".$_POST["articul"]."", "".$_POST["name"]."", "".$_POST["METADESCRIPTION"]."", "".$_POST["description"]."","".date("d-m-Y")."", "".$_POST["price"]."","".$uploadfile."")"); $s = mysql_query("UPDATE product SET id_cat="".$_POST["category"]."" articul="".$_POST["articul"]."", name="".$_POST["name"]."", meta_description="".$_POST["METADESCRIPTION"]."", description="".$_POST["description"]."", date="".date("d-m-Y")."", ,image="".$uploadfile."", price="".$_POST["price"]."" WHERE id="".$_POST["id"].
План
Содержание поля Имя поля Тип данных ПримечаниеСодержание поля Имя поля Тип данных ПримечаниеСодержание поля Имя поля Тип данных Примечание
Введение
База данных - представленная в объективной форме совокупность самостоятельных материалов (статей, расчетов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).
База данных - совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных.
Основные классификации БД: Классификация по модели данных: иерархическая, объектная и объектно-ориентированная, объектно-реляционная, реляционная, сетевая, функциональная.
Классификация по среде постоянного хранения: 1) Во вторичной памяти, или традиционная (англ. conventionaldatabase): средой постоянного хранения является периферийная энергонезависимая память (вторичная память) - как правило жесткий диск.
2) В оперативную память СУБД помещает лишь кеш и данные для текущей обработки.
3) В оперативной памяти (англ. in-memorydatabase, memory-residentdatabase, mainmemorydatabase): все данные на стадии исполнения находятся в оперативной памяти.
4) В третичной памяти (англ. tertiarydatabase): средой постоянного хранения является отсоединяемое от сервера устройство массового хранения (третичная память), как правило на основе магнитных лент или оптических дисков.
5) Во вторичной памяти сервера хранится лишь каталог данных третичной памяти, файловый кеш и данные для текущей обработки; загрузка же самих данных требует специальной процедуры.
Классификация по содержимому: географическая, историческая, научная, мультимедийная.
В данной курсовой работе для создания и работы с БД мы используем СУБД MYSQLSERVER. Данная СУБД относится к СУБД реляционного типа, база данных создавалась для web приложения .
Так же базы данных используются при разработки web приложений и являются неотъемлемой частью динамического сайта. Использование баз данных в web индустрии позволяет более комфортно и быстро взаимодействовать с сайтом, облегчает работу администрации, дает пользователю больший комфорт при пользовании данным приложением.
1. Анализ предметной области
Задачей курсовой работы является проектирование и разработка базы данных «Магазина продажи одежды».
Особенности: · Введение данных в БД осуществляется с админ зоны
· У каждого товара есть разные размеры, у каждого размера есть свое количество
· Пользователь может заказать один и тот же товар в нескольких размерах
· При добавление товара в корзину из количества на складе вычитается количество заказанных
· При удалении товара из корзины обновляются данные по количеству на складе
· Один пользователь может заказать несколько товаров в одном заказе
· Заказы могут производить как зарегистрированные так и не зарегистрированные пользователи
· Зарегистрированные пользователи могут посмотреть список заказанных ими товаров
· Администратор может просматривать все заказы которые находятся в обработке
· Из админ зоны можно распечатать чек по конкретному заказу
· Заказ. Атрибуты: №, адрес, телефон, имя заказчика, код товара, код продукта
· Пользователь. Атрибуты: логин, пароль, имя, телефон, дата регистрации
· Категория. Атрибуты: название, краткое описание, полное описание, картинка
· Товар. Атрибуты: № категории, артикул, название, краткое описание, полное описание, картинка, размер, количество
Функции БД: · Формирование чека
· Заказ товаров
· Добавление товаров в корзину
· Удаление товаров из корзины
· Регистрация пользователя
· Обновление данных пользователя
· Добавление нескольких размеров к одному товару
Готовые запросы
· Формирование списка популярных товаров
· Формирование списка товаров добавленных в течении недели
· Поиск товарам (по артикулу, названию, краткому и полному описанию)
· Формирование чека
Ограничения
· Нельзя заказать товара больше чем есть на складе
· Не зарегистрированный пользователь не может просматривать товары которые были заказаны ранее
Обслуживаются следующие группы пользователей
· Администратор
· Зарегистрированный пользователь
· Не зарегистрированный пользователь
2. Проектирование БД
2.1 Построение ER-диаграммы
На основе описанных в анализе предметной области аспектов БД построим концептуальную модель данных.
Рисунок 2.1- Концептуальная модель данных
На данном рисунке изображена модель предметной области «Магазин продажи одежды», состоящая из перечня взаимосвязанных понятий со своими свойствами, характеристиками и классификацией, используемых для описания данной области.
Для описания атрибутов, которыми обладают базовые сущности, и выделения ключевых сущностей составляется ER-диаграмма, изображенная на рисунке 2.2.
Рисунок 2.2- ER-диаграмма
2.2 Построение схемы реляционной модели БД в третьей нормальной форме
Особую роль при разработке базы данных играет нормализация, целью которой является устранение недостатков структуры базы данных, которые приводят к вредной избыточности в данных.
Отношение находится в третьей нормальной форме тогда и только тогда, когда оно содержит ключевые атрибуты, а атрибуты, являющиеся не ключевыми, являются взаимонезависимыми.
На отображенных ниже таблицах содержатся данные, находящиеся в третьей нормальной форме
Таблица 2.1 - «Category» id Name Meta_description description image
Докажем что она находится в 3НФ: в описанном отношении атрибут «id» является первичным ключом. От него не зависят другие поля таблицы, и с ним не существует транзитивных связей что, следовательно, доказывает нам то, что данная модель данных находится в третьей нормальной форме.
Данные правила также соблюдены для остальных описанных таблиц.
Таблица 2.2 - «admin_description» email password name date ip
Таблица 2.3 - «order_info» id name phone adress summa Date_zakaz Date_dostavki status
Таблица 2.4 - «order_status»
Id id_user id_product id_ORDERINFO id_razmer count date
Таблица 2.5 - «product» id id_cat article name meta_description description date imge price view
Таблица 2.6 - «product_razmer» id Id_product Id_razmer count
Таблица 2.7 - «razmer» id name
Таблица 2.3 - «user_description»
Id email password name phone ip
2.3 Описание физической БД
СУБД MYSQL server идеально подходит для разработки БД для «Магазин продажи одежды» так как эта среда моделирует среду установленную на хостингах и идеально подходит для отладки web приложения
Далее изобразим структуры таблиц для реализации данной БД, в формате содержание поля, имя поля, тип данных, примечание.
Таблица 2.4-Физическая модель базы данных
Вывод
В данном курсовом проекте была разработана БД «Магазин продажи одежды».
Были разработаны следуюшие таблици: «admin_description», «category», «order_info», «order_status», «product», «product_razmer», «razmer», «user_description». Для разграничения уровней пользования данными таблицами были созданы виртуальные таблицы.
В ходе разработки было создано меню для более комфортного использования БД.
В БД создано разграничение уровней доступа на 3 группы: Администратор, зарегистрированный пользователь, не зарегистрированный пользователь.
В разработанной базе данных были реализованы следующие функции: добавление новой категории товара, добавление нового товары в соответствующую категорию указанием размера и его количества на текущий момент. Для быстрого нахождения информация в базе данных реализован поиск по следующим параметрам: по артикулу, названию, краткому и полному описанию. Кроме того можно осуществлять выборку товаров по категории, выборка товаров добавленных за неделю, выборка популярных товаров(товар является популярным если он был заказан более 3 раз).
Для оформления заказа пользователь добавляет товары в корзину в которой пересчитывается полная стоимость заказа. Далее заполняется форма оформления заказа, после того как заказ оформлен отправляться письмо пользователю о том что добавлен новый заказ. При редактировании заказа (изменение даты доставки) отправляется письмо курьеру о том, какому пользователю и когда надо доставить конкретный заказ.
Так же администратор может распечатывать чек по конкретному заказу.
Перечень литературы
1. Государственный стандарт Украины. ДСТУ 3008-95 «Документация. Отчеты в сфере науки и техники. Структура и правила оформления»
2. ДЕЙТК.Дж. Введение в системы баз данных. - Москва - Санкт-Петербург - Киев. 2001, 1071с.
4. Гарсия-Молина, Гектор, Ульман, Джефри, Уидом, Дженифер. Системы баз данных. Полный курс.: Пере.санг. - М.: Издательский дом «Вильямс», 2003. - 1088с.
5. Томас М. Конноли, Каролин Е. Бегг. Базы данных. Проектирование, реализация, сопровождение. Теория и практика. - Москва - Санкт-Петербург - Киев, 2001. 1111с.
6. Глушаков С.В., Ломотько Д.В. Базы данных (Учебный курс). - Харьков, 2002. - 504с.
7. Чекалов А.П. Базы данных: от проектирования до разработки приложений. - Спб.; БХВ-Петербург, 2003. - 384с.
$m = mysql_query("SELECT * FROM category WHERE id="".$_GET["update"].""");
$mas = mysql_fetch_array($m);
echo " название краткое описание
".$mas["meta_description"]."
описание
".$mas["description"]."
картинка
";
} if($_GET["dalete"]){
$m =mysql_query("SELECT name,image FROM category WHERE id="".$_GET["dalete"].""");
$mas = mysql_fetch_array($m);
echo " if(confirm("Вы уверины что хотите удалить категорию - ".$mas["name"]."? При удалении данной категории удаляться все товары из данной категории")) { location = "main2.php?delete=cat&id=".$_GET["dalete"]."&img=../".$mas["image"]."";
} function __destruct(){ if(isset($connect)) mysql_close($connect);
}
//--------------------------------------------------------------- function NEWCATEGORY(){ if(!$_POST["name"] && !$_POST["METADESCRIPTION"] && !$_POST["description"]){ echo " alert("Заполнены не все обизательные поля. заполнети поля со *");
location = "category.php?add=1";
";
} if($_FILES["file"]["size"]<=0) { echo " alert("Вы не добавели файл. Поле явлаеться обизательным");
location = "category.php?add=1";
";
} include ("files.php");
mysql_query("INSERT INTO category (name, meta_description, description, image)
$s = mysql_query("UPDATE category SET name = "".$_POST["name"]."", meta_description="".$_POST["METADESCRIPTION"]."", description="".$_POST["description"].""
,image="".$file."" WHERE id="".$_POST["id"].""");
echo " alert("Категория успешно обновлена.");
location = "index.php";
";
} function DELETECATEGORY(){ unlink($_GET["img"]);
mysql_query("DELETE FROM category WHERE id="".$_GET["id"].""");
mysql_query("DELETE FROM product WHERE id_cat="".$_GET["id"].""");
echo " alert("Категория успешно удалена.");
location = "index.php";
";
}
//------------------------------------ function DELETETOVAR(){ mysql_query("DELETE FROM product WHERE id="".$_GET["id"].""");
mysql_query("DELETE FROM product_razmer WHERE id_product="".$_GET["id"].""");
echo " alert("товар успешно удален!");
location = "index.php";
";
} function UPDATEORDERINFO() { if($_POST["status"] == 1) { mysql_query("UPDATE order_info SET status="".$_POST["status"]."", date_dostavki="".$_POST["date"]."" WHERE id="".$_POST["id"].""");
$m = mysql_query("SELECT id, name, phone, adress, summa FROM order_info WHERE id="".$_POST["id"].""");
} function update_razmer() { mysql_query("UPDATE product_razmer SET count="".$_POST["count"]."" WHERE id_product="".$_POST["id_product"]."" AND id_razmer="".$_POST["id_razmer"].""");
} function UPDATECATEGORY(){ include ("files.php");
$s = mysql_query("UPDATE category SET name = "".$_POST["name"]."", meta_description="".$_POST["METADESCRIPTION"]."", description="".$_POST["DISCRIPTIONCAT"].""
,image="".$uploadfile."" WHERE id="".$_POST["id"].""");
} function DELETECATEGORY(){ mysql_query("DELETE FROM category WHERE id="".$_GET["id"].""");
mysql_query("DELETE FROM product WHERE id_cat="".$_GET["id"].""");
}
//------------------------------------ function ADDTOVAR(){ if (!$_POST["articul"] && !$_POST["name"]) { header("Location:".$_SERVER["http_referer"]."?error=1");