Отдел кадров
Курсовая работа, 08 Ноября 2011, автор: пользователь скрыл имя
Краткое описание
Цель данной работы заключается в том, чтобы изучить некую систему управления базами данных (в дальнейшем СУБД), научиться создавать и управлять в ней базами данных (в дальнейшем БД), а также уметь манипулировать самими БД с помощью запросов.
Для примера БД, необходимо спроектировать схему какой либо предметной области, определить её свойства и создать БД в СУБД, а также проверить ее работоспособность и изучить свойства различными запросами.
Содержание работы
1. Постановка задачи 3
2. Подготовка к работе 4
3. Схема БД 6
4. Создание таблиц 8
5. Заполнение таблиц 12
6. Работа с таблицами, запросы 15
7. Заключение 19
Содержимое работы - 1 файл
отчет.docx
— 135.47 Кб (Скачать файл)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,'разведен') ;