Medarbejderen bord er en af mange tabeller oprettet i menneskelige ressourcer prøven skema fra Oracle. Den menneskelige ressourcer database sporer medarbejder og faciliteter oplysninger for en fiktiv virksomhed . Oracle giver eksempeldatabaserne at skabe et fælles grundlag for eksempler i teknisk dokumentation . Instruktioner
1
Tilslut til Oracle med en konto, der har tilstrækkelige tilladelser til at oprette og ændre tabeller.
2
Indtast følgende SQL ( Structured Query Language ) til at konfigurere sikkerhed for de menneskelige ressourcer database : Hej
DROP USER hr CASCADE ,
CREATE USER hr identificeret ved hr ,
ALTER USER hr midlertidig tablespace temp ,
GRANT skabe session
, oprette tabellen
, oprette procedure
, oprette sekvens
, oprette udløser
, oprette se
< p> , oprette synonym
, ændre session
til HR ,
CONNECT /AS SYSDBA ,
GRANT udføre på sys.dbms_stats til HR ; < br >
COMMIT ,
3
Indtast følgende SQL i udviklingen miljø til at skabe den menneskelige ressource -databasen : Hej
CREATE TABLE regioner
( region_id NUMMER
CONSTRAINT region_id_nn NOT NULL
, region_name VARCHAR2 (25)
),
CREATE UNIQUE INDEX reg_id_pk
ON regioner ( region_id ),
ALTER TABLE regioner
ADD ( CONSTRAINT reg_id_pk
PRIMARY KEY ( region_id )
),
CREATE TABEL lande
( country_id CHAR ( 2)
CONSTRAINT country_id_nn NOT NULL
, country_name VARCHAR2 (40)
, region_id NUMMER
< p > CONSTRAINT country_c_id_pk
PRIMARY KEY ( country_id )
)
organisation INDEX ,
ALTER TABLE lande
ADD ( CONSTRAINT countr_reg_fk
FOREIGN KEY ( region_id )
REFERENCER regioner ( region_id )
),
CREATE TABLE steder
( location_id NUMMER ( 4 )
, street_address VARCHAR2 (40)
, postal_code VARCHAR2 (12)
, city VARCHAR2 (30)
CONSTRAINT loc_city_nn NOT NULL
, state_province VARCHAR2 (25)
, country_id CHAR ( 2)
),
CREATE UNIQUE INDEX loc_id_pk
ON steder ( location_id ) ;
ALTER TABLE steder
ADD ( CONSTRAINT loc_id_pk
PRIMARY KEY ( location_id )
, CONSTRAINT loc_c_id_fk
FOREIGN KEY ( country_id ) Salg
REFERENCER lande ( country_id )
),
CREATE SEQUENCE locations_seq
START MED 3300
INCREMENT BY 100
maxValue 9900
nocache
NOCYCLE ,
CREATE TABLE afdelinger
( department_id NUMMER ( 4)
, department_name VARCHAR2 (30)
CONSTRAINT dept_name_nn NOT NULL
, manager_id NUMMER ( 6)
, location_id NUMMER ( 4)
)
< p > CREATE UNIQUE INDEX dept_id_pk
ON afdelinger ( department_id )
ALTER TABLE afdelinger
ADD ( CONSTRAINT dept_id_pk
PRIMARY KEY ( department_id )
, CONSTRAINT dept_loc_fk
FOREIGN KEY ( location_id )
REFERENCER placeringer ( location_id )
),
CREATE SEQUENCE departments_seq
< p > START MED 280
INCREMENT BY 10
maxValue 9990
nocache
NOCYCLE ,
CREATE TABLE jobs
< p > ( job_id VARCHAR2 (10)
, job_title VARCHAR2 (35)
CONSTRAINT job_title_nn NOT NULL
, min_salary NUMMER ( 6)
, max_salary NUMMER (6)
),
CREATE UNIQUE INDEX job_id_pk
om job ( job_id )
ALTER TABLE jobs
Tilføj ( CONSTRAINT job_id_pk
PRIMARY KEY ( job_id )
),
CREATE TABLE medarbejdere
( employee_id NUMMER ( 6)
, first_name VARCHAR2 (20)
, last_name VARCHAR2 (25)
CONSTRAINT emp_last_name_nn NOT NULL
, email VARCHAR2 (25)
CONSTRAINT emp_email_nn NOT NULL < br >
, PHONE_NUMBER VARCHAR2 (20)
, hire_date DATE
CONSTRAINT emp_hire_date_nn NOT NULL
, job_id VARCHAR2 (10)
CONSTRAINT emp_job_nn IKKE NULL
, løn NUMMER ( 8,2 )
, commission_pct NUMMER ( 2,2 )
, manager_id NUMMER ( 6)
, department_id NUMMER ( 4)
, CONSTRAINT emp_salary_min
CHECK (løn > 0)
, CONSTRAINT emp_email_uk
UNIQUE (email)
),
CREATE UNIQUE INDEX emp_emp_id_pk
ON medarbejdere ( employee_id )
ALTER TABLE medarbejdere
ADD ( CONSTRAINT emp_emp_id_pk
PRIMARY KEY ( employee_id )
, CONSTRAINT emp_dept_fk
FOREIGN KEY ( department_id )
REFERENCER afdelinger
, CONSTRAINT emp_job_fk
FOREIGN KEY ( job_id )
REFERENCER job ( job_id )
, CONSTRAINT emp_manager_fk
FOREIGN KEY ( manager_id )
REFERENCER medarbejdere
) ; < br >
ALTER TABLE afdelinger
ADD ( CONSTRAINT dept_mgr_fk
FOREIGN KEY ( manager_id )
REFERENCER ansatte ( employee_id )
) < br >
CREATE SEQUENCE employees_seq
START MED 207
forøges med 1,
nocache
NOCYCLE ,
CREATE TABLE job_history < br >
( employee_id NUMMER ( 6)
CONSTRAINT jhist_employee_nn NOT NULL
, startdato DATE
CONSTRAINT jhist_start_date_nn NOT NULL
, slutdato DATE < br >
CONSTRAINT jhist_end_date_nn NOT NULL
, job_id VARCHAR2 (10)
CONSTRAINT jhist_job_nn NOT NULL
, department_id NUMMER ( 4)
, CONSTRAINT jhist_date_interval
CHECK ( slutdato > start_dato )
),
CREATE UNIQUE INDEX jhist_emp_id_st_date_pk
ON job_history ( employee_id , start_dato ) ;
ALTER TABLE job_history
ADD ( CONSTRAINT jhist_emp_id_st_date_pk
PRIMARY KEY ( employee_id , start_dato )
, CONSTRAINT jhist_job_fk
FOREIGN KEY ( job_id ) < br >
REFERENCER jobs
, CONSTRAINT jhist_emp_fk
FOREIGN KEY ( employee_id )
REFERENCER medarbejdere
, CONSTRAINT jhist_dept_fk
FOREIGN KEY ( department_id )
REFERENCER afdelinger
)
COMMIT ,
4
Indtast følgende SQL i udviklingsmiljøet at tilføje medarbejderoplysninger se til databasen : Hej
CREATE OR REPLACE VIEW e , Amerikas
afdelinger d , salg
jobs j , salg
steder l
lande c ,
regioner r
< p> WHERE e.department_id = d.department_id
OG d.location_id = l.location_id
OG l.country_id = c.country_id
OG c.region_id = r . region_id
OG j.job_id = e.job_id
MED READ ONLY ,
COMMIT ,