De werknemer tafel is een van de vele tafels die in de menselijke hulpbronnen sample schema geleverd door Oracle . De human resources -database tracks werknemer en faciliteiten informatie voor een fictief bedrijf . Oracle levert de voorbeelddatabases om een gemeenschappelijke basis voor voorbeelden in technische documentatie te creëren . Instructies 1 verbinding tot Oracle met een account met voldoende rechten om te creëren en te veranderen tafels heeft . Kopen van 2 Voer de volgende SQL ( Structured Query Language ) om de beveiliging te configureren voor de human resources -database : DROP USER hr CASCADE ; CREATE USER hr HAND VAN hr ; ALTER USER hr TIJDELIJKE EETLEPEL temp ; GRANT creëren sessie , maak tafel , maak procedure , maak opeenvolging , maak trekker , creëren bekijken , maak synoniem , zitting te wijzigen OM hr ; CONNECT /AS SYSDBA ; GRANT voeren OP sys.dbms_stats OM hr ; < br > COMMIT ; 3 Voer de volgende SQL in de ontwikkelomgeving naar de human resource database te maken : CREATE TABLE regio ( region_id NUMBER CONSTRAINT region_id_nn NOT NULL , region_name VARCHAR2 ( 25 ) op ) ; CREATE UNIQUE INDEX reg_id_pk OP regio's ( region_id ) ; ALTER TABLE regio ADD ( CONSTRAINT reg_id_pk PRIMARY KEY ( region_id ) op ) ; MAKEN TAFEL landen ( country_id CHAR ( 2 ) CONSTRAINT country_id_nn NOT NULL , country_name VARCHAR2 ( 40 ) op , region_id NUMMER , CONSTRAINT country_c_id_pk PRIMARY KEY ( country_id ) op ) ORGANISATIE INDEX ; ALTER TABLE landen ADD ( BEPERKING countr_reg_fk FOREIGN KEY ( region_id ) Referenties regio ( region_id ) op ) ; CREATE TABLE locaties ( location_id NUMBER ( 4 ) op , street_address VARCHAR2 ( 40 ) op , postal_code VARCHAR2 ( 12 ) op , stad VARCHAR2 ( 30 ) CONSTRAINT loc_city_nn NOT NULL , state_province VARCHAR2 ( 25 ) , country_id CHAR ( 2 ) op ) ; CREATE UNIQUE INDEX loc_id_pk ON locaties ( location_id ) ; ALTER TABLE locaties ADD ( CONSTRAINT loc_id_pk PRIMARY KEY ( location_id ) op , CONSTRAINT loc_c_id_fk FOREIGN KEY ( country_id ) Referenties landen ( country_id ) op ) ; CREATE SEQUENCE locations_seq START MET 3300 INCREMENT BY 100 MAXVALUE 9900 NOCACHE NOCYCLE ; CREATE TABLE afdelingen ( department_id NUMBER ( 4 ) op , department_name VARCHAR2 ( 30 ) CONSTRAINT dept_name_nn NOT NULL , manager_id NUMMER ( 6 ) op , location_id NUMMER ( 4 ) op ) ; CREATE UNIQUE INDEX dept_id_pk ON afdelingen ( department_id ) ; ALTER TABLE afdelingen ADD ( CONSTRAINT dept_id_pk PRIMARY KEY ( department_id ) op Twitter , CONSTRAINT dept_loc_fk FOREIGN KEY ( location_id ) Referenties locaties ( location_id ) op ) ; CREATE SEQUENCE departments_seq START MET 280 INCREMENT DOOR 10 MAXVALUE 9990 NOCACHE NOCYCLE ; CREATE TABLE banen ( job_id VARCHAR2 ( 10 ) op , job_title VARCHAR2 ( 35 ) job_title_nn CONSTRAINT NOT NULL , min_salary NUMMER ( 6 ) op , max_salary NUMMER ( 6 ) op ) ; CREATE UNIQUE INDEX job_id_pk ON banen ( job_id ) ; ALTER TABLE banen ADD ( CONSTRAINT job_id_pk PRIMARY KEY ( job_id ) op ) ; CREATE TABLE medewerkers ( werknemers_id NUMMER ( 6 ) op , first_name VARCHAR2 ( 20 ) op , achternaam VARCHAR2 ( 25 ) emp_last_name_nn CONSTRAINT NOT NULL , email VARCHAR2 ( 25 ) CONSTRAINT emp_email_nn NOT NULL < br > , phone_number VARCHAR2 ( 20 ) op , hire_date DATE CONSTRAINT emp_hire_date_nn NOT NULL , job_id VARCHAR2 ( 10 ) CONSTRAINT emp_job_nn NIET NULL , salaris NUMMER ( 8,2 ) , commission_pct NUMMER ( 2,2 ) op , manager_id NUMMER ( 6 ) op , department_id NUMMER ( 4 ) op , BEPERKING emp_salary_min BEKIJK ( salaris > 0 ) op , BEPERKING emp_email_uk UNIEK ( e-mail ) op ) ; CREATE UNIQUE INDEX emp_emp_id_pk ON medewerkers ( werknemers_id ) ; ALTER TABLE medewerkers ADD ( BEPERKING emp_emp_id_pk PRIMARY KEY ( werknemers_id ) op , CONSTRAINT emp_dept_fk FOREIGN KEY ( department_id ) Referenties afdelingen , CONSTRAINT emp_job_fk FOREIGN KEY ( Referenties banen job_id ) op Twitter ( job_id ) , CONSTRAINT emp_manager_fk FOREIGN KEY ( manager_id ) Referenties werknemers ) ; < br > ALTER TABLE afdelingen ADD ( CONSTRAINT dept_mgr_fk FOREIGN KEY ( manager_id ) Referenties werknemers ( werknemers_id ) op ) ; < br > CREATE SEQUENCE employees_seq START MET 207 INCREMENT DOOR 1 NOCACHE NOCYCLE ; CREATE TABLE job_history < br > ( werknemers_id NUMMER ( 6 ) CONSTRAINT jhist_employee_nn NOT NULL , begindatum DATE CONSTRAINT jhist_start_date_nn NOT NULL , eind_datum DATE < br > CONSTRAINT jhist_end_date_nn NOT NULL , job_id VARCHAR2 ( 10 ) CONSTRAINT jhist_job_nn NOT NULL , department_id NUMMER ( 4 ) op , CONSTRAINT jhist_date_interval BEKIJK ( einddatum > begindatum ) op Twitter ) ; CREATE UNIQUE INDEX jhist_emp_id_st_date_pk ON job_history ( werknemers_id , begindatum ) ; ALTER TABLE job_history ADD ( CONSTRAINT jhist_emp_id_st_date_pk PRIMARY KEY ( werknemers_id , begindatum ) op , CONSTRAINT jhist_job_fk FOREIGN KEY ( job_id ) < br REFERENTIES > jobs , CONSTRAINT jhist_emp_fk FOREIGN KEY ( werknemers_id ) Referenties werknemers , BEPERKING jhist_dept_fk FOREIGN KEY ( department_id ) Referenties afdelingen ) ; COMMIT ; 4 Voer de volgende SQL in de ontwikkelomgeving om de voegen werknemer details te bekijken om de database : CREATE OR REPLACE VIEW e , afdelingen d , banen j , locaties l , landen c , regio r = d.department_id EN d.location_id = l.location_id EN l.country_id = c.country_id EN c.region_id = r WAAR e.department_id . region_id EN j.job_id = e.job_id MET READ ONLY ; COMMIT ;
|