CREATE TABLE
SemeynoePolzenie
(
KodPolozeniya INTEGER NOT NULL ,
Polozenie VARCHAR2 (100) NOT NULL
);
ALTER TABLE
SemeynoePolzenie
ADD CONSTRAINT SemeynoePolzenie_PK PRIMARY KEY ( KodPolozeniya ) ;
CREATE TABLE
otdely
(
KodOtdela INTEGER NOT NULL ,
Otdel VARCHAR2 (200 CHAR) NOT NULL
);
ALTER TABLE
otdely
ADD CONSTRAINT otdely_PK PRIMARY KEY ( KodOtdela ) ;
CREATE TABLE
sotrudniki
(
KodSotrud INTEGER NOT NULL ,
TableNumber INTEGER NOT NULL ,
SurName VARCHAR2 (50 CHAR) NOT NULL ,
Names VARCHAR2 (50 CHAR) NOT NULL ,
SecondName VARCHAR2 (50 CHAR) NOT NULL ,
BirthDay DATE ,
Street VARCHAR2 (30) ,
Dom VARCHAR2 (25 CHAR) NOT NULL ,
Kvartira VARCHAR2 (15 CHAR) ,
Telefon NUMBER ,
otdely_KodOtdela INTEGER NOT NULL ,
Dolznosti_KodDolznosti INTEGER NOT NULL ,
Goroda_KodGoroda INTEGER NOT NULL ,
Obrazovanie_KodObrazovaniya INTEGER NOT NULL ,
SemeynoePolzenie_KodPolozeniya INTEGER NOT NULL
);
ALTER TABLE
sotrudniki
ADD CONSTRAINT sotrudniki_PK
PRIMARY KEY ( KodSotrud )
;
ALTER TABLE
sotrudniki
ADD CONSTRAINT sotrudniki_Dolznosti_FK FOREIGN KEY
(
Dolznosti_KodDolznosti
)
REFERENCES Dolznosti
(
KodDolznosti
);
ALTER TABLE
sotrudniki
ADD CONSTRAINT sotrudniki_Goroda_FK FOREIGN KEY
(
Goroda_KodGoroda
)
REFERENCES Goroda
(
KodGoroda
);
ALTER TABLE
sotrudniki
ADD CONSTRAINT sotrudniki_Obrazovanie_FK FOREIGN KEY
(
Obrazovanie_KodObrazovaniya
)
REFERENCES Obrazovanie
(
KodObrazovaniya
);
ALTER TABLE
sotrudniki
ADD CONSTRAINT sotrudniki_SemeynoePolzenie_FK FOREIGN KEY
(
SemeynoePolzenie_KodPolozeniya
)
REFERENCES SemeynoePolzenie
(
KodPolozeniya
);
ALTER TABLE
sotrudniki
ADD CONSTRAINT sotrudniki_otdely_FK FOREIGN KEY
(
otdely_KodOtdela
)
REFERENCES otdely
(
KodOtdela
);
CREATE TABLE
Dolznosti
(
KodDolznosti INTEGER NOT NULL ,
Dolznost VARCHAR2 (150 CHAR) NOT NULL
);
ALTER TABLE
Dolznosti
ADD CONSTRAINT Dolznosti_PK PRIMARY KEY ( KodDolznosti ) ;
CREATE TABLE
Goroda
(
KodGoroda INTEGER NOT NULL ,
Gorod VARCHAR2 (100 CHAR) NOT NULL
);
ALTER TABLE
Goroda
ADD CONSTRAINT Goroda_PK PRIMARY KEY ( KodGoroda ) ;
CREATE TABLE
Obrazovanie
(
KodObrazovaniya INTEGER NOT NULL ,
Obrazovanie VARCHAR2 (100 CHAR) NOT NULL
);
ALTER TABLE
Obrazovanie
ADD CONSTRAINT Obrazovanie_PK PRIMARY KEY ( KodObrazovaniya ) ;
CREATE TABLE
SemeynoePolzenie
(
KodPolozeniya INTEGER NOT NULL ,
Polozenie VARCHAR2 (100) NOT NULL
);
ALTER TABLE
SemeynoePolzenie
ADD CONSTRAINT SemeynoePolzenie_PK PRIMARY KEY ( KodPolozeniya ) ;
CREATE TABLE
otdely
(
KodOtdela INTEGER NOT NULL ,
Otdel VARCHAR2 (200 CHAR) NOT NULL
);
ALTER TABLE
otdely
ADD CONSTRAINT otdely_PK PRIMARY KEY ( KodOtdela ) ;
CREATE TABLE
sotrudniki
(
KodSotrud INTEGER NOT NULL ,
TableNumber INTEGER NOT NULL ,
SurName VARCHAR2 (50 CHAR) NOT NULL ,
Names VARCHAR2 (50 CHAR) NOT NULL ,
SecondName VARCHAR2 (50 CHAR) NOT NULL ,
BirthDay DATE ,
Street VARCHAR2 (30) ,
Dom VARCHAR2 (25 CHAR) NOT NULL ,
Kvartira VARCHAR2 (15 CHAR) ,
Telefon NUMBER ,
otdely_KodOtdela INTEGER NOT NULL ,
Dolznosti_KodDolznosti INTEGER NOT NULL ,
Goroda_KodGoroda INTEGER NOT NULL ,
Obrazovanie_KodObrazovaniya INTEGER NOT NULL ,
SemeynoePolzenie_KodPolozeniya INTEGER NOT NULL
);
ALTER TABLE
sotrudniki
ADD CONSTRAINT sotrudniki_PK PRIMARY KEY ( KodSotrud ) ;
ALTER TABLE
sotrudniki
ADD CONSTRAINT sotrudniki_Dolznosti_FK FOREIGN KEY
(
Dolznosti_KodDolznosti
)
REFERENCES Dolznosti
(
KodDolznosti
);
ALTER TABLE
sotrudniki
ADD CONSTRAINT sotrudniki_Goroda_FK FOREIGN KEY
(
Goroda_KodGoroda
)
REFERENCES Goroda
(
KodGoroda
);
ALTER TABLE
sotrudniki
ADD CONSTRAINT sotrudniki_Obrazovanie_FK FOREIGN KEY
(
Obrazovanie_KodObrazovaniya
)
REFERENCES Obrazovanie
(
KodObrazovaniya
);
ALTER TABLE
sotrudniki
ADD CONSTRAINT sotrudniki_SemeynoePolzenie_FK FOREIGN KEY
(
SemeynoePolzenie_KodPolozeniya
)
REFERENCES SemeynoePolzenie
(
KodPolozeniya
);
ALTER TABLE
sotrudniki
ADD CONSTRAINT sotrudniki_otdely_FK FOREIGN KEY
(
otdely_KodOtdela
)
REFERENCES otdely
(
KodOtdela);
Итак, мы имеем готовый код, проверим
его в SQL Developer:
Видим,
что таблицы и свойства полей
были успешно созданы, теперь можем
их заполнять.
5.
Заполнение таблиц
Для
того, чтобы заполнить таблицы воспользуемся
оператором INSERT INTO
Оператор
INSERT вставляет новые строки в существующую
таблицу. Форма данной команды INSERT ... VALUES
вставляет строки, в соответствии с точно
указанными в команде значениями. Форма
INSERT ... SELECT вставляет строки, выбранные
из другой таблицы или таблиц. Форма INSERT
... VALUES, со списком из нескольких значений
поддерживается в версии MySQL 3.22.5 и более
поздних. Синтаксис выражения col_name=expression
поддерживается в версии MySQL 3.22.10 и более
поздних, tbl_name задает таблицу, в которую
должны быть внесены строки.
Синтаксис
оператора INSERT INTO
INSERT [LOW_PRIORITY
| DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES (expression,...),(...),...
[ ON DUPLICATE KEY UPDATE col_name=expression, ... ]
или INSERT
[LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...
или INSERT
[LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name
SET col_name=(expression | DEFAULT), ...
[ ON DUPLICATE KEY UPDATE col_name=expression, ... ]
Заполним
любыми значениями таблицы:
insert
into otdely
values (1,'Дирекция');
insert into
otdely
values
(2,'Бухгалтерия');
insert into
otdely
values
(3,'Отдел кадров');
insert into
otdely
values
(4,'Отдел труда и зарплаты');
insert into
otdely
values
(5,'Плановый отдел');
insert into
otdely
values
(6,'Отдел маркетинга');
insert into
otdely
values
(7,'Отдел АСУ');
insert into
otdely
values
(8,'Отдел КИПиА');
insert into
otdely
values
(9,'Отдел энергетики');
insert into
otdely
values
(10,'Отдел нефтедобычи');
insert into
semeynoepolzenie
values
(1,'холост');
insert into
semeynoepolzenie
values
(2,'женат');
insert into
semeynoepolzenie
values
(3,'замужем');
insert into
semeynoepolzenie
values
(4,'не замужем');
insert into
semeynoepolzenie
values (5,'разведен') ;