Professional Documents
Culture Documents
Lucrare de atestat: Prelucrarea bazelor de date Eleve: Adina Ghi , Ariadna Mladen Profesor : Daniela Pantelimon
Cuvnt nainte Lund fiin a n Giurgiu, n anul 2000, compania se adreseaz tuturor oamenilor care doresc s i tip reasc o carte, o revist , i nu numai. Pe lng tip rirea acestora, firma noastr ofer i servicii de verificare i corectare a gre elilor omise de clien i. Serviciile noastre sunt deja cunoscute n toata ara. Beneficiem de profesionisti n domeniu, att din Romnia, ct i din str in tate.
Descrierea proiectului Odat cu deschiderea por ilor editurii A&A Edit, firma a ntmpinat un succes treptat dar sigur. Materialele de calitate i lucrul profesionist au asigurat profitul firmei i astfel extinderea ei. Odat cu extinderea i n alte ora e, compania ntmpin nevoia unei baze de date pentru a monitoriza stocurile, vnz rile i situa ia angaja ilor.
Povestea O editur editeaz c r i tiin ifice din diferite domenii. C r ile sunt scrise de autori specializa i ntr-un anumit domeniu. Firma are angaja i mai mul i editori care nu sunt neap rat speciali ti n diferitele domenii, fiecare editor fiind responsabil pentru mai multe publica ii. O carte acoper unul dintre domeniile n care este specialist autorul, fiecare autor lucreaz cu un editor, dar poate avea spre publicare o alta carte de care este responsabil un alt editor.
Entitatea se reprezinta printr-un dreptunghi cu colturile rotunjite. Numele entitatii se scrie cu litere mari si este substantiv scris la singular. Fiecarei entitati ii corespunde una sau mai multe instante. Caracteristicile unei entitati formeaza atributele.
Entitatea CARTE contine atributele: #ISBN *nume Entitatea AUTOR contine atributele: #CNP *nume *prenume *adresa *nr_telefon e-mail Entitatea EDITOR contine atributele: #CNP *nume *prenume *adresa *nr_telefon e-mail Entitatea DOMENIU contine atributele: #ID *nume Entitatea PROIECT contine atributele: #ID *nume
este scrisa de
scrie
DOMENIU
acoper
cuprinde
#ID *nume
este editat de
editeaz
lucreaz
este editata de
scrie
apar ine
PROIECT
lucreaza este editat de
scrie
#ID *nume
este editat
lucreaz
editeaz
editeaz
lucreaz
Rela ii
Fiecare carte trebuie sa acopere un domeniu i numai unul. Fiecare domeniu poate sa cuprinda una sau multe c rti.
AUTOR CARTE #ISBN *nume este editat de scrie #CNP *nume *preunume *adresa *nr_telefon e-mail
Fiecare carte trebuie sa fie editat de un autor i numai unul. Fiecare autor poate scrie una sau mai multe c rti.
Fiecare domeniu poate fi cunoscut de unu sau mai mul i autori. Fiecare autor trebuie sa fie specializat ntr-un domeniu i numai unul.
Fiecare carte poate fi editat de un editor i numai unul. Fiecare editor trbuie sa editeze una sau mai multe c r i.
este editat de
editeaz
Fiecare autor poate lucra cu un editor i numai unul. Fiecare editor poate sa lucreze cu unul sau mai mul i autori.
lucreaz
lucreaz
cuprinde
Fiecare domeniu trebuie sa cuprinda unul sau mai multe proiecte. Fiecare proiect trebuie sa apar ina unui domeniu i numai unuia.
Fiecare proiect trebuie editat de un editor i numai unul. Fiecare editor poate sa editeze unul sau mai multe proiecte.
editeaz
apartine
Fiecare proiect trebuie sa apartina unui autor i numai unuia. Fiecare autor poate sa scrie unul sau mai mult proiecte.
Maparea
Trasformarea modelului conceptual, a ERD-ului, in modelul fizic, adica in baza de date propriuzisa, se numeste mapare. Acest proces implica transformarea fiecarui element al ERD-ului. Prima etapa a acestui proces consta in crearea tabelelor bazei de date. Astfel: Fiecarei entitati ii va corespunde cate un tabel. Spre deosebire de entitate, un tabel va avea numele un substantiv la plural. De exemplu entitatea ANGAJAT se va transforma in tabela ANGAJATI, entitatea ELEV, in tabela ELEVI, etc. Fiecare atribut al unei entitati va deveni o coloana a tabelei. Fiecare coloana va memora date de acelasi tip. Fiecare instanta a unei entitati se va transforma intr-un rand ( sau inregistrare) a tabelului corespunzator. Unicul identificator al entitatii devine cheia primara a tabelei. Coloana sau combinatia de coloane care identifica in mod unic toate liniile unui tabel se numeste cheie primara. Deci, orice tabela are linii si coloane si contine datele organizate conform anumitor structuri. In limbajul bazelor de date, coloanele se numesc campuri. Fiecare coloana reprezinta un camp cu o denumire unica, de un anumit tip ( sir de caractere, numeric, data calendaristica, ect.), avand o dimensiune prestabilita. Randurile tabelei se numesc inregistrari.
Notiuni introductive
SQL se bazeaza pe studiile lui E.F. Codd, prima implementare a limbajului SQL fiind dezvoltata de catre firma IBM la mijlocul anilor 1970. Mai tarziu, compania Relational Software Inc. ( Oracle Corporation) a lansat prima versiune comerciala SQL. In prezent SQL este un limbaj complet standardizat, recunoscut de catre Institutul National American de Standarde. SQL utilizeaza o sintaxa simpla, usor de invatat si utilizat, Comenzile SQL pot fi grupate in cinci categorii, dupa cum urmeaza: Limbajul de interogare permite regasirea liniilor memorate in tabelele bazei de date. Vom scrie interogari folosind comanda SELECT. Limbajul de manipulare a datelor (DML) permite modificarea continutului tabelelor. Exista urmatoarele comenzi DML: INSERT pentru adaugare de noi linii intr-o tabela UPDATE pentru modificarea valorilor memorate intr-o tabela DELETE pentru stergerea liniilor dintr-o tabela.
Limbajul de definire a datelor (DDL) permite definirea structurii tabelelor care compun baza de date. Comenzile din aceasta grupa sunt : CREATE permite crearea structurilor bazei de date. ALTER- permite modificarea structurilor bazei de date. DROP-permite stergerea structurilor bazei de date. RENAME-permite schimbarea numelui unei tabele. TRUNCATE-permite stergerea intregului continut al unei tabele. Comenzi de control al tranzactiilor(TC) COMMIT-permite modificari asupra bazei de date. ROLLBACK-permite renuntarea la ultimele modificari asupra bazei de date. SAVEPONT-permite definirea unui : punct de salvare la care se poate reveni, renuntand la modificarile facute dupa acel punct asupra bazei de date. Limbajul de control al datelor(DCL) permite definirea si modificarea drepturilor utilizatorilor asupra bazei de date. Exista doua comenzi in aceasta categorie: GRANT-permite acordarea drepturilor utilizatorilor asupra structurilor bazei de date. REVOKE-permite anularea unor anumite drepturi ale utilizatorilor.
Expresii O expresie este formata din variabile, constante, operatori si functii. Operatori aritmetici Opratorii aritmetici permisi in SQL sunt cei patru operatori din matematica: adunare(+), scadere(-), inmultire(*), impartire(/). Ordinea efectuarii operatiilor este cea din matematica. Operatori alfanumerici Exista un singur operator alfanumeric si anume operatorul de concatenare a doua siruri || ( doua bare verticale fara spatii intre ele). Operatori de comparatie Pe langa operatorii obisnuiti de comparatie: <, >, <=, >=, <> sau !=, =, SQL mai implementeaza urmatorii operatori speciali: LIKE BETWEEN-tasteaza daca o valoare se gaseste intr-un interval definit de doua valori IN-tasteaza daac o valoare apartine unei multimi de valori specificate IS NULL si NOT NULL- se folosesc pentru a testa daac o expresie are valoarea NULL sau nu. Comparatia NULL nu se poate face folosind operatorii obisnuiti = si <>. Operatori logici In ordinea proprietatii lor, acestia sunt: NOT-negatia logica AND-si logic, expresia a AND b este adevarata daca si numai daca ambii membrii operanzi a si b au valoarea adevarata. OR-sau logic, exprea a OR b este adevarata daca si numai daca cel putin unul dintre operanzii a si b au valoare adevarata.
Carti
Numele coloanei ISBN nume ID CNP_editor CNP_autor Tip VARCHAR 2 VARCHAR 2 VARCHAR 2 NUMBER NUMBER Tip cheie PK FK FK FK Optionalitate * * * * *
CREATE TABLE carti ( ISBN VARCHAR 2 (20), nume VARCHAR 2 (20), ID_domeniu VARCHAR 2 (20), REFERENCES domeniu (ID), CNP_editor NUMBER (20), PK REFERENCES editor (CNP), CNP_autor NUMBER (20), PK REFERENCES autor (CNP), )
Domenii
Numele coloanei ID nume Tip VARCHAR 2 VARCHAR 2 Tip cheie PK Optionalitate * *
Autori
Numele coloanei CNP nume prenume adresa numar_telefon e-mail ID_domeniu CNP_editor
CREATE TABLE domenii ( ID VARCHAR 2 (20), nume VARCHAR 2 (30), ) Tip NUMBER VARCHAR 2 VARCHAR 2 VARCHAR 2 VARCHAR 2 VARCHAR 2 VARCHAR 2 NUMBER Tip cheie PK FK FK Optionalitate * * * * * * *
CREATE TABLE autori ( CNP NUMBER (13), PK nume VARCHAR 2 (30), prenume VARCHAR 2 (20), adreasa VARCHAR 2 (50), numar_telefon VARCHAR 2 (10), e-mail VARCHAR 2 (30), ID_domeniu VARCHAR 2 (20), REFERENCES domeniu (ID), CNP_editor NUMBER (20), PK REFERENCES editor (CNP), )
Proiecte
Numele coloanei ID nume CNP_editor CNP_autor ID_domeniu Tip VARCHAR 2 VARCHAR 2 NUMBER NUMBER VARCHAR 2 Tip cheie PK FK FK FK Optionalitate * * * * *
Editori
CREATE TABLE proiecte ( ID VARCHAR 2 (20), nume VARCHAR 2 (30), ) Numele coloanei CNP nume prenume adresa numar_telefon e-mail ID_proiect Tip NUMBER VARCHAR 2 VARCHAR 2 VARCHAR 2 VARCHAR 2 VARCHAR 2 VARCHAR 2 Tip cheie PK FK Optionalitate * * * * * *
CREATE TABLE editori ( CNP NUMBER (13), PK nume VARCHAR 2 (30), prenume VARCHAR 2 (20), adreasa VARCHAR 2 (50), numar_telefon VARCHAR 2 (10), e-mail VARCHAR 2 (30), )
INSERT INTO CARTI ( ISBN, nume ) VALUES ( 374586, Shalimar clovnul, 2354, 2260376234513, 2680326281292) INSERT INTO CARTI ( ISBN, nume ) VALUES ( 329824, Mandrie si prejudecata, 1286, 1213096578934, 1710231037797) INSERT INTO CARTI ( ISBN, nume ) VALUES ( 856241, Arta, stil, costum, 6854, 1213096578934, 1710231037797) INSERT INTO CARTI ( ISBN, nume ) VALUES ( 632541, Madame Bovary, 7895, 1880105183039, 1921222075051) INSERT INTO CARTI ( ISBN, nume ) VALUES ( 957426, Memoriile unei gheise, 2364, 1930203293149, 2880465477893) Carti
Nr. C r t . 1 2 3 4 5 374586 329824 856241 632541 957426 Shalimar clovnul Mandrie si prejudecata Arta, stil, costum Madame Bovary Memoriile unei gheise 2354 1286 6854 7895 2364 2260376234513 1213096578934 2090987424536 1880105183039 1930203293149 2680326281292 1710231037797 1890424227368 1921222075051 2880465477893 ISBN nume ID CNP_editor CNP_autor
INSERT INTO EDITORI ( CNP, nume, prenume, adresa, nr_telefon, e-mail, ID_proiect) VALUES ( 1931005053190, Cadell, Thomas, Bd Daciei, Nr. 13, 0768521653, cadellthomas@yahoo.com, 1654) INSERT INTO EDITORI ( CNP, nume, prenume, adresa, nr_telefon, e-mail, ID_proiect) VALUES ( 1850505186149, Bucuroiu, Cristina, Str. Dorobanti, Nr. 2, 0722653522, bucuroiucristina@yahoo.com, 5654) INSERT INTO EDITORI ( CNP, nume, prenume, adresa, nr_telefon, e-mail, ID_proiect) VALUES ( 1930730249801, Draghiceanu, Nicoleta, Str. Negru Voda, bl 43/853, sc 5B, ap 34, 0733541555, draghiceanu@yahoo.com, 7982) INSERT INTO EDITORI ( CNP, nume, prenume, adresa, nr_telefon, e-mail, ID_proiect) VALUES ( 2890424227368, Simion, Radu, Str. Tineretului, bl 41/853, sc 2B, ap 21, 07621456251, radusimion@yahoo.com, 6358)
Editori
Nr. C r t . 1 2 193100505 3190 185050518 6149 193073024 9801 289042422 7368 288080210 2263 Cadell Bucuroiu Thomas Cristina Bd Daciei, Nr. 13 Str. Dorobanti, Nr. 2 076852165 3 072265352 2 073354155 5 076214562 51 076832541 44 cadellthomas@ yahoo.com bucuroiucristina @yahoo.c om draghiceanu@y ahoo.com radusimion@ya hoo.com rusu@yahoo.co m 1654 5654 CNP nume prenume adresa nr_telefon e_mail ID_proiect
3 4 5
Str. Negru Voda, bl 43/853, sc 5B, ap 34 Str. Tineretului, bl 41/853, sc 2B, ap 21 Str. 1 Decembrie, Nr. 45
INSERT INTO AUTORI ( CNP, nume, prenume, adresa, nr_telefon, e-mal, CNP_editor) VALUES ( 1710231037797, Rushdie, Salman, Str Mihai Eminescu, Nr. 25, 0762541252, rushdie@yahoo.com, 1245, 266092602276) INSERT INTO AUTORI ( CNP, nume, prenume, adresa, nr_telefon, e-mal, CNP_editor) VALUES ( 2660122226373, Austen, Jane, Str. Eroilor, Nr. 20, 0721543925, austenjane@yahoo.com, 3413, 266092602276) INSERT INTO AUTORI ( CNP, nume, prenume, adresa, nr_telefon, e-mal, CNP_editor) VALUES ( 1880906347927, Nanu, Adina, Str. Gradinitei, Nr. 1, 0796256625, adinananu@yahoo.com, 5463, 1930409399068) INSERT INTO AUTORI ( CNP, nume, prenume, adresa, nr_telefon, e-mal, CNP_editor) VALUES ( 2680906347927, Flaubert, Gustave, Str. Grivitei, Nr. 15 B, 07325865125, flaubert@yahoo.com, 3543, 1901221364911) INSERT INTO AUTORI ( CNP, nume, prenume, adresa, nr_telefon, e-mal, CNP_editor) VALUES ( 2850425044456, Golden, Arthur, Str. Unirii, bl 31/456, sc A, ap 5, 0762123323, golden@yahoo.com, 2556, 162011717242)
Autori
Nr. Crt. CNP nume Prenume Adresa Nr_telefo n e-mail ID_dom eniu CNP_editor
171023103 7797 266012222 6373 188090634 7927 268090634 7927 285042504 4456
Rushdie
Salman
Str Mihai Eminescu, Nr. 25 Str. Eroilor, Nr. 20 Str. Gradinitei, Nr. 1 Str. Grivitei, Nr. 15 B Str. Unirii, bl 31/456, sc A, ap 5
1245
266092602276
2 3
Austen Nanu
Jane Adina
3413 5463
291121801575 1930409399068
Flaubert
Gustave
3543
1901221364911
Golden
Arthur
2556
162011717242
Nr. Crt . 1
CNP
nume
Prenume
Adresa
Nr_telefo n
ID_do meniu
CNP_editor
17102310 37797 18809063 47927 28504250 44456 26809063 47927 26601222 26373
Rushdie
Salman
Str Mihai Eminescu, Nr. 25 Str. Gradinitei, Nr. 1 Str. Unirii, bl 31/456, sc A, ap 5 Str. Grivitei, Nr. 15 B Str. Eroilor, Nr. 20
0762541 252 0796256 625 0762123 323 0732586 5125 0721543 925
1245
266092602276
Nanu
Adina
5463
1930409399068
Golden
Arthur
2556
162011717242
Flaubert
Gustave
3543
1901221364911
Austen
Jane
3413
291121801575
Nr. Crt. 1
nume
prenume
ID_proiect
Simion
Radu
6358
Nr. Crt. 1
CNP 285042504445 6
nume Golden
Prenume Arthur
N r. C rt. 1
CNP
nume
Prenu me
Adresa
Nr_tel efon
CNP_editor
Austen
Jane
Flaube rt Golde n
Gustav e Arthur
3543
2556
Nr. Crt.
ISBN
nume
ID
CNP_editor
CNP_autor
1 2 3 4 5
Mandrie si prejudecata Shalimar clovnul Madame Bovary Arta, stil, costum Memoriile unei gheise