(kod NUMBER(7,0) NOT NULL,
naimen VARCHAR2(50))
/
ALTER TABLE s_naimen
ADD CONSTRAINT pk_s_naimen PRIMARY KEY (kod)
USING INDEX
/
Создание справочника «Физических лиц»:
CREATE TABLE s_fiz_lic
(kod NUMBER(7,0) NOT NULL,
fam VARCHAR2(30),
im VARCHAR2(25),
otch VARCHAR2(25),
p_vidan VARCHAR2(80),
p_ser_nom VARCHAR2(20))
/
ALTER TABLE s_fiz_lic
ADD CONSTRAINT pk_s_fiz_lic PRIMARY KEY (kod)
USING INDEX
/
Создание справочника «Организаций»:
CREATE TABLE s_org
(kod NUMBER(7,0) NOT NULL,
naimen VARCHAR2(50),
inn VARCHAR2(10))
/
ALTER TABLE s_org
ADD CONSTRAINT pk_s_org PRIMARY KEY (kod)
USING INDEX
/
Создание шапки документа «Доверенность»:
CREATE TABLE d_dover2
(kod NUMBER(10,0) NOT NULL,
ndoc NUMBER(6,0),
datav DATE,
data_deis DATE,
kod_fiz_lic NUMBER(7,0),
kod_org NUMBER(7,0))
/
ALTER TABLE d_dover2
ADD CONSTRAINT pk_d_dover2 PRIMARY KEY (kod)
USING INDEX
/
Создание тела документа «Доверенность» (список наименований товаров):
CREATE TABLE d_dover_sp_naimen2
(kod NUMBER(8,0) NOT NULL,
kod_d_dover2 NUMBER(10,0) NOT NULL,
kod_s_naimen NUMBER(7,0),
kol NUMBER(5,3),
ed_izm VARCHAR2(8))
/
ALTER TABLE d_dover_sp_naimen2
ADD CONSTRAINT pk_d_dover_sp2 PRIMARY KEY (kod)
USING INDEX
/
Создание реляционных связей между таблицами:
ALTER TABLE d_dover2
ADD CONSTRAINT fk1_d_dover2 FOREIGN KEY (kod_fiz_lic)
REFERENCES s_fiz_lic (kod)
/
ALTER TABLE d_dover2
ADD CONSTRAINT fk2_d_dover2 FOREIGN KEY (kod_org)
REFERENCES s_org (kod)
/
ALTER TABLE d_dover_sp_naimen2
ADD CONSTRAINT fk_d_dover_sp2 FOREIGN KEY (kod_d_dover2)
REFERENCES d_dover2 (kod)
/
ALTER TABLE d_dover_sp_naimen2
ADD CONSTRAINT fk2_d_dover_sp2 FOREIGN KEY (kod_s_naimen)
REFERENCES s_naimen (kod)
/
Представление — это поименованная, динамически поддерживаемая сервером выборка из одной или нескольких таблиц или других представлений. Оператор SELECT, определяющий выборку, ограничивает видимые пользователем данные. Кроме того, представление позволяет эффективно ограничить данные, которые пользователь может модифицировать. Используя представления, администратор базы данных ограничивает доступную пользователям часть логического пространства базы данных только теми данными, которые реально им необходимы.
Рассмотрим пример создания простейшего представления v_s_fiz_lic:
CREATE VIEW v_s_fiz_lic AS
SELECT fam, im, otch FROM s_fiz_lic;
Для поддержки автоматической уникальности первичных ключей при работе с формой рекомендуется создать в БД последовательности. Например:
CREATE SEQUENCE kod_d_dover_sp2
INCREMENT BY 1
START WITH 1
MINVALUE 1
MAXVALUE 99999999
NOCYCLE
NOORDER
NOCACHE
/