База даних велосипедного магазину

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Курсова робота з дисципліни «Бази даних»

Виконали студенти гр. 3101:

Купріянов Андрій

Поливянний Артем

Санкт Петербург

2009



Опис предметної області

База даних велосипедного магазину. Велосипедний магазин спеціалізується на продажі 2х основних видів товару: велосипеди і запчастини до велосипедів.

Велосипеди діляться на чотири категорії:

  1. Хардтейли (велосипеди тільки з переднім амортизатором (амортизованою вилкою)).

  2. Двухподвеси (велосипеди з переднім і заднім амортизатором (амортизованою вилкою і амортизатором з'єднує передній і задній трикутники рами)).

  3. Тріальні (велосипеди для технічного подолання перешкод без торкання землі ногами або іншими частинами тіла).

  4. БМХ (велосипеди на колесах маленького діаметру (20 дюймів) для технічного катання).

У свою чергу, кожна з цих категорій поділяється на різні типи (стилі) катання. Хардтейли діляться на:

  1. Кросскантрі (XC) Один із самих популярних стилів катання - включає в себе все: лісові стежки з корінням, грунтові дороги, спуски і підйоми. На такому байку можна відправитися в заміське подорож, поганяти в парку з друзями, поїхати в багатоденний похід, або просто скинути зайву вагу. А можна спробувати себе в змаганнях, які проводяться влітку майже кожен уікенд і рік за роком привертають все більше учасників. Кросскантрі - це швидкість і витривалість, витонченість і технічність.

  2. Трейл (Trail) Такий стиль представляє собою змішання фрірайдний стрибків, сінглтреков і довгих, швидких кантрійних маршрутів. Сучасний трейлбайк може виглядати як полегшений фрірайдний монстр, з якого збрили зайву вагу і прибрали кілька сантиметрів плюшевого ходу, залишивши 100 - 150 міліметрів.

  3. Дьорт (Dirt) Стрибки на спеціально побудованому трампліні з виконанням різних трюків. Велосипед для дерті - все той же потужний хардтейл невеликий ростовки, зараз є тенденція до максимального спрощення таких байків, з них знімається переднє гальмо, перемикачі швидкостей, загалом, все, що може перешкодити Вам зробити найкращий трюк.

  4. Фрірайд (FR) Поняття фрірайд багатогранне - це може бути як спуск з гори по незвіданому маршруту, так і який-небудь норт-шор, зведений в лісі неподалік, або п'ятиметровий дроп, а, може, і технічна с'езжалка в парку. Все, що Ви можете собі дозволити на байці - це фрірайд. І для кожного він свій.

Двухподвеси діляться на:

  1. Даунхіл (DH) Швидкісний спуск на велосипеді. Тільки вниз. Висока швидкість, різкі повороти, прольоти, технічні ділянки, постійно мінливий покриття - це все даунхіл. Сучасний байк для DH - це важка двухподвес з великим ходом передньої і задньої підвісок, двухкоронной вилкою, широким зігнутим кермом і товстими покришками.

  2. Кросскантрі (XC) Один із самих популярних стилів катання - включає в себе все: лісові стежки з корінням, грунтові дороги, спуски і підйоми. Велосипед для кросскантрі - це легкий двухподвес з ходом задньої підвіски до 105 мм. На такому байку можна відправитися в заміське подорож, поганяти в парку з друзями, поїхати в багатоденний похід, або просто скинути зайву вагу. А можна спробувати себе в змаганнях, які проводяться влітку майже кожен уікенд і рік за роком привертають все більше учасників. Кросскантрі - це швидкість і витривалість, витонченість і технічність.

  3. Фрірайд (FR) Поняття фрірайд багатогранне - це може бути як спуск з гори по незвіданому маршруту, так і який-небудь норт-шор, зведений в лісі неподалік, або п'ятиметровий дроп, а, може, і технічна с'езжалка в парку. Сучасний байк для FR - це важка двухподвес з ходом передньої і задньої підвісок в 150 - 200 міліметрів. Все, що Ви можете собі дозволити на байці - це фрірайд. І для кожного він свій.

Запчастини. Кожен велосипед, як конструктор, складається з великої кількості деталей. Деталі (запчастини) розділені на декілька видів (типів).

  1. Амортизатори. Складаються з передніх амортизаторів (Marzocchi, RockShox), задніх амортизаторів та запасних частин до амортизаторам

  2. Колеса. Складаються з втулки, обода, покришки, камери, спиці та запасні частини для коліс.

  3. Привід. Складається з зірки, каретки, касети, манетки, перемикача, заспокоювача, ланцюги, шатунів.

  4. Рами.

  5. Гальма. Діляться на дискові гальма, ободниє гальма і запчастини до них.

  6. Управління. Винесення, педалі, підсідельний штир, сідло, рульова, кермо, гріпси.

Так само в магазині представлений велоодягу і захист. Велообувь, захист, одяг, рукавички, шоломи і маски.

У базі необхідно зберігати інформацію про:

Персоналії магазину:

ПІБ

телефону

Дата народження

Професія

Адреса

Пол

Про фірмах виробників і постачальників:

Назва

Адреса

Телефон

Про товари:

Назва

Тих характеристики

Властивості

Тип товару

Інформація про рух товару:

Тип операції

Ціна

Дата

Кількість

  1. Структура бази даних

    1. Персонал

Назва (в базі)

Назва (переклад)

Опис

Код


ПІБ

телефону

Дата народження

Адреса

Пол

Код професії

KOD


FIO

TELEFON

BIRTHSDAY

ADRES

POL

KOD_PROFESSII

Унікальний індентіфікатор працівника

Прізвище, ім'я, по батькові

телефону

Дата народження

Адреса

Пол

Код професії в таблиці Professii

    1. Склад

Назва (в базі)

Назва (переклад)

Опис

Код товару

Код фірми

Код персон

Код типу операції


Ціна

Дата

Кількість


KOD_TOVARA

KOD_FIRMI

KOD_PERSON

KOD_TIPA_OPERAZII


ZENA

DATA

KOLICHESTVO

Код товару в таблиці Tovar

Код фірми в таблиці Firmi

Код персони в таблиці Personal

Код типу операції в таблиці Tipi _ operazii

Закупівельна ціна

Дата

Кількість товару бере участь в операції

    1. Товар

Назва (в базі)

Назва (переклад)

Опис

Код


Код типу товару

Назва

KOD


KOD_TIPA_TOVARA

NAZVANIE

Унікальний індентіфікатор товару

Код товару в таблиці Tipi _ tovarov

Назва товару



    1. Типи товарів

Назва (в базі)

Назва (переклад)

Опис

Код


Назва

Код фірми


Код типу товару


KOD


NAZVANIE

KOD_FIRMI


KOD_TIPA_TOVARA

Унікальний індентіфікатор типу товару

Назва типу товару

Код фірми виробника в таблиці Firmi

Код батьківського типу товарів в таблиці Tipi _ tovarov

    1. Фірми

Назва (в базі)

Назва (переклад)

Опис

Код


Назва

Адреса

Телефон

Код типу фірми


KOD


NAZVANIE

ADRES

TELEFON

KOD_TIPA_FIRMI

Унікальний індентіфікатор типу фірми

Назва фірми

Адреса

Телефон

Код типу фірми в таблиці Tipi _ firm

    1. Технічні характеристики

Назва (в базі)

Назва (переклад)

Опис

Код товару

Код властивості

Значення

KOD_TOVARA

KOD_SVOISTVA

ZNACHENIE

Код товару в таблиці Tovar

Код властивості в таблиці Svoistva

Значення характеристики

    1. Властивості

Назва (в базі)

Назва (переклад)

Опис

Код

Назва

Одиниці виміру

KOD

NAZVANIE

EDINIZI IZMERENIA

Унікальний індентіфікатор Назва властивості

Одиниці виміру властивості

    1. Професії

Назва (в базі)

Назва (переклад)

Опис

Код

Назва

KOD

NAZVANIE

Унікальний індентіфікатор Назва професії

    1. Типи фірм

Назва (в базі)

Назва (переклад)

Опис

Код

Назва

KOD

NAZVANIE

Унікальний індентіфікатор Назва фірми

    1. Типи операцій

Назва (в базі)

Назва (переклад)

Опис

Код

Назва

KOD

NAZVANIE

Унікальний індентіфікатор Назва операції

123 - Primary key (первинний ключ)

123 - Foreign key (зв'язок)

123 - Uniqe (унікальний)

  1. Приклади створення таблиць

create table Professii (KOD NUMBER (5) PRIMARY KEY,

NAZVANIE VARCHAR2 (30) UNIQUE

);

create table Personal (KOD NUMBER (5) PRIMARY KEY,

FIO VARCHAR2 (50),

TELEFON VARCHAR2 (15),

BIRTHSDAY DATE,

ADRES VARCHAR2 (30),

POL NUMBER (1),

KOD_PROFESSII NUMBER (5),

UNIQUE (FIO, BIRTHSDAY),

FOREIGN KEY KOD_PROFESSII REFERENCES PROFESSII KOD

);

create table Svoistva (KOD NUMBER (5) PRIMARY KEY,

NAZVANIE VARCHAR2 (30),

EDINIZI IZMERENIA VARCHAR2 (10)

);

create table Texnicheskie_xarakteristiki (

KOD_TOVARA NUMBER (5),

KOD_SVOISTVA NUMBER (5),

ZNACHENIE NUMBER (5),

FOREIGN KEY KOD_TOVARA REFERENCES TOVARI KOD,

FOREIGN KEY KOD_SVOISTVA REFERENCES SVOISTVA KOD

);

create table Tipi_firm (KOD NUMBER (5) PRIMARY KEY,

NAZVANIE VARCHAR2 (30) UNIQUE

);

create table Tipi_operazii (KOD NUMBER (5) PRIMARY KEY,

NAZVANIE VARCHAR2 (30) UNIQUE

);

create table Firmi (KOD NUMBER (5) PRIMARY KEY,

NAZVANIE VARCHAR2 (30) UNIQUE,

ADRES VARCHAR2 (30),

TELEFON VARCHAR2 (15),

KOD_TIPA_FIRMI NUMBER (5),

FOREIGN KEY KOD_TIPA_FIRMI REFERENCES TIPI_FIRM KOD

);

create table Tipi_tovarov (KOD NUMBER (5) PRIMARY KEY,

NAZVANIE VARCHAR2 (30) UNIQUE,

KOD_FIRMI NUMBER (5),

KOD_TIPA_TOVARA NUMBER (5),

FOREIGN KEY KOD_FIRMI REFERENCES FIRMI KOD,

FOREIGN KEY KOD_TIPA_TOVARA REFERENCES TIPI_TOVAROV KOD

);

create table Tovari (KOD NUMBER (5) PRIMARY KEY,

KOD_TIPA_TOVARA NUMBER (5),

NAZVANIE VARCHAR2 (30),

UNIQUE (KOD_TIPA_TOVARA, NAZVANIE),

FOREIGN KEY KOD_TIPA_TOVARA REFERENCES TIPI_TOVAROV KOD

);

create table Sklad (

KOD_TOVARA NUMBER (5),

KOD_FIRMI NUMBER (5),

KOD_PERSON NUMBER (5),

KOD_TIPA_OPERAZII NUMBER (5),

ZENA NUMBER (5),

DATA DATE,

KOLICHESTVO NUMBER (3),

FOREIGN KEY KOD_TOVARA REFERENCES TOVARI KOD,

FOREIGN KEY KOD_FIRMI REFERENCES FIRMI KOD,

FOREIGN KEY KOD_PERSON REFERENCES PERSONAL KOD,

FOREIGN KEY KOD_TIPA_OPERAZII REFERENCES TIPI_OPERAZII KOD

);

  1. Приклади створення послідовностей

CREATE SEQUENCE "SEQPERSONAL" MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE;

CREATE SEQUENCE "SEQFIRMI" MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE;

CREATE SEQUENCE "SEQTIPI_TOVAROV" MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE;

CREATE SEQUENCE "SEQTOVARI" MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE;

  1. Приклади створення тригерів

CREATE OR REPLACE TRIGGER INSERT_IN_PERSONAL

BEFORE INSERT ON PERSONAL

FOR EACH ROW

BEGIN

SELECT SEQPERSONAL.NEXTVAL INTO: new.KOD FROM DUAL;

END;

/

CREATE OR REPLACE TRIGGER INSERT_IN_FIRMI

BEFORE INSERT ON FIRMI

FOR EACH ROW

BEGIN

SELECT SEQFIRMI.NEXTVAL INTO: new.KOD FROM DUAL;

END;

/

CREATE OR REPLACE TRIGGER INSERT_IN_TIPI_TOVAROV

BEFORE INSERT ON TIPI_TOVAROV

FOR EACH ROW

BEGIN

SELECT SEQTIPI_TOVAROV.NEXTVAL INTO: new.KOD FROM DUAL;

END;

/

CREATE OR REPLACE TRIGGER INSERT_IN_TOVARI

BEFORE INSERT ON TOVARI

FOR EACH ROW

BEGIN

SELECT SEQTOVARI.NEXTVAL INTO: new.KOD FROM DUAL;

END;

/

  1. Створення процедури

CREATE OR REPLACE FUNCTION

Updater

(NUMTOVARA Number)

IS

Result Number

BEGIN

RETURN

(SELECT SUM (KOLICHESTVO) FROM SKLAD WHERE KOD_TOVARA =

NUMTOVARA AND KODTIPAOPERAZII = 1) - (SELECT SUM (KOLICHESTVO) FROM SKLAD WHERE KOD_TOVARA =

NUMTOVARA AND KODTIPAOPERAZII = 2)

END

  1. Вставка даних

INSERT INTO PROFESSII (KOD, NAZVANIE) VALUES (1, 'ПРОДАВЕЦЬ');

INSERT INTO PROFESSII (KOD, NAZVANIE) VALUES (2, 'КАСИР');

INSERT INTO PROFESSII (KOD, NAZVANIE) VALUES (3, 'МЕНЕДЖЕР');

INSERT INTO PROFESSII (KOD, NAZVANIE) VALUES (4, 'ДИРЕКТОР');

INSERT INTO PERSONAL (FIO, TELEFON, ADRES, BIRTHDAY, POL, KOD_PROFESSII) VALUES ('КУПРІЯНОВ АНДРІЙ МИХАЙЛОВИЧ ', '88127567432', 'СПб КІРОВА 37 16 ', SYSDATE, 1,1);

INSERT INTO PERSONAL (FIO, TELEFON, ADRES, BIRTHDAY, POL, KOD_PROFESSII) VALUES ('КОВАЛЬОВ ІЛЛЯ СЕРГІЙОВИЧ ', '88128567432', 'СПб МАРАТ 38 14 ', SYSDATE, 1,2);

INSERT INTO PERSONAL (FIO, TELEFON, ADRES, BIRTHDAY, POL, KOD_PROFESSII) VALUES ('ПОЛИВЯННИЙ АРТЕМ ВІКТОРОВИЧ ', '88128967432', 'СПб СВІТУ травня 1912 ', SYSDATE, 1,3);

INSERT INTO PERSONAL (FIO, TELEFON, ADRES, BIRTHDAY, POL, KOD_PROFESSII) VALUES ('ПОЛИВЯННАЯ ДАР'Я ВІКТОРІВНА ', '88127417432', 'СПб СВІТУ травня 1912 ', SYSDATE, 2,4);

INSERT INTO SVOISTVA (KOD, NAZVANIE, EDINIZI_IZMERENIA) VALUES (1, 'РОЗМІР ВЗУТТЯ ',' РОЗМІР ');

INSERT INTO SVOISTVA (KOD, NAZVANIE, EDINIZI_IZMERENIA) VALUES (2, 'РОЗМІР РАМИ ',' Дюйми ');

INSERT INTO SVOISTVA (KOD, NAZVANIE, EDINIZI_IZMERENIA) VALUES (3, 'КОЛ - ВО ЛАНОК ',' ЛАНКУ ');

INSERT INTO TIPI_FIRM (KOD, NAZVANIE) VALUES (1, 'ПОСТАЧАЛЬНИК');

INSERT INTO TIPI_FIRM (KOD, NAZVANIE) VALUES (2, 'ВИРОБНИК');

INSERT INTO TIPI_OPERAZII (KOD, NAZVANIE) VALUES (1, 'ПАРАФІЯ');

INSERT INTO TIPI_OPERAZII (KOD, NAZVANIE) VALUES (2, 'ВИТРАТА');

INSERT INTO FIRMI (NAZVANIE, ADRES, TELEFON, KOD_TIPA_FIRMI) VALUES ('SRAM', 'МОСКВА Тушинський 40 ', '84956543211', 2);

INSERT INTO FIRMI (NAZVANIE, ADRES, TELEFON, KOD_TIPA_FIRMI) VALUES ('ВЕЛОМІР', 'МОСКВА ТВЕРСЬКИЙ ПРОСПЕКТ 14 ', '84954567213', 1);

INSERT INTO FIRMI (NAZVANIE, ADRES, TELEFON, KOD_TIPA_FIRMI) VALUES ('СПОРТАКАДЕМІЯ', 'МОСКВА ЛЕНІНА 65 ", '84952345764 ', 1);

INSERT INTO TIPI_TOVAROV (NAZVANIE, KOD_FIRMI, KOD_TIPA_TOVARA) VALUES ('КАСЕТ', 00001,1);

INSERT INTO TIPI_TOVAROV (NAZVANIE, KOD_FIRMI, KOD_TIPA_TOVARA) VALUES ('Манетки', 00001,2);

INSERT INTO TIPI_TOVAROV (NAZVANIE, KOD_FIRMI, KOD_TIPA_TOVARA) VALUES ('ЛАНЦЮГ', 00001,3);

INSERT INTO TOVARI (NAZVANIE, KOD_TIPA_TOVARA) VALUES ('970DH ', 1);

INSERT INTO TOVARI (NAZVANIE, KOD_TIPA_TOVARA) VALUES ('X9', 2);

INSERT INTO TOVARI (NAZVANIE, KOD_TIPA_TOVARA) VALUES ('990 HOLLOWPOINT ', 3);

INSERT INTO SKLAD (KOD_TOVARA, KOD_FIRMI, KOD_PERSON, KOD_TIPA_OPERAZII, ZENA, DATA, KOLICHESTVO) VALUES (00001,00002,3,1,1800, SYSDATE, 8);

INSERT INTO SKLAD (KOD_TOVARA, KOD_FIRMI, KOD_PERSON, KOD_TIPA_OPERAZII, ZENA, DATA, KOLICHESTVO) VALUES (00002,, 1,2,1100, SYSDATE, 1);

INSERT INTO SKLAD (KOD_TOVARA, KOD_FIRMI, KOD_PERSON, KOD_TIPA_OPERAZII, ZENA, DATA, KOLICHESTVO) VALUES (00003,00001,3,1,800, SYSDATE, 3);

INSERT INTO TEXNICHESKIE_XARAKTERISTIKI (KOD_TOVARA, KOD_SVOISTVA, ZNACHENIE) VALUES (00001,3,112);

INSERT INTO TEXNICHESKIE_XARAKTERISTIKI (KOD_TOVARA, KOD_SVOISTVA, ZNACHENIE) VALUES (00002,2,9);

INSERT INTO TEXNICHESKIE_XARAKTERISTIKI (KOD_TOVARA, KOD_SVOISTVA, ZNACHENIE) VALUES (00003,1,11-32);

Опис програми























У додатку створено три групи користувачів: «Покупець», «Продавець» і «Менеджер з персоналу».





Користувач «Покупець» може переглядати товари, наявні на складі. Зміни записів бази даних, даному користувачеві заборонені.

При виборі користувача «продавець» з'являється вікно:





Користувач повинен вибрати себе із запропонованого списку і натиснути «Ок». Якщо він себе не знайшов, то необхідно натиснути «Back» і звернутися до менеджера з персоналу.



Після вибору свого імені зі списку користувачеві відкривається його робоче вікно з двома вкладками: продаж і прихід товару. На вкладці «Продаж» продавець може продати товар подвійним кліком миші по найменуванню товару.



На вкладці «Прихід товарів» продавець може додати товар, вибравши його зі списку і ввівши закупівельну ціну і кількість. Якщо необхідний товар відсутній у списку, його можна додати, шляхом натискання кнопки «Додати Новий Товар».

У вікні необхідно ввести ВСІ поля, інакше додавання товару не представляється можливим. Заповнивши всі поля та натиснувши кнопку «OK», користувач внесе товар в базу даних. Для скасування дії додавання товару, користувачеві необхідно натиснути клавішу «Back», при цьому він, користувач, повернеться у своє основне вікно.



Користувач «Менеджер з персоналу» може переглядати інформацію про працівників фірми у своєму основному вікні. Також він може Наймати нових працівників, натиснувши кнопку «Найняти людини». У цьому випадку, йому, менеджеру, відкриється вікно додавання нового працівника



.



Тільки після заповнення ВСІХ полів менеджер зможе додати запис в базу даних. Якщо необхідної професії не опиниться в списку пропонованих, йому необхідно буде додати нову професію в список вже існуючих, шляхом натискання кнопки «Нова професія», потім введення назві професії і підтвердженням введення - натисканням клавіші «Ок». Якщо у результаті введення нової професії, необхідність в ній, професії відпаде, користувачеві необхідно натиснути кнопку «Васко».



  1. Инфологическая модель





Склад

Код товару

Код фірми

Код персон

Код типу операції

Ціна

Дата

Кількість

Технічні характеристики

Код товару

Код властивості

Значення

Типи товарів

Код

Назва

Код фірми

Код типу товару

Властивості

Код

Назва

Одиниці ізм.







Товари

Код

Код типу товару

Назва



Фірми

Код

Назва

Адреса

Телефон

Код типу фірми









Персонал

Код

ПІБ

телефону

Дата народження

Адреса

Пол

Код професії









Типи фірм

Код

Назва

Професії

Код

Назва

Типи операцій

Код

Назва









SKLAD

KOD_TOVARA

KOD_FIRMI

KOD_PERSONI

KOD_TIPA_OPER

ZENA

DATA

KOLICHESTVO

TEXNICHESKIE_

XARAKTERISTIKI

KOD_TOVARA

KOD_SVOISTVA

ZNACHENIE

TIPI_TOVAROV

KOD

NAZVANIE

KOD_FIRMI

KOD_TIPA_TOVAR

SVOISTVA

KOD

NAZVANIE

EDINIZI IZM.







TOVARI

KOD

KOD TIPA_TOVAR

NAZVANIE



FIRMI

KOD

NAZVANIE

ADRES

TELEFON

KOD_TIPA_FIRM









PERSONAL

KOD

FIO

TELEFON

BIRTHSDAY

ADRES

POL

KOD_PROFESSII









TIPI_FIRM

KOD

NAZVANIE

PROFESSII

KOD

NAZVANIE

TIPI_OPERAZII

KOD

NAZVANIE









Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
105кб. | скачати


Схожі роботи:
База даних комп`ютерного магазину 2
Матеріально-технічна база підприємства оптової торгівлі та робота непродовольчого магазину самообслуговування
База даних 14
База даних підприємства
База даних студентів
База даних DVDфільмов
База даних Співробітники 2
База даних MS Access 2
База даних MS Access
© Усі права захищені
написати до нас