Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Pripojte sa k Oracle pomocou účtu , ktorý má príslušné oprávnenia vytvárať a meniť tabuľky .
2
zadajte nasledujúci SQL ( štruktúrovaný dopytovací jazyk ) pre konfiguráciu zabezpečenie databázy ľudských zdrojov :
DROP USER hod CASCADE ;
CREATE USER hod identifikovaných h ;
ALTER USER hod dočasný tabuľkový temp ;
GRANT vytvoriť zasadnutie
, vytvoriť tabuľku
, vytvoriť postup
, vytvoriť sekvencie
, vytvoriť spúšť
, vytvoriť názor
, vytvoriť synonymum
, zmeniť relácie
HR ;
CONNECT /AS SYSDBA ;
GRANT vykonať ON sys.dbms_stats HR ;
COMMIT ;
3
zadajte nasledujúci SQL vo vývojovom prostredí vytvoriť databázu ľudských zdrojov :
CREATE TABLE regiónov
( region_id ČÍSLO
OBMEDZENIA region_id_nn NOT NULL
, region_name VARCHAR2 ( 25 )
) ;
CREATE UNIQUE INDEX reg_id_pk
ON regióny ( region_id ) ;
ALTER TABLE regióny
ADD ( OBMEDZENIA reg_id_pk
PRIMARY KEY ( region_id )
) ;
CREATE Tabuľka krajín
( country_id CHAR ( 2 )
OBMEDZENIA country_id_nn NOT NULL
, country_name VARCHAR2 ( 40 )
, region_id ČÍSLO
, CONSTRAINT country_c_id_pk
PRIMARY KEY ( country_id )
)
ORGANIZÁCIA INDEX ;
ALTER TABLE krajiny
ADD ( CONSTRAINT countr_reg_fk
FOREIGN KEY ( region_id ) Spojené
Odkazy regióny ( region_id )
) ;
CREATE TABLE miestach
( location_id ČÍSLO ( 4 )
, street_address VARCHAR2 ( 40 )
, postal_code VARCHAR2 ( 12 )
, město VARCHAR2 ( 30 )
OBMEDZENIA loc_city_nn NOT NULL
, state_province VARCHAR2 ( 25 )
, country_id CHAR ( 2 )
) ;
CREATE UNIQUE INDEX loc_id_pk
ON miestach ( location_id ) ;
ALTER TABLE umiestnenie
Add ( CONSTRAINT loc_id_pk klipart
PRIMARY KEY ( location_id )
, OBMEDZENIA loc_c_id_fk
FOREIGN KEY ( country_id )
Odkazy krajiny ( country_id )
) ;
CREATE SEQUENCE locations_seq
START WITH 3300
zvýšiť o 100
maxvalue 9900
nocache
NOCYCLE ;
CREATE TABLE oddelenie
( department_id ČÍSLO ( 4 )
, department_name VARCHAR2 ( 30 )
OBMEDZENIA dept_name_nn NOT NULL
, manager_id ČÍSLO ( 6 )
, location_id ČÍSLO ( 4 )
) ;
CREATE UNIQUE INDEX dept_id_pk
ON oddelenie ( department_id ) ;
ALTER TABLE oddelenie
ADD ( OBMEDZENIA dept_id_pk
PRIMARY KEY ( department_id )
, CONSTRAINT dept_loc_fk
FOREIGN KEY ( location_id ) Spojené
Odkazy miesta ( location_id )
) ;
CREATE SEQUENCE departments_seq
START WITH 280
zvýšiť o 10
maxvalue 9990
nocache
NOCYCLE ;
CREATE TABLE pracovných miest
( job_id VARCHAR2 ( 10 )
, job_title VARCHAR2 ( 35 )
OBMEDZENIA job_title_nn NOT NULL
, min_salary ČÍSLO ( 6 )
, max_salary ČÍSLO ( 6 )
) ;
CREATE UNIQUE INDEX job_id_pk
ON pracovných miest ( job_id ) ;
ALTER TABLE pracovných miest
ADD ( OBMEDZENIA job_id_pk
PRIMARY KEY ( job_id )
) ;
CREATE TABLE zamestnancov
( employee_id ČÍSLO ( 6 )
, FIRST_NAME VARCHAR2 ( 20 )
, last_name VARCHAR2 ( 25 )
CONSTRAINT emp_last_name_nn NOT NULL
, e - mail VARCHAR2 ( 25 )
OBMEDZENIA emp_email_nn NOT NULL
, PHONE_NUMBER VARCHAR2 ( 20 )
, hire_date DÁTUM
CONSTRAINT emp_hire_date_nn NOT NULL
, job_id VARCHAR2 ( 10 )
CONSTRAINT emp_job_nn NOT NULL
, plat NUMBER ( 8,2 )
, commission_pct NUMBER ( 2,2 )
, manager_id ČÍSLO ( 6 )
, department_id ČÍSLO ( 4 )
, OBMEDZENIA emp_salary_min
CHECK ( plat > 0 )
, OBMEDZENIA emp_email_uk
UNIQUE ( e - mail )
) ;
CREATE UNIQUE INDEX emp_emp_id_pk
na zamestnanca ( employee_id ) ;
ALTER TABLE zamestnancov
ADD ( OBMEDZENIA emp_emp_id_pk
PRIMARY KEY ( employee_id )
, oBMEDZENIA emp_dept_fk
FOREIGN KEY ( department_id ) Spojené
Odkazy oddelenia
, obmedzenie emp_job_fk
cudzí kľúč ( job_id )
Referencie Zamestnanie ( job_id )
, OBMEDZENIA emp_manager_fk
FOREIGN KEY ( manager_id ) Spojené
Referencie zamestnancov
) ;
ALTER TABLE oddelenie
ADD ( CONSTRAINT dept_mgr_fk klipart
FOREIGN KEY ( manager_id ) Spojené
Odkazy zamestnancov ( employee_id )
) ;
CREATE SEQUENCE employees_seq
START WITH 207
zvýšiť o 1
nocache
NOCYCLE ;
CREATE TABLE job_history
( employee_id ČÍSLO ( 6 )
OBMEDZENIA jhist_employee_nn NOT NULL
, dátum_začiatku DÁTUM
CONSTRAINT jhist_start_date_nn NOT NULL
, dátum_konca DATE
OBMEDZENIA jhist_end_date_nn NOT NULL
, job_id VARCHAR2 ( 10 )
CONSTRAINT jhist_job_nn NOT NULL
, department_id ČÍSLO ( 4 )
, OBMEDZENIA jhist_date_interval
CHECK ( end_date > dátum_začiatku )
) ;
CREATE UNIQUE INDEX jhist_emp_id_st_date_pk
ON job_history ( employee_id , dátum_začiatku ) ;
ALTER TABLE job_history
ADD ( OBMEDZENIA jhist_emp_id_st_date_pk
PRIMARY KEY ( employee_id , dátum_začiatku )
, OBMEDZENIA jhist_job_fk
FOREIGN KEY ( job_id )
Referencie Zamestnanie
, OBMEDZENIA jhist_emp_fk
FOREIGN KEY ( employee_id ) Spojené
Referencie zamestnancov
, OBMEDZENIA jhist_dept_fk
FOREIGN KEY ( department_id ) Spojené
Odkazy oddelenie
) ;
COMMIT ;
4
zadajte nasledujúci SQL vo vývojovom prostredí pridajte podrobnosti zamestnancov pohľad do databázy :
CREATE OR REPLACE vIEW e ,
Oddelenie D , Spojené
úlohy j , Spojené
umiestnenie l , Spojené
krajiny c , Spojené
kraja r
WHERE e.department_id = d.department_id
A d.location_id = l.location_id
A l.country_id = c.country_id
A c.region_id = r . region_id
A j.job_id = e.job_id
iba pre čítanie ;
COMMIT ;