Model Baze de Date Proiect

download Model Baze de Date Proiect

of 16

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);