Мегаобучалка Главная | О нас | Обратная связь


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



2019-07-03 183 Обсуждений (0)
Примеры создания таблиц 0.00 из 5.00 0 оценок




 

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

);


 

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

 

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;


 

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

 

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;

/


 

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

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


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

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);

 

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», при этом он, пользователь, вернется в свое основное окно.

 

 

Пользователь «Менеджер по персоналу» может просматривать информацию о работниках фирмы в своем основном окне. Также он может Нанимать новых работников, нажав кнопку «Нанять человека». В этом случае, ему, менеджеру, откроется окно добавления нового работника

 

.

 

Только после заполнения ВСЕХ полей менеджер сможет добавить запись в базу данных. Если необходимой профессии не окажется в списке предлагаемых, ему необходимо будет добавить новую профессию в список уже существующих, путем нажатия кнопки «Новая профессия», затем ввода названии профессии и подтверждением ввода – нажатием клавиши «Ок».Если в результате ввода новой профессии, необходимость в ней, профессии отпадет, пользователю необходимо нажать кнопку «ВАСК».

 

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

Склад
Код товара Код фирмы Код персон Код типа операции Цена Дата Кол-во
Технические характеристики
Код товара Код свойства Значение
Типы товаров
Код Название Код фирмы Код типа товара
Свойства
Код Название Единицы изм.

 

 

Товары
Код Код типа товара Название

 

Фирмы
Код Название Адрес Телефон Код типа фирмы

 

 

Персонал
Код ФИО № телефона Дата рождения Адрес Пол Код профессии

 

 

 

 


Типы фирм
Код Название
Профессии
Код Название
Типы операций
Код Название

 


 

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

 

 



2019-07-03 183 Обсуждений (0)
Примеры создания таблиц 0.00 из 5.00 0 оценок









Обсуждение в статье: Примеры создания таблиц

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (183)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)