Sunteți pe pagina 1din 2

Lab 7 Baze de date

Se considera urmatoarele patru tabele:


Tabela angajati avand campurile: id INTEGER primary key, NUME de tip VARCHAR
(NOT NULL), salar_neg de tip numar cu 3 cifre si 2 zecimale, data _angajarii de tip DATE,
data _concedierii de tip DATE, nr_copii de tip INT (NOT NULL).
Coloana salar_neg contine salariul brut negociat pe zi.
Tabela salarii avand campurile: ID intreg nenul, nr_zile intreg nenul, brut de tip numar cu 3
cifre si 2 zecimale, deducere de tip numar cu 3 cifre si 2 zecimale, deducere_copii de tip numar cu 3
cifre si 2 zecimale, impozit de tip numar cu 3 cifre si 2 zecimale, net de tip numar cu 3 cifre si 2
zecimale.
Tabela deduceri avand campurile: brut_min de tip numar cu 3 cifre si 2 zecimale, brut_max
de tip numar cu 3 cifre si 2 zecimale, deducere de tip numar cu 3 cifre si 2 zecimale.
Tabela deduceri_copii avand campurile: nr_copii, deducere_copii de tip numar cu 3 cifre si
2 zecimale.
Se cunosc urmatoarele:
a. Deducerile se acorda in functie de venitul brut lunar, conform urmatorului tabel:
Venit brut minim
Venit brut maxim
Deducere
0
300
200
300.01
600
150
600.01
800
100
800.01
999.99
0
Limitele transelor si respectiv cuantumurile acestor deduceri se citesc din tabela deduceri.
b. Angajatilor care au copii beneficiaza de deduceri suplimentare pentru fiecare copil, conform
urmatorului tabel:
Copii
Deducere
Un copil
100
Doi copii
170
Trei copii
220
Patru sau mai 260
multi copii
Cuantumurile acestor deduceri se citesc din tabela deduceri_copii.
c. Impozitul datorat statului se calculeaza cu formula:
impozit = (venit brut - deducere deducere pentru copii) * 0.16

d. Venitul net este obtinut cu ajutorul formulei:

venit brut
venit net =
venit brut - impozit

daca impozitul <= 0


daca impozitul > 0

Se cere:
1. Sa se creeze cele 4 tabele si a se populeze cu informatii tabelele angajati, deduceri si
deduceri_copii.

2. Sa se scrie un trigger TRIG_SAL, care la orice adaugare de noi linii in tabela SALARII sau
orice actualizare a coloanei nr_zile va actualiza (recalcula) informatia din coloanele: brut,
deducere, deducere_copii, impozit si respectiv net.

3. Sa se scrie un trigger TRIG_DED, care la orice modificare a tabelei DEDUCERI va


actualiza (recalcula) informatia din coloanele: deducere, impozit si respectiv net.

4. Sa se scrie un trigger TRIG_COP, care la orice modificare a tabelei DEDUCERI_COPII va


actualiza (recalcula) informatia din coloanele: deducere_copii, impozit si respectiv net. Se
presupune ca in tabela DEDUCERI_COPII se fac modificari doar asupra coloanei care
cuprinde cuantumul deducerii nu si asupra celei care contine numarul de copii.

5. Sa se scrie un trigger TRIG_DEL, care la orice inregistrare a unei concedieri (introducerea


datei concedierii in tabela ANGAJATI) va sterge toate liniile din tabela SALARII
referitoare la angajatii concediati.

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