Реферат: База данных велосипедного магазина

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

Выполнили студенты гр.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.1     Персонал

Название (в базе) Название (перевод) Описание

Код

 

ФИО

№ телефона

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

Адрес

Пол

Код профессии

KOD

FIO

TELEFON

BIRTHSDAY

ADRES

POL

KOD_PROFESSII

Уникальный индентификатор работника

Фамилия, Имя, Отчество

№ телефона

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

Адрес

Пол

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

1.2     Склад

Название (в базе) Название (перевод) Описание

Код товара

Код фирмы

Код персон

Код типа операции

 

Цена

Дата

Кол-во

 

KOD_TOVARA

KOD_FIRMI

KOD_PERSON

KOD_TIPA_OPERAZII

ZENA

DATA

KOLICHESTVO

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

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

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

Код типа операции в таблице Tipi_operazii

Закупочная цена

Дата

Количество товара участвующего в операции

1.3     Товар

Название (в базе) Название (перевод) Описание

Код

 

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

Название

KOD

KOD_TIPA_TOVARA

NAZVANIE

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

Код товара в таблице Tipi_tovarov

Название товара


1.4     Типытоваров

Название (в базе) Название (перевод) Описание

Код

 

Название

Код фирмы

 

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

 

KOD

NAZVANIE

KOD_FIRMI

KOD_TIPA_TOVARA

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

Название типа товара

Код фирмы производителя в таблице Firmi

Код родительского типа товаров в таблице Tipi_tovarov

1.5     Фирмы

Название (в базе) Название (перевод) Описание

Код

 

Название

Адрес

Телефон

Код типа фирмы

 

KOD

NAZVANIE

ADRES

TELEFON

KOD_TIPA_FIRMI

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

Название фирмы

Адрес

Телефон

Код типа фирмы в таблице Tipi_firm

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

Название (в базе) Название (перевод) Описание

Код товара

Код свойства

Значение

KOD_TOVARA

KOD_SVOISTVA

ZNACHENIE

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

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

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

1.7     Свойства

Название (в базе) Название (перевод) Описание

Код

Название

Единицы измерения

KOD

NAZVANIE

EDINIZI IZMERENIA

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

Единицы измерения свойства

1.8     Профессии

Название (в базе) Название (перевод) Описание

Код

Название

KOD

NAZVANIE

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

1.9     Типыфирм

Название (в базе) Название (перевод) Описание

Код

Название

KOD

NAZVANIE

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

1.10         Типыопераций

Название (в базе) Название (перевод) Описание

Код

Название

KOD

NAZVANIE

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

123– Primarykey(первичныйключ)

123– Foreignkey(связь)

123– Uniqe(уникальный)


2.        Примеры создания таблиц

createtable Professii (KOD NUMBER(5) PRIMARY KEY,

NAZVANIE                  VARCHAR2(30)UNIQUE

);

createtable 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),

FOREIGNKEY KOD_PROFESSII REFERENCES PROFESSII KOD

);

createtable Svoistva (KOD NUMBER(5) PRIMARY KEY,

NAZVANIE                  VARCHAR2(30),

EDINIZIIZMERENIA  VARCHAR2(10)

);

createtable Texnicheskie_xarakteristiki (

KOD_TOVARA           NUMBER(5),

KOD_SVOISTVA                 NUMBER(5),

ZNACHENIE                NUMBER(5),

FOREIGNKEY KOD_TOVARA REFERENCES TOVARI KOD,

FOREIGNKEY KOD_SVOISTVA REFERENCES SVOISTVA KOD

);

createtable Tipi_firm (KOD NUMBER(5) PRIMARY KEY,

NAZVANIE                  VARCHAR2(30)UNIQUE

);

createtable Tipi_operazii (KOD NUMBER(5) PRIMARY KEY,

NAZVANIE                 VARCHAR2(30) UNIQUE

);

createtable Firmi (KOD NUMBER(5) PRIMARY KEY,

NAZVANIE                  VARCHAR2(30)UNIQUE,

ADRES                         VARCHAR2(30),

TELEFON           VARCHAR2(15),

KOD_TIPA_FIRMI               NUMBER(5),

FOREIGNKEY KOD_TIPA_FIRMI REFERENCES TIPI_FIRM KOD

);

createtable Tipi_tovarov (KOD NUMBER(5) PRIMARY KEY,

NAZVANIE                  VARCHAR2(30)UNIQUE,

KOD_FIRMI                 NUMBER(5),

KOD_TIPA_TOVARA NUMBER(5),

FOREIGNKEY KOD_FIRMI REFERENCES FIRMI KOD,

FOREIGNKEY KOD_TIPA_TOVARA REFERENCES TIPI_TOVAROV KOD

);

createtable Tovari (KOD NUMBER(5) PRIMARY KEY,

KOD_TIPA_TOVARA NUMBER(5),

NAZVANIE                  VARCHAR2(30),

UNIQUE(KOD_TIPA_TOVARA,NAZVANIE),

FOREIGNKEY KOD_TIPA_TOVARA REFERENCES TIPI_TOVAROV KOD

);

createtable 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),

FOREIGNKEY KOD_TOVARA REFERENCES TOVARI KOD,

FOREIGNKEY KOD_FIRMI REFERENCES FIRMI KOD,

FOREIGNKEY KOD_PERSON REFERENCES PERSONAL KOD,

FOREIGNKEY KOD_TIPA_OPERAZII REFERENCES TIPI_OPERAZII KOD

);


3.        Примеры создания последовательностей

CREATESEQUENCE «SEQPERSONAL» MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1START WITH 1 CACHE 20 NOORDER NOCYCLE;

CREATESEQUENCE «SEQFIRMI» MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1START WITH 1 CACHE 20 NOORDER NOCYCLE;

CREATESEQUENCE «SEQTIPI_TOVAROV» MINVALUE 1 MAXVALUE 9999999999 INCREMENTBY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE;

CREATESEQUENCE «SEQTOVARI» MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1START WITH 1 CACHE 20 NOORDER NOCYCLE;


4.        Примеры создания триггеров

CREATEOR REPLACE TRIGGER INSERT_IN_PERSONAL

BEFOREINSERT ON PERSONAL

FOREACH ROW

BEGIN

SELECTSEQPERSONAL.NEXTVAL INTO :new.KOD FROM DUAL;

END;

/

CREATEOR REPLACE TRIGGER INSERT_IN_FIRMI

BEFOREINSERT ON FIRMI

FOREACH ROW

BEGIN

SELECTSEQFIRMI.NEXTVAL INTO :new.KOD FROM DUAL;

END;

/

CREATEOR REPLACE TRIGGER INSERT_IN_TIPI_TOVAROV

BEFOREINSERT ON TIPI_TOVAROV

FOREACH ROW

BEGIN

SELECTSEQTIPI_TOVAROV.NEXTVAL INTO :new.KOD FROM DUAL;

END;

/

CREATEOR REPLACE TRIGGER INSERT_IN_TOVARI

BEFOREINSERT ON TOVARI

FOREACH ROW

BEGIN

SELECTSEQTOVARI.NEXTVAL INTO :new.KOD FROM DUAL;

END;

/


5.        Создание процедуры

 

CREATEOR REPLACE FUNCTION

Updater

(NUMTOVARANumber)

IS

         ResultNumber

BEGIN

         RETURN

(SELECTSUM (KOLICHESTVO) FROM SKLAD WHERE KOD_TOVARA=

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

NUMTOVARAAND KODTIPAOPERAZII =2)

END


 

6.        Вставка данных

 

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

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

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

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

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

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

INSERTINTO PERSONAL (FIO,TELEFON,ADRES,BIRTHDAY,POL,KOD_PROFESSII) VALUES ('ПОЛЫВЯННЫЙАРТЕМВИКТОРОВИЧ','88128967432','СПбМИРА5 12',SYSDATE,1,3);

INSERTINTO PERSONAL (FIO,TELEFON,ADRES,BIRTHDAY,POL,KOD_PROFESSII) VALUES ('ПОЛЫВЯННАЯДАРЬЯВИКТОРОВНА','88127417432','СПбМИРА5 12',SYSDATE,2,4);

INSERTINTO SVOISTVA (KOD,NAZVANIE,EDINIZI_IZMERENIA) VALUES (1,'РАЗМЕРОБУВИ','РАЗМЕР');

INSERTINTO SVOISTVA (KOD,NAZVANIE,EDINIZI_IZMERENIA) VALUES (2,'РАЗМЕРРАМЫ','ДЮЙМЫ');

INSERTINTO SVOISTVA (KOD,NAZVANIE,EDINIZI_IZMERENIA) VALUES (3,'КОЛ-ВОЗВЕНЬЕВ','ЗВЕНЬЯ');

INSERTINTO TIPI_FIRM (KOD,NAZVANIE) VALUES (1,'ПОСТАВЩИК');

INSERTINTO TIPI_FIRM (KOD,NAZVANIE) VALUES (2,'ПРОИЗВОДИТЕЛЬ');

INSERTINTO TIPI_OPERAZII (KOD,NAZVANIE) VALUES (1,'ПРИХОД');

INSERTINTO TIPI_OPERAZII (KOD,NAZVANIE) VALUES (2,'РАСХОД');

INSERTINTO FIRMI (NAZVANIE,ADRES,TELEFON,KOD_TIPA_FIRMI) VALUES ('SRAM','МОСКВАТУШИНСКИЙ40','84956543211',2);

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

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

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

INSERTINTO TIPI_TOVAROV (NAZVANIE,KOD_FIRMI,KOD_TIPA_TOVARA) VALUES ('МАНЕТКА',00001,2);

INSERTINTO TIPI_TOVAROV (NAZVANIE,KOD_FIRMI,KOD_TIPA_TOVARA) VALUES ('ЦЕПЬ',00001,3);

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

INSERTINTO TOVARI (NAZVANIE,KOD_TIPA_TOVARA) VALUES ('X9',2);

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

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

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

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

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

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

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

Описание приложения

 

/>

 

 

 

 

 

 

 

 

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

/>

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

При выборе пользователя«продавец» появляется окно:

/>

Пользователь долженвыбрать себя из предложенного списка и нажать «Ок». Если он себя не нашел, тонеобходимо нажать «Back» и обратиться кменеджеру по персоналу.

/>

еще рефераты
Еще работы по информатике, программированию