Разработка интернет-магазина мебели

 

Введение


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

В современном мире обычно для обработки данных используются различные СУБД. Одной из наиболее распространенных СУБД является MySQL. Она проста в администрировании, неприхотлива к ресурсам и может быть установлена на персональный компьютер с небольшим объёмом памяти. Основные достоинства СУБД MySQL: бесплатность, простота, быстродействие, надёжность. СУБД MySQL обладает всеми необходимыми функциональными возможностями.



1.Описание предметной области


.1 Название организации

программа интернет магазин

Мебельный магазин «Империя»


.2 Адрес и телефон организации


Амурская область, Благовещенский район, г. Благовещенск, ул. Мухина 112/3, тел: 8 (963) 8177181


.3 Виды деятельности организации


Продажа мебели и изготовление мебели под заказ. Осуществляются как розничные продажи, так и оптовые.


.4 Положение на рынке


Магазин «Империя» осуществляет свою работу на рынке более 5 лет. Цель магазина - продажа и производство качественной дизайнерской мебели по доступным ценам для потребителей. За время своей работы магазин «Империя» установил тесные партнерские отношения с крупнейшими поставщиками и ведущими мировыми производителями мебели.



1.5 Организационная структура



Директор: Осуществляет общее руководство всеми направлениями деятельности магазина, определяет цели и задачи его развития, контролирует и руководит деятельностью коллектива.

Производственный отдел: В этом отделе разрабатывается и создается мебель под заказ, а так же в штат входят грузчики и сборщики мебели.

Отдел продаж: В этом отделе разрабатываются стратегии и реклама по продажам. Осуществляется сотрудничество с поставщиками и оформление заказов. Продавцы непосредственно консультируют покупателей и продают уже готовую мебель, а так же предлагают услуги дизайнера.

Бухгалтерия: В этом отделе один сотрудник - главный бухгалтер, который производит все расчеты, ведет счета, а так же начисляет заработную плату.

Технический персонал: В этом отделе состоят сотрудники, которые отвечают за чистоту и порядок в магазине, а так же своевременно устраняют технические и косметические неполадки.


1.6 Основные тенденции развития организации


Магазин «Империя» хоть и довольно молодая компания на рынке, но уже активно развивается и постоянно ведет работу по совершенствованию скорости и качества обслуживания покупателей.

Основные принципы, которых придерживается компания в своей работе:

) Только качественная мебель

) Широкий ассортимент

) Квалифицированное обслуживание

) Удобное расположение магазина

) Выгодные условия покупки

) Опыт работы


1.7Границы исследования, границы предметной области


Проектируемая база данных будет предназначена для упрощения работы директора магазина, сокращая время на оформление документов и поиск необходимой информации, а так же для сотрудников магазина, позволяя контролировать наличие товара на складе и в магазине, а так же вести учет покупателей с дисконтными картами. Позволяет так же следить за качеством товара.


.8 Цели построения базы данных


Целью построения базы данных - это учёт товара, выдача данных о поставщиках и поставляемых ими товарах, данные об обладателях дисконтных карт, данные о сотрудниках магазина.


1.9 Требования заказчика


1)Учет товара (наличие товара в магазине и на складе)

)Данные о заказах мебели (Узнать информацию об оформленных заказах, их цене и сроках выполнения.)

)Данные о сотрудниках (Узнать информацию о сотрудниках, времени зачисления на работу, количество сотрудников, вывести с указанием должности и времени приема на работу сотрудников магазина в алфавитном порядке)

)Данные о поставщиках:)Узнать сведения об интересующих поставщиках и поставляемых ими товарах, а также ценах на эти товары.

b)Вывести информацию о поставщиках в алфавитном порядке, зарегистрированных в Благовещенске с указанием адреса.

5)Данные о производителях (Узнать сведения о производителях товаров.)

)Данные об обладателях дисконтных карт (Узнать информацию об обладателях дисконтных карт, их процентной ставке и Ф.И.О. сотрудника оформившего карту.)



2. Инфологическое проектирование


.1 Определение сущностей


На основании проведенных исследований предметной области и учёта структуры магазина, были выделены следующие сущности, необходимые для построения информационной базы. Все сущности приведены в таблице 1.


Таблица 1 - Формирование сущностей

Название сущностиОписание сущностиКоличество экземпляровСотрудникисодержит информацию обо всех работающих в магазине сотрудниках20Типы товаров (категории)содержит информацию о наименовании и коде типа мебели50Товарысодержит описание всех имеющихся товаров, на складе и в магазине1000Заказ мебелиСодержит информацию о заказах дизайнерской мебели100Поставщикисодержит информацию обо всех поставщиках товаров10Обладатели дисконтных картСодержит информацию о покупателях, которые оформили дисконтную карту100Производителисодержит информацию о производителях мебели10

.2 Описание атрибутов


Таблица 2 - Атрибуты сущности «Сотрудники»

Название атрибутаОписание атрибутаДиапазон значенийЕдиница измеренияПримерКодСотрудникаКод сотрудника1, 2, …-1Ф.И.О.Фамилия, Имя, Отчество сотрудника--Иванов Иван ИвановичДатаРожденияДата рождения сотрудника-число, месяц, год11.05.1989АдресУлица, дом, квартира-улица, дом, квартираул. Василенко, д. 16, кв. 12ТелефонТелефон сотрудника--56-25-64ДолжностьДолжность сотрудника--Продавец-консультантДатаПриемаДата приема сотрудника на работу-число, месяц, год08.04.2010

Данная сущность идентифицируется атрибутом КодСотрудника, он является и первичным ключом таблицы. В сущности не используются ограничения. Сущность «Сотрудники» является родительной по отношению к таблице «Обладатели дисконтных карт». Эти сущности связаны отношением «один по многим», т.к. один сотрудник может оформить несколько дисконтных карт. Также сущность сотрудники является родительной таблицей по отношению к сущностям «Заказ мебели» и «Товары». Эти сущности связаны отношением «один ко многим», т.к. один сотрудник оформляет несколько заказов мебели и один сотрудник может продать несколько товаров.


Таблица 3 - Атрибуты сущности «Типы товаров»

Название атрибутаОписание атрибутаДиапазон значенийЕдиницы измеренияПримерКодТипаКод типа1,2, …-11НаименованиеНазвание типа--Стулья

Данная сущность идентифицируется атрибутом КодТипа, он является и первичным ключом таблицы. В сущности не используются ограничения. Сущность «Типы товаров» является родительной по отношению к таблице «Товары». Эти сущности связаны отношением «один по многим», т.к. один тип товаров может включать несколько товаров.



Таблица 4 - Атрибуты сущности «Товары»

Название атрибутаОписание атрибутаДиапазон значенийЕдиницы измеренияПримерКодТтовараКод товара1,2, …-3Тип мебелиТип мебели--СтульяНазваниеНаименование мебели--«Модерн»Количество на складеКоличество товара на складе0,1,2, …-20Количество в магазинеКоличество товара в магазине0,1,2, …-4ПоставщикНазвание поставщика--«Амурмебель»ПроизводительНазвание производителя--КитайЦенаСтоимость товара1,2, …руб.1500

Сущность Товар идентифицируется атрибутом «КодТовара», он же является первичным ключом. Данная таблица связана с сущностями «Производители», «Поставщики», «Типы товара» и «Сотрудники» отношением «многие к одному». Соответственно сущность «Товар» является дочерней по отношению к перечисленным сущностям. Соединение сущностей производится по соответствующим внешним ключам, например, сущность «Товар» и сущность «Сотрудники» связаны при помощи внешнего ключа таблицы «Товар» Idsot ссылающегося на первичный ключ таблицы «Сотрудники» (Idsot).


Таблица 5 - Атрибуты сущности «Заказ мебели»

Название атрибутаОписание атрибутаДиапазон значенийЕдиницы измеренияПримерКодЗаказаКод заказа0,1,2, …-058Описание заказаКраткое описание заказа--Кухонный гарнитур «Модерн»ДатаОформленияДата оформления заказа-Число, месяц, год05.06.2013ДатаИсполненияДата исполнения заказа-Число, месяц, год28.06.2013ЦенаЗаказаЦена заказа-руб.25000

Сущность Заказ мебели идентифицируется атрибутом «КодЗаказа», он же является первичным ключом. В сущности не используются ограничения. Сущность «Сотрудники» является дочерней по отношению к сущности «Заказ мебели». Эти сущности связаны отношением «один по многим», т.к. один сотрудник может оформить несколько заказов.


Таблица 6 - Атрибуты сущности «Поставщики»

Название атрибутаОписание атрибутаДиапазон значенийЕдиницы измеренияПримерКодПоставщикаКод поставщика1,2, …-1НазваниеНаименование поставщика--«Амурмебель»АдресАдрес фирмы-поставщика--Г. Благовещенск, ул. Ленина 12/3ТелефонНомер телефона--56-96-46

Данная сущность идентифицируется атрибутом КодПоставщика, он является и первичным ключом таблицы. В сущности не используются ограничения. Сущность «Поставщики» является дочерней по отношению к сущности «Товары». Эти сущности связаны отношением «один ко многим», т.к. один поставщик может постовлять несколько товаров.


Таблица 7 - Атрибуты сущности «Обладатели дисконтных карт»

Название атрибутаОписание атрибутаДиапазон значенийЕдиница измеренияПримерКодОбладателяКод обладателя дисконтной карты0,1, 2, …-014Ф.И.О.Фамилия, Имя, Отчество обладателя дисконтной карты--Петров Петр ПетровичДатаРожденияДата рождения обладателя дисконтной карты-число, месяц, год25.09.1973ТелефонТелефон обладателя дисконтной карты--89638252892Процентная ставкаПроцентная ставка дисконтной карты--4%

Сущность «Обладатели дисконтных карт» идентифицируется атрибутом «КодОбладателя», он же является первичным ключом. Данная таблица связана с сущностью «Сотрудники» отношением «многие к одному». Соответственно сущность «Обладатели дисконтных карт» является исходной по отношению к сущности «Сотрудники».


Таблица 8 - Атрибуты сущности «Производители»

Название атрибутаОписание атрибутаДиапазон значенийЕдиница измеренияПримерКодПроизводителяКод производителя0, 1, 2, …-06ИмяПроизводителяНазвание производителя--«Мебельный Рай»СтранаСтрана производителя--Россия

Данная сущность идентифицируется атрибутом КодПроизводителя, он является и первичным ключом таблицы. В сущности не используются ограничения. Сущность «Производители» является дочерней по отношению к сущности «Товары». Эти сущности связаны отношением «один ко многим», т.к. один производитель может производить несколько товаров.



2.3 Выявление связей между сущностями


Выявленные связи и аргументация представлены в таблице 9.


Таблица 9 - Установление связей между сущностями

Название первой сущности, участвующей в связиНазвание второй сущности, участвующей в связиНазвание связиТип связиОбоснование выбора типа связиСотрудникиЗаказы мебелиОформляетОдин ко многимКаждой записи сущности «Сотрудники» соответствует несколько записей сущности «Заказы мебели», каждой записи сущности «Заказы мебели» соответствует одна запись сущности «Сотрудник». Один сотрудник может оформить несколько заказов, и любой из заказов может быть оформлен только одним сотрудником.СотрудникиТоварыПродаютОдин ко многимКаждой записи сущности «Сотрудники» соответствует несколько записей сущности «Товары», каждой записи сущности «Товары» соответствует одна запись сущности «Сотрудник». Один сотрудник может продать несколько товаров, и любой из товаров может быть продан только одним сотрудником.Типы товаровТоварыСодержат (включают)Один ко многимКаждой записи сущности «Типы товаров» соответствует несколько записей сущности «Товары», каждой записи сущности «Товары» соответствует одна запись сущности «Типы товаров». То есть, один тип товаров может включать несколько товаров, а любой из товаров может быть частью только одного типа товара.ПоставщикиТоварыПоставляютОдин ко многимКаждой записи сущности «Поставщики» соответствует несколько записей сущности «Товары», каждой записи сущности «Товары» соответствует одна запись сущности «Поставщики». То есть, один поставщик может поставлять несколько товаров, а любой из товаров может поставляться только одним поставщиком.ПроизводителиТоварыПроизводятОдин ко многимКаждой записи сущности «Производители» соответствует несколько записей сущности «Товары», каждой записи сущности «Товары» соответствует одна запись сущности «Производители». То есть, один производитель может производить несколько товаров, а любая из товаров может производиться только одним производителем.СотрудникиОбладатели дисконтных картОформляютОдин ко многимКаждой записи сущности «Сотрудники» соответствует несколько записей сущности «Обладатели дисконтных карт», каждой записи сущности «Обладатели дисконтных карт» соответствует одна запись сущности «Сотрудники». То есть один сотрудник может оформить несколько дисконтных карт, и любой из заказов может быть оформлен только одним сотрудником.

Рисунок 1 - Концептуально-инфологическая модель


2.4 Справочник задач, решаемых пользователем


Справочник задач, решаемых пользователем, представлен в таблице 10.


Таблица 10 - Справочник задач решаемых пользователем

Наименование задачиЦель решения задачиСущности, используемые при решении задачиЧастота решения задачи (месяц)Наличие товара на складе и в магазинеУзнать наличие какого-либо товара на складе и в магазинеТоварыПримерно 30 раз (по мере необходимости)Сведения о сотрудникахУзнать информацию о сотрудниках, времени зачисления на работу, количество сотрудников, вывести с указанием должности и времени приема на работу сотрудников магазина в алфавитном порядкеСотрудникиПо мере необходимостиСведения о поставщикахУзнать сведения об интересующих поставщиках и поставляемых ими товарах, а также ценах на эти товары.ПоставщикиПо мере необходимостиСведения о производителяхУзнать сведения о производителях товаров.ПроизводителиПо мер необходимостиСведения о заказах мебелиУзнать информацию об оформленных заказах, их цене и сроках выполнения.Заказ мебелиПо мере необходимостиСведения об обладателях дисконтных картУзнать информацию об обладателях дисконтных карт, их процентной ставке и Ф.И.О. сотрудника оформившего карту.Обладатели дисконтных картПо мере необходимостиСведения о поставщикахВывести информацию о поставщиках в алфавитном порядке, зарегистрированных в Благовещенске с указанием адреса. ПоставщикиПо мере необходимостиДобавить строку в таблицуДобавить строку в таблицу Товары. Просмотреть новую таблицу.ТоварыПо мере необходимостиУдалить строку из таблицыУдалить строку из таблицы Сотрудники. Просмотреть полученную таблицуСотрудникиПо мере необходимостиИзменить процентные ставки по дисконтным картамИзменить процентные ставки по дисконтным картам у Пасика И.А. и Слепеньковой Е.А. Просмотреть результат.Обладатели дисконтных картПо мере необходимости


3. Логическое проектирование


Целью данного этапа является построение реляционной логической модели. Реляционная логическая модель представляет собой совокупность нормализованных отношений, в которых реализованы связи между объектами предметной области и выполнены все преобразования, необходимые для ее эффективной реализации в среде конкретной СУБД.


3.1 Отображение концептуально-инфологической модели на реляционную модель


) Связь «Сотрудники - Заказ мебели» является связью типа «один-ко-многим». При отображении ключ порожденной сущности добавляется в исходную сущность. Порожденной сущностью является сущность «Сотрудники», исходной - «Заказ мебели».

) Связь «Сотрудники - Обладатели дисконтных карт» является связью типа «один-ко-многим». При отображении ключ порожденной сущности добавляется в исходную сущность. Порожденной сущностью является сущность «Сотрудники», исходной - «Обладатели дисконтных карт».

) Связь «Сотрудники - Товары» является связью типа «один-ко-многим». При отображении ключ порожденной сущности добавляется в исходную сущность. Порожденной сущностью является сущность «Сотрудники», исходной - «Товары».

4) Связь «Производители - Товары» является связью типа «один-ко-многим». При отображении ключ порожденной сущности добавляется в исходную сущность. Порожденной сущностью является сущность «Производители», исходной - «Товары».

) Связь «Поставщики - Товары» является связью типа «один-ко-многим». При отображении ключ порожденной сущности добавляется в исходную сущность. Порожденной сущностью является сущность «Поставщики», исходной - «Товары».

) Связь «Типы товаров - Товары» является связью типа «один-ко-многим». При отображении ключ порожденной сущности добавляется в исходную сущность. Порожденной сущностью является сущность «Поставщики», исходной - «Товары».

Объединяя полученные отношения, формируем итоговый набор реляционных отношений:


3.2 Нормализация отношений


Приведение к Первой нормальной форме:

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

Приведение ко Второй нормальной форме:

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

Отношение «Сотрудники» находится во второй нормальной форме, так как все неключевые атрибуты этого отношения функционально зависят от первичного ключа.

Отношение «Товары» находится во второй нормальной форме, так как все неключевые атрибуты этого отношения функционально зависят от первичного ключа.

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

Отношение «Заказ мебели» находится во второй нормальной форме, так как все неключевые атрибуты этого отношения функционально зависят от первичного ключа.

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

Отношение «Производители» находится во второй нормальной форме, так как все неключевые атрибуты этого отношения функционально зависят от первичного ключа.

Отношение «Типы товаров» находится во второй нормальной форме, так как все неключевые атрибуты этого отношения функционально зависят от первичного ключа.

Приведение к Третьей нормальной форме:

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




4. Физическое проектирование


.1 Создание Базы данных


Листинг создания таблиц:

Create table sotrudniki

(IdSot bigint not null,char(40) not null,smalldatetime not null,char (40) not null,bigint not null,char (40) not null,smalldatetime not null,key (IdSot))

table TipTovara

(KodTipa bigint Primary key not null,char (20) not null)

table Postavchiki

(KodPost bigint Primary key not null,char (20) not null,char (50) not null,bigint not null)

table Proiz_Mebeli

(KodProiz bigint Primary key not null,_proiz char (40) not null,char (30) not null)


Create table ZakazMebeli

(idSot bigint foreign key references sotrudniki (IdSot) ON UPDATE NO ACTION ON DELETE SET NULL,bigint not null,_zacaza char (50) not null,smalldatetime not null,smalldatetime not null,money not null,key(KodZakaza)

)

table Disk_kart

(idSor bigint foreign key references sotrudniki (IdSot) ON DELETE SET NULL ON UPDATE CASCADE,_kart bigint not null,char (40) not null,smalldatetime not null,bigint not null,smallint not null,key (id_kart),ch_proc check (ProcentSt in ('5', '10', '15'))

table Tovar

(idSot bigint foreign key references sotrudniki (IdSot) ON DELETE SET NULL ON UPDATE CASCADE,_tip bigint foreign key references TipTovara (KodTipa) ON DELETE CASCADE ON UPDATE CASCADE,_post bigint foreign key references Postavchiki (KodPost) ON DELETE CASCADE ON UPDATE CASCADE,_proiz bigint foreign key references Proiz_Mebeli (KodProiz) ON DELETE CASCADE ON UPDATE CASCADE,bigint Primary key not null,char (20) not null,char (20) not null,_vo_na_sklade bigint not null,_vo_v_magazine bigint not null,char (20) not null,char (30) not null,money not null,ch_skl check (Kol_vo_na_sklade <=200),ch_mag check (Kol_vo_v_magazine <=5),


Создание индекса (для таблицы сотрудники - упорядочить по алфавиту):


CREATE UNIQUE INDEX sot_ki ON(fio asc);



Проверка индекса:

select Fiosotrudniki




4.2 Связь между таблицами



4.3 Справочник задач, решаемых пользователем (запросы)


1. Наличие товара на складе и в магазине:

create view [Наличие товара] as

Nazvanie, Kol_vo_na_sklade, Kol_vo_v_magazineTovarTipMebeli='Стулья'by Nazvanie


2. Сведения о сотрудниках - вывести с указанием должности и времени приема на работу сотрудников магазина в алфавитном порядке:

view [Сведения о сотрудниках] as


select Fio, DataPriema, Doljnostsotrudniki by Fio


3. Сведения о поставщиках - вывести сведения об интересующем поставщике мебели (Название, поставляемая мебель с указанием цены):


create view [Сведения о поставщиках] as


select TipMebeli, Nazvanie, ZenaTovar

where Postavchik='Креатив'


4. Сведения о производителях - узнать сведения о производителях:

view [Сведения о производителях] as


select Nazv_proiz, StranaProiz_Mebeli by Nazv_proiz



5. Сведения о заказах мебели - вывести информацию о заказе (наименование товара, дата заказа, дата выполнения, цена):


create view [Сведения о заказах] as


select DataOform, Opis_zacaza, DataIspol, ZenaZakaza ZakazMebeli

order by DataOform


6. Сведения об обладателях дисконтных карт - вывести информацию о владельце карты, процентную ставку, Ф.И.О. сотрудника, ее оформившего:


create view [Сведения о ОДК] as

d. Fio, d. ProcentSt, s. Fiosotrudniki s, Disk_kart dd.idSor= s. IdSotby d. Fio


7. Сведения о поставщиках - вывести информацию о поставщиках в алфавитном порядке, зарегистрированных в Благовещенске с указанием адреса:


create view [Поставщики Блага] as

Nazvanie, AdressPostavchikiAdress like 'г. Благовещенск % ' by Nazvanie

. Добавить строку в таблицу Товары. Просмотреть новую таблицу


create view [Доб строку] as


insert into Tovar (idSot, id_tip, id_post, id_proiz, KodTovara, TipMebeli, Nazvanie, Kol_vo_na_sklade, Kol_vo_v_magazine, Postavchik, Proizvoditel, Zena)('11', '50', '104', '200', '00890', 'Спальня', 'Венеция', '3', '1', 'Элит', 'ДольчеВита', '70000')


9. Удалить строку из таблицы Сотрудники:

create view [Удал строку] as

sotrudniki Fio ='Кречетов Дмитрий Юрьевич'


10. Изменить процентные ставки по дисконтным картам у Пасика И.А. и Слепеньковой Е.А.:


create view [Изменить проц ставки] as


update Disk_kartidSor='11', id_kart='0000045', Fio='Пасика Ирина Анатольевна', DataR='04.08.1990', Telefon='9143856067', ProcentSt='15'Fio='Пасика Ирина Анатольевна'

Disk_kartidSor='11', id_kart='0027595', Fio='Слепенькова Елена Андреевна', DataR='22.06.1989', Telefon='9243855960', ProcentSt='15'

where Fio='Слепенькова Елена Андреевна'

Библиографический список


1.Чепак Л.В. Лекции и лабораторные работы по СУБД;

2.Виктор Гольцман MySQL 5.0. Библиотека программиста: Питер; Санкт-Петербург 2010;

3.Аткинсон, Леон. MySQL. Библиотека профессионала.: Пер. с англ. - М.: Издательский дом «Вильяме», 2002. - 624 с.

.Илюшечкин В.М. Основы использования и проектирования баз данных:

учеб. Пособие - М.: Юрайт: ИД Юрайт, 2011. - 213 с.

.Электронные ресурсы (www. Google. ru)


Введение В настоящий момент создание и ведение электронной базы данных занимает одно из ведущих мест в любой сфере деятельности, которая выходит на совре

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ