Cuprins Capitolul I ............................................................................................................... 5 Despre baze de date ..............................................................................................

5 Introducere .................................................................................................................. 6 1.1 Istoric[20] ............................................................................................................... 7 1.2 Elemente de fond .................................................................................................. 9 1.3 Arhitectura unei baze de date [13] ........................................................................ 9 1.4 Modele conceptuale pentru sisteme de gestiune a bazelor de date .................... 14 1.5. Proiectarea logică a datelor ............................................................................... 26 1.6. Obţinerea modelului logic de date ...................................................................... 31 CAPITOLUL II ....................................................................................................... 32 MODELUL LOGIC RELATIONAL. NORMALIZAREA .......................................... 32 Modelul logic relaţional ....................................................................................... 33 2.1. Concepte de bază [20] ....................................................................................... 33 2.2 Relaţii între tabele (Relationships)[12] ................................................................. 34 2. 3 Restricţii de integritate ........................................................................................ 36 2.4 Regulile lui Codd [17] .......................................................................................... 37 2.5.Proiectarea bazelor de date relaţionale [17] ........................................................ 38 2.6 Normalizarea bazei de date................................................................................. 40 2.7 Prima formă normală (1NF – First Normal Form) [11] ........................................ 42 2.8 Dependenţe funcţionale [11]................................................................................ 45 2. 9 A doua formă normală (2NF – Second Normal Form) [11] ................................. 46 2. 10 A treia formă normală (3NF – Third Normal Form) ........................................... 47 2.11 Studiu de caz..................................................................................................... 50 CAPITOLUL III ...................................................................................................... 53 Aspecte didactice ale predării normalizării ....................................................... 53 în cadrul unităţii de învăţare ............................................................................... 53 3

"MODELAREA DATELOR” .................................................................................. 53 3.1 Experimentul didactic .......................................................................................... 54 3.2 Caracterizarea claselor cuprinse în experiment .................................................. 54 3.3 Unitatea de învăţare Modelarea datelor ............................................................. 55 3.4 Normalizarea. Prima formă normală .................................................................... 78 3.5 A doua formă normală ......................................................................................... 86 3.6 A treia formă normală .......................................................................................... 92 3.7 Proiect final........................................................................................................ 101 Concluzii .................................................................................................................. 102 Bibliografie............................................................................................................... 104

4

Capitolul I Despre baze de date

5

. In lucrarea de faţă se încearcă să se arate rolul analizei proiectării bazelor de date şi necesitatea realizării unor judecăţi cât mai corecte despre viziunea de ansamblu a situaţiilor ce pot apărea în practică. a identificat cerinţele beneficiarilor. accentul fiind plasat pe partea de implementare şi de exploatare. sa analizăm cerinţele acestora pentru a identifica datele relevante şi relaţiile importante care există între acestea. modelarea datelor nu este studiată sistematic şi riguros în şcoală. Modelarea datelor reprezintă prima etapă în dezvoltarea aplicațiilor orientate pe baze de date şi constă în analiza datelor şi a relaţiilor dintre acestea în scopul elaborării modelului conceptual. apoi l-au implementat. nu învăţăm să proiectăm baza de date. rezultând o bază de date şi un pachet de programe care să permită exploatarea acesteia. la agenţia CFR sau la bancă. dar. În spatele acestor aplicaţii atât de raspândite şi de uşor de utilizat se află o întreagă echipă care a analizat activitatea respectivă. oriunde. Nu învăţăm să comunicăm cu beneficiarii. Eficienţa modelului realizat este determinantă pentru aplicația creată. a realizat un model care să permită rezolvarea eficientă a acestor cerinţe. Se studiază amănunţit elemente de sintaxă a unui limbaj de manipulare a datelor şi cum se utilizează elementele limbajului pentru interogarea bazei de date..Introducere Bazele de date se regăsesc la tot pasul în viaţa noastră de zi cu zi: la şcoală. 6 . la magazin. Deşi pentru un dezvoltator de baze de date studiul modelării datelor este echivalent cu studiul algoritmicii pentru un programator.

m.1. numere de telefon. Asigurând suportul pentru proceduri rezidente (astăzi denumite "proceduri stocate") şi interoperabilitatea cu o diversitate de reţele. Aceste baze de date erau simple Sisteme de Gestiune a Bazelor de Date (SGBD). sistem dezvoltat de firma Fox Software.1 Istoric[20] Când vine vorba despre stocarea informaţiilor. Deşi versiunea originală a fost dezvoltată pentru sisteme VAX/VMS. SQL Server a devenit un produs de succes în scurt timp. informaţii financiare s.SQL Server. FoxPro. Primul Sistem de Baze de Date Relaţionale (SGBDR) a fost lansat de Oracle Corporation şi folosea limbajul de interogare SQL. Aceasta foloseşte o aplicaţie care gestionează câteva sute de GB de date. au apărut şi primele aplicaţii de baze de date care foloseau un singur fişier pentru a stoca toata informaţia din baza de date (denumite baze de date "flat file"). Chiar şi în zilele noastre există firme care stochează alte extrem de importante în baze de date FoxPro. înseamnă sisteme dedicate special stocării datelor importante. Pentru cei din domeniul IT şi nu numai. Cea mai răspândită aplicaţie care folosea limbajul xBase a fost FoxPro. 7 . Oracle a fost unul dintre primii furnizori care a lansat o versiune şi pentru sistemele PC pe sistemul de operare DOS. Ele erau de tip Xbase. La jumătatea anilor 80. Aceste versiuni rulau sub sistemul MS-DOS şi împărtăşeau limitările acestuia. Acesta avea biblioteci client pentru accesul la baza de date. Primele baze de date erau dezvoltate pe sisteme mainframe şi erau manipulate de oameni special pregătiţi pentru a gestiona aceste sisteme. Sybase a lansat propriul sau SGBDR . pentru unii acest termen înseamnă o agenda veche în care sunt trecute toate datele importante de care au nevoie: adrese. Sistemele care l-au folosit.. daca mai este nevoie sa le enumer. FoxBase.d. iar cel mai cunoscut exemplu este cel al organizaţiei care gestionează Euro Tunel. O dată cu dezvoltarea sistemelor personale (PC).a. În acest articol voi face o istorie a ceea ce înseamnă stocare datelor cu ajutorul produselor informatice. mai ales în mediile client/server. un limbaj care s-a răspândit foarte repede fiind folosit in special la manipularea datelor. au fost dBase.

compania IBM a lansat varianta 7 a aplicaţiei DB 2. piaţa s-a dezvoltat uimitor de repede deoarece sa constatat cât de folositoare sunt sistemele dedicate acestui lucru. aplicaţie care se bazează în mare parte pe logica de stocare a sistemului FoxPro. bazat pe limbajul de programare Visual Basic. au fost introduse extensii orientate pe obiecte. Această aplicaţie. În privinţa sistemelor server. Cu toate că există un alt produs gratuit (MySQL este gratuit atât timp cât aplicaţia 8 . Deoarece despre aceasta aplicaţie nu se ştiu prea multe în România. Oracle şi reprezintă cea mai completă infrastructura pregătită pentru rularea aplicaţiilor Internet. Prin intermediul acestuia se puteau manipula datele mai uşor. este implementata pe mai multe platforme (inclusiv Linux). afişări etc. Tot în 2000. astăzi ajungând la versiunea 9. Aplicaţia se doreşte a fi un concurent direct pentru aplicaţiile Oracle. trebuie să amintim şi de aplicaţia companiei Computer Associates. cea mai folosită aplicaţie de gestiune a bazelor de date "flat file" de pe sistemele personale. în scurt timp. În ceea ce priveşte corporaţia Microsoft.La începutul anilor 90.VBA). sistem care fusese achiziţionat de firmă în 1989. Jasmine. firma Microsoft Corporation a lansat aplicaţia Access. aceasta a lansat tot în anul 2000 serverul de baze de date SQL Server 2000. limbajul integrat este compatibil cu Visual Basic şi cu limbajul folosit de MS SQL Server. Pe sistemele Linux. fiind o aplicaţie pur obiectuală. promit ca am sa revin cu mai multe detalii. cel mai folosit server de baze de date este MySQL. Aplicaţia Access a devenit. Lansată cu ocazia Oracle OpenWorld . Începând cu versiunea şi. ca şi Oracle. începând cu versiunea 7 i s-a adăugat un limbaj de programare dedicat (Visual Basic for Applications . Oracle şi include Oracle şi Database şi Oracle şi Application Server şi pachetul de unelte de dezvoltare Oracle şi Developer Suite. iar pentru acest fapt i s-a adăugat suport 100% pentru limbajul XML prin intermediul căruia se poate interoga direct serverul dintrun browser (dacă serverul a fost configurat să suporte această facilitate). Începând cu versiunea 9. Şi pentru ca am ajuns la aplicaţii de baze de date obiectuale. Ajuns acum la versiunea 9 (denumită 2000). Totodată. Oracle a lansat şi şi-a dezvoltat baza de aplicaţii server. se puteau folosi automatisme pentru diverse interogări. sistemul de stocare s-a schimbat fiind pregătit să fie scalat oricând către o baza de date Microsoft SQL Server.

• sistemul de gestiune a bazei/bazelor de date – ansamblul de programe prin care se asigură gestionarea şi prelucrarea complexă a datelor şi care reprezintă componenta software a sistemului de baze de date (Sistem de Gestiune a Bazelor de Date – SGBD). 6. 2. MySQL rămâne preferatul programatorilor de Linux. el dispunând de un client de accesare inclus. De ce? Pentru că limbajul cel mai folosit pe partea de server web . 9 . Dar nu numai acest lucru a influenţat folosirea MySQL. 1.3 Arhitectura unei baze de date [13] Arhitectura sistemului de baze de date este formată din următoarele componente (Figura 1): • baza/bazele de date – reprezintă componenta de tip date a sistemului (colecţiile de date propriu-zise.dispune de o extensie MySQL înglobată.Menţinerea integrităţii datelor. Independenţa datelor înseamnă ca există o delimitare netă între reprezentarea fizică a datelor şi imaginea pe care o are utilizatorul asupra acestor date (memorarea şi organizarea datelor este transparentă pentru utilizator).2 Elemente de fond Organizarea datelor se realizează intr-o formă centralizată care prezintă o serie de avantaje: 1. posibilitatea aplicării restricţiilor de securitate. Independenţa datelor este o problemă a cărei rezolvare constituie un scop în sine în concepţia şi organizarea oricărei baze de date. indecşii). încurajarea introducerii standardelor 5. evitarea inconsistenţei datelor memorate. reducerea redundanţei datelor memorate.PHP . 4. Una dintre alegeri a fost şi datorită uşurinţei administrării acestui sever. posibilitatea partajării datelor. 3. 1.dezvoltata nu este revânduta) .PostgreSQL.

 Nivelul conceptual – sau schema conceptuală. 10 . La nivel conceptual se face o descriere completă a bazei de date ascunzându-se detaliile legate de stocarea fizică şi detaliind descrierea entităţilor. mijloacele hardware utilizate. utilizând un model al datelor fizice. destinate bunei funcţionări a sistemului. tipurilor de date. O structură de date asociată unei baze de date poate fi reprezentată pe trei niveluri. structura acestora. legătura dintre ele. descrie structura întregii baze de date pentru o cumunitate de utilizatori. relaţiile dintre ele şi restricţiile asociate. Arhitectura internă a unui sistem de baze de date conform standardului ANSI/X3/SPARC (1975) conţine trei niveluri funcţionale. dicţionarul bazei de date (metabaza de date) care conţine informaţii despre date. O caracteristică fundamentală a bazelor de date este aceea că produce câteva niveluri de abstractizare a datelor prin ascunderea (transparenţa) detaliilor legate de stocarea datelor. elemente de descriere a semanticii. Se defineşte modelul datelor. documentaţii. astfel [17]:  Nivelul intern – constituit din schema internă ce descrie structura de stocare fizică a datelor în baza de date. personalul implicat. ca un set de concepte utilizat în descrierea structurii datelor. utilizatorilor. include o colecţie de scheme externe ce descriu baze de date prin prisma diferiţilor utilizatori. La acest nivel se descriu detaliile complete ale stocării şi modul de acces la date. inclusiv reglementări administrative.• alte componente – proceduri manuale sau automate. Prin structura bazei de date se înţelege tipul datelor.  Nivelul extern – sau nivelul vizual (utilizator). statistici. Figura 2. restricţiile aplicate datelor.

modul de definire a vederilor este transparent. Exemplu: Pentru un utilizator poate să apară într-o vedere atributul număr străchini (= numărul fragmentelor ceramice de tipul “N”). el putând să obţină sau să modifice informaţiile dorite prin intermediul unor comenzi cu 11 . din cauza permanentei modificări a conţinutului său. Astfel se permite aflarea numărului exact al fragmentelor ceramice de tip strachină din baza de date. Pentru utilizatorul obişnuit. oale. nr. etc. În acest caz se foloseşte la nivel logic atributul ceramică (= numărul total general de fragmente ceramice) din care se scad atributele nr. dar la nivel logic şi fizic acest atribut nu este indicat.Scheme externe [6] O schemă externă reprezintă conţinutul bazei de date aşa cum este ea văzută de un utilizator particular. farfurii. nr. chiupuri. (= numărul fragmentelor ceramice “M”≠”N”) din baza de date.

relaţie. în funcţie de tipul elementelor cu care lucrează şi a structurilor obţinute: a. 12 . folosind un limbaj particular de manipulare a datelor. b. în modul următor: a. b. DBMS-ul interceptează cererea şi o interpretează. modelul relaţional – în care intervin numai relaţii şi operaţii cu aceste relaţii. un utilizator emite o cerere de acces. Există mai multe moduri de organizare a fişierelor. diagrama rezultată fiind un graf oarecare. funcţionalitate. cheie. Scheme interne Schemele interne descriu diferitele fişiere utilizate pentru memorarea informaţiilor bazei de date şi modul de operare cu ele. Sistemele de gestiune a bazelor de date au fost clasificate în trei grupe mari. adică uşor de înţeles şi de prelucrat. În reprezentarea intuitivă a vederilor intervin noţiunile de entitate. atribut. Sistemul de gestiune a bazelor de date (DBMS) este softul (programul) care coordonează toate accesele la baza de date. iar diagrama este alcătuită dintr-o mulţime de arbori. folosind formule predefinite pe care le completează sau poate utiliza un sistem de meniuri. modelul reţea – permite lucrul cu entităţi şi relaţii binare de tipul 1:1 şi 1:N. organizarea folosind B-arbori. organizarea cu index rar. şi altele pe care le vom definii ulterior.structură dată. Scheme conceptuale O schemă conceptuală este o reprezentare a întregii informaţii conţinute în baza de date ce combină subschemele vederilor ce privesc o anumită aplicaţie într-un model unitar. diagramă. cele mai cunoscute fiind:      organizarea secvenţială. organizarea cu dispersie. organizarea cu index dens. modelul arborescent (ierarhic) – permite lucrul cu entităţi şi relaţii binare de tipul 1:1 şi 1:N. c. Acest tip de schemă trebuie să se bazeze pe un model teoretic şi să fie simplă.

c.

DBMS-ul

inspectează,

pe

rând,

schema

externă,

maparea

externă/conceptuală, schema conceptuală, maparea conceptuală/internă şi definiţia de structură de memorare; d. DBMS-ul realizează operaţiile necesare asupra bazei de date memorate. Administratorul bazei de date (DBA) urmează apoi să gestioneze operaţiile specifice, responsabilităţile lui incluzând:       decizia asupra conţinutului informaţiei inclusă în baza de date; decizia asupra structurii de memorare şi a structurii de acces; legătura cu utilizatorii; definirea procedurilor de verificări autorizate şi de validări; definirea unei strategii pentru salvări şi restaurări; monitorizarea performanţei şi răspunsuri la schimbări de cerinţe.

Instrumentul utilizat de DBA în lucrul cu programele utilitare este dicţionarul de date. El este o bază de date ce conţine date despre date, adică descrieri ale obiectelor sistemului. De asemenea atât DBA cât şi utilizatorul beneficiază de o interfaţă utilizator pentru a uşura accesul la date. Această interfaţă poate fi definită ca un ecran în sistem, sub care totul devine invizibil pentru utilizator. Interfaţa se află întotdeauna la nivelul extern. Într-un sistem de baze de date (DBMS) datele sunt memorate la locaţia la care sunt folosite mai des, dar ele sunt disponibile (prin reţeaua de comunicaţii) şi utilizatorilor din alte locaţii. Acest tip de bază de date, împrăştiată într-o reţea de calculatoare se numeşte bază de date distribuite.

13

1.4 Modele conceptuale pentru sisteme de gestiune a bazelor de date
1.4.1. Modelul entitate-relaţie (E-R) 1.4.2. Modelarea conceptuală a datelor folosind modelul E-R 1.4.3. Generalizarea 1.4.4. Paşi în modelarea datelor 1.4.5. Exemplu de modelare E-R 1.4.1 Modelul entitate-relaţie (Entity-Relaţionship Model, E-R, ERD) [19] Lumea noastră bogată în tehnologie produce cantităţi vaste de fapte care au nevoie de structură şi ordine. Conceptele cu care lucrează sunt entitate, relaţie, atribut Ca rezultat al utilizării acestei modelări se va obţine o diagramă E-R, în fapt schema conceptuală . Entitate  este un obiect distinct de lumea reală; poate fi o persoană, un lucru, un loc, obiecte, evenimente, concepte din mediul utilizatorului pentru care organizaţia doreşte să deţină date exemple: persoană: ANGAJAT, STUDENT, PACIENT loc: STAT, REGIUNE, ŢARĂ obiect: MAŞINĂ, CLĂDIRE, AUTOMOBIL eveniment: VÂNZARE, ÎNREGISTRARE, SCHIMBARE concept: CONT BANCAR, CURS UNIVERSITAR, CENTRU DE PRELUCRARE Tip de entitate (clasă de entitate)  grupează toate entităţile care au proprietăţi sau caracteristici comune  se exprimă printr-un substantiv la singular (scris cu majuscule) Instanţă de entitate (realizare a entităţii)  apariţie singulară a entităţii De exemplu, să analizăm dacă este câinele o instanţă sau o entitate. 14

Depinde de: Dacă suntem interesaţi în diferite tipuri de animale, este logic să ne gândim la un animal entitate cu câinele cazuri, pisica, cai şi aşa mai departe. Dar daca vom rula o afacere de câine-de rasă? Avem nevoie de a păstra date despre rase diferite de câini, dar nu şi pe alte specii de animale. Pentru un câine-de rasa, aceasta este mai natural să ne gândim la un câine cu instanţe ca CIOBĂNESC, DALMAȚIAN, LABRADOR şi aşa mai departe. Set de entităţi

 reprezintă o colecţie de entităţi de acelaşi tip. Notaţii E-R Simboluri de bază

Gradul relaţiilor

Atributele atribut:  proprietate sau caracteristică a unui tip de entitate care prezintă interes  este memorată în fiecare instanţă a tipului de entitate respective  toate instanţele unui tip de entitate au aceleaşi atribute  valorile unui atribut diferă de la o instanţă a lui E la alta  exemple de tipuri de entităţi şi atribute: STUDENT: NUMĂR MATRICOL, NUME, ADRESĂ, NUMĂR TELEFON ANGAJAT: MARCĂ, NUME, ADRESĂ, CALIFICARE ŢARĂ: DENUMIRE, CONTINENT, SUPRAFAŢĂ, POPULAŢIE AUTOMOBIL: NUMĂR ÎNMATRICULARE, CULOARE, GREUTATE, PUTERE VÂNZARE: DATA, CINE VINDE, CUI VINDE, VALOARE 15

se înlocuieşte cu o cheie surogat (iv) nu folosim chei “inteligente” (clasificare. FORMĂ DE EXAMINARE Clasificarea atributelor unui tip de entitate atribut cheie: identifică o instanţă a entităţii   cheie simplă .CURS UNIVERSITAR: DENUMIRE.reprezentare E-R Atribute cu valori multiple Atribut cu o singură valoare: o instanţă are o valoare pentru el Atribut cu valori multiple (repetitiv): o instanţă are mai multe valori pentru el 16 . 1992] (i) cheia candidat a lui E care nu-şi modifică valoarea pe toată durata de viaţă a oricărei instanţe (ii) pentru orice instanţă a lui E. SEMESTRU. localizare. PROFESOR. NUMĂR ORE PE SĂPTĂMÂNĂ. SPECIALIZARE.un grup de atribute atribut non-cheie Tipuri de atribute cheie cheie candidat: identifică unic o instanţă a entităţii o entitate poate avea mai multe chei candidat cheie primară: cheia candidat ca identificator pentru tipul de entitate atributele ce formează cheia primară sunt subliniate în diagrama E-R cheie surogat: atribut artificial pe post de cheie primară Stabilirea cheii primare CP a unei entităţi E [Bruce.un singur atribut cheie compusă . atributele lui CP au valori valide şi non-nule (iii) dacă CP are prea multe atribute. structurare) Atribute şi cheie primară .

17 . Câte genuri îi pot aparţine unui cântec? Reguli de apartenenţă determină cardinalitatea sau gradul unei relaţii. Putem avea un gen muzical fără nici un cântec? De ce aveţi un gen muzical fără nici un cântec? CÂNTECUL are un tip.Relaţii relaţie:  asociere între instanţe ale uneia sau mai multor tipuri de entităţi care prezintă interes pentru problema studiată Relaţie în notaţia E-R Relaţie cu atribut Situaţie Fie entităţile CÂNTEC şi GEN.

angajaţi. Cardinalitatea unei relaţii Luăm un exemplu Fie entităţile CLIENŢI şi COMENZI. există o singură entitate aici: Angajat. care gestionează el / ea.Gradul unei relaţii  numărul de tipuri de entităţi care participă în relaţie Clasificarea relaţiilor după gradul lor:  unare sau recursive (de gradul 1)  binare (de gradul 2)  ternare (de gradul 3) O relaţie se poate referi la o entitate în sine. inclusiv directorul general. Fiecare manager poate gestiona mai mulţi angajaţi. Un angajat gestionează SALARIAŢI Un angajat este gestionat de un angajat „Fiecare angajat are un singur manager. de asemenea. Examinați-va următorul scenariu. " Din moment ce managerii sunt. 18 .

La modul general. Fiecare client trebuie să plaseze una sau mai multe comenzi.CLIENT are comenzi: opţionalitate şi cardinalitate. considerăm două entităţi A şi B. de la entitatea B la entitatea A: numărul de instanţe ale entităţii A asociate unei instanţe a entităţii B. Fiecare client trebuie să plaseze una sau mai multe comenzi. numim cardinalitate:   de la entitatea A la entitatea B: numărul de instanţe ale entităţii B asociate unei instanţe a entităţii A. Opţionalitate: trebuie sau poate? Fiecare comandă trebuie să fie plasată către un CLIENT. Cardinalitatea = Câte? Fiecare comandă trebuie să fie plasate către un (şi numai unul) CLIENT. Relaţii unare Relaţii binare (stânga spre dreapta) 19 .

cardinalitate maximă : numărul maxim de instanţe ale lui B asociate unei instanţe a lui A m = 0 .relaţie opţională m > 0 .cardinalitate minimă: numărul minim de instanţe ale lui B asociate unei instanţe a lui A M .se specifică numai unul dintre ele 20 .relaţie obligatorie m = M .Relaţii binare (dreapta spre stânga) Relaţie ternară Exprimarea cardinalităţii m:M se pune la capătul B pentru relaţia de la A la B m .

Modelul Entitate-Relaţie (Entity-Relaţionship Model) este un model conceptual de nivel înalt al unei baze de date.Exprimarea cardinalităţii în diagramele E-R [18] 1. prin urmare deosebim: 21 . Fie următorul exemplu între două entităţi: Entitate A entitate B Fiecare entitate A Opţionalitate (trebuie să fie / pot fi) Cardinalitatea entitatea B. aparţin unui acelaşi tip de entitate (entity type). care defineşte mulțimile de entităţi şi asocierile dintre ele. Elementele esențiale ale modelului Entitate-Relaţie sunt entitățile (entities) şi asocierile dintre acestea (Relationships). iar colecţia tuturor entităţilor de acelaşi tip dintr-o bază de date constituie o mulţime de entităţi (entities set). Toate entităţile similare. în modelul E-A se foloseşte aceeaşi denumire atât pentru un tip de entitate cât şi pentru mulţimea entităților de acel tip. care pot fi descrise prin aceleaşi atribute. În general. dar nu impune nici un mod specific de structurare şi prelucrare a datelor.4.2 Modelarea conceptuală a datelor folosind modelul E-R (entitate-relaţie)[16] În faza de proiectare conceptuală a bazelor de date se proiectează schema conceptuală şi schemele externe ale bazei de date. O relaţie are două sensuri.

de exemplu. DATA EXAMEN. entitate părinte  entitate dependentă (slabă) Entitate părinte şi entitate dependentă Intre două entităţi se poate stabili următoarea regulă: cheia primară a entităţii părinte este prima componentă a cheii primare a entităţii slabe Putem avea atribute cu valori multiple cum ar fi în exemplul de mai jos calificările unui angajat mai multe la număr: Pot apărea şi mai multe atribute cu valori multiple. NOTA: 22 . pentru entitatea STUDENT – vom avea atribute repetitive pentru DISCIPLINA.

spre deosebire de situaţiile de mai sus aici intervin atribute repetitive dependente de momentul în care un produs este înregistrat: 23 .Modelarea datelor dependente de timp (time-stamping) Fie entitatea PRODUS din imaginea de mai jos.

clasificarea în entităţi şi atribute. Fiecare document va considerat ca entitate şi va fi modelat separat.000 250. 2. Descrierea problemei Vacanţe la Munte şi la Mare (VMM) este o firmă de turism care are în proprietate şi închiriază cabane de vacanţă în toată ţara. 75112 Bucureşti a) Documentul CLIENT 24 . definirea asocierilor (se specifică gradul. Proprietate marină şi Proprietate montană. Se cere să se realizeze o aplicaţie pentru planificarea închirierii proprietăţilor VMM.000 Petre Ionescu Soporului 15. Contract de închiriere. Există două tipuri majore de proprietăţi: montane şi marine. 1900 Timişoara Romeo Tudor Fraţii Buzeşti 3/20. pentru identificarea caracteristicilor comune.4.3 Generalizarea[16] Generalizare se numeşte procesul de minimizare a diferenţelor dintre entităţi. Majoritatea închirierilor se fac pe durata unei săptămâni (unitatea de închiriere este săptămâna).4 Exemplu de modelare E-R [20] 2.8989891 SUMA MAXIMĂ 200.1. 2.000 300. Definirea entităţilor şi atributelor acestora Modelarea conceptuală a datelor porneşte de la patru documente folosite în sistemul de evidenţă manuală: Client. Tehnici de gestionare: – – – – definirea şi descompunerea asocierilor. conectivitatea şi obligativitatea).4. 3400 Cluj-Napoca Georgiana Duţu Mărului 21.1. Entitatea CLIENT CLIENT NUME ADRESĂ TELEFON 064-145321 056-234543 01. integrarea vederilor (pentru baze de date complexe diagramele rezultate trebuiesc integrate având grijă să nu apară probleme de redundanţă sau inconsistenţă) 1.

Există o relaţie între PROPRIETATE MARINĂ şi PROPRIETATE. 4230 NUMĂR CAMERE 3 4 NUMĂR CAMERE 3 4 CHIRIE UZUALĂ 75 120 CHIRIE UZUALĂ 150 75 DISTANŢĂ PLAJĂ 2 1/2 SCHI C C. 1200 Tomis 25 Mangalia. PH. CT. F (a) Documentele PROPRIETATE MARINĂ şi PROPRIETATE MONTANĂ Explicarea diagramei E-R 1. Există o relaţie numită Semnează între CLIENT şi CONTRACT DE ÎNCHIRIERE.Entităţile PROPRIETATE MARINĂ şi PROPRIETATE MONTANĂ PROPRIETATE MARINĂ STRADA ORAS JUDEŢ COD Valului 12 Mamaia. 1230 PROPRIETATE MONTANĂ STRADA ORAS JUDEŢ COD Bradului 1 Stibinei 2 Sinaia. 2200 Borşa. MM. Cardinalitatea acesteia este opţională 0-M de la CLIENT la CONTRACT DE ÎNCHIRIERE şi obligatorie de la CONTRACT DE ÎNCHIRIERE la 25 . ca şi între PROPRIETATE MONTANĂ şi PROPRIETATE. 2. CT.

5.1. Prin urmare nu poate exista un contract de închiriere semnat şi fără chiriaş valid.5. Reprezentarea relaţiilor din diagrama E-R în modelul relaţional 1. Transformarea entităţilor în relaţii (tabele) ale modelului relaţional 1.5. modificare): • • • • (a) simplitate (b) non-redundanţă (c) flexibilitate şi adaptabilitate la întreţinere (d) independenţa de maşină şi de softul de sistem folosit – – – – – Clase de modele logice de date ad-hoc ierarhic reţea relaţional orientat pe obiecte Modelul ad-hoc – fiecare aplicaţie are propriul său model de date – caracteristici : • • lipsa controlului centralizat asupra datelor lipsa operaţiilor abstracte de manipulare a datelor 26 . Proiectarea logică a datelor 1.5.5.3.CLIENT. Modelul logic de date Scopul modelării logice a datelor este obţinerea unui model de date adecvat pentru implementare.5. Caracteristicile unui model de date bun Un model de date descrie structura datelor adică modul în care utilizatorul percepe datele precum şi operaţiile efectuate asupra datelor (accesare. Modelul logic de date 1. Transformarea diagramelor E-R în relaţii 1. 1.2.4.1.

• • dependenţa de implementarea concretă modele matematice: modelul relaţional şi modelul orientat pe obiecte Modelul ierarhic – – istoric: începutul/mijlocul anilor 70 avantaje • • regăsire foarte eficientă a datelor adecvat modelelor stabile de date (nu se modifică în timp) – dezavantaje • • rigiditate lipsă de flexibilitate – orice modificare a definiţiei datelor provoacă reorganizări masive Modelul reţea – – istoric: începutul/mijlocul anilor 70 • • • generalizare a modelului ierarhic regăsire foarte eficientă a datelor mai flexibil decât modelul ierarhic avantaje 27 .

ci prin valori de câmpuri – avantaje • • – • • • – • • • • mai flexibil decât modelul reţea SQL . 28 .Modelul relaţional – deosebirea faţă de modelul ierarhic: legăturile dintre tabele nu se exprimă prin adrese fizice. operaţii complexe (grafică. FoxPro Oracle Microsoft SQL Server Informix Modelul orientat pe obiecte deosebirea faţă de modelul ierarhic : – – obiecte complexe. GIS.nivel înalt. transformare) avantaje • • elimină liniaritatea modelului relaţional aplicaţii specifice – CAD. neprocedural mai puţin eficient decât modelele anterioare o tabelă are structură liniară elementele unei coloane sunt de acelaşi tip dezavantaje implementări dBase.

1.5.2. Reprezentarea relaţiilor din modelul E-R în modelul relaţional Exemple 29 . Transformarea diagramelor E-R în relaţii paşi 1. Transformarea entităţilor în relaţii (tabele) ale modelului relaţional 2.

în care: – – (a) cheia primară a tabelei este cheia primară a tipului de entitate (b) fiecare atribut non-cheie al tipului de entitate devine atribut (coloană) non-cheie a tabelei 1.1.5. TIP SUPORT. DIAGNOSTIC.4. dacă R are atribute. COD PACIENT) FILM (1) este stocat sub formă de (0-M) COPIE FILM • COPIE FILM(NUMĂR COPIE. MEDIC. ANUL FABRICAŢIEI. 0:N şi (b) 1:1 (ii) relaţii binare M:N (iii) relaţii unare (iv) relaţii ISA cheia primară a entităţii A se adaugă pe post de cheie străină în tabela B PACIENT (1) are (1-M) FIŞĂ DE CONSULTAŢIE • – FIŞĂ DE CONSULTAŢIE(DATA. COD FILM) (ib) Relaţii binare 1:1 A (1) R (1) B – variante de rezolvare • • • cheia primară a lui A se adaugă pe post de cheie străină la B cheia primară a lui B se adaugă pe post de cheie străină la A ambele de mai sus (ia) Relaţii binare 1:N şi 0:N A (1) R (1-N) B. care reprezintă relaţiile existente între entităţile corespunzătoare Există următoarele situaţii distincte: – – – – – – (i) relaţii binare (a) 1:N. A (1) R (0-N) B şi A (1) R (1) B (ii) Relaţii binare M:N şi 0:N A (1-M) R (1-N) B • se creează o nouă tabelă C cu cheia primară formată din cheia primară a lui A + cheia primară a lui B.3.5. Reprezentarea relaţiilor din diagrama E-R în modelul relaţional Se adaugă chei străine la tabelele realizate în pasul anterior. acestea se adaugă la C (coloane non-cheie) 30 . Transformarea entităţilor în relaţii (tabele) ale modelului relaţional Fiecare tip de entitate din diagrama E-R se reprezintă printr-o tabelă.

Obţinerea modelului logic de date paşi 1. Verificarea entităţilor Precondiţie pentru normalizare: orice tip de entitate trebuie să aibă cheie primară.(iii) Relaţii unare A (0-1) R (0-1) A şi A (1) R (1-M) A • se adaugă la A un atribut nou. Verificarea entităţilor 2. Normalizarea entităţilor din modelul E-R – respectă etapele descrise la normalizare (BD) • • relaţie cu tip de entitate (entitate) linie cu instanţă de entitate – la fiecare pas se examinează toate entităţile curente – se produc entităţi noi. DATA NAŞTERII.6.6. ADRESĂ. care este cheia primară a instanţei cu care A este în relaţie. pe post de cheie străină. COD NUMERIC PERSONAL SOŢ) 1. Situaţii posibile (a) entităţile din modelul conceptual de date au specificată cheia primară: • se verifică dacă cheia primară asigură proprietatea de identificare unică.1.numele atributului trebuie să sugereze relaţia – PERSOANĂ (0-1) este căsătorită cu (0-1) PERSOANĂ PERSOANĂ(COD NUMERIC PERSONAL.2. NUME. Normalizarea entităţilor din modelul E-R 1. se poate introduce o cheie surogat 1. folosind conceptul de dependenţă funcţională (BD) (b) entităţile din modelul conceptual de date au specificate numai atributele: • • • se determină cheile candidat se alege dintre ele cheia primară dacă cheia candidat are prea multe atribute. iar cele existente sunt supuse revizuirii 31 .6.

CAPITOLUL II MODELUL LOGIC RELATIONAL. NORMALIZAREA 32 .

a3. automat se poziţionează şi pointerul fişierului copil pe primul articol care are valoarea cheii egală cu cea din fişierul părinte.an) unde R=numele relaţiei.. diferenţa. compunerea sau joncţiunea). O cheie străină este un grup de atribute care pune în legătură linii din două relaţii şi o alta (tabele). a2. an sunt numele atributelor sau ale constituenţilor.Modelul logic relaţional 2. intersecţia. . Legătura dintre tabele este stabilită între o tabelă (numită (numită copil) prin intermediul unui câmp comun. un atribut este o coloană Cheia primară a unei relaţii este un atribut (sau grup) care identifică fără ambiguitate fiecare linie a relaţiei. părinte) 33 . Concepte de bază [20] Modelul relaţional îşi datorează numele noţiunii matematice numită RELAŢIE. dorim să ne familiarizăm cu termenii şi conceptele specifice acestui model. Algebra relaţională conţine. teoria relaţiilor permite fundamentarea cercetărilor efectuate în domeniul proiectării bazelor de date relaţionale şi al limbajelor relaţionale. nici un atribut al său nu poate fi eliminat fără distrugerea unicităţii tuplului. a2. Prin definirea şi utilizarea operatorilor relaţionali. produsul cartezian) şi operatorii relaţionali specifici (selecţia. O relaţie este o tabelă. atunci când se deplasează pointerul de fişier în tabela părinte. O relaţie poate fi simbolizată astfel: R(a1. a1. o realizare este o linie sau un tuplu.1. Ca efect. Atunci când cheia este compusă. proiecţia. pe lângă operatorii de mulţimi care tratează relaţiile ca pe mulţimi de elemente cu operaţiile cunoscute {reuniunea.. Fără a intra în fundamentele matematice ale modelului relaţional.

Semnificaţia legăturii este că oricărei valori a câmpului cheie străină-C21 trebuie să-i corespundă o valoare a câmpului cheie cheie-C1. nume. 1:1 (diriginte) profesori Cod. în modelul relaţional atributele vor fi grupate în două tabele: tabela CLASE(cod. Fie entităţile Clase->1. cls-dirig). dacă nu toate înregistrările din primul tabel au corespondent în al doilea tabel.2. este cheie cod-dirig este codul profesorului diriginte şi este cheie externă pentru că face legătura cu tabela Profesori şi este un atribut unic. Relaţia unu la mai mulţi (one-to-many) – este cea mai frecvent utilizată şi se realizează între cheia primară a tabelei T1 şi un câmp similar. sala.1->Profesori cu relaţia „diriginte". deoarece o clasă nu poate avea decât în singur diriginte. 34 . cod-dirig). Entitatea Profesori are atributele cod. Relaţia unu-la-unu (one-to-one). ca tip şi ca dimensiune din T2. dacă are această atribuţie. care au nevoie de mai mult de 255 de câmpuri (limita Access-ului pentru un singur tabel) sau pentru creşterea vitezei de căutare a datelor. Clase Cod. iar cod este cheia unică de identificare. nume. al profesorului clasa-dirig este codul clasei la care este diriginte şi este cheie externă unică pentru că face legătura cu o singură linie din tabela Clase. profil. În timp ce în tabela T1 valoarea este unică. numit şi cheie străină. nume. unde cod este codul unic al clasei şi primară a. tabela PROFESORI(cod.2 Relaţii între tabele (Relationships)[12] Relaţiile se formează prin stabilirea unei legături între un câmp (o combinaţie de câmpuri) dintr-un tabel şi câmpurile corespunzătoare din alt tabel. Legăturile între tabele sunt de trei tipuri: 1. specialitatea. unde cod este codul unic cheie primară. iar cod este cheia de identificare.are loc între două tabele care au aceeaşi cheie primară. 2. sala specialitate Entitatea Clase are atributele cod. profil. profil. Relaţia este utilă în cazul structurilor mari. sala. Pe baza acestei relaţii putem afla pentru o clasă X care este specializarea profesorului diriginte şi plecând de la profesorul X putem afla care este profilul clasei la care este diriginte. specialitate. Se defineşte prin intermediul ei o tabelă compusă din cele două tabele iniţiale. b. în tabela T2 ea se poate repeta de un număr infinit de ori.

... profil.... adresa.50 10 12b 12c 12 c 12a 12b Enachescu 8..pentru că o clasă poate avea mai mulţi elevi. Clase Cod. Fie entităţile Clase->1. sala... Entitatea Elevi are atributele cod. sala. Invaţă (1:n) sala profil.. CLASE Cod Profil sala Alteinformații 12a Info 12b 12 ştiinte Litere P2 15 P6 ELEVI Cod Nume Media Codclasa lonescu 2 3 4 5 Albulescu 7... Entitatea Clase are atributele cod. iar cod este cheia de identificare.. Valorile acestui atribut nu sunt unice .. Pe baza acestei relaţii putem afla pentru o clasă X care sunt elevii clasei.. Relaţia 1-n presupune crearea a două tabele în modelul relaţional: CLASE(cod.Tabela T1 C1 – Primary Key .. n->Elevi. cod-dirig). Cod. cod-clasa) unde cod este codul unic al elevului şi primară.90 Enache Anania 10 8. iar pentru elevul X putem afla care este profilul şi dirigintele clasei în care învaţă..00 35 ... nume.. medie... ... profil.. iar cod este cheia de identificare unică. cu relaţia „învaţă"....... unde cod este codul unic al clasei şi este cheie primară ELEVI(cod.. nume.... medie elevi nume. 1  Tabela T2 C2 – Primary Key C21 – Foreign Key . cheie iar cod-clasa este codul clasei unde învaţă elevul şi este cheie externă pentru că face legătura cu tabela Clase. media.....

ce sunt memorate odată cu structura bazei şi se verifică la orice acţiune asupra bazei.se referă la condiţia de unicitate şi de valori nonRestricţii referenţiale . Schema relaţională este independentă în timp.apar atunci când o tabelă este în relaţie cu alta. T3. 36 .3. cheia străină nu trebuie să aibă valori care nu se regăsesc drept valori ale cheii primare în tabela de referinţă. b. Relaţia mai mulţi la mai mulţi (many-to-many) – se aplică la cazurile în care valorii unui câmp din prima tabelă îi corespund mai multe valori în a doua tabelă şi invers. Restricţiile cheilor primare . c. 2. Regulile de integritate pot fi: a. O schemă relaţională poate fi definită ca un ansamblu de relaţii asociate semantic prin domeniul lor de definiţie şi prin anumite restricţii de integritate. unei valori a unui câmp din a doua tabelă îi corespund mai multe valori din prima tabelă. De exemplu. nule.pot fi impuse asupra valorilor diferitelor atribute sau asupra întregii înregistrări. 3 Restricţii de integritate Păstrarea integrităţii unei baze de date se realizează prin reguli de integritate. Restricţii de comportament .

Regula independentei fizice a datelor: Programele de aplicaţie depindă de modul de stocare si accesare fizica a datelor. 4. vederi). 7. Regula manipulării datelor: Un sistem Relaţional trebuie sa ofere posibilitatea procesării tabelelor nu numai in operațiile de interogare a datelor cat si in cele de inserare. 8. Regula reprezentării valorilor necunoscute: Un sistem Relaţional trebuie sa permită declararea si manipularea sistematica a valorilor Null. Regula accesului la date: Toate datele individuale din tabele trebuie sa fie accesibile prin furnizarea numelui tabelului. toate datele sunt reprezentate la nivel logic intr-un singur mod. cu semnificaţia unor valori necunoscute sau inaplicabile. actualizare si ștergere. 2. Regula dicţionarului de date: Descrierea bazei de date (dicţionarul de date) trebuie să fie reprezentată la nivelul logic tot sub forma de tabele. 5. 6. Regula limbajului de acces: Intr-un sistem Relaţional trebuie sa existe cel putin un limbaj de accesare a datelor. care sa asigure următoarele operații: definirea tabelelor de baza si a tabelelor virtuale (view-uri. Regula reprezentării logice a datelor: Intr-o baza de date Relaţională. 3.2. şi anume sub formă de valori logice în tabele. manipularea si interogarea datelor (atât interactiv cat si prin program). definirea restricțiilor de integritate. numelui coloanei si valorii cheii primare. Regula independentei logice a datelor: Programele de aplicaţie nu trebuie sa fie afectate de nici o restructurare logica a tabelelor bazei de date care conserva datele. Regula independentei datelor din punctul de vedere al integrității: Regulile de integritate a bazei de date trebuie sa fie definite in limbajul utilizat de sistem pentru 37 nu trebuie sa .4 Regulile lui Codd [17] 1. autorizarea accesului la date. 9. Regula de actualizare a tabelelor virtuale: Un SGBD trebuie sa poată determina daca o vedere poate sa fie actualizata sau nu. 10. astfel încât asupra acesteia sa se poată aplica aceleași operații ca si asupra datelor propriu-zise. delimitarea tranzacțiilor.

2. Regula independenţei datelor din punctul de vedere al distribuirii: Programele de aplicaţie nu trebuie sa fie afectate de distribuirea pe mai multe calculatoare a bazei de date. 0.definirea datelor şi nu in cadrul aplicațiilor individuale.Proiectarea bazelor de date relaţionale [17] Etape I. III. 12. II. 11. in plus. Regula de baza: Un SGBD Relaţional trebuie sa fie capabil sa gestioneze baza de date exclusiv pe baza caracteristicilor sale Relaţionale. Model entitate-relaţie 38 . Regula privind prelucrarea datelor de către un limbaj de nivel inferior: Orice limbaj Relaţional folosit pentru accesarea datelor trebuie sa respecte aceleaşi condiţii de integritate ca şi limbajul Relaţional de acces. model entitate-legatură şi model relaţional.5. aceste reguli de integritate trebuie stocate in dicționarul de date. Crearea schemei conceptuale Crearea design-ului logic al bazei de date Normalizarea bazei de date I Crearea schemei conceptuale [12] Aici avem modelul entitate-relaţie.

Exemplu: o facultate are mai mulți studenți.Model entitate-legătură O entitate devine un tabel Un atribut al unei entităţi devine o coloana a tabelului respectiv II Crearea design-ului logic al bazei de date Transformarea entităților • Entitățile devin tabele • Entitățile dependente devin tabele dependente • Subentităţile devin subtabele. • Atributele repetitive (multivaloare) devin tabele dependente care conțin o cheie străina ce face referința la cheia primară a entității şi atributul multi-valoare. Transformarea atributelor • Atributele simple ale unei entităţi devin coloane in tabelul provenit din Relaţie. un student e la o singura facultate • O relaţie mulţi-mulţi N:M se transformă intr-un tabel asociativ. Transformarea relaţiilor • Relaţiile 1:1 devin chei străine. • Relaţia N:1 devine cheie străină plasate în tabelul care se afla in partea “mulți” a relaţiei. care are doua chei străine pentru cele două tabele asociate. Exemplu: mai mulți studenţi-la mai multe cursuri. 39 . cheia străină fiind plasată în tabelul cu mai puţine înregistrări.

de multe ori metodologia de proiectare abordează o tratare de sus în jos a BD (care începe prin identificarea principalelor entităţi şi relaţii). care începe prin examinarea relaţiilor dintre atribute. pentru inserarea noilor membri ai personalului.6 Normalizarea bazei de date Conform Wikipedia. 2. c) modelul relaţional să fie cât mai intuitiv pentru utilizatori. d) tabele dintr-o bază de date nu trebuie să fie proiectate doar pentru anumite cereri/query-uri. Unul din principalele scopuri urmărite la proiectarea BD relaţionale. caz în care normalizarea este folosită ca tehnică de validare. trebuie incluse detalii despre filiala la care vor lucra. mărind astfel durata de viaţă a aplicaţiilor construite pe respectiva bază de date. Obiectivele normalizării sunt patru la număr: a) eliminarea anomaliilor de adăugare. este gruparea atributelor în relaţii în aşa fel încât să se minimizeze redundanţa datelor şi prin aceasta să se reducă spaţiul de stocare necesar relaţiilor de bază implementate. Totuşi. actualizare și ștergere a datelor dintr-o bază de date. Anomaliile de reactualizare se clasifică în: • anomalii de inserare care pot fi de două tipuri: − anomalii privind identitatea datelor redundante: de ex. detalii care trebuie să coincidă cu 40 . a normaliza o bază de date înseamnă o modelare logică a structurii acesteia pentru a o pregăti să satisfacă o actuală şi potenţial viitoare plajă largă de cereri. Scopul normalizării [11] Normalizarea reprezintă o tratare de jos în sus a proiectării bazelor de date. b) reducerea necesităţii de a reorganiza tabelele dintr-o bază de date în cazul în care sunt introduse noi tipuri de date.• Atributele simple ale unei Relaţii M:N vor deveni coloane ale tabelului asociativ.

care nu are nici un personal. Atenţia proiectanţilor trebuie îndreptată către construirea unor tabele care să evite anomaliile de actualizare şi dificultăţile de prelucrare. se pierd detaliile despre filială Procesul de normalizare este o metodă formală.valorile aflate pe celelalte rânduri ale relaţiei. presupune modificarea ei în toate înregistrările în care ea apare: dacă trebuie modificat unul din atributele unei filiale. Această analiză arată că relaţiile Personal şi Filiala au o structură mai bună decât PersonalFiliala. prin prezentarea unei serii de teste care pot fi aplicate relaţiilor individuale. − anomalii privind necesitatea introducerii de rânduri cu null pentru cheia primară: de ex.dacă: 1. 2. care identifică relaţiile bazându-se pe cheile primare ale acestora şi pe dependenţele funcţionale dintre atributele lor. fiecare celulă a relaţiei conţine o singură valoare. Procesul de normalizare furnizează o tehnică de proiectare a unor relaţii mai bine structurate. Codd .deci este o relaţie conform restricţiilor impuse de teoria relaţiilor a lui A. pentru a preveni apariţia anomaliilor de reactualizare. dar PersID este cheie primară şi nu e permis null-ul (deoarece se violează integritatea entităţilor) • anomalii de ştergere: ştergerea anumitor înregistrări duce la pierderea unor detalii care nu sunt stocate în altă parte: dacă se şterge ultimul membru al personalului de la o filială. • anomalii de modificare: necesitatea modificării unei date redundante. Normalizarea ajută proiectanţii de BD. este necesară reactualizarea rândurilor corespunzătoare pentru toţi membrii personalului de la filiala respectivă. este necesară introducerea de null-uri pentru atributele personalului. pentru a insera o nouă filială. O tabelă de date este corect formulată . în cadrul unei baze de date are nume distinct. altfel BD devine incoerentă.F. Proiectarea unei baze de date relaţionale începe prin definirea entităţilor şi a relaţiilor dintre ele. cât şi relaţiile dintre acestea. Apoi se definesc tabelele care vor memora atât datele din entităţi. 41 . altfel provocăm o incoerenţă a BD.

4. 2.3. De asemenea. Salubritate Politie După procesul de normalizare vom avea următoarele tabele: 42 . SuperMario Daniel WOW. Zelda Oras Bucuresti Brasov Scornicești Servicii publice Politie. fiecare atribut are un nume distinct. prima formă normală cere şi ca fiecare înregistrare să fie definită astfel încât să fie identificată în mod unic prin intermediul unei chei primare. orice linie este distinctă de celelalte. Zelda. Canalizare. Salubritate. Încălcări ale primei forme normale (1) Mai multe valori semnificative in acelaşi câmp EXEMPLUL 1 Persoana Jocuri preferate Ion Doom2. Sims. ordinea liniilor nu influenţează conţinutul informaţional al relaţiei. Canalizare Politie. 7. 5.  Prima formă normală exclude posibilitatea existenţei grupurilor repetitive cerând ca fiecare câmp într-o baza de date sa cuprindă numai o valoare indivizibilă . ordinea dispunerii atributelor în relaţie nu prezintă importanţă. 6.7 Prima formă normală (1NF – First Normal Form) [11]  Prima formă normală este o formă normală utilizată în normalizarea bazelor de date. orice valoare a unui atribut face parte din domeniul pe care a fost definit acesta. Sims Maria Zelda.

auto-incrementat. se asigură unicitatea fiecărei înregistrări. se va utiliza cheia primară. Exemplul 3 [11] 43 . In exemplul de mai sus.(2) Mai multe coloane reprezentând acelaşi tip de date/fapte/obiecte EXEMPLUL 2: Persoana Ion Maria Daniel Oras București Brașov Scornicești Servicii publice Politie Canalizare Politie Jocuri preferate(1) Doom2 Zelda WOW Jocuri preferate(2) Jocuri preferate(3) Zelda Sims Sims SuperMario Zelda Servicii publice(3) Canalizare Salubritate Servicii publice(2) Salubritate Politie O soluţie după normalizare: ID Oraș 1 București 2 Brașov 3 Scornicești 4 București 5 Brașov 6 București 7 Brașov Servicii publice Politie Politie Politie Salubritate Canalizare Canalizare Salubritate Oraș București Brașov Scornicești București Brașov București Brașov Servicii publice Politie Politie Politie Salubritate Canalizare Canalizare Salubritate Pentru a asigura unicitatea unei înregistrări. prin introducerea unei coloane adiţionale de tip întreg.

2.11 f1 Bc b66 10 200 1298 006 01.Să presupunem că tabelul următor reţine codurile produselor solicitate la o comandă. 3. 4.03. 44 . dacă există comenzi cu mai mult de 4 produse? dacă sunt comandate cantităţi diferite din toate produsele? unde este plasat preţul fiecărui produs? prelucrări de tipul« valoarea totală a comenzilor pentru produsul 'b66'» necesită verificarea tuturor coloanelor şi însumarea rezultatelor pentru întreaga bază de date.03. cheia este compusă din atributele (comanda + codprod). Operaţia de „spargere" a relaţiei care manifestă anomalii în alte relaţii poartă numele de normalizare .03. data şi valoarea comenzii: Comanda data furn 006 01.09. Deci se impune eliminarea câmpurilor care se repetă şi astfel se ajunge la prima formă normală: comanda data furn adr codprod cant pret valoare 006 01.03. lucru care conduce la un timp mare de răspuns.11 f1 Bc c33 12 150 1200 în această tabelă. cheia este atributul Com (număr comandă). deoarece anumite relaţii pot conduce la dificultăţi de actualizare sau de manevrare.2011 f1 007 01. nu sunt valori de tipuri diferite în coloane. Prima formă normală este identificată cu noţiunea de relaţie Dar nu toate relaţiile sunt egal acceptabile.11 f1 Bc a23 10 100 1298 006 01.11 f1 Bc c33 10 150 1298 007 01. precum şi numărul. Dar 1.2011 f1 adr Bc Bc cod1 a23 c33 cod2 b66 cod3 cod4 c33 cant 10 12 val 1290 1200 Verificăm respectarea definiţiei anterioare: nu sunt linii identice.09. O relaţie se află în a doua formă normală dacă toate atributele non-cheie sunt dependente de întreaga cheie Deci problema apare când cheia este compusă din mai multe atribute O relaţie car are chei simple este în a doua formă normală.

Cu toate că atributele FilialaID. FilialaID→ AdresaF. A şi B pot fi simple sau compuse. Salariu. Dacă o relaţie are mai mult de o chei candidat. TelF→ FilialaID. FilialaID. Toate atributele care nu fac parte din cheia primară. Când există o dependenţă funcţională. AdresaF→ TelF. deoarece toate celelalte atribute ale relaţiei sunt dependente funcţional de aceasta. Exemplu: să considerăm atributele PersID şi Salariu din relaţia Personal Personal (PersID. trebuie să fie dependente funcţional de această cheie. PersID → Salariu. ea este specificată ca o constrângere între atribute.Observăm că atributele non-cheie nu sunt dependente de întreaga cheie.8 Dependenţe funcţionale [11] Dependenţele funcţionale sunt concepte fundamentale în procesul de normalizare. Pentru a identifica cheia candidat (sau cheile candidat) din relaţia PersonalFiliala. Atributul din stânga săgeţii se numeşte determinant. trebuie identificată cheia primară. PersID → Funcţie. Normalizăm şi împărţim tabela în două alte tabele. Funcţie. AdresaF şi TelF ca determinanţi. TelF→ AdresaF În această relaţie sunt 13 dependenţe funcţionale cu PersID. este necesar să recunoaştem atributul (sau grupul de atribute) care identifică în mod unic fiecare rând din relaţie. AdresaP. AdresaF→ FilialaID. AdresaP. PersID → AdresaF. FilialaID) PersID → Salariu deci un membru al personalului are un singur salariu Salariu ×→ PersID un salariu nu determină un singur membru al personalului Exemplu: Să identificăm dependenţele funcţionale din relaţia PersonalFiliala PersonalFiliala (PersID. FilialaID. ele nu constituie chei candidat pentru ea. 2. PersID→ FilialaID. NumeP. FilialaID→ TelF. Singura cheie candidat pentru relaţia PersonalFiliala (deci şi cheie primară) este PersID. PersID → TelF. Salariu. AdresaF. AdresaF. TelF sunt determinanţi în această relaţie. Funcţie. 45 . NumeP. atributul B este dependent funcţional de A (notat A→B) dacă fiecărei valori a atributului A îi corespunde o singură valoare a atributului B.TelF) Dependenţa funcţională descrie legăturile dintre atributele unei relaţii: fie A şi B două atribute ale relaţiei R. PersID → NumeP PersID → AdresaP.

In orice relaţie. formata din ComandaID şi ReperID. 2. deci determină în mod univoc valorile atributelor tuplei. atunci ele trebuie sa fie separate în tabele diferite. ReperNume depinde numai de ReperID. Dacă unul sau mai multe elemente sunt dependente funcţional numai de o parte a cheii primare. Exemplul 1: fie o tabela “Comanda”: Cod ReperID Comanda C1 C2 C1 C4 ReperNume Cantitate 2 2 21 22 Memorie Memorie Mouse Tastatura 1 2 31 22 Cheia primară este o cheie compusa. deoarece orice cheie are proprietatea că identifică în mod unic fiecare tuplă. Dacă tabela are o cheie primară formata din numai un atribut. atributele sunt dependente funcţional de faţă de cheile acesteia. Pentru a fi in 2NF. nu si de ComandaID. atunci ea este automat in 2NF (a 2-a forma normala). 9 A doua formă normală (2NF – Second Normal Form) [11] A doua formă normală cere ca toate elementele unei tabele sa fie dependente funcţional de totalitatea cheii primare. tabelul trebuie modificat in felul următor: Exemplul 2 Fie următorul tabel: 46 .

05.05. nume_client.2008 13. cost_articol} Pentru a fi in 2NF.05.2008 12. 10 A treia formă normală (3NF – Third Normal Form) 47 . număr_telefon} cod_comanda -> {data.2008 13.05.cod client nume client A1 A1 A2 A2 A2 A1 A3 Petrescu Petrescu Vasilescu Vasilescu Vasilescu Petrescu lonescu nr telefon 2338291 2338291 3485734 3485734 3485734 2338291 5409054 cod comanda data C1 C1 C2 C2 C2 C3 C4 12.2008 13.2008 13.2008 13.05.2008 camasa cod_client A1 A2 A1 A3 45 VÂNZĂRI cod comanda C1 C1 C2 C2 C2 C3 C4 cod_articol P1 P3 P1 P3 P2 P3 P1 cantitate 100 20 200 300 10 20 30 2.05.05.05.05.2008 cod articol nume_articol cost articol P1 P3 P1 P3 P2 P3 P1 pantalon camasa pantalon camasa bluza camasa pantalon cantitate 5 0 4 5 5 0 4 5 3 5 4 5 5 0 100 20 200 300 10 20 30 Dependenţe funcţionale : cod_client -> {nume_client. nr_telefon} cod_articol -> {nume_articol. cod_client.2008 13.2008 13.05.2008 13.05. tabelul trebuie modificat in felul următor: cod_articol P1 P2 nume_articol pantalon bluza cost_articol 50 35 COMANDA cod_comanda C1 C2 C3 C4 P3 data 12.

Ştiind furnizorul.Toate atributele non-chei ale unei relaţii depind numai de chei candidate ale acelei relaţii.03. putem afla numele furnizorului. ceea ce nu este adevărat. Ştiind numărul de comandă. EXEMPLUL 1 Tabela Piese de schimb. putem determina adresa (furn)>>>(adr). O relaţie se află în a treia formă normală dacă se află în forma a doua şi nu prezintă dependenţe tranzitive După normalizare se obţine: 48 .2011 f2 Gl 1200 5 162 Dacia 1 PRODUSE comanda codprod 006 a23 006 b66 006 c33 007 c33 cant 10 10 10 12 pret 100 200 150 150 Să urmărim exemplul în continuare. in care cheia primară (şi cheie unică) este Piese de schimb Piese de schimb 1256 1425 1621 ProducatorNume Dacia Daewo Dacia ProducatorAdresa Pitesti Mangalia Pitesti trebuie reorganizată astfel pentru a fi in a 3-a forma normală: Producător ProducătorNume ProducatorAdresa Dacia Pitesti Daewo Mangalia Dacia Pitesti EXEMPLUL 2 Fie tabelele de mai jos: Pi Piese de schimb Piese de schimb ProducatorNume COMENZI 125 Dacia comanda Data furn adr valoare 6 006 01. Toate atributele non-cheie sunt (trebuie sa fie) mutual independente.09. Pare că adresa depinde funcţional prin tranzitivitate de comandă. Deci (comanda)>>>(furn).2011 Daewo Bc f1 1298 142 007 01. Cheia relaţiei la tabela COMENZI este comanda.

03.2011 01. A doua formă normală impune ca toate atributele non-cheie să fie dependente de întreaga cheie.FURNIZORI codfurn adr comanda COMENZI data furn val f1 f2 Bc Gl 006 007 01.09. A treia formă normală presupune inexistenţa dependenţelor tranzitive. dar niciuna nu garantează că au fost eliminate toate anomaliile! 49 . In concluzie prin normalizare spectrul anomaliilor de care suferă o relaţie se restrânge foarte mult. Toate aceste forme normale sunt folositoare.2011 f1 f2 12980 12000 Ca o recapitulare: Prima formă normală este identificată cu definiţia unei relaţii.

dataînfiintarii. data. datanasterii. Care sunt atributele. goluri_1. o echipa participă la mai multe meciuri • Cum arată SCHEMA conceptuală a bazei de date? 5. stadion. sediu). MECIURI (cod_meci. echipe. meciuri. caracteristicile pentru fiecare entitate? JUCĂTORI (cod.05.2. o echipa are mai mulţi jucători. goluri_2. echipa 1.1980 Sediu Buc Buc Nume Mutu Popescu Data n 1. Un meci este jucat de doua echipe.1.meciuri va fi modelata ca atare prin reținerea a două câmpuri despre echipe (echipa 1 este cea care joacă „acasă" iar echipa 2 este cea din „deplasare”. foto. ora) • Care sunt Relaţiile dintre ele? Un jucător poate sa fi fost înscris la mai multe echipe.echipe este spartă in două relaţii prin intermediul entităţii Participanți (codul jucătorului. Obţinem deci următoarele tabele: JUCĂTORI Id 100 101 ECHIPE Id 1 2 Nume Steaua Dinamo Data insc 1. ECHIPE (cod echipa. Cum se modelează SCHEMA pentru o baza de date Relaţională? Relaţia jucători. data-ieşirii-dinechipă. Fiecare entitate şi Relaţie se structurează sub forma unui tabel.1978 Casat T F Adr Copii Foto cv București T Cluj F 50 .11 Studiu de caz Evidenţa meciurilor. nume. funcția).1.12. Relaţia echipe.1978 3. a echipelor şi a jucătorilor de fotbal din cluburile româneşti [10] Să facem analiza şi să proiectăm structura unei baze de date pentru cerinţa de mai sus. codul echipei. data-intrarii-în-echipa. CV. adresa). echipa_2. nume.. are_copii.1800 1. Pentru analiza problemei trebuie sa răspundem la următoarele întrebări: • • Care sunt entităţile? Jucători. este-casatorit.

5.adică scoaterea ei din evidenţă .cod_ech.2010 Portar Fundas portar 1.cod_ech in Echipe.2011 15 7. e. Ștergerea unei echipe .2011 17 6.codJuc . 8.id trebuie să determine modificarea cheii Participant. c.codech şi Meciuri.7. Desigur putem folosi denumirile cod-echipa.e1.nu va determina şi anularea activităţii jucătorilor prin eliminarea liniilor din tabela Participanţi dar va provoca ştergerea meciurilor planificate cu această echipă. codparticipant sau cod-meci! 7. Care sunt cheile unice ale fiecarei tabele? Pentru simplificarea lucrului am numit un câmp special “ Id” care să joace rolul de cheie unică. d.pentru legătura cu tabelele Echipe şi Jucători şi Meciuri.2008 Data-ies post 1.1.id b.E1 sau Meciuri.PARTClPANTI Id 1 2 3 MECIURI Id 1 2 E1 1 2 E2 2 1 G1 1 0 G2 3 0 Stadion Lia Manoliu Dinamo Data Ora Cod juc 100 100 101 Cod ech 1 2 2 Data-intr 1. cod-jucător. Meciuri. Modificarea cheii Jucatori.1.e2 pentru legătura cu tabela Echipe.id şi Participant.codJuc. (meciurile deja jucate pot rămâne!) 9.12. Participanti.id trebuie să determine modificarea cheilor străine Participant.2011 15.E2.2009 1. 51 valoarea din câmpul .CodJuc in Jucatori. Un articol in tabela Meciuri nu poate fi introdus daca codurile celor două echipe nu figurează deja in tabela Echipe. Care sunt restricţiile de validitate asupra câmpurilor din tabele? Data planificării unui meci trebuie sa fie mai mare decât data planificata trebuie sa fie intre 8-20. Un articol în participant nu poate fi introdus dacă nu se regăsește valoarea din câmpul Participant. Modificarea cheii Echipe. Care sunt restricţiile de integritate a bazei de date? a.5. Care sunt cheile străine ? ( cele care asigură legăturile dintre tabele) Participant.

înscrierea unui nou jucător. schimbarea unor valori pentru un meci: alt stadion. înscrierea unui jucător la o echipa. modificarea unor valori pentru un jucător: casătorie. modificarea unor valori pentru echipa: alt sediu etc. plecarea unui jucător de la o echipa. alta ora/data. Care sunt evenimentele care determina acțiuni asupra datelor? • • • • • • • • • planificarea unui meci. schimbarea adresei.In tabela Participanți data-intrării mai mica decât data-ieşi rii în /dintr-o echipa. 10. desfășurarea unui meci. 52 . înființarea unei noi echipe.

CAPITOLUL III Aspecte didactice ale predării normalizării în cadrul unităţii de învăţare "MODELAREA DATELOR” 53 .

In primul semestru al clasei a XII-a A experimentul didactic a fost efectuat pe parcursul semestrului I. Au fost supuşi testării atât individual prin fişe de lucru. testare finală cât şi în lucru pe echipe. Evaluarea de tip formativ are drept obiectiv ajutarea profesorilor de a-şi ameliora acţiunea şi mijloacele de derulare a acesteia [2].an şcolar 2010-2011 pentru a experimenta proiectele propuse la această unitate de învăţare. organizând două grupe. 54 .2 Caracterizarea claselor cuprinse în experiment La clasele cu profil matematică-informatică primul modul care se studiază obligatoriu indiferent de celelalte module alese pentru studiu este modelarea datelor. aşa cum se desprind ele din literatura de specialitate şi care reprezintă caracteristici ale procesului de învățământ în deceniile următoare. încă de la început. Tendinţele înnoitoare se manifestă şi în domeniul evaluării. 3.24.stabilind roluri comune celor două grupe.3. transparenţei şi comparabilităţii evaluării şcolare. media pe clasă a evaluării finale fiind 6. În majoritatea sistemelor de învăţământ se acordă o atenţie sporită asigurării obiectivităţii. Idei importante ce trebuie subliniate şi scoase în evidenţă. reprezintă doar simboluri ale unor judecăţi de valoare asupra performanţelor elevilor în diferite momente ale instruirii. Am ales clasa a XII-a A matematică informatică. O primă idee este că importanţa şi necesitatea realizării unei evaluări pertinente au devenit atât de evidente încât se vorbeşte frecvent despre "învăţare asistată de evaluare"i. Pe parcursul perioadei de predare elevii au manifestat interes fiind un domeniu nou şi în acelaşi timp dovedind caracterul practic.1 Experimentul didactic Practica educaţională se află într-o perioadă de tranziţie accelerată de la ceea ce unii autori numesc învăţământul tradiţional spre învățământul modern. cea a băieţilor şi cea a fetelor. timpul alocat acestui modul este de şase săptămâni. Notarea.

Obiective didactice Obiectiv Detaliere Obiective de referinţă R1 R2 R3 R4 Înţelegerea necesităţii modelării datelor Înţelegerea modalităţilor de modelare a datelor Construirea unor diagrame corecte Utilizarea cunoştinţelor dobândite în elaborarea unor diagrame de modelare a datelor corecte Obiective operaţionale OP1 Defineşte noţiunea de entitate. OP4 OP5 OP6 Face distincţie între entitate şi instanţele acesteia.3. specificând elementele sale caracteristice OP2 practice. entităţi şi acestora. OP9 Reprezintă.3 Unitatea de învăţare Modelarea datelor Structura generală [4] Sunt prezentate obiectivele didactice care pot fi atinse utilizând acest material. Identifică atributele obligatorii şi context dat. OP3 Oferă exemple de entităţi. Defineşte noţiunea de atribut. descriind contextul în care acestea intervin. 3. OP10 Defineşte noţiunea de identificator unic.1. OP7 OP8 Face distincţie între atribut şi valoarea acestuia. aplicând conventiile ERD. Identifică atributele entităţilor care intervin în descrierea unei activităţi practice. atributele atributele opţionale într-un Identifica entităţile care intervin în descrierea unei activitati 55 .3.

OP13 OP14 OP15 Defineşte identificatori unici secundari. OP29 Modifică o diagramă astfel încât diagrama obținuta sa respecte 2NF. Defineşte identificatori unici compuşi . OP16 OP17 OP18 OP19 Identifică şi denumește relaţiile semnificative dintre entităţi. Identifică relaţiile ierarhice dintre date. OP12 Oferă exemple de situații în care este utilă definirea unui identificator unic artificial. Specifică opţionalitatea şi cardinalitatea unei relaţii. respectând conventiile de reprezentare a relaţiilor în diagrame ER. justificând alegerea.OP11 Stabileşte un identificator unic pentru entităţile care intervin în descrierea unei activităţi practice.. Reprezintă corect o Relaţie. respectând convenţiile de reprezentare a Relaţiilor în diagrame ER. Defineşte prima regulă de normalizare(1NF – First Normal Form). 56 . Utilizează convenţiile de reprezentare în diagrama ERD a relaţiei rezolvate. OP23 OP24 Identifică subentităţile (subtipurile) unei entităţi. Formulează corect o Relaţie dintre două entităţi. OP26 Modifică o diagrama astfel încât diagrama obținuta sa respecte 1NF. OP25 Analizează o diagramă pentru a stabili dacă aceasta respectă 1NF. OP22 Reprezintă corect relaţiile ierarhice. OP20 OP21 Clasifică relaţiile din punctul de vedere al cardinalităţii. OP27 Defineşte a doua regula de normalizare (2NF – Second Normal Form). OP28 Analizează o diagramă pentru a stabili daca aceasta respecta 2NF. Utilizează convenţiile de reprezentare a identificatorilor unici în diagrame E-R.

învăţarea prin descoperire dirijata. OP3.OP30 Defineşte a treia regula de normalizare (3NF – Third Normal Form). OP31 Analizează o diagramă pentru a stabili daca aceasta respecta 3NF. învăţarea prin descoperire procedee de instruire: explicația în etapa de comunicare. haine. OP32 Modifică o diagramă astfel încât diagrama obținută sa respecte 3NF. M1.1 – Crearea unei atmosfere specifice orei şi partea introductivă Timp de predare Tip de interacţiune cu elevii 15 min    metode de comunicare orală: expunere. OP2. inductiva. conversaţie metode de acțiune: exercițiul. 57 . 3. învăţarea prin descoperire procedee de instruire: explicația în etapa de comunicare.2 Conţinut Se prezintă lista obiectelor de conţinut (notate cu M) şi caracteristicile lor generale.2 – Entităţi Obiective didactice Timp de predare Tip de interacţiune cu elevii OP1. pantofi prezentarea celor opt poziții M1. pantaloni. conversaţie metode de acțiune: exercițiul. fete.3. OP4 35 min     metode de comunicare orală: expunere. Descriere      prezentarea modulului prezentarea modului de selecție a personajului şi a modalităţii de configurare şi salvare prezentarea tipurilor de: par.

experimentala. OP11. conversaţie metode de acțiune: exercițiul. învăţarea prin descoperire procedee de instruire: explicația.        Cuvinte cheie    Obiective didactice Timp de predare Tip de interacţiune cu elevii   exercițiul de consolidare prezentarea definiţiei unui entităţi prezentarea unor aspecte practice în care pot fi identificate entităţi prezentarea unor exemple prezentarea unor convenții de reprezentare prezentarea animaţiilor determinarea soluțiilor corecte şi explicarea lor entitate instanța diagrama ER Descriere OP5. OP9 40 min  metode de comunicare orală: expunere. OP13. OP7. învăţarea prin descoperire dirijata. OP14. OP12. OP15 58 . OP8. OP6.1 – Identificator unic  Obiective didactice OP10. exercițiul de consolidare            prezentarea definiţiei atributului prezentarea unor convenții de reprezentare prezentarea unui exemplu animat prezentarea animaţiilor rezolvarea sarcinilor de lucru – 6 exerciții atribut instanța atribut obligatoriu atribut opțional opționalitate diagrama ER Descriere Cuvinte cheie M3.experimentala.

exercițiul de consolidare Descriere        prezentarea noțiunii de identificator unic prezentarea convențiilor de reprezentare prezentarea animaţiilor rezolvarea sarcinilor de lucru identificator unic identificator unic simplu identificator unic compus Cuvinte cheie M3. studiu de caz metode de acțiune: exercițiul. învăţarea prin descoperire procedee de instruire: explicația. învăţarea prin descoperire dirijata. învăţarea prin descoperire procedee de instruire: explicația. experimentala.Timp de predare Tip de interacţiune cu elevii     20 min metode de comunicare orală: expunere. conversaţie metode de acțiune: exercițiul. exercițiul de consolidare prezentarea noțiunii de Relaţie prezentarea modalităţii de reformulare a Relaţiilor prezentarea metricii Relaţiilor prezentarea convențiilor de reprezentare prezentarea animaţiilor realizarea celor șase sarcini de lucru Relaţie opționalitate cardinalitate matricea Relaţiilor 59 . OP18. învăţarea prin descoperire dirijata. inductiva.2 – Relaţii Obiective didactice Timp de predare Tip de interacţiune cu elevii    Descriere       Cuvinte cheie     OP16. conversaţie. experimentala. OP19 30 min  metode de comunicare orală: expunere.

OP24 Timp de predare Tip de interacţiune cu elevii 30 min    metode de comunicare orală: expunere. conversaţie.1 – Clasificarea Relaţiilor Obiective didactice Timp de predare Tip de interacţiune cu elevii OP20 20 min             metode de comunicare orală: expunere. experimentala. învăţarea prin descoperire procedee de instruire: explicația. exercițiul de consolidare prezentarea categoriilor de Relaţii prezentarea tipurilor prezentarea animaţiilor realizarea sarcinilor de lucru Relaţie One-to-Many Relaţie One-to-One Relaţie Many-to-Many Descriere Cuvinte cheie M4. diagrama ER M4. OP23. învăţarea prin descoperire dirijata. OP22. experimentala. studiu de caz metode de acțiune: exercițiul. studiu de caz metode de acțiune: exercițiul. conversaţie. învăţarea prin descoperire procedee de instruire: explicația. învăţarea prin descoperire dirijata. inductiva.2 – Rezolvarea Relaţiilor Obiective didactice OP21. exercițiul de consolidare  Descriere prezentarea exemplelor 60 . inductiva.

OP28. învăţarea prin descoperire procedee de instruire: explicația. conversaţie. experimentala.1 – Prima formă normală Obiective didactice Timp de predare Tip de interacţiune cu elevii OP24. inductiva. conversaţie. OP25. studiu de caz metode de acțiune: exercițiul. învăţarea prin descoperire dirijata. OP26 20 min    metode de comunicare orală: expunere. Cuvinte cheie realizarea sarcinilor de lucru entitate de intersecție M5.2 – A doua forma normala Obiective didactice Timp de predare Tip de interacţiune cu elevii OP27. exercițiul de consolidare     definirea noțiunii de 1NF – First Normal Form prezentarea necesităţii utilizării 1NF realizarea sarcinii de lucru 1NF Descriere Cuvinte cheie M5. OP29 20 min    metode de comunicare orală: expunere. studiu de caz metode de acțiune: exercițiul. experimentala. învăţarea prin descoperire dirijata. exercițiul de consolidare   definirea noțiunii de 2NF – Second Normal Form prezentarea necesităţii utilizării 2NF Descriere 61 . inductiva. învăţarea prin descoperire procedee de instruire: explicația.

3 – A treia forma normală Obiective didactice Timp de predare Tip de interacţiune cu elevii OP30. OP31 20 min    metode de comunicare orală: expunere. experimentala. conversaţie. 62 . exercițiul de consolidare    • 3NF definirea noțiunii de 3NF – Third Normal Form prezentarea necesitatii utilizării 1NF realizarea sarcinii de lucru Descriere Cuvinte cheie M6 Aplicaţii. OP28    metode de comunicare orală: expunere. învăţarea prin descoperire procedee de instruire: explicația. studiu de caz metode de acțiune: exercițiul. miniproiect Obiective didactice Tip de interacţiune cu elevii OP21. OP22.de gestionarea unei afaceri de succes pe baza unui model dat. conversaţie.elevii vor identifica tabelele necesare. Cuvinte cheie 2NF realizarea sarcinii de lucru M5. învăţarea prin descoperire dirijata. studiu de caz metode de acțiune: exercițiul procedee de instruire: explicația. exercițiul de consolidare Descriere   rezolvarea de exerciţii şi probleme recapitulative realizarea unui miniproiect în echipe . inductiva. relaţiile dintre ele şi vor realiza normalizări. învăţarea prin descoperire dirijata.

3. Model de structurare şi predare 63 .2.

care sunt exemple concrete. SCRIITOR este o entitate. De exemplu: ORAȘ. Entităţi Definiţie O entitate este denumită printr-un substantiv singular şi reprezintă un element generic semnificativ pentru activitatea care trebuie să fie modelată.3 Obiecte de conţinut – detaliere 1. de exemplu pentru Oficiul Forţelor de Muncă SCRIITOR ar putea fi o instanţă a entităţii PROFESIE. cazuri particulare ale entităţilor. ELEV. CARTE. STUDENT. În partea de sus a dreptunghiului va fi scris cu majuscule numele entităţii. Pentru activitatea de gestiune a unei biblioteci. VEHICUL Entităţile admit instanţe. 2 Convenţii de reprezentare O entitate va fi reprezentată sub forma unui dreptunghi cu colţurile rotunjite (softbox). Stabilirea faptului că un anumit element este o entitate sau o instanţă poate depinde de contextul activităţii pe care o modelăm.3. SCRIITOR.3. 64 . Dar.

anumite atribute trebuie să aibă o valoare. Aceste atribute le vom numi obligatorii. 3. clasifică sau califică o entitate.  Pentru o anumită instanţă a unei entităţi. A primit o broșură de genul: Se solicită elevului sa realizeze o asociere între entităţi şi instanțe. Valoarea respectivă este de un anumit tip (numeric. 65 . se trage o linie între ele. De asemenea numărul matricol. Pentru a asocia o entitate cu o instanţă. şir de caractere.  Pentru o bună modelare a activităţii. informaţie care descrie. etc). cuantifică. data naşterii şi adresa.Temă Un elev merge la o firmă de turism pentru a studia ofertele de croazieră din vacanta asta. orice atribut poate avea o singură valoare. Pentru identificarea corectă a unui student numele şi prenumele sunt obligatorii. Atribute Definiţie  Un atribut reprezintă o informaţie semnificativă pentru activitatea care trebuie să fie modelată. dată calendaristică.

sub numele entităţii. câte un atribut pe o linie.Convenţii de reprezentare Atributele vor fi specificate în dreptunghiul care reprezintă entitatea. Numele unui atribut obligatoriu va fi precedat de caracterul *. Numele unui atribut opţional trebuie să fie precedat de caracterul °. Exerciţiu temă Fie entităţile FARMACIE. 66 . Desenaţi entităţile după modelul dat şi plasaţi atribute pentru acestea indicând corect opţionalitatea (obligativitatea). DEPOZIT şi INTERPRET . MEDIC.

Stabilirea unor identificatori unici secundari oferă utilizatorilor sistemului pe care îl proiectăm mai multe variante de a accesa sistemul.4. acesta fiind implicit. trebuie să existe un singur identificator unic principal. Identificator unic  Pentru orice entitate trebuie să definim (cel puţin) un identificator unic (UID Unique IDentifier).  Un identificator unic format dintr-un singur atribut se numeşte simplu. Identificatorul unic este un atribut sau o combinaţie de atribute care permit identificarea în mod unic a oricărei instanţe a entităţii respective. astfel sistemul devine mai flexibil. dar pot exista mai mulţi identificatori unici secundari. Convenţii de reprezentare Pentru a marca în diagrama ERD faptul că un atribut este identificator unic sau intră în componenţa identificatorului unic. 67 . atunci fiecare dintre acestea va fi precedat de caracterul #.  Atributele care intră în componenţa unui identificator unic trebuie să fie obligatorii. Prin urmare. Uneori există mai multe variante posibile de identificare în mod unic a instanţelor unei entităţi.  Un identificator unic format din mai multe atribute se numeşte compus. #2 (pe cel de al doilea) etc. În acest caz nu mai este necesară precedarea atributului de simbolul *. se pot alege unul sau mai mulţi identificatori unici secundari. În acest caz se alege un atribut/combinaţie de atribute ca identificator unic principal şi apoi. opţional. Dacă identificatorul unic al entităţii este compus din mai multe atribute. Pentru a reprezenta în diagrama E-R un identificator unic secundar vom preceda numele atributului/ atributelor ce constituie identificatorul unic secundar de #1 (dacă este primul identificator unic secundar). acesta va fi precedat de simbolul #.

Exerciţiu Care dintre următoarele atribute poate fi considerat identificator unic pentru entitatea INSULĂ? 68 .

Exerciţiu Asociază fiecărei entităţi unul sau mai multe atribute ce pot constitui un identificator unic pentru entitatea respectivă. Exerciţiu Poate fi codul poştal un identificator unic pentru o stradă din România? 69 .

Convenţii de reprezentare Relaţiile se reprezintă printr-o linie care conectează cele două entităţi implicate în relaţie. cât şi relaţia în care B se află cu A. respectiv una sau mai multe).  În acest scop vom examina fiecare pereche de entităţi şi vom stabili dacă există între entităţile respective o relaţie semnificativă pentru activitatea pe care o modelăm. după identificarea entităţilor şi a atributelor acestora.  Cardinalitatea specifică numărul de instanţe ale entităţii implicate în relaţie (una singură. jumătatea care are o extremitate în B reprezintă relaţia în care se află entitatea B cu entitatea A. Să notăm cu A şi B cele două entităţi între care este definită relaţia. trebuie să identificăm relaţiile care există între entităţi.  Când identificăm o relaţie între două entităţi A şi B trebuie să precizăm atât relaţia în care A se află cu B. De asemenea trebuie să specificăm opţionalitatea şi cardinalitatea relaţiei. Numele relaţiei este scris pe fiecare dintre cele două jumătăţi. Jumătatea care are o extremitate în A reprezintă relaţia în care entitatea A se află cu entitatea B.  Pentru standardizare a fost definit un "şablon" care trebuie respectat atunci când specificăm o relaţie între două entităţi. 70 . Linia este constituită din două jumătăţi.5 Modelarea datelor. Relaţii  În procesul de modelare.  O relaţie poate fi opţională (acest lucru se specifică prin cuvântul poate) sau obligatorie (acest lucru se specifică prin cuvântul trebuie).

Exerciţiu Formulează relaţiile reprezentate în diagrama ERD alăturată. apoi specificaţi relaţia DISCIPLINĂ-STUDENT. specificând opţionalitatea şi cardinalitatea. citind mai întâi relaţia de la stânga la dreapta.Exerciţiu Analizează relaţia dintre entităţile STUDENT şi DISCIPLINĂ. Exerciţiu Care dintre următoarele variante corespunde relaţiilor reprezentate în diagrama E-R? 71 . apoi relaţia de la dreapta la stânga. Formulează corect relaţia STUDENT-DISCIPLINĂ.

OFERTĂ DE CAZARE. SERVICIU TURISTIC. SERVICIU TURISTIC. OFERTĂ DE CAZARE respectând convenţiile de reprezentare specifice diagramelor ER . 72 . Reprezintă relaţiile existente între entităţile CLIENT.Exerciţiu Urmăreşte cu atenţie animaţia pentru a identifica relaţiile existente între entităţile CLIENT.

SERVICIU TURISTIC.Exerciţiu Formulează corect relaţiile cu ajutorul cuvintelor din partea de jos: Exerciţiu Reprezintă relaţiile existente între entităţile CLIENT. 73 . OFERTĂ DE CAZARE respectând convenţiile de reprezentare specifice diagramelor ER .

Relaţii One-to-One (1:1) 3. Relaţii One-to-Many (1:M) 2. pot fi de 4 tipuri. Exemplu de relaţii One-to-Many (1:M). Clasificarea relaţiilor Din punctul de vedere al cardinalităţii relaţiile pot fi clasificate în 3 categorii: 1. în funcţie de opţionalitate. 74 .Modelarea datelor. Relaţii Many-to-Many (M:M) Relaţii One-to-Many (1:M) Sunt cele mai frecvent întâlnite şi.

În funcţie de opţionalitate.Relaţiile 1:1 sunt mai rar întâlnite în diagramele ER. deducem că aceasta este o relaţie Oneto-One (1:1). relaţiile 1:1 sunt de 3 tipuri. Exemplu Analizând relaţia TURIST-PAŞAPORT. 75 .

Relaţii Many-to-Many (M:M) Într-o primă etapă de analiză şi de elaborare a modelului unei activităţi. deducem că aceasta este o relaţie Many-to-Many (M:M). Exemplu Analizând relaţia CARTE-SCRIITOR. aceste relaţii vor dispărea. Într-o a doua etapă. fiind transformate în relaţii 1:M. Exemplu Urmărind animaţia şi analizând relaţia FILM-ACTOR. Din punctul de vedere al opţionalităţii. relaţiile M:M sunt frecvent întâlnite. 76 . deducem că aceasta este o relaţie Many-toMany (M:M). există 3 tipuri de relaţii M:M.

Fişă de lucru Clasificaţi relaţiile specificate în zona punctată: 77 .

Pentru a obţine un model eficient au fost definite o serie de reguli pe care trebuie să le respecte modelul conceptual.4 Normalizarea. Aceste reguli sunt denumite reguli de normalizare sau forme normale. Procesul de normalizare a relaţiilor se realizează în mai mulţi paşi. ori ştergerea făcându-se la nivelul tuplului. constă în faptul că anumite date care urmează să fie adăugate fac parte din tupluri incomplete (pentru care nu se cunosc toate datele). într-o colecţie de relaţii care să conserve informaţiile şi dependenţele funcţionale din relaţia iniţială (descompunerea fără pierderi). care rezultă din faptul că este dificil de modificat o valoare a unui atribut atunci când ea apare în mai multe tupluri ale relaţiei. Codd a stabilit trei forme normale pentru relaţii şi a introdus procesul de normalizare care se bazează pe noţiunea de dependenţă funcţională (FD) ca relaţie între atributele unei entităţi cu caracter invariant. E. Prima formă normală Pentru ca un model să fie eficient datele trebuie să fie organizate astfel încât să fie uşor de accesat şi de întreţinut. pe care le-a numit anomalii de actualizare. F. ► Anomalia de adăugare. care constă în faptul că anumite date care urmează să fie şterse fac parte din tupluri în care se găsesc şi alte date care sunt necesare şi în continuare. E. Definiţie Normalizarea reprezintă procesul de descompunere a unui tabel Relaţional în mai multe tabele care satisfac anumite reguli şi care stochează aceleaşi date ca şi tabelul inițial astfel încât să fie eliminate redundanta în date şi actualizare. Aceste anomalii sunt: ► Anomalia de ştergere. ► Anomalia de modificare. acestea se pierd. Pentru a înlătura aceste anomalii. F. începând cu forma normală unu (1NF) şi ajungând (după ultimele cercetări) la forma normală cinci (5NF).3. anomaliile la 78 . Codd a demonstrat că într-o anumită formă relaţiile posedă proprietăţi nedorite. ceea ce face ca acestea să nu poată fi adăugate. Aceasta constă în descompunerea unei relaţii în conformitate cu mulţimea dependenţelor funcţionale F.

Prima formă normală  bază de date este în forma normală 1 dacă şi numai dacă toate câmpurile din
tabelele ei nu sunt repetate şi conţin numai valori indivizibile;

 Orice atribut poate avea o singură valoare pentru fiecare instanţă a unei entităţi.  În cazul în care pentru o entitate identificăm un atribut care are valori multiple, vom crea o nouă entitate pe care o vom relaţiona cu entitatea iniţială printr-o relaţie de tip M:M.

Pentru entitatea STUDENT am identificat următoarele elemente de caracterizare (atribute): Nume, Prenume, Număr Matricol, Data naşterii, Domiciliu, Număr telefon, Adresă e-mail şi Facultate. Acest model nu respectă prima regulă de normalizare deoarece există studenţi acre sunt înscrişi la mai multe facultăţi, adică atributul Facultate poate avea valori multiple. Vom rezolva această situaţie creând o nouă entitate FACULTATE pe care o vom relaţiona cu entitatea STUDENT.

79

Exerciţiu Examinaţi entităţile de mai jos. Respectă prima formă normală? Găsiţi o soluţie pentru fiecare situaţie.
1. 2
MAGAZINE # nr crt * nume * director * CUI * telefon o filiala

BON # nr bon * nr casa * ora o produse

Soluţie
aparţine PRODUSE # nr crt * denumire BON # nr bon * nr casa * ora o produse

80

Exerciţiu Să analizăm entitatea CARTE cu următoarea structură:

Această entitate nu respectă prima formă normală, deoarece o carte trebuie să fie scrisă de unul sau mai mulţi autori, prin urmare, atributul Autor are valori multiple. O soluţie posibilă este:

81

Fişă de lucru Desenaţi diagrama entităţi-relaţii (ERD) pentru care. se obţine: Fiecare PERSOANĂ trebuie să locuiască într-o LOCALITATE şi numai una. atributul entitatea relaţia Se consideră entităţile şi atributele: INFORMAŢIE METEO CLIENT ELEV PRODUS temperatură cont preţ număr matricol se stabileşte între entităţi poate avea mai multe instanţe are o singură valoare Stabiliţi corespondenţele corecte între noţiuni şi reprezentările lor grafice. citind relaţia existentă. Găsiţi corespondenţa dintre entităţile din stânga şi tipurile de relaţii din dreapta: ELEV şi CLASĂ AUTOR şi CARTE PERSOANĂ şi CNP ORAŞ şi STRADĂ M:1 M:M 1:M 1:1 Stabiliţi corespondenţele corecte dintre noţiunile de atribut. Fiecare LOCALITATE poate fi locuită de una sau mai multe PERSOANE. entitate instanţă atribut tabelă coloană linie 82 . atribut opţional atribut obligatoriu identificator unic # * o Utilizaţi săgeţile pentru a face asocierea corectă. entitate şi relaţie din coloana stângă şi afirmaţiile din coloana dreaptă.

Zelda. Salubritate Politie (2) Mai multe coloane reprezentând acelaşi tip de date/fapte/obiecte Exemple: Persoana Ion Maria Daniel Jocuri preferate(1) Doom2 Zelda WOW Jocuri preferate(2) Zelda Sims Zelda Jocuri preferate(3) Sims SuperMario Oraș București Brașov Scornicești Servicii publice Politie Canalizare Politie Servicii publice(2) Salubritate Politie Servicii publice(3) Canalizare Salubritate Interogările pentru a selecta înregistrări pe baza componentei câmpurilor repetitive sunt foarte dificile. Salubritate. Zelda (1) Mai multe valori semnificative in acelaşi câmp Oraș Dej Cluj Bistriţa Servicii publice Politie. 83 . De exemplu.Încălcări ale primei forme normale. o interogare pentru a selecta acele orașe care oferă acelaşi tip de Serviciu public. SuperMario Daniel WOW. Sims. Sims Zelda. Exemple: Persoana Jocuri preferate Ion Maria Doom2. sa spunem "Politie" (acesta putând să apară în oricare din coloanele "Servicii publice") va genera căutări in 9 perechi separate de coloane. Canalizare Politie. Canalizare.

se va utiliza cheia primară.Oraș București Brașov Scornicești Servicii publice Politie Canalizare Politie Servicii publice(2) Salubritate Politie Servicii publice(3) Canalizare Salubritate ID Oraș 1 București 2 Brașov 3 Scornicești 4 București 5 Brașov 6 București 7 Brașov Servicii publice Politie Politie Politie Salubritate Canalizare Canalizare Salubritate Oraș București Brașov Scornicești București Brașov București Brașov Servicii publice Politie Politie Politie Salubritate Canalizare Canalizare Salubritate Pentru a asigura unicitatea unei înregistrări. se asigura unicitatea fiecarei înregistrări. In exemplul de mai sus. autoincrementat. 84 . prin introducerea unei coloane adiționale de tip întreg.

Verificaţi dacă tabelele create respectă regula pentru 1nF. Care este regula pentru 1nF în procesul de normalizare? 3. Dacă nu. 85 . dacă nu.Creaţi entităţile ELEV şi Nota. Verificaţi dacă următoarele tabele verifică prima formă normală.Fişă de lucru 1. faceţi schimbările necesare pentru a fi corect. Timp de lucru 35 min. faceţi schimbările necesare. 4. Atunci când verificaţi un model de bază de date pentru prima formă normală ce se face exact? 2.

Stabilirea relaţiilor dintre noile entităţi (în scopul recuperării informaţiilor de legătură.5 A doua formă normală Definiţie O relaţie este în FN2 dacă şi numai dacă: 1. prin urmare nu este vorba de prima formă normală. Identificarea tuturor dependenţelor funcţionale dintre atributele entităţii 2. Aducerea unei relaţii la FN2 Fie e o entitate aflată în FN1. Descompunerea entităţii E în entităţi noi astfel:   Fiecare dependenţă funcţională completă defineşte o nouă entitate Din fiecare dependenţă funcţională parţială se elimină acea parte a cheii primare care este răspunzătoare de incompletitudinea dependenţei şi apoi se defineşte noua relaţie 3. celelalte atribute sunt dependente doar de o parte a cheii primare. Oricare dintre atributele sale care nu fac parte din cheia primară este complet dependent funcţional de cheia primară. Este deja în FN1 2. pierdute eventual prin înlocuirea entităţii iniţiale cu entităţile normalizate) Exemplul 1 DEPARTAMENT # cod_departament # IDangajat *data_nasterii *adresa Fie diagrama de mai sus care conţine colecţia facturilor de plată la un magazin. Realizarea acestei probleme se realizează prin introducerea unei entităţi noi 86 . aducerea ei la FN2 necesită: 1.3. De asemenea nu avem date care să se repete. Observăm ca avem o cheie primară compusă din două atribute.

Exemplul 2 Despre conturile de la o bancă. Exerciţiu Să analizăm fragmentul din diagrama de mai jos care modelează activitatea de împrumut al cărţilor din bibliotecă. 87 . O modelare a structurii impune crearea unei noi entităţi care să se refere la date despre bănci care să fie pusă in relaţie cu entitatea cont. Locaţia băncii se poate schimba în timp. fie entitate de mai jos: CONT # nrcont *sold *data desch *locaţia bancii Se pune problema posibilelor anomalii. nu este dependentă de numărul contului. Observăm că şi alte bănci pot fi titulari de conturi cu acelaşi număr de cont. sau pot apărea alte filiale.

ID-ul cititorului şi Cota cărţii. pentru a respecta cea de-a doua formă normală. Atributul titlu nu depinde de întregul identificator unic. 88 . care a fost rezolvată prin intermediul entităţii CONTRACT. atributul Titlu trebuie să facă parte din entitatea CARTE. Această diagramă nu respectă cea de a doua formă normală.Identificatorul unic al entităţii FISA ÎMPRUMUT este compus din Data. Aceasta este o relaţie M:M. Modificaţi diagrama astfel încât să respecte cea de a doua formă normală. Exerciţiu Să analizăm fragmentul de diagramă de mai jos care modelează relaţia CLIENTSERVICIU TURISTIC. Prin urmare. ci doar de Cota cărţii.

Relaţia este de tipul 1 la n.Soluţie Exerciţiu Fie entitatea de mai jos: Persoana #nr masina #cnp *marca masina *nume persoana *adresa Verifică condiţiile 2NF? Avem o cheie compusă formată din entităţile nr mașina şi cnp. observăm că celelalte entităţi depind de una din entităţile cheii primare: numepersoana de cnp şi adresa tot de cnp. Prin urmare vom descompune tabela în două tabele: O persoană poate avea mai multe maşini şi fiecare maşină are un singur proprietar. 89 .

Problemă 1. aduceţi-le la această formă. Ce relaţie se poate stabili între cele două tabele? b)Stabiliţi relaţia în baza de date astfel încât tabelul părinte să fie Terenuri. Se ştie că un proprietar poate avea mai multe terenuri dar un teren un singur proprietar. a) sunt cele două tabele in 2NF? Daca nu. c) Stabiliţi valoarea de adevăr a următoarelor afirmaţii: . 90 . Al doilea se numeşte terenuri şi conţine codul terenului şi suprafaţa sa. Fiecare tabel are drept cheie primară codul terenului.In tabelul Proprietari nu pot introduce un proprietar care are un teren de cod inexistent în tabelul Terenuri. Primul se numeşte Proprietari şi conţine numele proprietarului şi codul terenului pe care acesta în deţine.In tabelul Terenuri nu pot introduce un teren cu un cod inexistent în tabelul Proprietari. Se dau două tabele. .

cel care oferă puncte echipelor.3. realizează un proiect despre datele care le conţin – echipele de fotbal pentru băieţi şi genuri de muzică pentru fete. Fiecare echipă. relaţiile dintre entităţi.cei care stabilesc criteriile de evaluare şi analizează munca echipelor. aspect. tipul de legături între entităţi.cei care asamblează datele şi le transformă în informaţii pentru tabele. opţionale).cei care verifică corectitudinea datelor culese.  Un arbitru. Modele de date ce pot fi obţinute prin crearea relaţiilor între tabele. Echipa va conţine: “informaticianul”.cel care se ocupă de grafică.prin realizarea unei prezentări în Powerpoint.Rezultatul va fi prezentat cu videoproiectorul.     Grupele vor culege date de la mai multe formaţii sau echipe.5.  Juriul. Se vor puncta: entităţile create. Corectitudinea datelor culese. “reporterii” – cei care caută informaţii pe internet. Aspectul prezentării. Proiectul câştigător ca fi expus şi altor clase. Timp de lucru: două ore 91 .  Observatorii. atributele şi felul lor (obligatorii.1 Proiect în echipă Se împarte clasa în două grupe: grupa băieţilor şi grupa fetelor.cel care proiectează relaţiile designerul. “centralizatorii”.

6 A treia formă normală Nici un atribut nu poate să fie dependent de un atribut care nu este identificator unic al entităţii. tabela se va împărţi în două tabele.oraş Să considerăm un sistem care monitorizează informaţii despre oraşe . informaţia despre magazinul de unde am cumpărat CD-ul fac parte din aceeaşi entitate? În cazul în care adresa magazinului s-a schimbat. populaţia. Primul model prezintă o entitate care include informaţii ce depind de stat. primarul şi aşa mai departe. dar cauzează probleme de exemplu. Deoarece banii alocaţi se schimbă.3. Exemplu -CD Dacă ne gândim la tipul de informaţii pe care dorim să le stocăm despre un CD. Dacă avem mai mulţi prieteni care merg la aceeaşi scoală.mărimea. Exemplu Adrese prieteni Dorim să introducem diferite tipuri de informaţii pentru un prieten din agenda personală: numărul de telefon. în cazul în care şcoala si-a schimbat adresa.ce va corespunde formei a treia de normalizare. adresa. împreună . şi introducem adresa şcolii -stradă. nu ar fi numai duplicarea datelor. va trebui să se schimbe informaţii cu privire la toate CD-urile.suma alocată de stat pentru infrastructură. numele de şcoală sau la locul de muncă. va trebui să modificăm peste tot! Exemplu. ORAS #id *Nume *Suprafata *populaţie *judeţ *bani alocaţi ORAS #id *Nume *Suprafata *populaţie JUDET #id *Nume *bani alocaţi 92 .

nu de angajat. Atributul Adresa editurii va fi atribuit entităţii EDITURA. 93 . atribut care ne este identificator unic al entităţii CARTE. O posibilă soluţie de normalizare a tabelei este: Exemplu. deoarece data naşterii partenerului este un atribut de partener. Pentru a respecta a treia formă normală vom crea o nouă entitate numită EDITURA pe care o vom relaţiona cu entitatea CARTE.Exemplu afaceri Să presupunem regulă de afaceri următoarele: fiecare angajat poate avea un partener.CARTE Să analizăm entitatea CARTE: Această entitate nu respectă cea de-a treia regulă de normalizare deoarece atributul Adresa editurii depinde de atributul Editura. Acest model încalcă a treia formă normală.

O soluţie posibilă ar fi: 3. FN2.6. FN3 [5] 94 .Exerciţiu Să analizăm entitatea CLIENT modelată mai jos. Această entitate nu respectă cea de a treia formă normală.1Procesul normalizării prin etapele FN1.

Niciun atribut care nu face parte dintr-o cheie candidat nu este funcţional dependent de un alt atribut care nu face nici el parte dintr-o cheie candidat Se păstrează în entitatea iniţială numai cheia primară şi atributele care depind funcţional de ea direct (inclusiv atributul incriminat) Se creează câte o nouă entitate din fiecare atribut care nu face parte din cheia primară. FN2 Entitatea este în FN1.Condiţie de verificat Soluţie(normalizare) FN1 Toate atributele entităţii trebuie sa ia o singură valoare Fiecare atribut care ia mai multe valori pentru aceeaşi instanţă se transformă într-o nouă entitate. Se stabilesc relaţiile necesare între noile entităţi şi entitatea iniţială modificată.6. Toate atributele care nu fac parte din cheia primară sunt complet dependente funcţional de cheia primară. Fiecare parte a cheii primare. împreună cu toate atributele (care nu fac nici ele parte din cheia primară a entităţii iniţiale) care sunt dependente funcţional de acesta. Pentru desenarea unei entități se foloseşte: Alegeţi răspunsul corect din variantele de mai jos. împreună cu atributele care depind funcţional complet de ea formează o nouă entitate. Cheia sa primară constă din mai multe atribute. FN3 Entitatea este în FN2.2 Exerciţii recapitulative [21] 1. Instrucţiuni: Completaţi răspunsul de la tastatură în câmpul de mai jos. 2. un romb 95 . Se stabilesc relaţiile necesare între noile entităţi care au înlocuit-o pe cea iniţială. Se stabilesc relaţiile necesare între noile entităţi şi entitatea iniţială modificată. Precizați ce înseamnă normalizare specificaţi ce este prima formă de normalizare. 3.

Alegeţi dintre următoarele variante pe cele care citesc corect relaţiile dintre entitățile STUDENT şi PROFESOR : Alegeţi răspunsurile corecte din variantele de mai jos.  un subtip moşteneşte toate atributele supertipului  atributele unui subtip sunt atribute ale oricărui subtip  un subtip moşteneşte toate relată supertipului 4. Se consideră diagrama de mai sus. PECHINEZ. 6. un dreptunghi rotunjit la colţuri  un cerc. 3. Daţi un exemplu de scenariu cu două entități intre care sa se stabilească o relaţie unu la mai mulţi. 5.  Fiecare STUDENT trebuie sa fie pregătit de un PROFESOR şi numai unul  Fiecare STUDENT poate sa fie pregătit de un PROFESOR şi numai unul  Fiecare STUDENT trebuie sa fie pregătit de unul sau mai mulţi PROFESORI  Fiecare STUDENT poate fi pregătit de unul sau mai mulţi PROFESORI  Fiecare PROFESOR poate pregăti unul sau mai mulţi STUDENȚI  Fiecare PROFESOR poate pregăti un STUDENT şi numai unul 96 . Desenaţi diagrama şi citiţi relaţiile. Care dintre următoarele afirmaţi sunt corecte? Instrucţiuni: Alegeţi răspunsurile corecte din variantele de mai jos. Scrieţi cate o entitate pentru fiecare dintre instanţele următoare: CRAIOVA. URS. PORUMB precizaţi tipul identificatorilor.

Pentru entitatea ANGAJAT : . 9. trei instanţe ale acesteia. însă exista şi profesori care pregătesc mai multe grupe de elevi. Dați exemplu de: entitate. 11. Instrucţiuni: Completaţi răspunsul de la tastatura in câmpul de mai jos. Fiecare elev face parte dintr-o grupa de elevi de a căror pregătire se ocupa u singur profesor. precum şi opţionalitatea şi cardinalitatea ei. Scrieţi câte o entitate pentru fiecare dintre atributele următoare: temperatura. 10. Realizaţi diagrama entitate-relaţii (ERD) şi specificaţi regulile structurale şi de proces pentru o editură. precum şi opționalitatea lor tipul fiecărui atribut exemple de valori pentru fiecare atribut trei exemple de instanțe .  un atribut care trebuie precedat de simbolul *. 97 . Fiecare PROFESOR trebuie sa pregătească unul sau mai mulţi STUDENȚI  Fiecare PROFESOR trebuie sa pregătească un STUDENT şi numai unul. Se consideră următorul scenariu: intr-o şcoala exista mai mulţi elevi care au probleme in utilizarea anumitor cunoștințe de informatica. La nivelul şcolii fost stabiliţi anumiţi profesori care se ocupa cu pregatirea acestor elevi.specificați . data de început.  un atribut opțional. 7. Este acesta atribut volatil? Daca da.dați 12. Se consideră un model care gestionează situaţia elevilor în cei patru ani de liceu. Un atribut care nu are valoare obligatoriu este:  un atribut care nu poate fi folosit. două atribute. înlocuiți-l cu unul care sa nu fie volatil. identificator unic. Specificaţi relaţia care se stabilește intre entitățile ELEV şi PROFESOR. Desenaţi diagrama şi citiţi relaţia ambele sensuri.  un atribut care trebuie precedat de simbolul . Diagrama va avea minim 4 entități.specificați . Pentru fiecare din entităţile de mai sus indicaţi identificatorul unic specific.dați atributele pe care le considerați importante. 8. preţ. Entitatea ELEV are unul dintre atribute clasa.

Stabiliți care dintre exemplele din stânga sunt exemple de entităţi. Se consideră următorul scenariu: intr-o şcoală există mai mulţi elevi care au probleme în utilizarea anumitor cunoștințe de informatică. animal Popescu George vârsta Entitate sau instantă Instanţă atribut 16. 15. Precizaţi dacă există o relaţie redundantă. Se consideră diagrama de mai jos. Specificați relaţia care se stabilește intre entităţile ELEV şi PROFESOR. Fiecare elev face parte dintr-o grupa de elevi de a căror pregătire se ocupa un singur profesor. Utilizaţi săgețile pentru a face asocierea corectă. însă există şi profesori care pregătesc mai multe grupe de elevi. da  nu 98 . precum şi opționalitatea şi cardinalitatea ei. instanţe sau atribute. Relaţie netransferabilă.13. La nivelul şcolii fost stabiliţi anumiţi profesori care se ocupa cu pregatirea acestor elevi. 14. Desenaţi diagrama şi citiţi relaţiile. Ce fel de relaţie este aceasta?  Relaţie transferabilă. Se consideră o relaţie de la entitatea STUDENT la entitatea CARNET DE NOTE. Daţi un exemplu de scenariu cu două entităţi între care sa se stabilească o relaţie unu la mai mulţi. 17. Desenaţi diagrama şi citiți relaţia în ambele sensuri.

Pentru fiecare din entităţile de mai sus subliniaţi şi identificatorul unic specific. CAINE sa fie instanța unei entităţi care se va preciza. precum şi identificatorul unic pentru fiecare entitate în parte. Scenariul 2) își propune o cercetare pentru o firmă care-şi vinde produsele exclusiv printr-un magazin propriu. specializarea. Se încearcă o cercetare privind diversele epidemii apărute în ultimii ani în Europa. număr leucocite. Se consideră o Relaţie de la entitatea STUDENT la entitatea CURS. bluze. Identificați. număr doctori. situat intr-un spaţiu închiriat din incinta unui mall. spitalul unde profesează. Se consideră două scenarii de afacere: Scenariul 1) își exclusiv on-line. 19. atributele şi optionalităţile lor. Construiţi diagrama corespunzătoare acestui scenariu. Daţi două exemple de scenarii. aşa cum rezultă din scenariul de mai sus. valoare glicemie. Scrieţi câte o entitate pentru fiecare dintre instanțele următoare: CRAIOVA. adresa de e-mail. fuste. 20. pantaloni. sex. numele. entităţile. iar in celalalt. vârsta. URS. In această cercetare sunt implicaţi şi anumiţi pacienţi pentru care este important sa se cunoască: vârsta. Relaţie netransferabila 23. diagnostic. unul in care sa avem entitatea CAINE. PORUMB. se va ţine ( de localitate. 22. Pentru fiecare dintre acestea se păstrează informații specifice. PECHINEZ. Se consideră o fabrica de confecții care produce: rochii. adresa de e-mail. Pentru fiecare spital care participă la această cercetare. număr paturi. Pentru produsele cele mai vândute este importantă identificarea vârstei cumpărătorilor 99 propune o cercetare pentru o firma care-şi vinde produsele . valoare colesterol. Ce fel de Relaţie este aceasta? Relaţie transferabila. Sunt implicaţi în această cercetare mai multe specialități pentru care se cunoaşte.18. Pentru produsele cele mai vândute este importanta identificarea vârstei cumpărătorilor respectivi şi de aceea una dintre entitățile de interes este CLIENT cu atributele: nume. 21.

adresa de e-mail. vârsta. Precizaţi care sunt opţionalitaţile atributelor pentru fiecare scenariu. Instrucţiuni: Utilizaţi săgețile pentru a face asocierea corectă. Scenariu 1 Scenariu 2 Scenariu 2 Scenariu 1 Scenariu 1 Scenariu 2 * nume * vârsta * vârsta * nume * adresa de e-mail o adresa de e-mail 100 .respectivi şi de aceea una dintre entitățile de interes e CLIENT cu atributele: nume.

Prezentarea se va face cu videoproiectorul după timpul alocat proiectului.7 Proiect final Realizaţi în grupe de câte 5 elevi un proiect despre o posibilă afacere în care se ţine evidenţa datelor mai multor feluri de informaţii.3. Stabiliţi cheile primare. Fiecare elev va avea un rol în realizarea proiectului. Precizaţi 5 rezultate care doriţi să le aflaţi. Stabiliţii relaţiile dintre datele din tabele. Identificaţi datele necesare în tabele. Desenaţi diagramele corespunzătoare. Timp de lucru: 90 minute. 101 .

de a se descurca în diferite situaţii problemă. Evaluarea de tip formative este centrată pe strategiile specifice folosite de elev în rezolvarea problemelor. Desfăşurarea lecţiilor privind formarea noţiunilor de Entitate. Fiind o evaluare sistematică şi analitică a oferit informaţii concrete în legătură cu nivelul de atingere a competenţelor elevilor. de muncă independentă sau în grup. echipele nu au analizat în proporţie de sută la sută ce şi-au propus dar au reuşit să aducă corect baza de date la prima formă normală. prin metode moderne şi prin evaluare formativă. sau chiar modificări ale metodelor şi procedeelor utilizate la clasă. În urma experimentului didactic am constatat că elevii ajung progresiv să fie interesaţi de subiect. formă normală. încât a motivat elevii să înveţe. Din analiza datelor se constată o evoluţie pozitivă a competenţelor de a-şi forma o gândire proprie. să îşi monitorizeze progresul dar şi lacunele sau erorile. Modelele propuse evaluării au fost adaptate caracteristicilor elevilor. asigură eficienţa sporită atât sub aspectul trăiniciei cunoştinţelor însuşite cât şi sub aspectul formării la elevi a unor calităţi şi capacităţi intelectuale. fiind antrenaţi de idei uneori ingenioase dar apoi dezbătute şi analizate de întreaga clasă. sugerând ajustările necesare. precum şi din observaţiile făcute pe tot parcursul experimentului didactic se pot formula o serie de concluzii care să confirme valoarea evaluării continue aplicată în cadrul secvenţei de instruire la clasa a XIII-a A. Elevii au dovedit că au un spirit de echipă.Concluzii Din analiza rezultatelor obţinute la testele aplicate. fiind legate de un domeniu de cunoştinţe de deprinderi. Din punct de vedere al dezvoltării intelectuale parcurgerea secvenţelor de învăţare din unitatea “Modelarea datelor “ elevul a luat la cunoştinţă problemele cu care se confruntă cel care proiectează o bază de date pentru a putea fi exploatată cât mai corect posibil. identificând acele strategii care provoacă o dezvoltare a eficienţei. cheie primară. la început fiind mai greu sa-şi însuşească noţiunile introduse. dar şi de cercetare individuală sau în grup. relaţie. 102 . Din studiul efectuat şi din experimental didactic am observat că elevii se angajează bine în practicile comunicative şi folosesc bine instrumentele de comunicare . cu dificultăţile de învăţare întâmpinate de elevi. ce a făcut obiectul temei investigate. Evaluarea a fost astfel proiectată şi realizată.

103 . elevii dând dovadă de simţ practic în prezentările făcute. analizând destul de bine situaţiile alese.Susţinerea proiectelor finale cu ajutorul proiectorului a fost cel mai culminant moment.

Nistorescu M. ... Achinca C. G. Panţiru.. Boriga. M. notr de curs. . Editura Paralela 45.A. Jucan. . Editura All 2007 12.. 1996 9.. Mazilu.Panţiru I. Editura ALL 2007 4. Editura Promedia Plus 2003. . McFadden. Introducere in arheologia informatizată.“Baze de date” – documentaţie online 17.. M. Benjamin/Cummings 1994 8. G. M. 16. .Modern Database Management. Piteşti 3. Trandafir R..R. varianta Access manual pentru clasa a 12a.Informatica manual pentru clasa a 12a. – Informatică tehnologii asistate de calculator. Bocoş. Bucă..I.I. Gheorghe M. Tâmbulea. Panţiru I. M. Witt. 2005 11. Alin . Editura L&S Soft 2005 2. Huţanu V.editura L&S 2003 10. Serban.ro/~preda/ 13. Panţiru M.G. Editura Corint. Tătărâm. Ed. http://www..Baze de date în economie.note de curs Modelul entitate-asociere clasic 14. Fundamentele pedagogiei. D. Pestriţu. M. 2006 104 . Culegere de probleme Visual Fox Pro . Radulescu.R... note de curs 7. Lazarovici.pub. Hoffer. E. Access pentru programatori. 4nd ed. Panţiru M.. P. 2005 15. Neagu.. 2007 6.. M. Burţa. Micle D. Simsion. ED. F. –Access Curs pentru liceu . Nicola. . Bucureşti.M.. Iacob. F. I. I.. Pedagogie. J.L. Panţiru. Bazele Informaticii şiLimbaje de Programare.. L&S Soft.Informatică – Manual pentru clasa a XII-a. Manual pentru clasa a 12a.Bibliografie 1..G. Gh. Cerchez .. Preda. Didactică şi Pedagogică Bucureşti. Teoria şi metodologia curriculumului. Morgan Kaufman Publishers. A -Modelarea datelor Manualul profesorului documentaţie online 5. – Data Modeling Essentials.elth. .

www.ro/insam 105 . Cursurile Oracle Internet Academy (http://academy. Documentaţie Wikipedia.com 20.referate. Cioban V. Referate online.wikipedia. http://www.org 21. note de curs .ppt 19.ro 21.oracle.ubbcluj. Teste de evaluare din siteul https://insam.cs.softwin.18.ro/~vcioban/Geografie/Anul1/cap03.enciclopedia liberă www.

Sign up to vote on this title
UsefulNot useful