You are on page 1of 31

Colegiul Na ional Ion Maiorescu Giurgiu

s.c. A&A Edit s.r.l


O carte este un dar pe care l po i deschide iar i iar.

Lucrare de atestat: Prelucrarea bazelor de date Eleve: Adina Ghi , Ariadna Mladen Profesor : Daniela Pantelimon

Sesiunea mai 2010

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

CARTE #ISBN *nume

cuprinde

#ID *nume

este cunoscut este specializat

AUTOR #CNP *nume *prenume *adresa *nr_telefon e-mail

este cunoscut scrie este scris de

este editat de

lucreaz este specializat

EDITOR #CNP *nume *prenume *adresa *nr_telefon e-mail

editeaz

lucreaz

Forma ini iala a ERD

este editata de

scrie

DOMENIU CARTE #ISBN *nume


acoper

#ID *nume cuprinde


cuprinde

este cunoscut este specializat

AUTOR #CNP *nume *preunume *adresa *nr_telefon e-mail

apar ine

PROIECT
lucreaza este editat de

scrie

#ID *nume
este editat

lucreaz

editeaz

EDITOR #CNP *nume *prenume *adresa *nr_telefon e-mail

editeaz

lucreaz

Forma final a ERD

Rela ii

CARTE DOMENIU #ISBN *nume acoper cuprinde #ID *nume

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.

DOMENIU #ID *nume este cunoscut este specializat

AUTOR #CNP *nume *preunume *adresa *nr_telefon e-mail

Fiecare domeniu poate fi cunoscut de unu sau mai mul i autori. Fiecare autor trebuie sa fie specializat ntr-un domeniu i numai unul.

CARTE #ISBN *nume

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

EDITOR #CNP *nume *prenume *adresa *nr_telefon e-mail

editeaz

AUTOR #CNP *nume *preunume *adresa *nr_telefon e-mail

Fiecare autor poate lucra cu un editor i numai unul. Fiecare editor poate sa lucreze cu unul sau mai mul i autori.

lucreaz

EDITOR #CNP *nume *prenume *adresa *nr_telefon e-mail

lucreaz

DOMENIU #ID *nume

cuprinde

Fiecare domeniu trebuie sa cuprinda unul sau mai multe proiecte. Fiecare proiect trebuie sa apar ina unui domeniu i numai unuia.

apar ine PROIECT #ID *nume

PROIECT #ID *nume este editat

Fiecare proiect trebuie editat de un editor i numai unul. Fiecare editor poate sa editeze unul sau mai multe proiecte.
editeaz

EDITOR #CNP *nume *prenume *adresa *nr_telefon e-mail

AUTOR #CNP *nume *preunume *adresa *nr_telefon e-mail scrie

PROIECT #ID *nume

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.

Elemente de baza SQL


Nume Toate obiectele dintr-o baza de date, tabele, coloane, vizualizari, indecsi, sinonime, ect, au un nume Numele poate fi orice sir de maximum 30 de litere, cifre si caracterele speciale: caracterul de subliniere (underscore _), diez (#), si dolar ($), primul caracter fiind obligatoriu o litera. Evident numele unui obiect din baza de date trebuie sa fie unic. Cuvinte Rezervate Ca in orice limbaj, si in SQL exista o lista de cuvinte rezervate. Acestea sunt cuvinte pe care nu le puteti folosi cu alt scop, ca de exemplu pentru denumirea tabelelor. Constante O constanta sau litera este o valoare fixa ce nu poate fi modificata. Exista: Constante numerice (2,3,4) Constante alfanumerice. Ele sunt scrise intr apostrofuri si sunt case-sensitive. Variabile Variabilele sunt date care pot avea in timp valori diferite. O variabila are intotdeauna un nume pentru a putea fi referinta. SQL-suporta doua tipuri de variabile: -variabilele asociate numerelor coloanelor din tabele -variabile sistem

 

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

Draghiceanu Simion Rusu

Nicoleta Radu Anca

Str. Negru Voda, bl 43/853, sc 5B, ap 34 Str. Tineretului, bl 41/853, sc 2B, ap 21 Str. 1 Decembrie, Nr. 45

7982 6358 5472

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

07625412 52 07215439 25 07962566 25 07325865 125 07621233 23

rushdie@yahoo.co m austenjane@yahoo. com adinananu@yahoo. com flaubert@yahoo.co m golden@yahoo.co m

1245

266092602276

2 3

Austen Nanu

Jane Adina

3413 5463

291121801575 1930409399068

Flaubert

Gustave

3543

1901221364911

Golden

Arthur

2556

162011717242

SELECT * FROM autori ORDER BY nume desc

Nr. Crt . 1

CNP

nume

Prenume

Adresa

Nr_telefo n

e-mail

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

rushdie@yahoo.c om adinananu@yaho o.com golden@yahoo.co m flaubert@yahoo.c om austenjane@yaho o.com

1245

266092602276

Nanu

Adina

5463

1930409399068

Golden

Arthur

2556

162011717242

Flaubert

Gustave

3543

1901221364911

Austen

Jane

3413

291121801575

SELECT nume,prenume,ID_proiect From editori Where ID_proiect=6358

Nr. Crt. 1

nume

prenume

ID_proiect

Simion

Radu

6358

SELECT CNP,nume,prenume FROM autori WHERE nume LIKE G%

Nr. Crt. 1

CNP 285042504445 6

nume Golden

Prenume Arthur

N r. C rt. 1

CNP

nume

Prenu me

Adresa

Nr_tel efon

e-mail

ID_d ome niu 3413

CNP_editor

266012 222637 3 268090 634792 7 285042 504445 6

Austen

Jane

Str. Eroilor, Nr. 20 Str. Grivitei, Nr. 15 B Str. Unirii, bl 31/456, sc A, ap 5

07215 43925 07325 86512 5 07621 23323

austenjane@ yahoo.com flaubert@yah oo.com golden@yah oo.com

29112180157 5 19012213649 11 16201171724 2

SELECT * FROM autori WHERE CNP_editor LIKE 2%

Flaube rt Golde n

Gustav e Arthur

3543

2556

SELECT * FROM carti ORDER BY ISBN

Nr. Crt.

ISBN

nume

ID

CNP_editor

CNP_autor

1 2 3 4 5

329824 374586 632541 856241 957426

Mandrie si prejudecata Shalimar clovnul Madame Bovary Arta, stil, costum Memoriile unei gheise

1286 2354 7895 6854 2364

1213096578934 2260376234513 1880105183039 2090987424536 1930203293149

1710231037797 2680326281292 1921222075051 1890424227368 2880465477893

You might also like