Cuprins
- 1.Descrierea problemei alese si proiectarea bazei de date.2
- 2.Definirea schemei bazei de date:tabele, legaturi intre tabele, restrictii de integritate.4
- 3.Implementarea operatiilot de definire a datelor: CREATE, ALTER, DROP.5
- 4.Implementarea operatiilor de actualizare a datelor: INSERT, UPDATE, DELETE.8
- 5.Implementarea interogarilor SELECT.13
- 6.Gestiunea altor obiecte ale bazei de date: tabele virtual.16
- 7.Join-uri.18
Extras din proiect
1.Descrierea problemei alese si proiectarea bazei de date.
O companie multinationala are angajati impartiti pe locatii, departamente si functii. Se doreste sa se tina o evidenta a concediilor si a abonamentelor medicale de care dispune fiecare angajat. Fiecare angajat va avea un numar diferit de zile de concediu care depinde de functia pe care o ocupa, iar cu ajutorul bazei de date va afla mai usor disponibilitatea zilelor. Se va tine si o evidenta a abonamentelor cu data la care acestea incep si se termina, pentru ca acestea sa se actualizeze in timp util. Salariul fiecarui angajat depinde de vechimea pe care o are si de functia pe care o detine.
Datele conţinute în baza de date a companiei pot fi vizualizate sub forma unor tabele. Baza se date este alcatuita din mai multe tabele ce au ca scop stocarea si furnizarea de informatii administratorului de baze de date.
Tabelele sunt matrici bidimensionale formate din coloane si linii(inregistrari). Tabelele, coloanele si relatiile dintre ele sunt prezentate mai jos:
I. Tabela ANGAJATI are urmatoarele coloane:
ID_angajat: un șir de numere întregi, de tip NUMBER(P), având constrângerea de tip cheie primară (PRIMARY KEY)
Nume: reprezinta un șir de caractere de lungime maxima P de tip VARCHAR(P)
Prenume: reprezinta un șir de caractere de lungime maxima P de tip VARCHAR(P)
Telefon: este un șir de numere întregi de tip NUMBER(P)
Data_angajare: valori de tip SYSDATE
Salariu: un șir de numere întregi de tip NUMBER(P)
Bonus: un șir de numere întregi de tip NUMBER(P).
ID_departament: un sir de numere intregi de tip NUMBER (P), avand constrangere de tip cheie externa(FOREIGN KEY)-reprezinta legatura intre tabele Angajati si tabela Departamente
ID_functie: un sir de numere intregi de tip NUMBER (P), avand constrangere de tip cheie externa(FOREIGN KEY)-reprezinta legatura intre tabele Angajati si tabela Functii.
II. Tabela Departamente are urmatoarele coloane:
ID_departament: un șir de numere întregi, de tip NUMBER(P), având constrângerea de tip cheie primară (PRIMARY KEY)
Nume_departament: reprezinta un șir de caractere de lungime maxima P, fiind de tipul VARCHAR(P)
ID_locatie: un sir de numere intregi de tip NUMBER (P), avand constrangere de tip cheie externa(FOREIGN KEY)-reprezinta legatura intre tabele Locatii si tabela Departamente.
III. Tabela Locatii are urmatoarele coloane:
ID_locatie: un șir de numere întregi, de tip NUMBER(P), având constrângerea de tip cheie primară (PRIMARY KEY)
Nume_locatie: reprezinta un șir de caractere de lungime maxima P, fiind de tipul VARCHAR(P)
Adresa_locatie: reprezinta un șir de caractere de lungime maxima P, fiind de tipul VARCHAR(P)
Oras: reprezinta un șir de caractere de lungime maxima P, fiind de tipul VARCHAR(P)
IV. Tabela Functii are urmatoarele coloane:
ID_functie: un șir de numere întregi, de tip NUMBER(P), având constrângerea de tip cheie primară (PRIMARY KEY)
Nume_functie: reprezinta un șir de caractere de lungime maxima P, fiind de tipul VARCHAR(P)
V. Tabela Abonamente_medic cuprinde urmatoarele coloane:
ID_abonament: un șir de numere întregi, de tip NUMBER(P), având constrângerea de tip cheie primară (PRIMARY KEY)
Nume_abonament: reprezinta un șir de caractere de lungime maxima P, fiind de tipul VARCHAR(P)
ID_angajat: un șir de numere întregi, de tip NUMBER(P), având constrângerea de tip cheie externa(FOREIGN KEY), reprezinta legatura intre tabela Angajati si tabela Abonamente_medic.
Data_inceput: valori de tip dată calendaristică(MM-DD-YYYY).
Date_exp: valori de tip dată calendaristică(MM-DD-YYYY).
VI. Tabela Concedii are urmatoarele coloane:
ID_concediu: un șir de numere întregi, de tip NUMBER(P), având constrângerea de tip cheie primară (PRIMARY KEY)
ID_angajat: : un șir de numere întregi, de tip NUMBER(P), având constrângerea de tip cheie externa(FOREIGN KEY), reprezinta legatura intre tabela Angajati si tabela Concedii.
Total_zile: este un șir de numere întregi de tip NUMBER(P)
Zile_ramase: este un șir de numere întregi de tip NUMBER(P)
Preview document
Conținut arhivă zip
- Gestionarea angajatilor dintr-o companie multinationala.docx