Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς να γράψετε Oracle SQL κώδικα που θα δημιουργήσει τον Πίνακα υπάλληλου

Ο πίνακας των εργαζομένων είναι ένας από τους πολλούς πίνακες που έχουν δημιουργηθεί στο σχήμα του δείγματος ανθρώπινου δυναμικού που παρέχονται από την Oracle . Η βάση δεδομένων του ανθρώπινου δυναμικού κομμάτια των εργαζομένων και των υπηρεσιών ενημέρωσης για μια φανταστική εταιρεία . Η Oracle παρέχει τις βάσεις δεδομένων δείγματος για τη δημιουργία μιας κοινής βάσης για παραδείγματα σε τεχνική τεκμηρίωση . Οδηγίες
Η

1 Συνδέστε στην Oracle με ένα λογαριασμό που διαθέτει επαρκή δικαιώματα για να δημιουργήσετε και να αλλάξει τους πίνακες . 2

Εισάγετε τον παρακάτω SQL ( δομημένη γλώσσα ερωτημάτων ) για να ρυθμίσετε την ασφάλεια για η βάση δεδομένων του ανθρώπινου δυναμικού :

DROP USER ώρες CASCADE ?

ΔΗΜΙΟΥΡΓΙΑ hr ΧΡΗΣΤΗ ΕΝΤΟΠΙΣΤΗΚΑΝ ΑΠΟ ώρα ?

ALTER hr ΧΡΗΣΤΗ ΠΡΟΣΩΡΙΝΗ tablespace temp ?

GRANT δημιουργία συνεδρία

, η δημιουργία του πίνακα

, διαδικασία δημιουργούν

, τη δημιουργία ακολουθία

, δημιουργούν σκανδάλη

, create view

, δημιουργήστε συνώνυμο

, να αλλάξει συνεδρία

ΝΑ ώρα ?

CONNECT /AS SYSDBA ?

GRANT εκτελέσει ΓΙΑ ΝΑ sys.dbms_stats ώρα ?

ΔΕΣΜΕΥΣΗ ?
εικόνων 3

Πληκτρολογήστε την ακόλουθη SQL στο περιβάλλον ανάπτυξης για τη δημιουργία της βάσης δεδομένων του ανθρώπινου δυναμικού :

CREATE TABLE περιοχές

( region_id ΑΡΙΘΜΟΣ

CONSTRAINT region_id_nn NOT NULL

, region_name VARCHAR2 ( 25 )

) ?

CREATE UNIQUE INDEX reg_id_pk

ON περιφέρειες ( region_id ) ?

ALTER TABLE περιοχές

ADD ( CONSTRAINT reg_id_pk

PRIMARY KEY ( region_id )

) ?

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΣ χώρες

( country_id CHAR ( 2 )

CONSTRAINT country_id_nn NOT NULL

, COUNTRY_NAME VARCHAR2 ( 40 )

, region_id ΑΡΙΘΜΟΣ

, ΠΕΡΙΟΡΙΣΜΟΙ country_c_id_pk

PRIMARY KEY INDEX ( country_id )

)

ΟΡΓΑΝΩΣΗ ?

ALTER χώρες ΠΙΝΑΚΑΣ

ADD ( CONSTRAINT countr_reg_fk

FOREIGN KEY ( region_id )

Αναφορές περιοχές ( region_id )

) ?

CREATE TABLE θέσεις

( location_id ΑΡΙΘΜΟΣ ( 4 )

, street_address VARCHAR2 ( 40 )

, postal_code VARCHAR2 ( 12 )

, πόλη VARCHAR2 ( 30 )

CONSTRAINT loc_city_nn NOT NULL

, state_province VARCHAR2 ( 25 )

, country_id CHAR ( 2 )

) ?

CREATE UNIQUE INDEX loc_id_pk

ON θέσεις ( location_id ) ?

ALTER θέσεις ΠΙΝΑΚΑΣ

ADD ( CONSTRAINT loc_id_pk

PRIMARY KEY ( location_id )

, CONSTRAINT loc_c_id_fk

FOREIGN KEY ( country_id )

Αναφορές χώρες ( country_id )

) ?

CREATE ΑΚΟΛΟΥΘΙΑ locations_seq

START ΜΕ 3300

Αυξάνονται κατά 100

MAXVALUE 9900

nocache

NOCYCLE ?

CREATE TABLE τμήματα


( department_id ΑΡΙΘΜΟΣ ( 4 )

, department_name VARCHAR2 ( 30 )

CONSTRAINT dept_name_nn NOT NULL

, manager_id ΑΡΙΘΜΟΣ ( 6 )

, location_id ΑΡΙΘΜΟΣ ( 4 )

) ?

CREATE UNIQUE INDEX dept_id_pk

ON τμήματα ( department_id ) ?

ALTER τμήματα ΠΙΝΑΚΑΣ

ADD ( CONSTRAINT dept_id_pk

PRIMARY KEY ( department_id )

, ΠΕΡΙΟΡΙΣΜΟΙ dept_loc_fk

FOREIGN KEY ( location_id )

Αναφορές θέσεις ( location_id )

) ?

CREATE ΑΚΟΛΟΥΘΙΑ departments_seq

START ΜΕ 280

Αυξάνονται κατά 10

MAXVALUE 9990

nocache

NOCYCLE ?

CREATE TABLE θέσεις εργασίας

( job_id VARCHAR2 ( 10 )

, job_title VARCHAR2 ( 35 )

CONSTRAINT job_title_nn NOT NULL

, min_salary ΑΡΙΘΜΟΣ ( 6 )

, max_salary ΑΡΙΘΜΟΣ ( 6 )

) ?

CREATE UNIQUE INDEX job_id_pk

ON θέσεις εργασίας ( job_id ) ?

ALTER θέσεις εργασίας ΠΙΝΑΚΑΣ

ADD ( ΠΕΡΙΟΡΙΣΜΟΙ job_id_pk

PRIMARY KEY ( job_id )

) ?

CREATE TABLE εργαζόμενοι

( employee_id ΑΡΙΘΜΟΣ ( 6 )

, first_name VARCHAR2 ( 20 )

, lAST_NAME VARCHAR2 ( 25 )

ΠΙΕΣΕΩΝ emp_last_name_nn NOT NULL

, email VARCHAR2 ( 25 )

ΠΙΕΣΕΩΝ emp_email_nn NOT NULL

, PHONE_NUMBER VARCHAR2 ( 20 )

, hire_date ΗΜΕΡΟΜΗΝΙΑ

ΠΙΕΣΕΩΝ emp_hire_date_nn NOT NULL

, job_id VARCHAR2 ( 10 )

ΠΙΕΣΕΩΝ emp_job_nn ΔΕΝ NULL

, ΑΡΙΘΜΟΣ μισθών ( 8,2 )

, commission_pct ΑΡΙΘΜΟΣ ( 2,2 )

, manager_id ΑΡΙΘΜΟΣ ( 6 )

, department_id ΑΡΙΘΜΟΣ ( 4 )

, CONSTRAINT emp_salary_min

CHECK ( μισθός > 0 )

, CONSTRAINT emp_email_uk

UNIQUE ( e-mail)

) ?

CREATE UNIQUE INDEX emp_emp_id_pk

ON εργαζομένων ( employee_id ) ?

ALTER εργαζόμενοι ΠΙΝΑΚΑΣ

ADD ( CONSTRAINT emp_emp_id_pk

ΔΗΜΟΤΙΚΟ KEY ( employee_id )

, CONSTRAINT emp_dept_fk

FOREIGN KEY ( department_id )

Αναφορές τμήματα

, CONSTRAINT emp_job_fk

FOREIGN KEY ( job_id )

Αναφορές θέσεις εργασίας ( job_id )

, CONSTRAINT emp_manager_fk

FOREIGN KEY ( manager_id )

Αναφορές των εργαζομένων

) ?

ALTER τμήματα ΠΙΝΑΚΑΣ

ADD ( CONSTRAINT dept_mgr_fk

FOREIGN KEY ( manager_id )

Αναφορές των εργαζομένων ( employee_id )

) ?

CREATE ΑΚΟΛΟΥΘΙΑ employees_seq

START ΜΕ 207

Αυξάνονται κατά 1

nocache

NOCYCLE ?

CREATE TABLE job_history

( ΑΡΙΘΜΟΣ employee_id ( 6 )

CONSTRAINT jhist_employee_nn NOT NULL

, start_date ΗΜΕΡΟΜΗΝΙΑ

CONSTRAINT jhist_start_date_nn NOT NULL

, end_date ΗΜΕΡΟΜΗΝΙΑ

CONSTRAINT jhist_end_date_nn NOT NULL

, job_id VARCHAR2 ( 10 )

CONSTRAINT jhist_job_nn NOT NULL

, department_id ΑΡΙΘΜΟΣ ( 4 )

, ΠΕΡΙΟΡΙΣΜΟΙ jhist_date_interval

CHECK ( end_date > start_date )

) ?

CREATE UNIQUE INDEX jhist_emp_id_st_date_pk

ON job_history ( employee_id , start_date ) ?

ALTER TABLE job_history

ADD ( CONSTRAINT jhist_emp_id_st_date_pk

PRIMARY KEY ( employee_id , start_date )

, CONSTRAINT jhist_job_fk

FOREIGN KEY ( job_id )

Αναφορές θέσεις εργασίας

, CONSTRAINT jhist_emp_fk

FOREIGN KEY ( employee_id )

Αναφορές των εργαζομένων

, CONSTRAINT jhist_dept_fk

FOREIGN KEY ( department_id )

Αναφορές τμήματα

) ?

ΔΕΣΜΕΥΣΗ ?
Η 4

Εισάγετε τον παρακάτω SQL στο περιβάλλον ανάπτυξης για να προσθέσετε το τα στοιχεία των εργαζομένων δείτε στη βάση δεδομένων :

Σύσταση ή την αντικατάσταση VIEW ε , πώληση

τμήματα δ , πώληση

θέσεις εργασίας j , πώληση

l περιοχές,

χώρες c , πώληση

περιφέρειες r

ΟΠΟΥ e.department_id = d.department_id

ΚΑΙ d.location_id = l.location_id

ΚΑΙ l.country_id = c.country_id

ΚΑΙ c.region_id = r . region_id

ΚΑΙ j.job_id = e.job_id

ΜΕ ΔΙΑΒΑΣΤΕ ΜΟΝΟ ?

ΔΕΣΜΕΥΣΗ ?
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα