Проектирование и реализация базы данных «On-line магазин»

Автор работы: Пользователь скрыл имя, 26 Марта 2013 в 14:52, курсовая работа

Описание работы

Магазин занимается продажей компьютерных дисков с играми через интернет с помощью платежной системы «WebMoney» с возможностью доставки покупателю наземной почтой, курьером или авиапочтой (каждый вид доставки имеет свою стоимость и скидки). Каждый покупатель имеет собственный аккаунт, где хранятся его ФИО, логин, пароль, адрес электронной почты, полный домашний адрес, номер счета WebMoney», размер накопительной скидки и контактный телефон. У каждого покупателя есть счета (номера счетов), которые содержат информацию о способе, стоимости и дате отправки купленного покупателем товара, а также скидку на доставку. У каждой продажи есть свой уникальный номер

Содержание работы

1. Цель выполнения курсового проекта. 4
2. Анализ предметной области. 4
2.1 Описание предметной области. 4
2.2 Ограничения, присутствующие в предметной области. 5
2.3 Основные задачи, решаемые в предметной области. 5
3. Проектирование инфологической модели данных. 5
3.1 Первая нормальная форма. 6
3.2 Вторая нормальная форма. 6
3.3 Третья нормальная форма. 8
3.4 Четвертая нормальная форма. 9
3.5 Описание основных сущностей и их атрибутов. 10
3.6 Выявление связей между сущностями 13
3.7 Инфологическая модель данных в нотации Чена. 13
4. Концептуальная модель 15
4.1 Логический уровень модели данных. 15
4.2 Физический уровень модели данных. 16
4.3 Сгенерированный в ERwin SQL код таблиц. 20
5. Проектирование представлений, последовательностей, триггеров, хранимых процедур. 23
5.1 Последовательности. 23
5.2 Триггеры. 23
5.3 Представления. 25
5.4 Хранимые процедуры. 26
6. Реализация базы данных в среде серверной СУБД PostgreSQL 8.4. 28
6.1 Представления. 28
6.2 Триггеры. 29
6.3 Хранимые процедуры. 33
7. Разработка клиент-серверного приложения. 42
7.1 Руководство пользователя. 43
7.1.1 Регистрация. 43
7.1.2 Поиск. 43
7.1.3 Авторизация и деавторизация. 44
7.1.4 Возможности для покупателей. 44
7.1.5 Возможности для продавцов. 46
7.1.6 Возможности для администратора. 47
7.2 Листинг программы. 48
7.2.1 Регистрация нового покупателя. 48
7.2.2 Редактирование профиля покупателя. 49
7.2.3 Вывод на экран истории заказов клиента. 50
8. Заключение. 52
9. Список литературы. 53

Файлы: 1 файл

123.docx

— 1.18 Мб (Скачать файл)


Министерство образования и  науки Российской Федерации

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

 

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ  УНИВЕРСИТЕТ

 

 

 

 

Кафедра Автоматизированных Систем

наименование  кафедры

 

 

 

                                       Допускаю к защите

 

                                                                 Руководитель Серышева  

                                                                      Ирина Анатольевна    

                                                                                       И.О. Фамилия

 

 

Проектирование и реализация базы данных «On-line магазин»

наименование  темы

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту по дисциплине

 

 

           Базы данных           

 

__________________________  ПЗ

обозначение документа

 

 

 

 

 

Выполнил  студент группы               АСУ-06-1    ________    Семигузов Е.Ю. 

                                                              шифр          подпись           И.О. Фамилия

 

Нормоконтролер                                ____________               ______________

                                                                 подпись                          И.О. Фамилия         

    

                                                                    Курсовой проект защищен

                                                                              с оценкой ____________

 

 

 

 

 

Иркутск 2010 г 

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ  УНИВЕРСИТЕТ

 

ЗАДАНИЕ

НА КУРСОВОЕ ПРОЕКТИРОВАНИЕ (КУРСОВУЮ РАБОТУ)

 

По курсу   Базы данных                                                                                                             

 

Студенту   Семигузову Е.Ю.                                                                                       

(фамилия, инициалы)

 

 

Тема проекта: Проектирование и реализация базы данных «On-line магазин»                                 

 

                                                                                                                                

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

  1. Выбрать и изучить предметную область самостоятельно.
  2. Разработать модель данных.
  3. Выполнить проектирование логического и физического уровней с помощью CASE-средства ERwin.
  4. Выполнить реализацию базы данных в СУБД.
  5. Разработать запросы, хранимые процедуры, триггеры.
  6. Разработать клиентское приложение.

 

 

Рекомендуемая литература: Дорофеев A.С. «Методические указания к выполнению курсового проекта по дисциплинам базы данных, управление данными»; Трипутина В.В. «Проектирование баз данных  с помощью Case-средства ErWin. Методические указания к выполнению лабораторных работ»; Кренке Д. «Теория и практика построения баз данных».                                          

 

Графическая часть на _________листах

 

           Дата выдачи задания                                                “16”   ноября   2009  г.

 

           Дата представления проекта руководителю          “11”  января   2010  г.

 

Руководитель курсовой работы   Серышева Ирина Анатольевна

 

Оглавление

1. Цель выполнения курсового проекта. 4

2. Анализ предметной области. 4

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

2.2  Ограничения, присутствующие в предметной области. 5

2.3  Основные задачи, решаемые в предметной области. 5

3. Проектирование инфологической модели данных. 5

3.1 Первая нормальная форма. 6

3.2 Вторая нормальная форма. 6

3.3 Третья нормальная форма. 8

3.4 Четвертая нормальная форма. 9

3.5 Описание основных сущностей и их атрибутов. 10

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

3.7 Инфологическая модель данных в нотации Чена. 13

4. Концептуальная модель 15

4.1 Логический уровень модели данных. 15

4.2 Физический уровень модели данных. 16

4.3 Сгенерированный в ERwin SQL код таблиц. 20

5. Проектирование представлений, последовательностей, триггеров, хранимых процедур. 23

5.1 Последовательности. 23

5.2 Триггеры. 23

5.3 Представления. 25

5.4 Хранимые процедуры. 26

6. Реализация базы данных в среде серверной СУБД        PostgreSQL 8.4. 28

6.1 Представления. 28

6.2 Триггеры. 29

6.3 Хранимые процедуры. 33

7. Разработка клиент-серверного приложения. 42

7.1 Руководство пользователя. 43

7.1.1 Регистрация. 43

7.1.2 Поиск. 43

7.1.3 Авторизация и деавторизация. 44

7.1.4 Возможности для покупателей. 44

7.1.5 Возможности для продавцов. 46

7.1.6 Возможности для администратора. 47

7.2 Листинг программы. 48

7.2.1 Регистрация нового покупателя. 48

7.2.2 Редактирование профиля покупателя. 49

7.2.3 Вывод на экран истории заказов клиента. 50

8. Заключение. 52

9. Список литературы. 53

 

 

1. Цель выполнения курсового проекта.

 

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

 

2. Анализ предметной области.

 

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

 

On-line магазин компьютерных дисков  с играми GameMarket.net

 

Магазин занимается продажей компьютерных дисков с играми через интернет с помощью платежной системы «WebMoney» с возможностью доставки покупателю наземной почтой, курьером или авиапочтой (каждый вид доставки имеет свою стоимость и скидки). Каждый покупатель имеет собственный аккаунт, где хранятся его ФИО, логин, пароль, адрес электронной почты, полный домашний адрес, номер счета WebMoney», размер накопительной скидки и контактный телефон. У каждого покупателя есть счета (номера счетов), которые содержат информацию о способе, стоимости и дате отправки купленного покупателем товара, а также скидку на доставку. У каждой продажи есть свой уникальный номер. Покупатель может купить несколько дисков сразу и они будут отправлены единой посылкой в течение 5 дней. Если этот же покупатель совершит еще одну покупку в день его предыдущей покупки, то этот товар будет оправлен в первой посылке. В противном случае новый заказ будет выслан другой посылкой через 5 дней.

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

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

Магазин сотрудничает с поставщиками дисков. У каждого поставщика есть название, адрес электронной почты, адрес, номер счета WebMoney» и контактный телефон. Поставка товара идет партиями, каждая партия имеет свой номер. В партии указан какой товар, по какой цене, в каком количестве, когда и кем поставляется.

Цена  на диск складывается из цены последней  поставки плюс процент для получения  прибыли.

На  каждую покупку распространяется фиксированная  скидка. Также каждый покупатель имеет индивидуальную накопительную скидку. При общей сумме покупок свыше 1000 руб – 1%, свыше 5000 руб – 5%, свыше 10 000 руб – 10%.

 

2.2 Ограничения, присутствующие в предметной области.

 

  1. Автоматическое добавление в поле «Количество на складе» таблицы  «Товары» количества товара, указанного при осуществлении поставки, а  также заполнение поля «Цена последней  поставки».
  2. При осуществлении продажи – автоматическое уменьшение числа товара на складе на количество проданного товара, а также вывод на экран ошибки в случае, когда количество на продажу больше, чем количество товара на складе.
  3. Проверка того, чтобы дата осуществления покупки, дата выпуска товара и дата поставки товара были не больше текущей.
  4. Автоматическая установка даты отправки товара (дата покупки + 5 дней).
  5. Подсчет накопительной скидки для покупателя при осуществлении новой покупки.

 

2.3  Основные задачи, решаемые в предметной области.

 

  1. Подсчет конечной цены продажи.
  2. Подсчет зарплаты сотрудников.
  3. Поиск дисков по названию/разработчику/издателю.
  4. Поиск покупателя, купившего товара на наибольшую сумму.
  5. Поиск самого активного продавца по количеству оформленных счетов.
  6. Вывод статистики используемых способов доставки в процентном соотношении.
  7. Вывод товаров, которые не продавались более месяца.
  8. Подсчет общей прибыли магазина за заданный период.
  9. Поиск самого популярного товара по результатам продаж.
  10. Вывод истории заказов заданного клиента.

 

 

3. Проектирование инфологической модели данных.

 

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

  К сожалению, не все отношения  одинаково желательны. Таблица, отвечающая  минимальному определению отношения,  может иметь быть неэффективную  или неподходящую структуру. Для  некоторых отношений изменение  данных может привести к нежелательным  последствиям, называемых аномалиями модификации (modification anomalies). Аномалии могут быть устранены путем разбиения исходного отношения на два или более новых отношения. В большинстве случаев нормализация является более предпочтительной [3].

 

3.1 Первая  нормальная форма.

 

Отношения, которые соответствуют всем свойствам  отношений, находятся в первой нормальной форме:

On-Line Магазин (ФИО покупателя, логин покупателя, пароль покупателя, адрес электронной почты покупателя, полный домашний адрес покупателя, номер счета «WebMoney» покупателя, размер накопительной скидки покупателя, контактный телефон покупателя, дата отправки товара, скидка на доставку, способ доставки, стоимость доставки, ФИО сотрудника, логин сотрудника, пароль сотрудника, должность сотрудника, адрес электронной почты сотрудника, полный домашний адрес сотрудника, номер счета «WebMoney» сотрудника, оклад сотрудника, процентная ставка к зарплате с продажи товара сотрудника, контактный телефон сотрудника, номер счета, номер партии, название игры, разработчик игры, издатель игры, дата выпуска игры, описание игры, количество дисков на складе, процент надбавки на цену покупки у поставщика для получения прибыли, цена последней поставки, номер продажи, дата продажи, скидка на продажу, количество на продажу, количество товара в партии, цена поставки партии, дата поставки партии, название поставщика, адрес электронной почты поставщика, адрес поставщика, номер счета «WebMoney» поставщика, контактный телефон поставщика)

 

3.2 Вторая  нормальная форма.

 

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

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

PK (ФИО покупателя, ФИО сотрудника, номер продажи, название игры, номер партии)

PK  ФИО покупателя, логин покупателя, пароль покупателя, адрес электронной почты покупателя, полный домашний адрес покупателя, номер счета «WebMoney» покупателя, размер накопительной скидки покупателя, контактный телефон покупателя.

Информация о работе Проектирование и реализация базы данных «On-line магазин»