Model Baze de Date Proiect
-
Upload
iacob-petru -
Category
Documents
-
view
216 -
download
0
Transcript of Model Baze de Date Proiect
-
8/18/2019 Model Baze de Date Proiect
1/16
UNIVERSITATEA TEHNICĂ “GH ASACHI” IAŞI
FACULTATEA AUTOMATICĂ ŞI CALCULATOARE
SECTIA CALCULATOARE ŞI TEHNOLOGIA INFORMAŢIEI
SPECIALIZAREA CALCULATOARE
DISCIPLINA BAZE DE DATE PROIECT
Gestiunea activitatii intr-o banca
comerciala
Coordonator,
Student,
Iaşi, 2016
-
8/18/2019 Model Baze de Date Proiect
2/16 1
Titlu proiect : Gestiunea clientilor unei banci
Analiza, proiectarea si implementarea unei baze de date si a aplicatiei aferente care sa modeleze
activitatea unei banci cu privire la gestiunea clientilor (doar cazul particular de clienti persoane juridice,adica societatile comerciale).
Descrierea cerintelor si modul de organizare al proiectului
Volumul mare de informaţii existente în cazul unei banci cu numerosi clienţi determină necesitateafluidizarii fluxurilor de date ce traverseaza sistemele informationale bancare, gestiunea acestora fiind oadevarata provocare. Activitatea de gestiune a unei banci implică o muncă intensă in ceea ce privestenumeroase documente care ţin de înregistrarea clienţilor (care in acest caz sunt societati comerciale), arelatiilor in care se afla acestia cu banca (daca depun bani, fac imprumuturi sau isi platesc furnizorii prin
intermediul acesteia), de prelucrare a tranzactiilor şi de înregistrare permanentă a situatiei soldurilor, datfiind faptul ca pentru o banca este vital sa stie într-un timp cât mai scurt care este situatia sa cu privire la
conturi, sume debitate, creditate si clienti.
Informatiile de care avem nevoie sunt cele legate de :
- reprezentanti banca: ne intereseaza sa stim cine este angajatul care opereaza datele (de exemplu, in
cazul unei probleme sa identificam angajatul )
- clienti: datele referitoate la clienti se afla in tabela societati, dat fiind faptul ca acesti clienti sunt persoane juridice, ne intereseaza codul fiscal al societatii, denumirea firmei, capitalul social,
administratorul, cnp-ul adiministratorului, contul IBAN al societatii.
- credite: in cazul informatiilor despre credite acestea se vor stoca in doua tabele pentru a respecta
conditia ca baza de date sa se afle in 3FN. Astfel, intr-o tabela parinte vom stoca informatiile cu privire latipul de credite; ne intereseaza sa stim tipul de credit, dobanda aferenta respectivului credit, suma minima
si maxima intre care se claseaza creditul, perioada minima/maxima de acordare a sa. De aici va fi o relatie
one-to-many catre credite acordate, unde vor fi inregistrate creditele acordate clientilor.
- depozite: in cazul informatiilor despre depozite, informatiile se vor stoca in doua tabele pentru arespecta conditia ca baza de date sa se afle in 3FN. Astfel, intr-o tabela parinte vom stoca informatiile cu privire la tipul de depozit si ne intereseaza datele legate de tipul depozitului, dobanda aferenta sumei
depuse, suma minima si numarul de luni pe care se efectueaza depozitul , iar in tabela copil vom stoca
depozitele facute de clientii bancii;
- comision: fiecarui tip de tranzactie, fie ca vorbim de credite sau de depozite i se asigneaza un anumetip de comision ( comision de retragere, depunere, administrare, etc);
- plati: in ceea ce priveste platile, acestea sunt mai multe tipuri: clientii isi pot plati furnizorii
(plata_furnizor) prin intermediul bancii, isi vor achita rata pentru creditul facut la respectiva banca
(plata_rata) sau vor depune lunar o suma de bani in depozitul personal. Pentru toate cele trei tabele ne vainteresa sa stim data la care se efectueaza plata, suma, contul din care se retrag/depun bani, si cine
realizeaza tranzactia.
- tranzactii: pentru fiecare zi se vor inregistra creditele, depozitele, platile; pentru fiecare tranzactie vom
utiliza un anumit tip de document ce-l vom putea alege din tabela documente (spre exemplu CEC, BO- bilet la ordin pentru plati).
- parteneri: sunt acele entitati care nu interactioneaza in mod direct cu banca; acestia nu au cont curent la
aceasta banca, dar este necesara o tabela in care sa fie memorati deoarece sunt partenerii de afaceri ai
clientilor acestei banci si prin intermediul bancii clientii isi vor stinge datoriile catre acestia.
-
8/18/2019 Model Baze de Date Proiect
3/16 2
Descrierea functionala a aplicatiei
Principalele funcţii care se pot întâlni într -o banca sunt:
Evidenţa operatiunilor referitoare la conturile bancare
Evidenţa clienţilor
Evidenţa tranzactiilor efectuate
Descrierea detaliata a entitatilor si a relatiilor dintre tabele
Tabelele din aceasta aplicatie sunt:
comisioane ;
conturi ;
credite ;
depozite ;
documente ;
parteneri ;
plata_depozit ;
plata_furnizor ;
plata_rata ;
reprezentanti_banca ;
societati ;
tipuri_depozite ;
tipuri_credite ;
tip_tranzactii ;
In proiectarea acestei baze de date s-au identificat tipurile de relatii 1:n, n:1 si n:n.
Intre tabelele societate si conturi se intalneste o relatie de tip 1:n deoarece o o societate paote avea mai
multe conturi la aceeasi banca: poate avea cont in lei sau cont in valuta. Reciproca insa nu este valabila,
deoarece un cont nu se poate asigna la mai multe societati. Legatura dintre cele doua tabele este realizata prin campul cod_fiscal.
Intre tipuri_depozite si depozite se stabileste o legatura de tip one-to-many. Tabela tipuri_depozitedescrie toate categoriile de depozite ce le pune banca la dispozitia clientilor, in timp ce tabela depozite
prezinta depozitele clientilor. Legatura dintre cele doua tabele este facuta de campul tip_depozit, tabela
parinte fiind tipuri_depozite deoarece pot fi mai multi clienti care isi vor face un anume tip de depozit ,dar un depozit facut nu se poate incadra decat intr-un singur tip; un depozit nu poate fi in acelasi timp si
depozit pe 9 luni si depozit pe 6 luni de exemplu.
De asemenea intre tabela depozit si tabela conturi se stabileste o legatura de many_to_one. Un client isi
poate selecta mai multe depozite pe acelasi cont, iar pentru a realiza un depozit trebuie sa existe cel putinun cont bancar.Legatura intre cele doua se realizeaza prin campul nrcontiban.
Intre tipuri_credite si credite se stabileste o legatura de tip one-to-many. Tabela tipuri_credite descrie
toate categoriile de credite puse de catre banca la dispozitia clientilor, in timp ce tabela clienti prezinta
-
8/18/2019 Model Baze de Date Proiect
4/16 3
imprumuturile clientilor. Legatura dintre cele doua tabele este facuta de campul tip_credit, tabela parintefiind tipuri_credite deoarece pot fi mai multi clienti care isi vor face un anume tip de credit , dar un credit
facut nu se poate incadra decat intr-un singur tip; un credit nu poate fi in acelasi timp si credit pentru
nevoi personale si credit personal.
Intre tabela credit se stabileste o legatura de many_to_one cu tabela conturi. Un client isi poate face mai
multe credite pe acelasi cont, dar pentru a realiza un imprumut trebuie sa existe cel putin un cont bancar.Legatura intre cele doua se realizeaza prin campul nrcontiban.
Intre tabela comisoane si tipuri_depozite este o legatura de tip many-to-many deoarece unui tip de
depozit ii pot corepunde mai multe comisioane gen comision de administrare, comision de retragere,
depunere dar in acelasi timp iar un comision se paote aplica mai multor tipuri de depozite. Pentru catabela sa se afle in 3FN aceasta relatie se va sparge in doua, rezultand doua relatii 1:m si legatura intre
cele doua tabele se va realzia cu ajutorul unei alte tabele „comisioane tipuri_depozite” care va continecheia primara a fiecarei din cele doua tabele. Atfel spus legatura se face doua campuri id_comision si
tip_depozit reunite intr-o tabela comuna.
Intre tabela comisoane si tipuri_credite este o legatura de tip many-to-many deoarece unui tip de creditii pot corepunde mai multe comisioane gen comision de administrare, comision depunere dar in acelasi
timp iar un comision se poate aplica mai multor tipuri de credite. Pentru ca tabela sa se afle in 3FN
aceasta relatie se va sparge in doua, rezultand doua relatii 1:m si legatura intre cele doua tabele se varealiza cu ajutorul unei alte tabele „comisioane tipuri_ credite” care va contine cheia primara a fiecareidin cele doua tabele. Atfel spus legatura se face doua campuri id_comision si tip_credit reunite intr-o
tabela comuna.
Intre tabelele reprezentanti_banca si tip_tranzactii se stabileste o legatura de tip 1:n deoarece unangajat al bancii va putea realiza mai multe tranzactii dar o tranzactie nu va putea fi efectuata de mai
multi angajati. Campul comun intre aceste doua tabele este cnp_reprez.
De asemenea, tabela tip_tranzactii stabileste o legatura de tip m:1 cu tabela documente, mai multe
tranzactii putandu-se efectua cu acelasi tip de document spre exemplu BO, dar niciodata pentru otranzactie nu se vot folosi mai multe tipuri de documente. Spre exemplu nu vom putea depune numerar
intr-un depozit platind si cu BO si cu CEC. Legatura intre cele doua se realizeaza prin campul tip_doc.
Intre tabela parteneri si plata_furnizori de stabileste o relatie de tip 1:m prin campul nrcontpartener
deoarece putem efectua mai multe plati catre un partener, dar nu putem avea o plata spre mai multi
parteneri.
Mai sunt 3 relatii de tip 1:m; datorita faptului ca seamana foarte mult intre ele vor fi tratate toate in acest
paragraf. Este vorba de relatiile intre tip_tranzactii si plata_rata prin campul id_plata_rata,
tip_tranzactii si plata_depozit prin campul plata_depozit precum si tip_tranzactii si plata_credit prin
campul id_plata_credit. Toate aceste relatii descriu tipuri de tranzactii ce se pot realiza in cadrul acestei banci depunere de numerar, acordare de credite si plati catre partenerii de afaceri.
-
8/18/2019 Model Baze de Date Proiect
5/16
Diagrama Entitate Relatie
-
8/18/2019 Model Baze de Date Proiect
6/16
Crearea bazei de date in ORACLE
CREATE TABLE comisioane (
id_comision VARCHAR2(4) NOT NULL,den_comision VARCHAR2(30),
valoare NUMBER(3, 0),
CONSTRAINT pk_id_comision PRIMARY KEY (id_comision));
CREATE TABLE "comisioane tipuri_credite"(
id_comision VARCHAR2(4) NOT NULL,
tip_credit VARCHAR2(4) NOT NULL,CONSTRAINT PK25 PRIMARY KEY (id_comision, tip_credit)
);
CREATE TABLE "comisioane tipuri_depozite" (
id_comision VARCHAR2(4) NOT NULL,tip_depozit VARCHAR2(3) NOT NULL,
CONSTRAINT PK28 PRIMARY KEY (id_comision, tip_depozit)
);CREATE TABLE conturi (
nrcontiban CHAR(24) NOT NULL
CONSTRAINT ck_nrcontiban CHECK (nrcontiban=ltrim(upper(nrcontiban))),codfiscal VARCHAR2(9),
sold NUMBER(9, 0),
CONSTRAINT pk_nrcontiban PRIMARY KEY (nrcontiban)
);CREATE TABLE credite (
id_credit VARCHAR2(5) NOT NULL,
nrcontiban CHAR(24),
suma_credit NUMBER(9, 0), perioada NUMBER(3, 0),
rata NUMBER(9, 0),
tip_credit VARCHAR2(4),CONSTRAINT pk_credite1 PRIMARY KEY (id_credit)
);
CREATE TABLE depozite (
id_depozit VARCHAR2(5) NOT NULL,tip_depozit VARCHAR2(3),
nrcontiban CHAR(24),
suma_depozit NUMBER(9, 0),
data_depozit DATE DEFAULT sysdate,CONSTRAINT pk_id_depozit PRIMARY KEY (id_depozit)
);CREATE TABLE documente (
tip_doc VARCHAR2(3) NOT NULL,
den_doc VARCHAR2(20),
CONSTRAINT pk_tip_doc PRIMARY KEY (tip_doc));
-
8/18/2019 Model Baze de Date Proiect
7/16 1
CREATE TABLE parteneri (nrcontpartener CHAR(24) NOT NULL,
codfiscpartener CHAR(9),
banca VARCHAR2(20)
CONSTRAINT ck_banca CHECK (banca=ltrim(upper(banca))),numepartener VARCHAR2(15)
CONSTRAINT ck_numepartener CHECK (numepartener=ltrim(upper(numepartener))),
CONSTRAINT pk_nrcontpartener PRIMARY KEY (nrcontpartener));
CREATE TABLE plata_depozit (
id_plata_depozit CHAR(10) NOT NULL,
suma_platita NUMBER(10, 2),data_plata DATE,
tip_tranzactie VARCHAR2(4),
id_depozit VARCHAR2(5) NOT NULL,
CONSTRAINT PK21 PRIMARY KEY (id_plata_depozit));
CREATE TABLE plata_furnizor (
id_plata_furnizor NUMBER(5, 0) NOT NULL,nrcont CHAR(24),
nrcontpartener CHAR(24),
suma_platita NUMBER(9, 0),data_plata DATE DEFAULT sysdate,
tip_tranzactie VARCHAR2(4),
CONSTRAINT pk_plata_furnizor PRIMARY KEY (id_plata_furnizor)
);
CREATE TABLE plata_rata (
id_plata_rata NUMBER(5, 0) NOT NULL,
id_credit VARCHAR2(5),suma_platita NUMBER(9, 0),
data_plata DATE DEFAULT sysdate,
tip_tranzactie VARCHAR2(4),CONSTRAINT pk_plata_rata PRIMARY KEY (id_plata_rata)
);
CREATE TABLE reprezentanti_banca (
cnp_reprez VARCHAR2(14) NOT NULL,nume_reprez VARCHAR2(20)
CONSTRAINT ck_nume_reprez CHECK (nume_reprez=LTRIM(INITCAP(nume_reprez))),
CONSTRAINT nn_cnp_reprez PRIMARY KEY (cnp_reprez)
);CREATE TABLE societati (
codfiscal VARCHAR2(9) NOT NULL
CONSTRAINT ck_codfiscal CHECK (SUBSTR(codfiscal,1,1) =UPPER(SUBSTR(codfiscal,1,1))),
cnp_rep NUMBER(13, 0),
reprezentant VARCHAR2(30),den_soc VARCHAR2(30)
CONSTRAINT ck_den_soc CHECK (den_soc=LTRIM(INITCAP(den_soc))),
-
8/18/2019 Model Baze de Date Proiect
8/16 2
adresa VARCHAR2(40)CONSTRAINT ck_adresa CHECK (SUBSTR(adresa,1,1) = UPPER(SUBSTR(adresa,1,1))),
nrrc VARCHAR2(13),
tel VARCHAR2(10),
forma_jur VARCHAR2(5),capital NUMBER(10, 0),
CONSTRAINT pk_codfiscal PRIMARY KEY (codfiscal)
);CREATE TABLE tip_tranzactii (
tip_tranzactie VARCHAR2(4) NOT NULL,
den_tranzactie VARCHAR2(30),
tip_doc VARCHAR2(3),cnp_reprez VARCHAR2(14),
CONSTRAINT pk_id_tranzactii PRIMARY KEY (tip_tranzactie)
);
CREATE TABLE tipuri_credite (
tip_credit VARCHAR2(4) NOT NULL,
den_credit VARCHAR2(40)CONSTRAINT ck_den_credit CHECK (den_credit=ltrim(upper(den_credit))),
dobanda NUMBER(4, 2),
sumamin NUMBER(9, 0),sumamax NUMBER(9, 0),
valuta CHAR(3) NOT NULL
CONSTRAINT ck_valuta_credite CHECK (valuta in ('RON','EUR','USD')),
perioada_max NUMBER(3, 0),CONSTRAINT pk_tipuri_credite PRIMARY KEY (tip_credit) );
CREATE TABLE tipuri_depozite (
tip_depozit VARCHAR2(3) NOT NULLCONSTRAINT ck_tip_depozit CHECK (tip_depozit=ltrim(upper(tip_depozit))),
dobanda NUMBER(4, 2),
sumamin NUMBER(9, 0),den_depozit VARCHAR2(40)
CONSTRAINT ck_den_depozit CHECK (den_depozit=ltrim(upper(den_depozit))),
valuta CHAR(3) NOT NULL
CONSTRAINT ck_valuta CHECK (valuta in ('RON','EUR','USD')),nr_luni NUMBER(3, 0),
CONSTRAINT pk_tip_depozit PRIMARY KEY (tip_depozit)
);
Alte obiecte din baza de date-- View care sa includa numai societati cu adresa in Iasi
CREATE VIEW Soc_Iasi_view AS
SELECT * FROM societatiWHERE adresa like '%Iasi%';
- Secventa - poate fi folosita pentru generare valori unice pt cheia primara (din tabela Credite de
exemplu)
CREATE SEQUENCE seq_credit start with 100 Increment by 10 Maxvalue 1000 nocycle;
-
8/18/2019 Model Baze de Date Proiect
9/16
-
8/18/2019 Model Baze de Date Proiect
10/16 4
--insert into parteneri
insert into parteneri values ('RO12RBCN124SV126487249XX','R15498630','BCR','HELIORET');
insert into parteneri values ('RO12RBCN1241212648724XXX','R15494234','BCR','INTERTRANS');
insert into parteneri values('RO12BTRL12412126414678XX','R15493021','TRANSILVANIA','RECON');
insert into parteneri values('RO12BTRL12124536488724XX','R15214041','TRANSILVANIA','ECOSIF');
insert into parteneri values ('RO51BRMA0730073850330000','R15126432','BANCA
ROMANEASCA','OPTINERG');
insert into parteneri values ('RO39BRMA0730073850395400','R84500314','BANCA
ROMANEASCA','CONDIOS');
insert into parteneri values ('RO04BRMA0730073850300000','R24361001','BANCA
ROMANEASCA','VALICO');
insert into parteneri values ('RO34BPOS70001038788USD02','R23164870','BANCPOST','ANAEC');
insert into parteneri values ('RO17BPOS70003038788EUR01','R12030141','BANCPOST','SELGROS');insert into parteneri values ('RO12BPOS70003038788ROL06','R24301610','BANCPOST','ROMCARD');
insert into parteneri values ('RO82BPOS70003038788ROL07','R21304121','BANCPOST','DILODOL');
--insert into tipuri_depozite
insert into tipuri_depozite values ('VD',0.25,0,'LA VEDERE','RON',0);
insert into tipuri_depozite values ('T1',5.50,2500,'LA TERMEN DE 1 LUNA','RON',1);
insert into tipuri_depozite values ('T3',5.75,2500,'LA TERMEN DE 3 LUNI','RON',3);
insert into tipuri_depozite values ('T6',6.00,2500,'LA TERMEN DE 6 LUNI','RON',6);
insert into tipuri_depozite values ('T9',6.25,2500,'LA TERMEN DE 9 LUNI','RON',9);
insert into tipuri_depozite values ('T12',6.50,2500,'LA TERMEN DE 12 LUNI','RON',12);
insert into tipuri_depozite values ('T18',7.00,2500,'LA TERMEN DE 18 LUNI','RON',18);
insert into tipuri_depozite values ('OVN',3.50,3000,'DEPOZIT OVERNIGHT','RON',0);
insert into tipuri_depozite values ('E1',2.50,0,'DEPOZIT LA TERMEN DE 1 LUNA IN EURO','EUR',1);
insert into tipuri_depozite values ('E3',3.00,0,'DEPOZIT LA TERMEN DE 3 LUNI IN EURO','EUR',3);
insert into tipuri_depozite values ('E6',3.10,0,'DEPOZIT LA TERMEN DE 6 LUNI IN EURO','EUR',6);
insert into tipuri_depozite values ('E9',3.25,0,'DEPOZIT LA TERMEN DE 9 LUNI IN EURO','EUR',9);
insert into tipuri_depozite values ('E12',3.50,0,'DEPOZIT LA TERMEN DE 12 LUNI INEURO','EUR',12);
insert into tipuri_depozite values ('E18',4.00,0,'DEPOZIT LA TERMEN DE 18 LUNI IN
EURO','EUR',18);
insert into tipuri_depozite values ('D1',2.75,0,'DEPOZIT LA TERMEN DE 1 LUNA IN USD','USD',1);
insert into tipuri_depozite values ('D3',3.25,0,'DEPOZIT LA TERMEN DE 3 LUNI IN USD','USD',3);
-
8/18/2019 Model Baze de Date Proiect
11/16 5
insert into tipuri_depozite values ('D6',3.50,0,'DEPOZIT LA TERMEN DE 6 LUNI IN USD','USD',6);
insert into tipuri_depozite values ('D9',3.75,0,'DEPOZIT LA TERMEN DE 9 LUNI IN USD','USD',9);
insert into tipuri_depozite values ('D12',4.00,0,'DEPOZIT LA TERMEN DE 12 LUNI INUSD','USD',12);
insert into tipuri_depozite values ('D18',4.25,0,'DEPOZIT LA TERMEN DE 18 LUNI IN
USD','USD',18);
--insert into tipuri_credit
insert into tipuri_credite values ('C1','CREDIT PENTRU NEVOITEMPORARE',0.25,1500,80000,'RON',2);
insert into tipuri_credite values ('C2','CREDIT PENTRU CAPITAL DELUCRU',0.12,20000,150000,'RON',12);
insert into tipuri_credite values ('C3','CREDIT PENTRU INVESTITII',0.11,5000,1000000,'EUR',60);
insert into tipuri_credite values ('C4','CREDIT START-UP',0.12,1000,85000,'RON',60);
insert into tipuri_credite values ('C5','CREDIT PENTRU NEVOIDIVERSE',0.16,1000,200000,'EUR',240);
insert into tipuri_credite values ('C6','CREDIT MICRO PT IMM-URI',0.15,2000,50000,'EUR',12);
--insert into comisioane
insert into comisioane values ('DES','Comision de deschidere',0.25);
insert into comisioane values ('RET','Comision de retragere',0.40);
insert into comisioane values ('ADM','Comision de administrare',7);
insert into comisioane values ('VIR','Comision de virament',20);
insert into comisioane values ('FC','Fara comision',0);
--insert into depozite
insert into depozite values
(1,'T6','RO32BRDE146SV14568924001',5000,TO_DATE('15/09/2006','DD/MM/YYYY'));
insert into depozite values
(2,'T12','RO04BRDE123LC24568230012',7500,TO_DATE('16/10/2006','DD/MM/YYYY'));
insert into depozite values(3,'OVN','RO32BRDE146SV14568924001',80000,TO_DATE('04/12/2006','DD/MM/YYYY'));
insert into depozite values
(4,'E6','RO32BRDE146SV14568924001',5000,TO_DATE('11/06/2006','DD/MM/YYYY'));
insert into depozite values(5,'T6','RO23BRDE220SV03805172200',10000,TO_DATE('23/11/2006','DD/MM/YYYY'));
insert into depozite values
(6,'E12','RO32BRDE146SV14568924001',4500,TO_DATE('13/05/2006','DD/MM/YYYY'));
-
8/18/2019 Model Baze de Date Proiect
12/16 6
--insert into credite
INSERT INTO CREDITE VALUES '10','RO23BRDE220SV03805172200',50000,6,null,'C2');
INSERT INTO CREDITE VALUES ('11','RO04BRDE123LC24568230012',25000,36,null,'C3');
INSERT INTO CREDITE VALUES ('12','RO04BRDE123LC24568230012',5000,240,null,'C5');
INSERT INTO CREDITE VALUES ('14','RO25BRDE102SV03452162400',10000,1,null,'C1');
INSERT INTO CREDITE VALUES ('16','RO04BRDE123LC24568230012',50000,120,null,'C5');
INSERT INTO CREDITE VALUES ('18','RO25BRDE102SV03452162400',75000,2,null,'C1');
INSERT INTO CREDITE VALUES ('20','RO23BRDE220SV03805172200',900000,36,null,'C3');
--insert into tip tranzactii
insert into tip_tranzactii values ('PR','plata rata','OP',2780221350102);
insert into tip_tranzactii values ('PF','plata furnizor','BO',1580930378954 );
insert into tip_tranzactii values ('INC','incasari','CEC',2480131456789);
insert into tip_tranzactii values ('ICR','incasare_credit','FV',1650524214598 );
insert into tip_tranzactii values ('CD','calcul dobanda','FV',2681014256487);
insert into tip_tranzactii values ('CC','calcul comision','FV',1710808124569);
insert into tip_tranzactii values ('CCC','calcul comision credit','FV',1710808124569);
insert into tip_tranzactii values ('CDC','calcul dobanda credit','FV',2480131456789);
--insert into plata_rata
insert into plata_rata values (100,'10',2003,TO_DATE('15/09/2006','DD/MM/YYYY'),'PR');insert into plata_rata values (101,'11',102,TO_DATE('14/03/2006','DD/MM/YYYY'),'PR');
insert into plata_rata values (102,'12',120,TO_DATE('14/03/2007','DD/MM/YYYY'),'PR');
insert into plata_rata values (103,'20',1500,TO_DATE('02/03/2007','DD/MM/YYYY'),'PR');
insert into plata_rata values (104,'11',300,TO_DATE('10/05/2007','DD/MM/YYYY'),'PR');
insert into plata_rata values (105,'14',580,TO_DATE('09/11/2006','DD/MM/YYYY'),'PR');
insert into plata_rata values (106,'16',8623,TO_DATE('05/01/2007','DD/MM/YYYY'),'PR');
insert into plata_rata values (107,'18',2130,TO_DATE('24/12/2006','DD/MM/YYYY'),'PR');
-- insert into plata_furnizor
insert into plata_furnizor values
('201','RO25BRDE102SV03452162400','RO12BPOS70003038788ROL06',1500,TO_DATE('24/12/2006','DD/MM/YYYY'),'PF');
insert into plata_furnizor values
('202','RO04BRDE123LC24568230012','RO17BPOS70003038788EUR01',200,TO_DATE('15/11/2006','
DD/MM/YYYY'),'PF');
insert into plata_furnizor values
-
8/18/2019 Model Baze de Date Proiect
13/16 7
('203','RO32BRDE146SV14568924001','RO04BRMA0730073850300000',150,TO_DATE('24/02/2007','DD/MM/YYYY'),'PF');
insert into plata_furnizor values('204','RO04BRDE123LC24568230012','RO82BPOS70003038788ROL07',320,TO_DATE('02/06/2007','
DD/MM/YYYY'),'PF');
insert into plata_furnizor values
('205','RO23BRDE220SV03805172200','RO12BTRL12412126414678XX',100,TO_DATE('31/12/2006','DD/MM/YYYY'),'PF');
insert into plata_furnizor values
('207','RO25BRDE102SV03452162400','RO12RBCN1241212648724XXX',231,TO_DATE('24/03/2007'
,'DD/MM/YYYY'),'PF');
insert into plata_furnizor values
('208','RO04BRDE123LC24568230012','RO12BPOS70003038788ROL06',5000,TO_DATE('14/05/2007'
,'DD/MM/YYYY'),'PF');
--insert into plata_depozit
insert into plata_depozit values('301', 5000,TO_DATE('24/12/2006','DD/MM/YYYY'),'PR',1);
insert into plata_depozit values
('302', 200,TO_DATE('24/01/2007','DD/MM/YYYY'),'PR',1);
insert into plata_depozit values
('303',260,TO_DATE('28/02/2008','DD/MM/YYYY'),'PR',2);
insert into plata_depozit values
('304', 99000,TO_DATE('14/12/2009','DD/MM/YYYY'),'PR',3);
insert into plata_depozit values
('305', 700,TO_DATE('15/04/2008','DD/MM/YYYY'),'PR',4);
insert into plata_depozit values
('306', 52500,TO_DATE('24/12/2009','DD/MM/YYYY'),'PR',4);
insert into plata_depozit values
('307', 8900,TO_DATE('07/12/2006','DD/MM/YYYY'),'PR',5);
--insert into "comisioane tipuri_credite"
insert into "comisioane tipuri_credite" values ('DES', 'C1');
insert into "comisioane tipuri_credite" values ('DES', 'C2');
insert into "comisioane tipuri_credite" values ('DES', 'C3');
insert into "comisioane tipuri_credite" values ('DES', 'C4');
insert into "comisioane tipuri_credite" values ('FC', 'C5');
insert into "comisioane tipuri_credite" values ('FC', 'C6');
-
8/18/2019 Model Baze de Date Proiect
14/16 8
--insert into "comisioane tipuri_depozite"
insert into "comisioane tipuri_depozite" values('DES', 'VD');
insert into "comisioane tipuri_depozite" values('DES', 'D9');
insert into "comisioane tipuri_depozite" values('FC', 'VD');
insert into "comisioane tipuri_depozite" values('FC', 'D6');
Interogarea bazei de date
Adaugati coloana Cifra_afaceri in tabela Societati, de tip numeric(10)
ALTER TABLE societati
ADD (cifra_afaceri number(10));
Modificaţi în Stroescu Mirela numele reprezentantului societatii care are nr de telefon 0232302411:UPDATE societatiSET reprezentant='Stroescu Mirela'
WHERE codfiscal=( select codfiscal
from societatiwhere tel= '0232302411');
In tabela tipuri_credite modificati valoarea dobanzii pentru tipul de credit „CREDIT PENTRUINVESTITII” cu 5 %UPDATE tipuri_crediteSET dobanda=dobanda*1.05
WHERE den_credit='CREDIT PENTRU INVESTITII';
Stergeti inregistrarea din tabela depozite pentru depozitul cu data 04-12-2006
DELETE FROM tipuri_depozite
WHERE den_depozit='DEPOZIT LA TERMEN DE 1 LUNA IN EURO';Care sunt depozitele care contin comision de deschidere?select den_depozit
from tipuri_depozite t inner join "comisioane tipuri_depozite" cdon t.tip_depozit= cd.tip_depozit
inner join comisioane c
on cd.id_comision= c.id_comision
where c.id_comision='DES';
Care sunt creditele pentru care nu se percepe comision ?select den_credit
from tipuri_credite t inner join "comisioane tipuri_credite" cc
on t.tip_credit= cc.tip_creditinner join comisioane c
on cc.id_comision= c.id_comision
where c.id_comision='FC';
Sa se afiseze tipul documentelor care au loc in tranzactiile facute de angajata ‚Mihaela Stroescu’ select den_doc
from documente d , tip_tranzactii tt
where d.tip_doc= tt.tip_doc
-
8/18/2019 Model Baze de Date Proiect
15/16 9
and tt.tip_tranzactie= (select tip_tranzactiefrom reprezentanti_banca rb inner join tip_tranzactii tt
on rb.cnp_reprez=tt.cnp_reprez
where nume_reprez='Stroescu Mihaela');
Sa se specifice numarul de tranzactii realizate de fiecare reprezentant al bancii
select cnp_reprez, count(den_tranzactie)
from tip_tranzactiigroup by cnp_reprez, tip_tranzactie;
Sa se specifice denumirea societatii, capitalul social si suma credita pentru societatile care au credite intre
25000 si 50000
select den_soc Denumire_societate, s.capital Capital_social, suma_creditfrom societati s inner join conturi c
on s.codfiscal= c.codfiscal
inner join credite cr
on c.nrcontiban=cr.nrcontibanwhere suma_credit BETWEEN 25000 and 50000;
Care este creditul cu cea mai mare dobandaselect den_credit
from tipuri_creditewhere dobanda=( select max(dobanda)
from tipuri_credite);
Care este creditul cel mai avantajos
select den_credit
from tipuri_creditewhere dobanda=( select min(dobanda)
from tipuri_credite);
Care este cel mai avantajos depozitselect den_creditfrom tipuri_credite
where dobanda=( select min(dobanda)
from tipuri_credite);
Suma totala a depozitelor pentru anul 2015select sum( suma_depozit) suma_totala_2015
from tipuri_depozite tp inner join depozite d
on tp.tip_depozit=d.tip_depozit
where data_depozit like '%06%';
Suma medie depusa in anul 2015select round(avg( suma_depozit)) suma_totala_2015
from tipuri_depozite tp inner join depozite d
on tp.tip_depozit=d.tip_depozitwhere data_depozit like '%15%';
Suma totala pentru fiecare tip de credit
select tip_credit ,sum(suma_credit ) suma_imprumutata
from credite
group by tip_credit;
-
8/18/2019 Model Baze de Date Proiect
16/16
Sa se afiseze numele partenerilor care au conturi deschise la BCR si cei al caror cont incepe cu 'RO82%'select numepartener
from parteneri
where banca='BCR'
unionselect numepartener
from parteneri
where codfiscpartener like 'RO82%';
Sa se afiseze societatile care au aceeasi forma juridica ca si clientul R2148791
select den_soc
from societatiwhere forma_jur=( select forma_jur
from societati
where codfiscal=R2148791);