Sunteți pe pagina 1din 21

PROIECT SQL

AUTOR : RAILEANU BOGDAN


URL : HTTPS://IACADEMY.ORACLE.COM/ORDS/F?
P=10911:1:17178817016829:::::
CUPRINS

• 3.....................ERD
• 4.....................Tabela APROVIZIONARE
• 5....................Rapoarte simple
• 7..................Rapoarte care preiau date din 2 sau mai multe tabele
• 11..............Rapoarte care folosesc subinterogari
• 15...............Constrangeri (ex. de tip check)
• 22..................Final
ANGAJAT

SE OCUPA DE # CNP
* NUME ESTE LUAT SUB ARIPA
* PRENUME
* DATA
NASTERII APROVIZIONA
BIOLOG
RE
II COREPUNDE
DIDACTIC
COMUNICA # TIPUL DE SUBSTANTA
#CNP LIVRAT PACIENT
* CURSURI
RELATIONEAZA APARTINE DE * DURATA
* NUME PREDATE
* SOFER # CNP
*PRENUME
* NUME
O LOC DE
* PRENUME
MUNCA
* DATA NASTERII
NEDIDACTIC REALIZEAZA * ALERGII
SERVICIU * ADRESA
* PROFESIE REALIZAT SE REGASESTE

# COD
* DENUMIRE FACA
* TIP
* NUMAR
* PRETUL DE CUMPARARE PENTRU DE LA
* DATA RECOLTARII

DIAGRAMA RELATIONALA A PROGRAMARE PENTRU


RECOLTARE

ENTITATILOR #NUMAR
*ZIUA
*ORA
APROVIZIONARE
EXEMPLU DE GESTIONARE A BAZEI DE DATE

CHEIE OPTIONALITATE NUME COLOANA

PK # TIPUL DE SUBSTANTA LIVRAT

* DURATA

* SOFER

EXEMPLE DE DATE

TIPUL_DE_SUBSTANTA_LIVRAT DURATA SOFER

ALCOOL SANITAR 5 MINUTE IONESCU MATEI

9,10-BIS[N,N-DI-(P-TOLUEN)-AMINO]ANTRACEN 5 MINUTE PAVEL ALEXANDRU

5-(2-CLOROBENZIL)-4,5,6,7- 5 MINUTE PAVEL ALEXANDRU


TETRAHIDROTEINA[3,2-C]PIRIDIMICA
I. Rapoarte simple

Rezultat
a) Afisarea, in ordine alfabetica, a soferilor

select Tipul_De_Substanta_Livrat, DURATA, SOFER


from APROVIZIONARE
order by SOFER
I. Rapoarte simple

b) Afisarea numarului de soferi angajati Rezultat

select count(*) "Numar soferi"


from APROVIZIONARE
II. Rapoarte care preiau date din 2 sau mai multe tabele

a) Se afiseaza numele, prenumele, data angajarii, CNP angajat, jobul si salariul maxim, mai mare decat 12K

SELECT first_name, last_name, hire_date, job_id, job_title, max_salary


FROM employees JOIN jobs USING (job_id)
WHERE max_salary > 12000;
II. Rapoarte care preiau date din 2 sau mai multe tabele

b) Afiseaza locul de munca , numele, prenumele si adresa de e-mail ale manipulantilor de marfuri

SELECT job_title, first_name, last_name, LOWER(email) || 'somecomname.sometld' as email


FROM employees JOIN jobs USING(job_id)
WHERE job_title = 'Stock Clerk' ;
II. Rapoarte care preiau date din 2 sau mai multe tabele

c) Afiseaza CNP angajat, nume, codul departamentului, numele lui si data angajarii, care este 07.06.1994

SELECT emp.Employee_id "Employee ID", emp.last_name "Last Name" , emp.department_id "Department ID",
dpt.department_name "Department Name", emp.hire_date "Hire Date"
FROM employees emp LEFT JOIN departments dpt ON emp.department_id = dpt.department_id
WHERE emp.hire_date = TO_DATE('June 7, 1994', 'fmMonth DD, YYYY');
II. Rapoarte care preiau date din 2 sau mai multe tabele

d) Afisarea, pentru tabelele "d_songs" si "d_types", a categoriei, descrierii si titlului. Vor fi preluate doar liniile ale caror
categorii sunt cele cu indicele intre 70 si 80

SELECT d_songs.type_code, d_songs.title, d_types.description


FROM d_songs INNER JOIN d_types ON d_songs.type_code = d_types.code
WHERE d_songs.type_code BETWEEN 70 AND 80;
III. Rapoarte care folosesc subinterogari

a) Afisarea departamentelelor care au aceeasi pozitie Rezultat


geografica (coordonate) ca orasul maritim Seattle

SELECT department_name
FROM departments
WHERE location_id = ( SELECT location_id FROM locations WHERE city = 'Seattle');
III. Rapoarte care folosesc subinterogari

b) Afisarea membrilor staffului lanturilor internationale de restaurante fast-food, care apartin unor
categorii de staff diferite de cea de care apartine Bob Miller

SELECT first_name,last_name
FROM f_staffs
WHERE staff_type != (SELECT staff_type FROM f_staffs WHERE first_name = 'Bob' AND
last_name ='Miller');
III. Rapoarte care folosesc subinterogari

c) Afisarea membrilor staffului lanturilor internationale de restaurante fast-food, care au


salarii mai mari decat membrul numarul 12

SELECT first_name,last_name
FROM f_staffs
WHERE salary > (SELECT salary FROM
f_staffs WHERE id = 12);
III. Rapoarte care folosesc subinterogari

d) Afisarea evenimentelor care au costat mai Rezultat


mult de 100 USD.

SELECT id, name


FROM d_events
WHERE cost > (SELECT cost FROM d_events WHERE id = 100);
CONSTRANGERI

- NUME pacient, angajat, trebuie sa fie format din siruri de caractere

- PRENUME pacient, angajat, trebuie sa fie format din siruri de caractere

- ALERGII pacient trebuie sa fie format din siruri de caractere

- CURSURI PREDATE angajati trebuie sa fie format din siruri de caractere

- PROFESIE angajati trebuie sa fie format din siruri de caractere

- SOFER aprovizionare trebuie sa fie format din siruri de caractere

- COD serviciu trebuie sa fie format din numere

- DENUMIRE serviciu trebuie sa fie format din siruri de caractere

- TIP serviciu trebuie sa fie format din siruri de caractere


CONSTRANGERI

- EMPLOYEE_ID este numar nenul, de precizie 6 si scala 0

- DEPARTMENT_ID este numar de precizie 4 si scala 0

- max_salary este un numar de precizie 6 si scala 0

- job_title este sir de caractere de lungime maxima 10 si nenula

- TYPE_CODE este un numar nenul, de precizie 5 si scala 0

- TITLE este sir de caractere de lungime maxima 50 si nenula

- DESCRIPTION este sir de caractere de lungime nenula


CONSTRANGERI

- NUMARUL programarii la recoltare trebuie sa fie un numar

- ZIUA programarii la recoltare trebuie sa fie de tipul ZZ.LL.AAAA

- ORA programarii la recoltare trebuie sa fie de tipul MM:OO

- DEPARTMENT_ID trebuie sa fie un numar nenul, cu precizia 4 si scala 0

- DEPARTMENT_NAME trebuie sa fie sir de caractere, de lungime maxima 30 si nenula

- MANAGER_ID trebuie sa fie un numar de precizie 4 si scala 0


CONSTRANGERI

- "TITLE" IS NOT NULL

- "TYPE_CODE" IS NOT NULL

- "DESCRIPTION" IS NOT NULL

- "FIRST_NAME" IS NOT NULL

- "SALARY" IS NOT NULL

- "STAFF_TYPE" IS NOT NULL

- "LAST_NAME" IS NOT NULL


CONSTRANGERI

- LOCATION_ID este un numar, de precizie 4 si scala 0

- last_name este sir de caractere, de lungime maxima 25 si nenula

- first_name este sir de caractere, de lungime maxima 20

- hire_date este de tip data calendaristica

- job_id este sir de caractere, de lungime maxima 10 si nenula

- SALARY este numar de precizie 6 si scala 0


CONSTRANGERI

- CODE este un numar nenul, de precizie 10 si scala 0

- Tipul_De_Substanta_Livrat este sir de caractere de lungime maxima 50 si nenula

- DURATA este sir de caractere de lungime maxima 10

- SOFER este sir de caractere de lungime maxima 10

- staff_type este sir de caractere, de lungime maxima 20 si nenula

- id este numar nenul, de precizie 5 si scala 0

- cost este numar nenul, de precizie 8 si scala 0

- name este sir de caractere de lungime maxima 50 si nenula


CONSTRANGERI

- LUNGIME : LENGTH(TIPUL_DE_SUBSTANTA_LIVRAT) >= 6

- DURATA : DURATA>5

- "DEPARTMENT_NAME" IS NOT NULL

- "LAST_NAME" IS NOT NULL

- "HIRE_DATE" IS NOT NULL

- salary > 0

- "JOB_ID" IS NOT NULL

- "JOB_TITLE" IS NOT NULL

S-ar putea să vă placă și