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

1.7 Свойства

Название (в базе)

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

Описание

Код

Название

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

KOD

NAZVANIE

EDINIZI IZMERENIA

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

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

1.8 Профессии

Название (в базе)

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

Описание

Код

Название

KOD

NAZVANIE

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

1.9 Типы фирм

Название (в базе)

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

Описание

Код

Название

KOD

NAZVANIE

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

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

Название (в базе)

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

Описание

Код

Название

KOD

NAZVANIE

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

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

123 - Foreign key (связь)

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

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

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

);

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

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;

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

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;

/

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

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

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

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','СПб МИРА 5 12',SYSDATE,1,3);

INSERT INTO PERSONAL (FIO,TELEFON,ADRES,BIRTHDAY,POL,KOD_PROFESSII) VALUES ('ПОЛЫВЯННАЯ ДАРЬЯ ВИКТОРОВНА','88127417432','СПб МИРА 5 12',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);

Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.