База данных склад сотовых телефонов

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное  учреждение

высшего профессионального образования

«Юго-западный государственный университет»

Кафедра Программного Обеспечения ВТ

 

 

КУРСОВАЯ  РАБОТА

 

по дисциплине «Базы  данных»

 

на тему «База данных склад сотовых телефонов  »

 

Специальность  230105  Программное обеспечение  вычислительной техники и автоматизированных систем                                                                               

 

Автор работы (проекта)    В.В. Милешко     ___________________  _

      (инициалы, фамилия)                 (подпись, дата)      

Группа  ПО-91

 

Руководитель  работы       В. Г. Белов         ______________________    

                                (инициалы, фамилия)                             (подпись, дата)

Работа (проект) защищена     ____________________

 

Оценка  ____________________

 

 

 

Председатель комиссии  _____________         ______________________       

  (подпись)                        (инициалы, фамилия)

 

Члены комиссии     _____________   ______________________        

          (подпись)                                     (инициалы, фамилия)

        

_____________             ______________________        

(подпись)                                      (инициалы, фамилия)

 

 

 

 

 

Курск, 2012г.

 

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное  учреждение

высшего профессионального образования

«Юго-западный государственный университет»

Кафедра Программного Обеспечения ВТ

 

 

 

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

 

Студент     Милешко В.В.     шифр 349036 группа    ПО-91

 

1.Тема База данных склад сотовых телефонов                                                   

 

2. Срок предоставления  работы (проекта) к защите  «     »   июня   2012 г.

 

3. Исходные данные:

Неформальное описание предметной области и документы, которые  в ней используются.

 

4. Содержание пояснительной записки  курсовой работы (проекта):

4.1  Содержание

4.2 Техническое задание

4.3 Технический проект

4.5 Список использованных источников

4.6  Приложение А

4.7  Приложение Б

 

 

Руководитель  работы (проекта)_________________             В. Г. Белов

                                                                                      (подпись, дата)                             (инициалы, фамилия)

 

Задание принял к исполнению__________________

                                                             (подпись, дата)

 

Реферат

 

Объем данного курсового проекта  равен 63 страницам. В курсовом проекте содержится  два приложения, в которых приведены ER-схемы базы данных, код программы. Также в КП содержится постановка задачи.

Ключевые слова:

База данных, ER-схема, сущность, атрибут, ключ, связь, функциональная зависимость, система функциональных зависимостей.

Объект разработки:

Объектом исследования в данной работе является проектирование базы данных в соответствии с заданным вариантом.

Цель работы:

Спроектировать базу данных «Магазин сотовых телефонов».

Метод проведения работы:

Использование ER-диаграмм, минимизация зависимостей, построение запросов.

 

Содержание

Введение 7

1 Техническое задание 8

1.1 Основание для разработки 8

1.2 Назначение разработки 8

1.3 Стандарты 8

1.4 Требования к программе или программному изделию 8

1.4.2 Носители информации 9

1.4.3 Требования к составу и параметрам технических средств 9

2 Технический проект 10

2.1 Неформальное описание предметной области 10

2.2 Словарь понятий и терминов 11

2.3 Диаграмма сущность – связь для предметной области. 14

2.4 Построение функциональных зависимостей 15

2.5 Синтез схемы базы данных на основании функциональных зависимостей 17

2.5.1 Построение неизбыточного покрытия 17

2.5.2 Построение леворедуцированного покрытия 20

2.5.3 Построение праворедуцированного покрытия 22

2.5.4 Построение классов эквивалентности 24

2.5.5 Построение редуцированного минимального кольцевого покрытия…………………………………………………………………………. 27

2.6 ER-схема базы данных 33

2.7 Построение запросов на SQL 33

2.7.1 Запрос на выборку 33

Заключение 60

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

Приложение А 62

Приложение Б 63

Определения

 

В данной работе применены следующие термины  с соответствующими определениями:

база данных: Файлы, снабженные описанием  хранимых в них данных и находящиеся  под управлением СУБД.

ER-диаграмма: Схема базы данных, спроектированная с помощью программы ERWin.

сущность: Любой различимый объект (объект, который мы можем отличить от другого), информацию о котором  необходимо хранить в базе данных.

атрибут: Поименованная характеристика сущности.

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

связь: Ассоциирование двух или более  сущностей.

 

Обозначения и сокращения

В данной работе применены следующие сокращения:

БД: База данных

СУБД: Система управления базами данных

ФЗ: Функциональная зависимость

 

Введение

 

Необходимо спроектировать «Базу данных склада сотовых телефонов». Также целью данной работы является ознакомление с основными принципами построения, использования и оптимизации реляционных баз данных.

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

Необходимо предоставить пользователю информацию о марках представленных телефонов, цене. Так же необходимо дать возможность заказать понравившийся телефон.

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

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

 

  1. Техническое задание

    1. Основание для разработки

 

Основанием  для разработки программного продукта служит задание на курсовую работу “База данных склад сотовых телефонов”.

    1. Назначение разработки

 

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

    1. Стандарты

Данная работа оформлена  в соответствии со стандартом СТУ 04.02.030.-2008.

    1. Требования к программе или программному изделию

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

 

 

 

      1. Результирующие  компоненты изделия

База данных в визуальной среде разработки систем управления реляционными базами данных Microsoft Visual FoxPro и все сопровождающие файлы.

      1. Носители информации

Продукт должен размещаться в виде файлов на CD дисках. В процессе работы могут использоваться Flash, CD-R/-RW, DVD-R/RW или другие носители информации.

      1. Требования к составу и параметрам технических средств

Программный комплекс должен корректно  работать на компьютере со следующими техническими характеристиками:

    • процессор Pentium V 2200 МГц;
    • оперативная память объемом 1024 Мб;
    • жесткий диск Seagate Barracuda, объемом 120 Гб;
    • видеоадаптер SVGA;
    • клавиатура;
    • манипулятор типа “мышь”;

устройство удаленного доступа к сети: модем или сетевая карта.

 

  1.      Технический проект

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

 

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

Также ведется документация: кассовая книга (сумма проданного товара, которая отдается бухгалтеру, а затем передается в налоговую для отчетности), приходная и возвратная накладная (для списания товара), ведется учет доходов и расходов магазина.

 

 

 

 

 

 

 

 

    1.  Словарь понятий и терминов

 

Словарь понятий и терминов приведен в таблицах 2.1 – 2.12.

 

Таблица 2.1 –  Сотрудники

 

Атрибут

Смысл

Пример

serial_pas_e

Серия паспорта сотрудника магазина

3304

number_pas_e

Номер паспорта сотрудника магазина

223344

name

Имя сотрудника магазина

Сергей

surname

Фамилия сотрудника магазина

Петров

patronymic

Отчество сотрудника магазина

Иванович

address

 

Адрес прописки сотрудника магазина

Ул. Ленина, д6, кв. 5

telephone_number

Телефонный номер сотрудника магазина

89035682548

dolgnost

Занимаемая должность 

Продавец-консультант


 

Таблица 2.2 - Клиенты

Атрибут

Смысл

Пример

serial_pas_e

Серия паспорта клиента

3304

number_pas_e

Номер паспорта клиента

223344

name

Имя клиента

Сергей

surname

Фамилия клиента

Петров

patronymic

Отчество клиента

Иванович

address

Адрес прописки клиента

Ул. Ленина, д6, кв. 5

telephone_number

Телефонный клиента

89035682548


 

 

 

 

 

Таблица 2.3 – Заказ товара

Атрибут

Смысл

Пример

Data_zakaza

Дата заказа товара

22.05.10

predoplata

Сумма предоплаты за товар

500

Order_execution

Дата выполнения заказа

30.06.10


 

Таблица 2.4 – Возвращение товара

Атрибут

Смысл

Пример

Data_voz

Дата возврата товара

22.06.10

Time_voz

Время возврата товара

15.10

Sum_voz

Сумма за возвращенный товар

500

prichina

Причина возврата

Производственный брак


 

Таблица 2.5 – Заработная плата сотрудников

Атрибут

Смысл

Пример

oklad

Оклад сотрудника магазина

5000

premia

Премия сотрудника магазина

3000

avans

Аванс сотрудника магазина

1000


 

Таблица 2.6 – Продукция магазина

Атрибут

Смысл

Пример

productid

Порядковый номер в таблице продуктов

1

artikul

Артикул продукта

123123

Marka_product

Марка продукта

Sony Ericcson

Model_product

Моель продукта

W700i

Cost_one

Стоимость за штуку

3000

count

   Количество штук

10

description

Описание о продукте

 Телефон с фото-видеокамерой на 2 мп. В комплекте наушники и  флеш-карта


 

 

Таблица 2.7 – Поставщики

Атрибут

Смысл

Пример

supplierid

Порядковый номер поставщика

2

name

Название организации поставщика

Samsung Tehnologis

address

Адрес поставщика

 Ул. Кр. Армия, д.4

telephone

Телефон поставщика

89102157841

description

Описание о поставщике

Производитель качественной электронной  продукции


 

Таблица 2.8 – Поставка продукции

Атрибут

Смысл

Пример

Data_supply

Дата поставки продукции

10.05.10

Time_supply

Время поставки продукции

16.20


 

Таблица 2.9 – Продажа товара

Атрибут

Смысл

Пример

Data_prodagi

Дата продажи продукции

05.05.10

Time_prodagi

Время продажи продукции

15.35

count

Количество проданной продукции

2


 

Таблица 2.10 – Доход магазина

Атрибут

Смысл

Пример

Month_d

Месяц учета

февраль

Year_d

Год учета

2010

Dohod_employee

Выручка сотрудника за месяц

250000


 

 

 

 

 

Таблица 2.11 – Расходы магазина

Атрибут

Смысл

Пример

Month_r

Месяц учета

январь

Year_r

Год учета

2010

arenda

Сумма за аренду

20000

Communal_yslygi

Сумма за коммунальные услуги

5000

reklama

Сумма за рекламу

10000

Vnutr_rashodi

Сумма за внутренние расходы

12000


 

Таблица 2.12 – Бухгалтерия

Атрибут

Смысл

Пример

month

Месяц учета

март

year

Год учета

2010


    1. Диаграмма сущность – связь для предметной области.

 

    1. Построение функциональных зависимостей

2.4.1. Неформальное описание функциональных зависимостей

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

Не может быть так, что бы в  один и тот же день, в одно и  тоже время, один и тот же продукт  возвращало два и более клиента.

Не может быть так, что бы в один и тот же день, в одно и тоже время был оформлен заказ и прибыло два поставщика.

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

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

Не может такого быть, что бы один и тот же продукт, в одно и тоже время, в один и тот же день, один и тот же клиент, купил у двух и более продавцов.

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

Не может такого быть, что бы один и тот же клиент, на один и тот же день, один и тот же продукт заказывал у двух и более продавцов.

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

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

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

Не может такого быть, что бы в один и тот же месяц, в один и тот же год фиксировались дважды доходы и расходы.

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

Не может такого быть, что бы один и тот же продукт имел два одинаковых артикула.

2.4.2. Формальное описание  функциональных зависимостей

Формальное описание функциональных зависимостей представлено на рисунке 2.1.

data_supply, time_supply -> supplierid

data_voz, time_voz, productid -> clientid

clientid, productid, data_voz, time_voz -> employeeid

employeeid, data_voz, time_voz -> clientid

employeeid, data_cost, time_cost -> clientid

productid, data_cost, time_cost, clientid -> employeeid

productid, data_zakaza, employeeid -> clientid

clientid, data_zakaza, productid -> employeeid

month_r, year_r -> arenda, kommunal_yslygi, reklama, vnutr_rashodi

month_d, year_d -> viruchka_emploee

employeeid -> month_d, year_d

month, year -> rashodid, dohodid

emloyeeid -> oklad, premia, avans, zarplata

productid -> artikulid


Рисунок 2.1 – Исходные функциональные зависимости

    1.     Синтез схемы базы данных на основании функциональных зависимостей

      1.     Построение неизбыточного покрытия

 

Этапы построения неизбыточного покрытия представлены на рисунках 2.2 – 2.3.

 

G:

    data_supply, time_supply -> supplierid

    data_voz, time_voz, productid -> clientid

    clientid, productid, data_voz, time_voz -> employeeid

    data_cost, time_cost, productid, employeeid -> clientid

    employeeid, data_voz, time_voz -> clientid

    employeeid, data_cost, time_cost -> clientid

    productid, data_cost, time_cost, clientid -> employeeid

    productid, data_zakaza, employeeid -> clientid

    clientid, data_zakaza, productid -> employeeid

    month_r, year_r -> arenda, mployee_yslygi, reklama, vnutr_rashodi

    month_d, year_d -> viruchka_emploee

    employeeid -> month_d, year_d

    month, year -> rashodid, dohodid

    emloyeeid -> oklad, premia, avans, zarplata

    productid -> artikulid

 

4. f=g \  data_cost, time_cost, productid, employeeid -> clientid

Проверяем: f |= data_cost, time_cost, productid, employeeid -> clientid

[data_cost, time_cost, productid, employeeid]+f = data_cost,

time_cost, productid, employeeid, clientid, month_d, year_d,

viruchka_emploee, artikulid

Да => g=f

g:

    data_supply, time_supply -> supplierid

    data_voz, time_voz, productid -> clientid

    clientid, productid, data_voz, time_voz -> employeeid

    employeeid, data_voz, time_voz -> clientid


 

Рисунок 2.2 – Построение неизбыточного покрытия

    employeeid, data_cost, time_cost -> clientid

    productid, data_cost, time_cost, clientid -> employeeid

    productid, data_zakaza, employeeid -> clientid

    clientid, data_zakaza, productid -> employeeid

    month_r, year_r -> arenda,  mployee_yslygi, reklama, vnutr_rashodi

    month_d, year_d -> viruchka_emploee

    employeeid -> month_d, year_d

    month, year -> rashodid, dohodid

    emloyeeid -> oklad, premia, avans, zarplata

    productid -> artikulid

 

Неизбыточное покрытие

 

g:

    data_supply, time_supply -> supplierid

    data_voz, time_voz, productid -> clientid

    clientid, productid, data_voz, time_voz -> employeeid

    employeeid, data_voz, time_voz -> clientid

    employeeid, data_cost, time_cost -> clientid

    productid, data_cost, time_cost, clientid -> employeeid

    productid, data_zakaza, employeeid -> clientid

    clientid, data_zakaza, productid -> employeeid

    month_r, year_r -> arenda,  mployee_yslygi, reklama, vnutr_rashodi

    month_d, year_d -> viruchka_emploee

    employeeid -> month_d, year_d

    month, year -> rashodid, dohodid

    emloyeeid -> oklad, premia, avans, zarplata

    productid -> artikulid


 

Рисунок 2.3 – Построение неизбыточного покрытия

      1.      Построение леворедуцированного покрытия

 

Этапы построения леворедуцированного  покрытия представлены на рисунках 2.4 - 2.6.

Построение леворедуцированного  покрытия.

 

g:

    data_supply, time_supply -> supplierid

    data_voz, time_voz, productid -> clientid

    clientid, productid, data_voz, time_voz -> employeeid

    employeeid, data_voz, time_voz -> clientid

    employeeid, data_cost, time_cost -> clientid

    productid, data_cost, time_cost, clientid -> employeeid

    productid, data_zakaza, employeeid -> clientid

    clientid, data_zakaza, productid -> employeeid

    month_r, year_r -> arenda, kommunal_yslygi, reklama, vnutr_rashodi

    month_d, year_d -> viruchka_emploee

    employeeid -> month_d, year_d

    month, year -> rashodid, dohodid

    emloyeeid -> oklad, premia, avans, zarplata

    productid -> artikulid

 

3. clientid, productid, data_voz, time_voz -> employeeid

 

3.1. clientid, productid, data_voz, time_voz -> employeeid

Проверяем: g |= productid, data_voz, time_voz -> employeeid

Да => множество ФЗ принимает вид:


 

Рисунок 2.4 - Построение леворедуцированного покрытия

База данных склад сотовых телефонов