Отдел кадров

Автор работы: Пользователь скрыл имя, 08 Ноября 2011 в 13:19, курсовая работа

Краткое описание

Цель данной работы заключается в том, чтобы изучить некую систему управления базами данных (в дальнейшем СУБД), научиться создавать и управлять в ней базами данных (в дальнейшем БД), а также уметь манипулировать самими БД с помощью запросов.
Для примера БД, необходимо спроектировать схему какой либо предметной области, определить её свойства и создать БД в СУБД, а также проверить ее работоспособность и изучить свойства различными запросами.

Содержание работы

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,'разведен')  ;

Информация о работе Отдел кадров