Documente Academic
Documente Profesional
Documente Cultură
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. Obinerea modelului logic de date ...................................................................... 31 CAPITOLUL II ....................................................................................................... 32 MODELUL LOGIC RELATIONAL. NORMALIZAREA .......................................... 32 Modelul logic relaional ....................................................................................... 33 2.1. Concepte de baz [20] ....................................................................................... 33 2.2 Relaii ntre tabele (Relationships)[12] ................................................................. 34 2. 3 Restricii de integritate ........................................................................................ 36 2.4 Regulile lui Codd [17] .......................................................................................... 37 2.5.Proiectarea bazelor de date relaionale [17] ........................................................ 38 2.6 Normalizarea bazei de date................................................................................. 40 2.7 Prima form normal (1NF First Normal Form) [11] ........................................ 42 2.8 Dependene funcionale [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 predrii normalizrii ....................................................... 53 n cadrul unitii de nvare ............................................................................... 53 3
"MODELAREA DATELOR .................................................................................. 53 3.1 Experimentul didactic .......................................................................................... 54 3.2 Caracterizarea claselor cuprinse n experiment .................................................. 54 3.3 Unitatea de nvare 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
Introducere
Bazele de date se regsesc la tot pasul n viaa noastr de zi cu zi: la coal, la magazin, la agenia CFR sau la banc, oriunde. n spatele acestor aplicaii att de raspndite i de uor de utilizat se afl o ntreag echip care a analizat activitatea respectiv, a identificat cerinele beneficiarilor, a realizat un model care s permit rezolvarea eficient a acestor cerine, apoi l-au implementat, rezultnd o baz de date i un pachet de programe care s permit exploatarea acesteia. Modelarea datelor reprezint prima etap n dezvoltarea aplicaiilor orientate pe baze de date i const n analiza datelor i a relaiilor dintre acestea n scopul elaborrii modelului conceptual. Eficiena modelului realizat este determinant pentru aplicaia creat. Dei pentru un dezvoltator de baze de date studiul modelrii datelor este echivalent cu studiul algoritmicii pentru un programator, modelarea datelor nu este studiat sistematic i riguros n coal, accentul fiind plasat pe partea de implementare i de exploatare. Se studiaz amnunit elemente de sintax a unui limbaj de manipulare a datelor i cum se utilizeaz elementele limbajului pentru interogarea bazei de date, dar... nu nvm s proiectm baza de date. Nu nvm s comunicm cu beneficiarii, sa analizm cerinele acestora pentru a identifica datele relevante i relaiile importante care exist ntre acestea. In lucrarea de fa se ncearc s se arate rolul analizei proiectrii bazelor de date i necesitatea realizrii unor judeci ct mai corecte despre viziunea de ansamblu a situaiilor ce pot aprea n practic.
1.1 Istoric[20]
Cnd vine vorba despre stocarea informaiilor, pentru unii acest termen nseamn o agenda veche n care sunt trecute toate datele importante de care au nevoie: adrese, numere de telefon, informaii financiare s.a.m.d.. Pentru cei din domeniul IT i nu numai, nseamn sisteme dedicate special stocrii datelor importante. n acest articol voi face o istorie a ceea ce nseamn stocare datelor cu ajutorul produselor informatice. Primele baze de date erau dezvoltate pe sisteme mainframe i erau manipulate de oameni special pregtii pentru a gestiona aceste sisteme. Aceste baze de date erau simple Sisteme de Gestiune a Bazelor de Date (SGBD). Primul Sistem de Baze de Date Relaionale (SGBDR) a fost lansat de Oracle Corporation i folosea limbajul de interogare SQL. Dei versiunea original a fost dezvoltat pentru sisteme VAX/VMS, Oracle a fost unul dintre primii furnizori care a lansat o versiune i pentru sistemele PC pe sistemul de operare DOS. La jumtatea anilor 80, Sybase a lansat propriul sau SGBDR - SQL Server. Acesta avea biblioteci client pentru accesul la baza de date. Asigurnd suportul pentru proceduri rezidente (astzi denumite "proceduri stocate") i interoperabilitatea cu o diversitate de reele, SQL Server a devenit un produs de succes n scurt timp, mai ales n mediile client/server. O dat cu dezvoltarea sistemelor personale (PC), au aprut i primele aplicaii de baze de date care foloseau un singur fiier pentru a stoca toata informaia din baza de date (denumite baze de date "flat file"). Ele erau de tip Xbase, un limbaj care s-a rspndit foarte repede fiind folosit in special la manipularea datelor. Sistemele care l-au folosit, daca mai este nevoie sa le enumer, au fost dBase, FoxBase, FoxPro. Aceste versiuni rulau sub sistemul MS-DOS i mprteau limitrile acestuia. Cea mai rspndit aplicaie care folosea limbajul xBase a fost FoxPro, sistem dezvoltat de firma Fox Software. Chiar i n zilele noastre exist firme care stocheaz alte extrem de importante n baze de date FoxPro, iar cel mai cunoscut exemplu este cel al organizaiei care gestioneaz Euro Tunel. Aceasta folosete o aplicaie care gestioneaz cteva sute de GB de date.
La nceputul anilor 90, firma Microsoft Corporation a lansat aplicaia Access, aplicaie care se bazeaz n mare parte pe logica de stocare a sistemului FoxPro, sistem care fusese achiziionat de firm n 1989. Aplicaia Access a devenit, n scurt timp, cea mai folosit aplicaie de gestiune a bazelor de date "flat file" de pe sistemele personale. Ajuns acum la versiunea 9 (denumit 2000), sistemul de stocare s-a schimbat fiind pregtit s fie scalat oricnd ctre o baza de date Microsoft SQL Server. Totodat, ncepnd cu versiunea 7 i s-a adugat un limbaj de programare dedicat (Visual Basic for Applications - VBA), bazat pe limbajul de programare Visual Basic. Prin intermediul acestuia se puteau manipula datele mai uor, se puteau folosi automatisme pentru diverse interogri, afiri etc. ncepnd cu versiunea 9, limbajul integrat este compatibil cu Visual Basic i cu limbajul folosit de MS SQL Server. n privina sistemelor server, piaa s-a dezvoltat uimitor de repede deoarece sa constatat ct de folositoare sunt sistemele dedicate acestui lucru. Oracle a lansat i i-a dezvoltat baza de aplicaii server, astzi ajungnd la versiunea 9. ncepnd cu versiunea i, au fost introduse extensii orientate pe obiecte. Lansat cu ocazia Oracle OpenWorld , Oracle i reprezint cea mai complet infrastructura pregtit pentru rularea aplicaiilor Internet. Oracle i include Oracle i Database i Oracle i Application Server i pachetul de unelte de dezvoltare Oracle i Developer Suite. n ceea ce privete corporaia Microsoft, aceasta a lansat tot n anul 2000 serverul de baze de date SQL Server 2000. Aplicaia se dorete a fi un concurent direct pentru aplicaiile Oracle, iar pentru acest fapt i s-a adugat suport 100% pentru limbajul XML prin intermediul cruia se poate interoga direct serverul dintrun browser (dac serverul a fost configurat s suporte aceast facilitate). Tot n 2000, compania IBM a lansat varianta 7 a aplicaiei DB 2. Aceast aplicaie, ca i Oracle, este implementata pe mai multe platforme (inclusiv Linux), fiind o aplicaie pur obiectual. i pentru ca am ajuns la aplicaii de baze de date obiectuale, trebuie s amintim i de aplicaia companiei Computer Associates, Jasmine. Deoarece despre aceasta aplicaie nu se tiu prea multe n Romnia, promit ca am sa revin cu mai multe detalii. Pe sistemele Linux, cel mai folosit server de baze de date este MySQL. Cu toate c exist un alt produs gratuit (MySQL este gratuit att timp ct aplicaia
8
dezvoltata nu este revnduta) - PostgreSQL, MySQL rmne preferatul programatorilor de Linux. De ce? Pentru c limbajul cel mai folosit pe partea de server web - PHP - dispune de o extensie MySQL nglobat. Dar nu numai acest lucru a influenat folosirea MySQL. Una dintre alegeri a fost i datorit uurinei administrrii acestui sever, el dispunnd de un client de accesare inclus.
1.2 Elemente de fond Organizarea datelor se realizeaz intr-o form centralizat care prezint o serie de avantaje: 1. reducerea redundanei datelor memorate; 2. evitarea inconsistenei datelor memorate; 3. posibilitatea partajrii datelor; 4. ncurajarea introducerii standardelor 5. posibilitatea aplicrii restriciilor de securitate; 6.Meninerea integritii datelor. Independena datelor este o problem a crei rezolvare constituie un scop n sine n concepia i organizarea oricrei baze de date. Independena 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).
alte componente proceduri manuale sau automate, inclusiv reglementri administrative, destinate bunei funcionri a sistemului, dicionarul bazei de date (metabaza de date) care conine informaii despre date, structura acestora, elemente de descriere a semanticii, statistici, documentaii, mijloacele hardware utilizate, personalul implicat.
Arhitectura intern a unui sistem de baze de date conform standardului ANSI/X3/SPARC (1975) conine trei niveluri funcionale. O caracteristic fundamental a bazelor de date este aceea c produce cteva niveluri de abstractizare a datelor prin ascunderea (transparena) detaliilor legate de stocarea datelor, utilizatorilor. Se definete modelul datelor, ca un set de concepte utilizat n descrierea structurii datelor. Prin structura bazei de date se nelege tipul datelor, legtura dintre ele, restriciile aplicate datelor. O structur de date asociat unei baze de date poate fi reprezentat pe trei niveluri, Figura 2, astfel [17]:
Nivelul intern constituit din schema intern ce descrie structura de stocare fizic a datelor n baza de date, utiliznd un model al datelor fizice. La acest nivel se descriu detaliile complete ale stocrii i modul de acces la date.
Nivelul conceptual sau schema conceptual, descrie structura ntregii baze de date pentru o cumunitate de utilizatori. La nivel conceptual se face o descriere complet a bazei de date ascunzndu-se detaliile legate de stocarea fizic i detaliind descrierea entitilor, tipurilor de date, relaiile dintre ele i restriciile asociate.
10
Scheme externe [6] O schem extern reprezint coninutul bazei de date aa cum este ea vzut de un utilizator particular. Exemplu: Pentru un utilizator poate s apar ntr-o vedere atributul numr strchini (= numrul fragmentelor ceramice de tipul N), dar la nivel logic i fizic acest atribut nu este indicat, din cauza permanentei modificri a coninutului su. n acest caz se folosete la nivel logic atributul ceramic (= numrul total general de fragmente ceramice) din care se scad atributele nr. oale, nr. farfurii, nr. chiupuri, etc. (= numrul fragmentelor ceramice MN) din baza de date. Astfel se permite aflarea numrului exact al fragmentelor ceramice de tip strachin din baza de date. Pentru utilizatorul obinuit, modul de definire a vederilor este transparent, el putnd s obin sau s modifice informaiile dorite prin intermediul unor comenzi cu 11
structur dat, folosind formule predefinite pe care le completeaz sau poate utiliza un sistem de meniuri. n reprezentarea intuitiv a vederilor intervin noiunile de entitate, relaie, atribut, cheie, funcionalitate, diagram, i altele pe care le vom definii ulterior.
Scheme conceptuale O schem conceptual este o reprezentare a ntregii informaii coninute n baza de date ce combin subschemele vederilor ce privesc o anumit aplicaie ntr-un model unitar. Acest tip de schem trebuie s se bazeze pe un model teoretic i s fie simpl, adic uor de neles i de prelucrat. Sistemele de gestiune a bazelor de date au fost clasificate n trei grupe mari, n funcie de tipul elementelor cu care lucreaz i a structurilor obinute: a. modelul reea permite lucrul cu entiti i relaii binare de tipul 1:1 i 1:N, diagrama rezultat fiind un graf oarecare; b. modelul arborescent (ierarhic) permite lucrul cu entiti i relaii binare de tipul 1:1 i 1:N, iar diagrama este alctuit dintr-o mulime de arbori; c. modelul relaional n care intervin numai relaii i operaii cu aceste relaii. Scheme interne Schemele interne descriu diferitele fiiere utilizate pentru memorarea informaiilor bazei de date i modul de operare cu ele. Exist mai multe moduri de organizare a fiierelor, cele mai cunoscute fiind: organizarea secvenial; organizarea cu index rar; organizarea cu index dens; organizarea cu dispersie; organizarea folosind B-arbori.
Sistemul de gestiune a bazelor de date (DBMS) este softul (programul) care coordoneaz toate accesele la baza de date, n modul urmtor: a. un utilizator emite o cerere de acces, folosind un limbaj particular de manipulare a datelor; b. DBMS-ul intercepteaz cererea i o interpreteaz; 12
c.
DBMS-ul
inspecteaz,
pe
rnd,
schema
extern,
maparea
extern/conceptual, schema conceptual, maparea conceptual/intern i definiia de structur de memorare; d. DBMS-ul realizeaz operaiile necesare asupra bazei de date memorate. Administratorul bazei de date (DBA) urmeaz apoi s gestioneze operaiile specifice, responsabilitile lui incluznd: decizia asupra coninutului informaiei inclus n baza de date; decizia asupra structurii de memorare i a structurii de acces; legtura cu utilizatorii; definirea procedurilor de verificri autorizate i de validri; definirea unei strategii pentru salvri i restaurri; monitorizarea performanei i rspunsuri la schimbri de cerine.
Instrumentul utilizat de DBA n lucrul cu programele utilitare este dicionarul de date. El este o baz de date ce conine date despre date, adic descrieri ale obiectelor sistemului. De asemenea att DBA ct i utilizatorul beneficiaz de o interfa utilizator pentru a uura accesul la date. Aceast interfa poate fi definit ca un ecran n sistem, sub care totul devine invizibil pentru utilizator. Interfaa se afl ntotdeauna la nivelul extern. ntr-un sistem de baze de date (DBMS) datele sunt memorate la locaia la care sunt folosite mai des, dar ele sunt disponibile (prin reeaua de comunicaii) i utilizatorilor din alte locaii. Acest tip de baz de date, mprtiat ntr-o reea de calculatoare se numete baz de date distribuite.
13
Depinde de: Dac suntem interesai n diferite tipuri de animale, este logic s ne gndim la un animal entitate cu cinele cazuri, pisica, cai i aa mai departe. Dar daca vom rula o afacere de cine-de ras? Avem nevoie de a pstra date despre rase diferite de cini, dar nu i pe alte specii de animale. Pentru un cine-de rasa, aceasta este mai natural s ne gndim la un cine cu instane ca CIOBNESC, DALMAIAN, LABRADOR i aa mai departe. Set de entiti
Gradul relaiilor
Atributele atribut: proprietate sau caracteristic a unui tip de entitate care prezint interes este memorat n fiecare instan a tipului de entitate respective toate instanele unui tip de entitate au aceleai atribute valorile unui atribut difer de la o instan a lui E la alta exemple de tipuri de entiti i atribute: STUDENT: NUMR MATRICOL, NUME, ADRES, NUMR TELEFON ANGAJAT: MARC, NUME, ADRES, CALIFICARE AR: DENUMIRE, CONTINENT, SUPRAFA, POPULAIE AUTOMOBIL: NUMR NMATRICULARE, CULOARE, GREUTATE, PUTERE VNZARE: DATA, CINE VINDE, CUI VINDE, VALOARE 15
CURS UNIVERSITAR: DENUMIRE, SPECIALIZARE, SEMESTRU, PROFESOR, NUMR ORE PE SPTMN, FORM DE EXAMINARE
Clasificarea atributelor unui tip de entitate atribut cheie: identific o instan a entitii cheie simpl - un singur atribut cheie compus - un grup de atribute
atribut non-cheie
Tipuri de atribute cheie cheie candidat: identific unic o instan a entitii 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 entiti E [Bruce, 1992] (i) cheia candidat a lui E care nu-i modific valoarea pe toat durata de via a oricrei instane (ii) pentru orice instan a lui E, atributele lui CP au valori valide i non-nule (iii) dac CP are prea multe atribute, se nlocuiete cu o cheie surogat (iv) nu folosim chei inteligente (clasificare, localizare, structurare)
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
Relaii
relaie: asociere ntre instane ale uneia sau mai multor tipuri de entiti care prezint interes pentru problema studiat
numrul de tipuri de entiti care particip n relaie Clasificarea relaiilor dup gradul lor: unare sau recursive (de gradul 1) binare (de gradul 2) ternare (de gradul 3)
O relaie se poate referi la o entitate n sine. Examinai-va urmtorul scenariu. Un angajat gestioneaz SALARIAI Un angajat este gestionat de un angajat Fiecare angajat are un singur manager, inclusiv directorul general, care gestioneaz el / ea. Fiecare manager poate gestiona mai muli angajai. " Din moment ce managerii sunt, de asemenea, angajai, exist o singur entitate aici: Angajat.
CLIENT are comenzi: opionalitate i cardinalitate. Opionalitate: trebuie sau poate? Fiecare comand trebuie s fie plasat ctre un CLIENT. Fiecare client trebuie s plaseze una sau mai multe comenzi. Cardinalitatea = Cte? Fiecare comand trebuie s fie plasate ctre un (i numai unul) CLIENT. Fiecare client trebuie s plaseze una sau mai multe comenzi. La modul general, considerm dou entiti A i B; numim cardinalitate: de la entitatea A la entitatea B: numrul de instane ale entitii B asociate unei instane a entitii A. de la entitatea B la entitatea A: numrul de instane ale entitii A asociate unei instane a entitii B.
Relaii unare
19
Relaie ternar
Exprimarea cardinalitii m:M se pune la captul B pentru relaia de la A la B m - cardinalitate minim: numrul minim de instane ale lui B asociate unei instane a lui A M - cardinalitate maxim : numrul maxim de instane ale lui B asociate unei instane a lui A m = 0 - relaie opional m > 0 - relaie obligatorie m = M - se specific numai unul dintre ele
20
1.4.2 Modelarea conceptual a datelor folosind modelul E-R (entitate-relaie)[16] n faza de proiectare conceptual a bazelor de date se proiecteaz schema conceptual i schemele externe ale bazei de date. Modelul Entitate-Relaie (Entity-Relaionship Model) este un model conceptual de nivel nalt al unei baze de date, care definete mulimile de entiti i asocierile dintre ele, dar nu impune nici un mod specific de structurare i prelucrare a datelor. Elementele eseniale ale modelului Entitate-Relaie sunt entitile (entities) i asocierile dintre acestea (Relationships). Toate entitile similare, care pot fi descrise prin aceleai atribute, aparin unui acelai tip de entitate (entity type), iar colecia tuturor entitilor de acelai tip dintr-o baz de date constituie o mulime de entiti (entities set). n general, n modelul E-A se folosete aceeai denumire att pentru un tip de entitate ct i pentru mulimea
entitilor de acel tip. Fie urmtorul exemplu ntre dou entiti: Entitate A entitate B
Fiecare entitate A Opionalitate (trebuie s fie / pot fi) Cardinalitatea entitatea B; O relaie are dou sensuri, prin urmare deosebim: 21
Putem avea atribute cu valori multiple cum ar fi n exemplul de mai jos calificrile unui angajat mai multe la numr:
Pot aprea i mai multe atribute cu valori multiple, de exemplu, pentru entitatea STUDENT vom avea atribute repetitive pentru DISCIPLINA, DATA EXAMEN, NOTA:
22
Modelarea datelor dependente de timp (time-stamping) Fie entitatea PRODUS din imaginea de mai jos; spre deosebire de situaiile de mai sus aici intervin atribute repetitive dependente de momentul n care un produs este nregistrat:
23
1.4.3 Generalizarea[16] Generalizare se numete procesul de minimizare a diferenelor dintre entiti, pentru identificarea caracteristicilor comune. Tehnici de gestionare: definirea i descompunerea asocierilor; clasificarea n entiti i atribute; definirea asocierilor (se specific gradul, conectivitatea i obligativitatea); integrarea vederilor (pentru baze de date complexe diagramele rezultate trebuiesc integrate avnd grij s nu apar probleme de redundan sau inconsisten) 1.4.4 Exemplu de modelare E-R [20]
2. Descrierea problemei
Vacane la Munte i la Mare (VMM) este o firm de turism care are n proprietate i nchiriaz cabane de vacan n toat ara. Exist dou tipuri majore de proprieti: montane i marine. Majoritatea nchirierilor se fac pe durata unei sptmni (unitatea de nchiriere este sptmna). Se cere s se realizeze o aplicaie pentru planificarea nchirierii proprietilor VMM. 2. Definirea entitilor i atributelor acestora Modelarea conceptual a datelor pornete de la patru documente folosite n sistemul de eviden manual: Client, Contract de nchiriere, Proprietate marin i Proprietate montan. Fiecare document va considerat ca entitate i va fi modelat separat. 2.1. Entitatea CLIENT
CLIENT NUME ADRES TELEFON 064-145321 056-234543 01- 8989891 SUMA MAXIM 200.000 250.000 300.000
Petre Ionescu Soporului 15, 3400 Cluj-Napoca Georgiana Duu Mrului 21, 1900 Timioara Romeo Tudor Fraii Buzeti 3/20, 75112 Bucureti
a) Documentul CLIENT
24
Explicarea diagramei E-R 1. Exist o relaie ntre PROPRIETATE MARIN i PROPRIETATE, ca i ntre PROPRIETATE MONTAN i PROPRIETATE. 2. Exist o relaie numit Semneaz ntre CLIENT i CONTRACT DE NCHIRIERE. Cardinalitatea acesteia este opional 0-M de la CLIENT la CONTRACT DE NCHIRIERE i obligatorie de la CONTRACT DE NCHIRIERE la
25
CLIENT. Prin urmare nu poate exista un contract de nchiriere semnat i fr chiria valid.
1.5.1. Modelul logic de date Scopul modelrii logice a datelor este obinerea unui model de date adecvat pentru implementare. Caracteristicile unui model de date bun Un model de date descrie structura datelor adic modul n care utilizatorul percepe datele precum i operaiile efectuate asupra datelor (accesare, modificare): (a) simplitate (b) non-redundan (c) flexibilitate i adaptabilitate la ntreinere (d) independena de main i de softul de sistem folosit
Clase de modele logice de date ad-hoc ierarhic reea relaional orientat pe obiecte
Modelul ad-hoc
fiecare aplicaie are propriul su model de date caracteristici : lipsa controlului centralizat asupra datelor lipsa operaiilor abstracte de manipulare a datelor
26
dependena de implementarea concret modele matematice: modelul relaional i modelul orientat pe obiecte
Modelul ierarhic
istoric: nceputul/mijlocul anilor 70 avantaje regsire foarte eficient a datelor adecvat modelelor stabile de date (nu se modific n timp)
dezavantaje rigiditate lips de flexibilitate orice modificare a definiiei datelor provoac reorganizri masive
Modelul reea istoric: nceputul/mijlocul anilor 70 generalizare a modelului ierarhic regsire foarte eficient a datelor mai flexibil dect modelul ierarhic
avantaje
27
Modelul relaional deosebirea fa de modelul ierarhic: legturile dintre tabele nu se exprim prin adrese fizice, ci prin valori de cmpuri avantaje mai flexibil dect modelul reea SQL - nivel nalt, neprocedural mai puin eficient dect modelele anterioare o tabel are structur liniar elementele unei coloane sunt de acelai tip
dezavantaje
Modelul orientat pe obiecte deosebirea fa de modelul ierarhic : obiecte complexe, operaii complexe (grafic, transformare) avantaje elimin liniaritatea modelului relaional aplicaii specifice CAD, GIS,
28
pai 1. Transformarea entitilor n relaii (tabele) ale modelului relaional 2. Reprezentarea relaiilor din modelul E-R n modelul relaional Exemple
29
1.5.3. Transformarea entitilor n relaii (tabele) ale modelului relaional Fiecare tip de entitate din diagrama E-R se reprezint printr-o tabel, 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.5.4. Reprezentarea relaiilor din diagrama E-R n modelul relaional Se adaug chei strine la tabelele realizate n pasul anterior, care reprezint relaiile existente ntre entitile corespunztoare Exist urmtoarele situaii distincte: (i) relaii binare (a) 1:N, 0:N i (b) 1:1 (ii) relaii binare M:N (iii) relaii unare (iv) relaii ISA cheia primar a entitii A se adaug pe post de cheie strin n tabela B PACIENT (1) are (1-M) FI DE CONSULTAIE FI DE CONSULTAIE(DATA, MEDIC, DIAGNOSTIC, COD PACIENT) FILM (1) este stocat sub form de (0-M) COPIE FILM COPIE FILM(NUMR COPIE, TIP SUPORT, ANUL FABRICAIEI, COD FILM) (ib) Relaii binare 1:1 A (1) R (1) B variante de rezolvare cheia primar a lui A se adaug pe post de cheie strin la B cheia primar a lui B se adaug pe post de cheie strin la A ambele de mai sus
(ia) Relaii binare 1:N i 0:N A (1) R (1-N) B, A (1) R (0-N) B i A (1) R (1) B
(ii) Relaii 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; dac R are atribute, acestea se adaug la C (coloane non-cheie) 30
(iii) Relaii unare A (0-1) R (0-1) A i A (1) R (1-M) A se adaug la A un atribut nou, pe post de cheie strin, care este cheia primar a instanei cu care A este n relaie;numele atributului trebuie s sugereze relaia PERSOAN (0-1) este cstorit cu (0-1) PERSOAN PERSOAN(COD NUMERIC PERSONAL, NUME, ADRES, DATA NATERII, COD NUMERIC PERSONAL SO)
Precondiie pentru normalizare: orice tip de entitate trebuie s aib cheie primar. Situaii posibile (a) entitile din modelul conceptual de date au specificat cheia primar: se verific dac cheia primar asigur proprietatea de identificare unic, folosind conceptul de dependen funcional (BD) (b) entitile 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, se poate introduce o cheie surogat
1.6.2. Normalizarea entitilor din modelul E-R
respect etapele descrise la normalizare (BD) relaie cu tip de entitate (entitate) linie cu instan de entitate
la fiecare pas se examineaz toate entitile curente se produc entiti noi, iar cele existente sunt supuse revizuirii
31
32
este un grup de atribute care pune n legtur linii din dou relaii i o alta
(tabele). Legtura dintre tabele este stabilit ntre o tabel (numit (numit copil) prin intermediul unui cmp comun. Ca efect, atunci cnd se deplaseaz pointerul de fiier n tabela printe, automat se poziioneaz i pointerul fiierului copil pe primul articol care are valoarea cheii egal cu cea din fiierul printe.
printe)
33
sala specialitate Entitatea Clase are atributele cod, profil, sala, iar cod este cheia unic de identificare. Entitatea Profesori are atributele cod, nume, specialitatea, iar cod este cheia de identificare. Pe baza acestei relaii putem afla pentru o clas X care este specializarea profesorului diriginte i plecnd de la profesorul X putem afla care este profilul clasei la care este diriginte, dac are aceast atribuie. n modelul relaional atributele vor fi grupate n dou tabele: tabela CLASE(cod, profil, sala, cod-dirig), unde cod este codul unic al clasei i
primar
a.
este cheie
extern
pentru c face legtura cu tabela Profesori i este un atribut unic, deoarece o clas nu poate avea dect n singur diriginte.
b.
tabela PROFESORI(cod, nume, specialitate, cls-dirig), unde cod este codul unic
cheie primar,
al profesorului
cheie extern unic pentru c face legtura cu o singur linie din tabela Clase. 2. Relaia unu la mai muli (one-to-many) este cea mai frecvent utilizat i se realizeaz ntre cheia primar a tabelei T1 i un cmp similar, ca tip i ca dimensiune din T2, numit i cheie strin. Semnificaia legturii este c oricrei valori a cmpului cheie strin-C21 trebuie s-i corespund o valoare a cmpului cheie cheie-C1. n timp ce n tabela T1 valoarea este unic, n tabela T2 ea se poate repeta de un numr infinit de ori. 34
Fie entitile Clase->1, n->Elevi, cu relaia nva". Entitatea Clase are atributele cod, profil, sala, iar cod este cheia de identificare unic. Entitatea Elevi are atributele cod, nume, adresa, medie, iar cod este cheia de identificare. Pe baza acestei relaii putem afla pentru o clas X care sunt elevii clasei, iar pentru elevul X putem afla care este profilul i dirigintele clasei n care nva. Clase Cod, Inva (1:n) sala profil, Cod, medie elevi nume,
Relaia 1-n presupune crearea a dou tabele n modelul relaional: CLASE(cod, profil, sala, cod-dirig), unde cod este codul unic al clasei i este cheie
primar
ELEVI(cod, nume, media, cod-clasa) unde cod este codul unic al elevului i
primar,
cheie
iar cod-clasa este codul clasei unde nva elevul i este cheie
extern
pentru
c face legtura cu tabela Clase. Valorile acestui atribut nu sunt unice - pentru c o clas poate avea mai muli elevi.
CLASE Cod Profil sala Alteinformaii 12a Info 12b 12 tiinte Litere P2 15 P6
ELEVI Cod Nume Media Codclasa lonescu 2 3 4 5 Albulescu 7.50 10 12b 12c 12 c 12a 12b
35
3. Relaia mai muli la mai muli (many-to-many) se aplic la cazurile n care valorii unui cmp din prima tabel i corespund mai multe valori n a doua tabel i invers, unei valori a unui cmp din a doua tabel i corespund mai multe valori din prima tabel. T3.
schem relaional
prin domeniul lor de definiie i prin anumite restricii de integritate. Schema relaional este independent n timp.
2. 3 Restricii de integritate
Pstrarea integritii unei baze de date se realizeaz prin reguli de integritate, ce sunt memorate odat cu structura bazei i se verific la orice aciune asupra bazei. Regulile de integritate pot fi:
a.
Restriciile cheilor primare - se refer la condiia de unicitate i de valori nonRestricii refereniale - apar atunci cnd o tabel este n relaie cu alta. De exemplu, cheia strin nu trebuie s aib valori care nu se regsesc drept valori ale cheii primare n tabela de referin. Restricii de comportament - pot fi impuse asupra valorilor diferitelor atribute sau asupra ntregii nregistrri.
nule;
b.
c.
36
definirea datelor i nu in cadrul aplicaiilor individuale; in plus, aceste reguli de integritate trebuie stocate in dicionarul de date. 11. Regula independenei datelor din punctul de vedere al distribuirii: Programele de aplicaie nu trebuie sa fie afectate de distribuirea pe mai multe calculatoare a bazei de date. 12. Regula privind prelucrarea datelor de ctre un limbaj de nivel inferior: Orice limbaj Relaional folosit pentru accesarea datelor trebuie sa respecte aceleai condiii de integritate ca i limbajul Relaional de acces. 0. Regula de baza: Un SGBD Relaional trebuie sa fie capabil sa gestioneze baza de date exclusiv pe baza caracteristicilor sale Relaionale.
Etape I. II. III. Crearea schemei conceptuale Crearea design-ului logic al bazei de date Normalizarea bazei de date I Crearea schemei conceptuale [12] Aici avem modelul entitate-relaie, model entitate-legatur i model relaional. Model entitate-relaie
38
Model entitate-legtur O entitate devine un tabel Un atribut al unei entiti devine o coloana a tabelului respectiv
II Crearea design-ului logic al bazei de date Transformarea entitilor Entitile devin tabele Entitile dependente devin tabele dependente Subentitile devin subtabele. Transformarea relaiilor Relaiile 1:1 devin chei strine, cheia strin fiind plasat n tabelul cu mai puine nregistrri. Relaia N:1 devine cheie strin plasate n tabelul care se afla in partea muli a relaiei. Exemplu: o facultate are mai muli studeni, un student e la o singura facultate O relaie muli-muli N:M se transform intr-un tabel asociativ, care are doua chei strine pentru cele dou tabele asociate. Exemplu: mai muli studeni-la mai multe cursuri.
Transformarea atributelor Atributele simple ale unei entiti devin coloane in tabelul provenit din Relaie. Atributele repetitive (multivaloare) devin tabele dependente care conin o cheie strina ce face referina la cheia primar a entitii i atributul multi-valoare. 39
Atributele simple ale unei Relaii M:N vor deveni coloane ale tabelului asociativ.
40
valorile aflate pe celelalte rnduri ale relaiei, altfel provocm o incoeren a BD. anomalii privind necesitatea introducerii de rnduri cu null pentru cheia primar: de ex, pentru a insera o nou filial, care nu are nici un personal, este necesar introducerea de null-uri pentru atributele personalului; dar PersID este cheie primar i nu e permis null-ul (deoarece se violeaz integritatea entitilor) anomalii de tergere: tergerea anumitor nregistrri duce la pierderea unor detalii care nu sunt stocate n alt parte: dac se terge ultimul membru al personalului de la o filial, se pierd detaliile despre filial Procesul de normalizare este o metod formal, care identific relaiile bazndu-se pe cheile primare ale acestora i pe dependenele funcionale dintre atributele lor. Normalizarea ajut proiectanii de BD, prin prezentarea unei serii de teste care pot fi aplicate relaiilor individuale, pentru a preveni apariia anomaliilor de reactualizare. anomalii de modificare: necesitatea modificrii unei date redundante, presupune modificarea ei n toate nregistrrile n care ea apare: dac trebuie modificat unul din atributele unei filiale, este necesar reactualizarea rndurilor corespunztoare pentru toi membrii personalului de la filiala respectiv, altfel BD devine incoerent. Aceast analiz arat c relaiile Personal i Filiala au o structur mai bun dect PersonalFiliala. Procesul de normalizare furnizeaz o tehnic de proiectare a unor relaii mai bine structurate. Proiectarea unei baze de date relaionale ncepe prin definirea entitilor i a relaiilor dintre ele. Apoi se definesc tabelele care vor memora att datele din entiti, ct i relaiile dintre acestea. Atenia proiectanilor trebuie ndreptat ctre construirea unor tabele care s evite anomaliile de actualizare i dificultile de prelucrare. O tabel de date este corect formulat - deci este o relaie conform restriciilor impuse de teoria relaiilor a lui A.F. Codd - dac:
1. 2.
n cadrul unei baze de date are nume distinct; fiecare celul a relaiei conine o singur valoare; 41
3. 4. 5. 6. 7.
fiecare atribut are un nume distinct; orice valoare a unui atribut face parte din domeniul pe care a fost definit acesta; ordinea dispunerii atributelor n relaie nu prezint importan; orice linie este distinct de celelalte; ordinea liniilor nu influeneaz coninutul informaional al relaiei.
Persoana Jocuri preferate Ion Doom2, Zelda, Sims Maria Zelda, Sims, SuperMario Daniel WOW, Zelda Oras Bucuresti Brasov Scorniceti Servicii publice Politie, Salubritate, Canalizare Politie, Canalizare, Salubritate Politie
42
EXEMPLUL 2:
Persoana Ion Maria Daniel Oras Bucureti Braov Scorniceti 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
Pentru a asigura unicitatea unei nregistrri, se va utiliza cheia primar. In exemplul de mai sus, prin introducerea unei coloane adiionale de tip ntreg, auto-incrementat, se asigur unicitatea fiecrei nregistrri.
Exemplul 3 [11]
43
S presupunem c tabelul urmtor reine codurile produselor solicitate la o comand, precum i numrul, data i valoarea comenzii:
Comanda data furn 006 01.03.2011 f1 007 01.09.2011 f1 adr Bc Bc cod1 a23 c33 cod2 b66 cod3 cod4 c33 cant 10 12 val 1290 1200
Verificm respectarea definiiei anterioare: nu sunt linii identice, nu sunt valori de tipuri diferite n coloane, cheia este atributul Com (numr comand). Dar 1. 2. 3. 4.
dac exist comenzi cu mai mult de 4 produse? dac sunt comandate cantiti diferite din toate produsele? unde este plasat preul fiecrui produs? prelucrri de tipul valoarea total a comenzilor pentru produsul 'b66' necesit verificarea tuturor coloanelor i nsumarea rezultatelor pentru ntreaga baz de date, lucru care conduce la un timp mare de rspuns.
comanda data furn adr codprod cant pret valoare 006 01.03.11 f1 Bc a23 10 100 1298 006 01.03.11 f1 Bc b66 10 200 1298 006 01.03.11 f1 Bc c33 10 150 1298 007 01.09.11 f1 Bc c33 12 150 1200 n aceast tabel, cheia este compus din atributele (comanda + codprod).
Prima form normal este identificat cu noiunea de relaie Dar nu toate relaiile sunt egal acceptabile, deoarece anumite relaii pot conduce la dificulti de actualizare sau de manevrare. Operaia de spargere" a relaiei care manifest anomalii n alte relaii poart numele de normalizare . O relaie se afl n a doua form normal dac toate atributele non-cheie sunt dependente de ntreaga cheie Deci problema apare cnd cheia este compus din mai multe atribute O relaie car are chei simple este n a doua form normal.
44
Observm c atributele non-cheie nu sunt dependente de ntreaga cheie. Normalizm i mprim tabela n dou alte tabele.
In orice relaie, atributele sunt dependente funcional de fa de cheile acesteia, deoarece orice cheie are proprietatea c identific n mod unic fiecare tupl, deci determin n mod univoc valorile atributelor tuplei.
Cheia primar este o cheie compusa, formata din ComandaID i ReperID. ReperNume depinde numai de ReperID, nu si de ComandaID. Pentru a fi in 2NF, tabelul trebuie modificat in felul urmtor:
nr telefon
2338291 2338291 3485734 3485734 3485734 2338291 5409054
cantitate
5 0 4 5 5 0 4 5 3 5 4 5 5 0 100 20 200 300 10 20 30
Dependene funcionale : cod_client -> {nume_client, numr_telefon} cod_comanda -> {data, cod_client, nume_client, nr_telefon} cod_articol -> {nume_articol, cost_articol} Pentru a fi in 2NF, tabelul trebuie modificat in felul urmtor:
cod_articol
P1 P2
nume_articol
pantalon bluza
cost_articol
50 35
COMANDA cod_comanda
C1 C2 C3 C4 P3
data
12.05.2008 13.05.2008 13.05.2008 13.05.2008 camasa
cod_client
A1 A2 A1 A3 45
VNZRI
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
47
Toate atributele non-chei ale unei relaii depind numai de chei candidate ale acelei relaii. Toate atributele non-cheie sunt (trebuie sa fie) mutual independente. EXEMPLUL 1 Tabela Piese de schimb, 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
Piese de schimb
Piese de schimb ProducatorNume COMENZI 125 Dacia comanda Data furn adr valoare 6 006 01.03.2011 Daewo Bc f1 1298 142 007 01.09.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 urmrim exemplul n continuare. Cheia relaiei la tabela COMENZI este comanda. tiind numrul de comand, putem afla numele furnizorului. Deci (comanda)>>>(furn). tiind furnizorul, putem determina adresa (furn)>>>(adr). Pare c adresa depinde funcional prin tranzitivitate de comand, ceea ce nu este adevrat. O relaie se afl n a treia form normal dac se afl n forma a doua i nu prezint dependene tranzitive Dup normalizare se obine:
48
f1 f2
Bc Gl
006 007
01.03.2011 01.09.2011
f1 f2
12980 12000
Ca o recapitulare: Prima form normal este identificat cu definiia unei relaii. A doua form normal impune ca toate atributele non-cheie s fie dependente de ntreaga cheie. A treia form normal presupune inexistena dependenelor tranzitive. In concluzie prin normalizare spectrul anomaliilor de care sufer o relaie se restrnge foarte mult. Toate aceste forme normale sunt folositoare, dar niciuna nu garanteaz c au fost eliminate toate anomaliile!
49
Care sunt entitile? Juctori, echipe, meciuri. Care sunt atributele, caracteristicile pentru fiecare entitate?
JUCTORI (cod, nume, datanasterii, foto, CV, este-casatorit, are_copii, adresa), ECHIPE (cod echipa, nume, datanfiintarii, sediu), MECIURI (cod_meci, echipa 1, echipa_2, goluri_1, goluri_2, stadion, data, ora)
Un juctor poate sa fi fost nscris la mai multe echipe, o echipa are mai muli juctori. Un meci este jucat de doua echipe; o echipa particip la mai multe meciuri
5. Cum se modeleaz SCHEMA pentru o baza de date Relaional? Relaia juctori- echipe este spart in dou relaii prin intermediul entitii Participani (codul juctorului, codul echipei, data-intrarii-n-echipa, data-ieirii-dinechip, funcia). Relaia echipe- meciuri va fi modelata ca atare prin reinerea a dou cmpuri despre echipe (echipa 1 este cea care joac acas" iar echipa 2 este cea din deplasare. Fiecare entitate i Relaie se structureaz sub forma unui tabel. Obinem deci urmtoarele tabele: JUCTORI Id 100 101 ECHIPE
Id 1 2 Nume Steaua Dinamo Data insc 1.1.1800 1.1.1980 Sediu Buc Buc
Casat T F
Adr
Copii
Foto
cv
Bucureti T Cluj F
50
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.1.2009 1.1.2011 15.7.2008 Data-ies post
1.5.2011 15 7.5.2011 17
6. Care sunt cheile unice ale fiecarei tabele? Pentru simplificarea lucrului am numit un cmp special Id care s joace rolul de cheie unic. Desigur putem folosi denumirile cod-echipa, cod-juctor, codparticipant sau cod-meci! 7. Care sunt cheile strine ? ( cele care asigur legturile dintre tabele) Participant.cod_ech, Participanti.codJuc - pentru legtura cu tabelele Echipe i Juctori i Meciuri.e1, Meciuri.e2 pentru legtura cu tabela Echipe. 8. Care sunt restriciile de integritate a bazei de date? a. Un articol n participant nu poate fi introdus dac nu se regsete valoarea din cmpul Participant.CodJuc in Jucatori.id i Participant.cod_ech in Echipe.id b. Un articol in tabela Meciuri nu poate fi introdus daca codurile celor dou echipe nu figureaz deja in tabela Echipe. c. Modificarea cheii Echipe.id trebuie s determine modificarea cheilor strine Participant.codech i Meciuri.E1 sau Meciuri.E2. d. Modificarea cheii Jucatori.id trebuie s determine modificarea cheii Participant.codJuc. e. tergerea unei echipe - adic scoaterea ei din eviden - nu va determina i anularea activitii juctorilor prin eliminarea liniilor din tabela Participani dar va provoca tergerea meciurilor planificate cu aceast echip. (meciurile deja jucate pot rmne!) 9. Care sunt restriciile de validitate asupra cmpurilor din tabele? Data planificrii unui meci trebuie sa fie mai mare dect data planificata trebuie sa fie intre 8-20. 51 valoarea din cmpul
In tabela Participani data-intrrii mai mica dect data-iei rii n /dintr-o echipa. 10. Care sunt evenimentele care determina aciuni asupra datelor?
planificarea unui meci; desfurarea unui meci; nscrierea unui juctor la o echipa; plecarea unui juctor de la o echipa; nscrierea unui nou juctor; nfiinarea unei noi echipe; schimbarea unor valori pentru un meci: alt stadion, alta ora/data; modificarea unor valori pentru un juctor: castorie, schimbarea adresei; modificarea unor valori pentru echipa: alt sediu etc.
52
CAPITOLUL III
Aspecte didactice ale predrii normalizrii n cadrul unitii de nvare "MODELAREA DATELOR
53
54
3.3.1. Obiective didactice Obiectiv Detaliere Obiective de referin R1 R2 R3 R4 nelegerea necesitii modelrii datelor nelegerea modalitilor de modelare a datelor Construirea unor diagrame corecte Utilizarea cunotinelor dobndite n elaborarea unor diagrame de modelare a datelor corecte Obiective operaionale OP1 Definete noiunea de entitate, specificnd elementele sale caracteristice OP2 practice. OP3 Ofer exemple de entiti, descriind contextul n care acestea intervin. OP4 OP5 OP6 Face distincie ntre entitate i instanele acesteia. Definete noiunea de atribut. Identific atributele entitilor care intervin n descrierea unei activiti practice. OP7 OP8 Face distincie ntre atribut i valoarea acestuia. Identific atributele obligatorii i context dat. OP9 Reprezint, aplicnd conventiile ERD, entiti i acestora. OP10 Definete noiunea de identificator unic. atributele atributele opionale ntr-un Identifica entitile care intervin n descrierea unei activitati
55
OP11
Stabilete un identificator unic pentru entitile care intervin n descrierea unei activiti practice, justificnd alegerea.
OP12
Ofer exemple de situaii n care este util definirea unui identificator unic artificial.
Definete identificatori unici secundari. Definete identificatori unici compui . Utilizeaz conveniile de reprezentare a identificatorilor unici n diagrame E-R.
Identific i denumete relaiile semnificative dintre entiti. Specific opionalitatea i cardinalitatea unei relaii. Formuleaz corect o Relaie dintre dou entiti. Reprezint corect o Relaie, respectnd conventiile de
reprezentare a relaiilor n diagrame ER. OP20 OP21 Clasific relaiile din punctul de vedere al cardinalitii. Utilizeaz conveniile de reprezentare n diagrama ERD a relaiei rezolvate. Identific relaiile ierarhice dintre date. OP22 Reprezint corect relaiile ierarhice, respectnd conveniile de reprezentare a Relaiilor n diagrame ER. OP23 OP24 Identific subentitile (subtipurile) unei entiti.. Definete prima regul de normalizare(1NF First Normal Form). OP25 Analizeaz o diagram pentru a stabili dac aceasta respect 1NF. OP26 Modific o diagrama astfel nct diagrama obinuta sa respecte 1NF. OP27 Definete a doua regula de normalizare (2NF Second Normal Form). OP28 Analizeaz o diagram pentru a stabili daca aceasta respecta 2NF. OP29 Modific o diagram astfel nct diagrama obinuta sa respecte 2NF.
56
OP30
OP31
OP32
3.3.2 Coninut Se prezint lista obiectelor de coninut (notate cu M) i caracteristicile lor generale. M1.1 Crearea unei atmosfere specifice orei i partea introductiv
Timp de predare Tip de interaciune cu elevii 15 min metode de comunicare oral: expunere, conversaie metode de aciune: exerciiul, nvarea prin descoperire procedee de instruire: explicaia n etapa de comunicare; Descriere
prezentarea modulului prezentarea modului de selecie a personajului i a modalitii de configurare i salvare prezentarea tipurilor de: par, fete, haine, pantaloni, pantofi prezentarea celor opt poziii
M1.2 Entiti
OP1, OP2, OP3, OP4 35 min metode de comunicare oral: expunere, conversaie metode de aciune: exerciiul, nvarea prin descoperire procedee de instruire: explicaia n etapa de comunicare; nvarea prin descoperire dirijata, inductiva,
57
experimentala, Cuvinte cheie Obiective didactice Timp de predare Tip de interaciune cu elevii exerciiul de consolidare prezentarea definiiei unui entiti prezentarea unor aspecte practice n care pot fi identificate entiti prezentarea unor exemple prezentarea unor convenii de reprezentare prezentarea animaiilor determinarea soluiilor corecte i explicarea lor entitate instana diagrama ER
Descriere
OP5, OP6, OP7, OP8, OP9 40 min metode de comunicare oral: expunere, conversaie metode de aciune: exerciiul, nvarea prin descoperire procedee de instruire: explicaia; nvarea prin descoperire dirijata, experimentala, exerciiul de consolidare prezentarea definiiei atributului prezentarea unor convenii de reprezentare prezentarea unui exemplu animat prezentarea animaiilor rezolvarea sarcinilor de lucru 6 exerciii atribut instana atribut obligatoriu atribut opional opionalitate diagrama ER
Descriere
Cuvinte cheie
Obiective didactice
58
20 min metode de comunicare oral: expunere, conversaie metode de aciune: exerciiul, nvarea prin descoperire procedee de instruire: explicaia; nvarea prin descoperire dirijata, inductiva, experimentala, exerciiul de consolidare
Descriere
prezentarea noiunii de identificator unic prezentarea conveniilor de reprezentare prezentarea animaiilor rezolvarea sarcinilor de lucru identificator unic identificator unic simplu identificator unic compus
Cuvinte cheie
M3.2 Relaii Obiective didactice Timp de predare Tip de interaciune cu elevii Descriere Cuvinte cheie OP16, OP18, OP19 30 min metode de comunicare oral: expunere, conversaie, studiu de caz metode de aciune: exerciiul, nvarea prin descoperire procedee de instruire: explicaia; nvarea prin descoperire dirijata, experimentala, exerciiul de consolidare prezentarea noiunii de Relaie prezentarea modalitii de reformulare a Relaiilor prezentarea metricii Relaiilor prezentarea conveniilor de reprezentare prezentarea animaiilor realizarea celor ase sarcini de lucru Relaie opionalitate cardinalitate matricea Relaiilor
59
diagrama ER
OP20 20 min metode de comunicare oral: expunere, conversaie, studiu de caz metode de aciune: exerciiul, nvarea prin descoperire procedee de instruire: explicaia; nvarea prin descoperire dirijata, inductiva, experimentala, exerciiul de consolidare prezentarea categoriilor de Relaii prezentarea tipurilor prezentarea animaiilor realizarea sarcinilor de lucru Relaie One-to-Many Relaie One-to-One Relaie Many-to-Many
Descriere
Cuvinte cheie
Obiective didactice
30 min metode de comunicare oral: expunere, conversaie, studiu de caz metode de aciune: exerciiul, nvarea prin descoperire procedee de instruire: explicaia; nvarea prin descoperire dirijata, inductiva, experimentala, exerciiul de consolidare
Descriere
prezentarea exemplelor
60
Cuvinte cheie
entitate de intersecie
OP24, OP25, OP26 20 min metode de comunicare oral: expunere, conversaie, studiu de caz metode de aciune: exerciiul, nvarea prin descoperire procedee de instruire: explicaia; nvarea prin descoperire dirijata, inductiva, experimentala, exerciiul de consolidare definirea noiunii de 1NF First Normal Form prezentarea necesitii utilizrii 1NF realizarea sarcinii de lucru 1NF
Descriere
Cuvinte cheie
OP27, OP28, OP29 20 min metode de comunicare oral: expunere, conversaie, studiu de caz metode de aciune: exerciiul, nvarea prin descoperire procedee de instruire: explicaia; nvarea prin descoperire dirijata, inductiva, experimentala, exerciiul de consolidare definirea noiunii de 2NF Second Normal Form prezentarea necesitii utilizrii 2NF
Descriere
61
OP30, OP31 20 min metode de comunicare oral: expunere, conversaie, studiu de caz metode de aciune: exerciiul, nvarea prin descoperire procedee de instruire: explicaia; nvarea prin descoperire dirijata, inductiva, experimentala, exerciiul de consolidare 3NF definirea noiunii de 3NF Third Normal Form prezentarea necesitatii utilizrii 1NF realizarea sarcinii de lucru
Descriere
Cuvinte cheie
M6 Aplicaii; miniproiect
metode de comunicare oral: expunere, conversaie, studiu de caz metode de aciune: exerciiul procedee de instruire: explicaia; nvarea prin descoperire dirijata, exerciiul de consolidare
Descriere
rezolvarea de exerciii i probleme recapitulative realizarea unui miniproiect n echipe - de gestionarea unei afaceri de succes pe baza unui model dat;elevii vor identifica tabelele necesare, relaiile dintre ele i vor realiza normalizri.
62
63
1. Entiti Definiie O entitate este denumit printr-un substantiv singular i reprezint un element generic semnificativ pentru activitatea care trebuie s fie modelat. De exemplu: ORA, CARTE, STUDENT, ELEV, SCRIITOR, VEHICUL Entitile admit instane, care sunt exemple concrete, cazuri particulare ale entitilor. Stabilirea faptului c un anumit element este o entitate sau o instan poate depinde de contextul activitii pe care o modelm. Pentru activitatea de gestiune a unei biblioteci, SCRIITOR este o entitate. Dar, de exemplu pentru Oficiul Forelor de Munc SCRIITOR ar putea fi o instan a entitii PROFESIE.
2 Convenii de reprezentare O entitate va fi reprezentat sub forma unui dreptunghi cu colurile rotunjite (softbox). n partea de sus a dreptunghiului va fi scris cu majuscule numele entitii. 64
Tem Un elev merge la o firm de turism pentru a studia ofertele de croazier din vacanta asta. A primit o brour de genul:
Se solicit elevului sa realizeze o asociere ntre entiti i instane. Pentru a asocia o entitate cu o instan, se trage o linie ntre ele.
3. Atribute Definiie Un atribut reprezint o informaie semnificativ pentru activitatea care trebuie s fie modelat, informaie care descrie, cuantific, clasific sau calific o entitate. Pentru o anumit instan a unei entiti, orice atribut poate avea o singur valoare. Valoarea respectiv este de un anumit tip (numeric, ir de caractere, dat calendaristic, etc). Pentru o bun modelare a activitii, anumite atribute trebuie s aib o valoare. Aceste atribute le vom numi obligatorii. Pentru identificarea corect a unui student numele i prenumele sunt obligatorii. De asemenea numrul matricol, data naterii i adresa. 65
Convenii de reprezentare Atributele vor fi specificate n dreptunghiul care reprezint entitatea, sub numele entitii, cte un atribut pe o linie.
Numele unui atribut obligatoriu va fi precedat de caracterul *. Numele unui atribut opional trebuie s fie precedat de caracterul .
Exerciiu tem Fie entitile FARMACIE, MEDIC, DEPOZIT i INTERPRET . Desenai entitile dup modelul dat i plasai atribute pentru acestea indicnd corect opionalitatea (obligativitatea). 66
4. Identificator unic Pentru orice entitate trebuie s definim (cel puin) un identificator unic (UID Unique IDentifier). Identificatorul unic este un atribut sau o combinaie de atribute care permit identificarea n mod unic a oricrei instane a entitii respective. Un identificator unic format dintr-un singur atribut se numete simplu. Un identificator unic format din mai multe atribute se numete compus. Atributele care intr n componena unui identificator unic trebuie s fie obligatorii. Uneori exist mai multe variante posibile de identificare n mod unic a instanelor unei entiti. n acest caz se alege un atribut/combinaie de atribute ca identificator unic principal i apoi, opional, se pot alege unul sau mai muli identificatori unici secundari. Prin urmare, trebuie s existe un singur identificator unic principal, dar pot exista mai muli identificatori unici secundari. Stabilirea unor identificatori unici secundari ofer utilizatorilor sistemului pe care l proiectm mai multe variante de a accesa sistemul, astfel sistemul devine mai flexibil. Convenii de reprezentare Pentru a marca n diagrama ERD faptul c un atribut este identificator unic sau intr n componena identificatorului unic, acesta va fi precedat de simbolul #. Dac identificatorul unic al entitii este compus din mai multe atribute, atunci fiecare dintre acestea va fi precedat de caracterul #. n acest caz nu mai este necesar precedarea atributului de simbolul *, acesta fiind implicit. 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), #2 (pe cel de al doilea) etc.
67
Exerciiu Care dintre urmtoarele atribute poate fi considerat identificator unic pentru entitatea INSUL?
68
Exerciiu Asociaz fiecrei entiti unul sau mai multe atribute ce pot constitui un identificator unic pentru entitatea respectiv.
Exerciiu Poate fi codul potal un identificator unic pentru o strad din Romnia?
69
5 Modelarea datelor. Relaii n procesul de modelare, dup identificarea entitilor i a atributelor acestora, trebuie s identificm relaiile care exist ntre entiti. n acest scop vom examina fiecare pereche de entiti i vom stabili dac exist ntre entitile respective o relaie semnificativ pentru activitatea pe care o modelm. Cnd identificm o relaie ntre dou entiti A i B trebuie s precizm att relaia n care A se afl cu B, ct i relaia n care B se afl cu A. De asemenea trebuie s specificm opionalitatea i cardinalitatea relaiei. O relaie poate fi opional (acest lucru se specific prin cuvntul poate) sau obligatorie (acest lucru se specific prin cuvntul trebuie). Cardinalitatea specific numrul de instane ale entitii implicate n relaie (una singur, respectiv una sau mai multe). Pentru standardizare a fost definit un "ablon" care trebuie respectat atunci cnd specificm o relaie ntre dou entiti.
Convenii de reprezentare Relaiile se reprezint printr-o linie care conecteaz cele dou entiti implicate n relaie. Linia este constituit din dou jumti. S notm cu A i B cele dou entiti ntre care este definit relaia. Jumtatea care are o extremitate n A reprezint relaia n care entitatea A se afl cu entitatea B; jumtatea care are o extremitate n B reprezint relaia n care se afl entitatea B cu entitatea A. Numele relaiei este scris pe fiecare dintre cele dou jumti.
70
Exerciiu Analizeaz relaia dintre entitile STUDENT i DISCIPLIN. Formuleaz corect relaia STUDENT-DISCIPLIN, specificnd opionalitatea i cardinalitatea, apoi specificai relaia DISCIPLIN-STUDENT.
Exerciiu Formuleaz relaiile reprezentate n diagrama ERD alturat, citind mai nti relaia de la stnga la dreapta, apoi relaia de la dreapta la stnga.
Exerciiu Care dintre urmtoarele variante corespunde relaiilor reprezentate n diagrama E-R?
71
Exerciiu Urmrete cu atenie animaia pentru a identifica relaiile existente ntre entitile CLIENT, SERVICIU TURISTIC, OFERT DE CAZARE. Reprezint relaiile existente ntre entitile CLIENT, SERVICIU TURISTIC, OFERT DE CAZARE respectnd conveniile de reprezentare specifice diagramelor ER
72
Exerciiu Reprezint relaiile existente ntre entitile CLIENT, SERVICIU TURISTIC, OFERT DE CAZARE respectnd conveniile de reprezentare specifice diagramelor ER
73
Modelarea datelor. Clasificarea relaiilor Din punctul de vedere al cardinalitii relaiile pot fi clasificate n 3 categorii: 1. Relaii One-to-Many (1:M) 2. Relaii One-to-One (1:1) 3. Relaii Many-to-Many (M:M) Relaii One-to-Many (1:M) Sunt cele mai frecvent ntlnite i, n funcie de opionalitate, pot fi de 4 tipuri.
74
Relaiile 1:1 sunt mai rar ntlnite n diagramele ER. n funcie de opionalitate, relaiile 1:1 sunt de 3 tipuri.
Exemplu Analiznd relaia TURIST-PAAPORT, deducem c aceasta este o relaie Oneto-One (1:1).
75
Relaii Many-to-Many (M:M) ntr-o prim etap de analiz i de elaborare a modelului unei activiti, relaiile M:M sunt frecvent ntlnite. ntr-o a doua etap, aceste relaii vor disprea, fiind transformate n relaii 1:M. Din punctul de vedere al opionalitii, exist 3 tipuri de relaii M:M.
Exemplu Analiznd relaia CARTE-SCRIITOR, deducem c aceasta este o relaie Many-toMany (M:M).
Exemplu Urmrind animaia i analiznd relaia FILM-ACTOR, deducem c aceasta este o relaie Many-to-Many (M:M).
76
77
Definiie Normalizarea reprezint procesul de descompunere a unui tabel Relaional n mai multe tabele care satisfac anumite reguli i care stocheaz aceleai date ca i tabelul iniial astfel nct s fie eliminate redundanta n date i actualizare. E. F. Codd a demonstrat c ntr-o anumit form relaiile posed proprieti nedorite, pe care le-a numit anomalii de actualizare. Aceste anomalii sunt: Anomalia de tergere, care const n faptul c anumite date care urmeaz s fie terse fac parte din tupluri n care se gsesc i alte date care sunt necesare i n continuare, ori tergerea fcndu-se la nivelul tuplului, acestea se pierd; Anomalia de adugare, const n faptul c anumite date care urmeaz s fie adugate fac parte din tupluri incomplete (pentru care nu se cunosc toate datele), ceea ce face ca acestea s nu poat fi adugate; Anomalia de modificare, care rezult din faptul c este dificil de modificat o valoare a unui atribut atunci cnd ea apare n mai multe tupluri ale relaiei. Pentru a nltura aceste anomalii, E. F. Codd a stabilit trei forme normale pentru relaii i a introdus procesul de normalizare care se bazeaz pe noiunea de dependen funcional (FD) ca relaie ntre atributele unei entiti cu caracter invariant. Procesul de normalizare a relaiilor se realizeaz n mai muli pai, ncepnd cu forma normal unu (1NF) i ajungnd (dup ultimele cercetri) la forma normal cinci (5NF). Aceasta const n descompunerea unei relaii n conformitate cu mulimea dependenelor funcionale F, ntr-o colecie de relaii care s conserve informaiile i dependenele funcionale din relaia iniial (descompunerea fr pierderi). anomaliile la
78
Prima form normal baz de date este n forma normal 1 dac i numai dac toate cmpurile din
tabelele ei nu sunt repetate i conin numai valori indivizibile;
Orice atribut poate avea o singur valoare pentru fiecare instan a unei entiti. n cazul n care pentru o entitate identificm un atribut care are valori multiple, vom crea o nou entitate pe care o vom relaiona cu entitatea iniial printr-o relaie de tip M:M.
Pentru entitatea STUDENT am identificat urmtoarele elemente de caracterizare (atribute): Nume, Prenume, Numr Matricol, Data naterii, Domiciliu, Numr telefon, Adres e-mail i Facultate. Acest model nu respect prima regul de normalizare deoarece exist studeni acre sunt nscrii la mai multe faculti, adic atributul Facultate poate avea valori multiple. Vom rezolva aceast situaie crend o nou entitate FACULTATE pe care o vom relaiona cu entitatea STUDENT.
79
Exerciiu Examinai entitile de mai jos. Respect prima form normal? Gsii o soluie pentru fiecare situaie.
1. 2
MAGAZINE # nr crt * nume * director * CUI * telefon o filiala
Soluie
aparine PRODUSE # nr crt * denumire BON # nr bon * nr casa * ora o produse
80
Aceast entitate nu respect prima form normal, deoarece o carte trebuie s fie scris de unul sau mai muli autori, prin urmare, atributul Autor are valori multiple. O soluie posibil este:
81
Fi de lucru
Desenai diagrama entiti-relaii (ERD) pentru care, citind relaia existent, se obine: Fiecare PERSOAN trebuie s locuiasc ntr-o LOCALITATE i numai una. Fiecare LOCALITATE poate fi locuit de una sau mai multe PERSOANE. Gsii corespondena dintre entitile din stnga i tipurile de relaii din dreapta: ELEV i CLAS AUTOR i CARTE PERSOAN i CNP ORA i STRAD M:1 M:M 1:M 1:1
Stabilii corespondenele corecte dintre noiunile de atribut, entitate i relaie din coloana stng i afirmaiile din coloana dreapt. atributul entitatea relaia Se consider entitile i atributele: INFORMAIE METEO CLIENT ELEV PRODUS temperatur cont pre numr matricol se stabilete ntre entiti poate avea mai multe instane are o singur valoare
Stabilii corespondenele corecte ntre noiuni i reprezentrile lor grafice. atribut opional atribut obligatoriu identificator unic # * o
Utilizai sgeile pentru a face asocierea corect. entitate instan atribut tabel coloan linie
82
Persoana Jocuri preferate Ion Maria Doom2, Zelda, Sims Zelda, Sims, SuperMario Daniel WOW, Zelda
Interogrile pentru a selecta nregistrri pe baza componentei cmpurilor repetitive sunt foarte dificile. De exemplu, o interogare pentru a selecta acele orae care ofer acelai tip de Serviciu public, sa spunem "Politie" (acesta putnd s apar n oricare din coloanele "Servicii publice") va genera cutri in 9 perechi separate de coloane.
83
ID
Pentru a asigura unicitatea unei nregistrri, se va utiliza cheia primar. In exemplul de mai sus, prin introducerea unei coloane adiionale de tip ntreg, autoincrementat, se asigura unicitatea fiecarei nregistrri.
84
Fi de lucru 1. Atunci cnd verificai un model de baz de date pentru prima form normal ce se face exact? 2. Care este regula pentru 1nF n procesul de normalizare? 3. Verificai dac urmtoarele tabele verific prima form normal. Dac nu, facei schimbrile necesare pentru a fi corect.
4.Creai entitile ELEV i Nota; Verificai dac tabelele create respect regula pentru 1nF; dac nu, facei schimbrile necesare;
85
Exemplul 1
DEPARTAMENT # cod_departament # IDangajat *data_nasterii *adresa
Fie diagrama de mai sus care conine colecia facturilor de plat la un magazin; Observm ca avem o cheie primar compus din dou atribute; celelalte atribute sunt dependente doar de o parte a cheii primare. De asemenea nu avem date care s se repete, prin urmare nu este vorba de prima form normal. Realizarea acestei probleme se realizeaz prin introducerea unei entiti noi
86
Se pune problema posibilelor anomalii. Observm c i alte bnci pot fi titulari de conturi cu acelai numr de cont; Locaia bncii se poate schimba n timp, sau pot aprea alte filiale, nu este dependent de numrul contului; O modelare a structurii impune crearea unei noi entiti care s se refere la date despre bnci care s fie pus in relaie cu entitatea cont.
Exerciiu S analizm fragmentul din diagrama de mai jos care modeleaz activitatea de mprumut al crilor din bibliotec.
87
Identificatorul unic al entitii FISA MPRUMUT este compus din Data, ID-ul cititorului i Cota crii. Atributul titlu nu depinde de ntregul identificator unic, ci doar de Cota crii. Prin urmare, pentru a respecta cea de-a doua form normal, atributul Titlu trebuie s fac parte din entitatea CARTE.
Exerciiu S analizm fragmentul de diagram de mai jos care modeleaz relaia CLIENTSERVICIU TURISTIC. Aceasta este o relaie M:M, care a fost rezolvat prin intermediul entitii CONTRACT. Aceast diagram nu respect cea de a doua form normal. Modificai diagrama astfel nct s respecte cea de a doua form normal.
88
Soluie
Verific condiiile 2NF? Avem o cheie compus format din entitile nr maina i cnp; observm c celelalte entiti depind de una din entitile cheii primare: numepersoana de cnp i adresa tot de cnp; Prin urmare vom descompune tabela n dou tabele:
O persoan poate avea mai multe maini i fiecare main are un singur proprietar; Relaia este de tipul 1 la n.
89
Problem 1. Se dau dou tabele. Primul se numete Proprietari i conine numele proprietarului i codul terenului pe care acesta n deine. Al doilea se numete terenuri i conine codul terenului i suprafaa sa. Se tie c un proprietar poate avea mai multe terenuri dar un teren un singur proprietar. Fiecare tabel are drept cheie primar codul terenului. a) sunt cele dou tabele in 2NF? Daca nu, aducei-le la aceast form. Ce relaie se poate stabili ntre cele dou tabele? b)Stabilii relaia n baza de date astfel nct tabelul printe s fie Terenuri. c) Stabilii valoarea de adevr a urmtoarelor afirmaii: - In tabelul Terenuri nu pot introduce un teren cu un cod inexistent n tabelul Proprietari. - In tabelul Proprietari nu pot introduce un proprietar care are un teren de cod inexistent n tabelul Terenuri.
90
Se mparte clasa n dou grupe: grupa bieilor i grupa fetelor; Fiecare echip, realizeaz un proiect despre datele care le conin echipele de fotbal pentru biei i genuri de muzic pentru fete; Echipa va conine: informaticianul- cel care proiecteaz relaiile designerul- cel care se ocup de grafic, aspect; reporterii cei care caut informaii pe internet; centralizatorii- cei care asambleaz datele i le transform n informaii pentru tabele; Observatorii- cei care verific corectitudinea datelor culese; Un arbitru- cel care ofer puncte echipelor; Juriul- cei care stabilesc criteriile de evaluare i analizeaz munca echipelor. Grupele vor culege date de la mai multe formaii sau echipe;Rezultatul va fi prezentat cu videoproiectorul- prin realizarea unei prezentri n Powerpoint. Se vor puncta: entitile create; atributele i felul lor (obligatorii, opionale), relaiile dintre entiti; tipul de legturi ntre entiti; Modele de date ce pot fi obinute prin crearea relaiilor ntre tabele; Corectitudinea datelor culese; Aspectul prezentrii; Proiectul ctigtor ca fi expus i altor clase; Timp de lucru: dou ore
91
92
Exemplu afaceri S presupunem regul de afaceri urmtoarele: fiecare angajat poate avea un partener. Acest model ncalc a treia form normal, deoarece data naterii partenerului este un atribut de partener, nu de angajat.
Exemplu- CARTE S analizm entitatea CARTE: Aceast entitate nu respect cea de-a treia regul de normalizare deoarece atributul Adresa
editurii depinde de atributul Editura, atribut care ne este identificator unic al entitii CARTE. Pentru a respecta a treia form normal vom crea o nou entitate numit EDITURA pe care o vom relaiona cu entitatea CARTE. Atributul Adresa editurii va fi atribuit entitii EDITURA.
93
Exerciiu S analizm entitatea CLIENT modelat mai jos. Aceast entitate nu respect cea de a treia form normal.
94
Condiie de verificat
Soluie(normalizare)
FN1
Fiecare atribut care ia mai multe valori pentru aceeai instan se transform ntr-o nou entitate. Se stabilesc relaiile necesare ntre noile entiti i entitatea iniial modificat.
FN2
Entitatea este n FN1. Cheia sa primar const din mai multe atribute. Toate atributele care nu fac parte din cheia primar sunt complet dependente funcional de cheia primar.
Fiecare parte a cheii primare, mpreun cu atributele care depind funcional complet de ea formeaz o nou entitate. Se stabilesc relaiile necesare ntre noile entiti care au nlocuit-o pe cea iniial.
FN3
Entitatea este n FN2. Niciun atribut care nu face parte dintr-o cheie candidat nu este funcional dependent de un alt atribut care nu face nici el parte dintr-o cheie candidat
Se pstreaz n entitatea iniial numai cheia primar i atributele care depind funcional de ea direct (inclusiv atributul incriminat) Se creeaz cte o nou entitate din fiecare atribut care nu face parte din cheia primar, mpreun cu toate atributele (care nu fac nici ele parte din cheia primar a entitii iniiale) care sunt dependente funcional de acesta. Se stabilesc relaiile necesare ntre noile entiti i entitatea iniial modificat.
5. Scriei cate o entitate pentru fiecare dintre instanele urmtoare: CRAIOVA, URS,
PECHINEZ, PORUMB precizai tipul identificatorilor.
6.
Se consider diagrama de mai sus. Alegei dintre urmtoarele variante pe cele care citesc corect relaiile dintre entitile STUDENT i PROFESOR
:
Fiecare STUDENT trebuie sa fie pregtit de un PROFESOR i numai unul Fiecare STUDENT poate sa fie pregtit de un PROFESOR i numai unul Fiecare STUDENT trebuie sa fie pregtit de unul sau mai muli PROFESORI Fiecare STUDENT poate fi pregtit de unul sau mai muli PROFESORI Fiecare PROFESOR poate pregti unul sau mai muli STUDENI Fiecare PROFESOR poate pregti un STUDENT i numai unul 96
Fiecare PROFESOR trebuie sa pregteasc unul sau mai muli STUDENI Fiecare PROFESOR trebuie sa pregteasc un STUDENT i numai unul.
7. Se consider urmtorul scenariu: intr-o coala exista mai muli elevi care au
probleme in utilizarea anumitor cunotine de informatica. La nivelul colii fost stabilii anumii profesori care se ocupa cu pregatirea acestor elevi. Fiecare elev face parte dintr-o grupa de elevi de a cror pregtire se ocupa u singur profesor, ns exista i profesori care pregtesc mai multe grupe de elevi. Specificai relaia care se stabilete intre entitile ELEV i PROFESOR, precum i opionalitatea i cardinalitatea ei. Desenai diagrama i citii relaia ambele sensuri. Instruciuni: Completai rspunsul de la tastatura in cmpul de mai jos.
8. Realizai
9. Se consider un model care gestioneaz situaia elevilor n cei patru ani de liceu.
Entitatea ELEV are unul dintre atribute clasa. Este acesta atribut volatil? Daca da, nlocuii-l cu unul care sa nu fie volatil;
11. Dai exemplu de: entitate, trei instane ale acesteia, dou atribute, identificator unic.
Pentru entitatea ANGAJAT :
- specificai - dai
atributele pe care le considerai importante, precum i opionalitatea lor tipul fiecrui atribut
- specificai - dai
12. Scriei cte o entitate pentru fiecare dintre atributele urmtoare: temperatura, pre,
data de nceput. Pentru fiecare din entitile de mai sus indicai identificatorul unic specific. 97
13. Dai un exemplu de scenariu cu dou entiti ntre care sa se stabileasc o relaie
unu la mai muli. Desenai diagrama i citii relaiile.
14. Se consider urmtorul scenariu: intr-o coal exist mai muli elevi care au
probleme n utilizarea anumitor cunotine de informatic. La nivelul colii fost stabilii anumii profesori care se ocupa cu pregatirea acestor elevi. Fiecare elev face parte dintr-o grupa de elevi de a cror pregtire se ocupa un singur profesor, ns exist i profesori care pregtesc mai multe grupe de elevi. Specificai relaia care se stabilete intre entitile ELEV i PROFESOR, precum i opionalitatea i cardinalitatea ei. Desenai diagrama i citii relaia n ambele sensuri.
15. Stabilii care dintre exemplele din stnga sunt exemple de entiti, instane sau
atribute. Utilizai sgeile pentru a face asocierea corect.
animal Popescu George vrsta Entitate sau instant Instan atribut
17. Se consider diagrama de mai jos. Precizai dac exist o relaie redundant.
da nu
98
18. Se ncearc o cercetare privind diversele epidemii aprute n ultimii ani n Europa.
Pentru fiecare spital care particip la aceast cercetare, se va ine ( de localitate, numr doctori, numr paturi. Sunt implicai n aceast cercetare mai multe specialiti pentru care se cunoate, numele, adresa de e-mail, specializarea, spitalul unde profeseaz. In aceast cercetare sunt implicai i anumii pacieni pentru care este important sa se cunoasc: vrsta, sex, diagnostic, valoare glicemie, valoare colesterol, numr leucocite. Identificai, aa cum rezult din scenariul de mai sus, entitile, atributele i optionalitile lor, precum i identificatorul unic pentru fiecare entitate n parte.
19. Scriei cte o entitate pentru fiecare dintre instanele urmtoare: CRAIOVA, URS,
PECHINEZ, PORUMB. Pentru fiecare din entitile de mai sus subliniai i identificatorul unic specific.
20. Se consider o fabrica de confecii care produce: rochii, bluze, pantaloni, fuste.
Pentru fiecare dintre acestea se pstreaz informaii specifice. Construii diagrama corespunztoare acestui scenariu.
21. Dai dou exemple de scenarii, unul in care sa avem entitatea CAINE, iar in
celalalt, CAINE sa fie instana unei entiti care se va preciza.
respectivi i de aceea una dintre entitile de interes e CLIENT cu atributele: nume, vrsta, adresa de e-mail. Precizai care sunt opionalitaile atributelor pentru fiecare scenariu. Instruciuni: Utilizai sgeile pentru a face asocierea corect. Scenariu 1 Scenariu 2 Scenariu 2 Scenariu 1 Scenariu 1 Scenariu 2 * nume * vrsta * vrsta * nume * adresa de e-mail o adresa de e-mail
100
101
Concluzii
Din analiza rezultatelor obinute la testele aplicate, precum i din observaiile fcute pe tot parcursul experimentului didactic se pot formula o serie de concluzii care s confirme valoarea evalurii continue aplicat n cadrul secvenei de instruire la clasa a XIII-a A, ce a fcut obiectul temei investigate. Desfurarea leciilor privind formarea noiunilor de Entitate, relaie, form normal, cheie primar, prin metode moderne i prin evaluare formativ, asigur eficiena sporit att sub aspectul triniciei cunotinelor nsuite ct i sub aspectul formrii la elevi a unor caliti i capaciti intelectuale, de munc independent sau n grup, dar i de cercetare individual sau n grup. Fiind o evaluare sistematic i analitic a oferit informaii concrete n legtur cu nivelul de atingere a competenelor elevilor, cu dificultile de nvare ntmpinate de elevi, sugernd ajustrile necesare, sau chiar modificri ale metodelor i procedeelor utilizate la clas. Evaluarea a fost astfel proiectat i realizat, nct a motivat elevii s nvee, s i monitorizeze progresul dar i lacunele sau erorile. n urma experimentului didactic am constatat c elevii ajung progresiv s fie interesai de subiect, la nceput fiind mai greu sa-i nsueasc noiunile introduse. Din analiza datelor se constat o evoluie pozitiv a competenelor de a-i forma o gndire proprie, de a se descurca n diferite situaii problem. Evaluarea de tip formative este centrat pe strategiile specifice folosite de elev n rezolvarea problemelor, identificnd acele strategii care provoac o dezvoltare a eficienei, fiind legate de un domeniu de cunotine de deprinderi. Din studiul efectuat i din experimental didactic am observat c elevii se angajeaz bine n practicile comunicative i folosesc bine instrumentele de comunicare . Modelele propuse evalurii au fost adaptate caracteristicilor elevilor. Din punct de vedere al dezvoltrii intelectuale parcurgerea secvenelor de nvare din unitatea Modelarea datelor elevul a luat la cunotin problemele cu care se confrunt cel care proiecteaz o baz de date pentru a putea fi exploatat ct mai corect posibil; Elevii au dovedit c au un spirit de echip, fiind antrenai de idei uneori ingenioase dar apoi dezbtute i analizate de ntreaga clas, echipele nu au analizat n proporie de sut la sut ce i-au propus dar au reuit s aduc corect baza de date la prima form normal. 102
Susinerea proiectelor finale cu ajutorul proiectorului a fost cel mai culminant moment, elevii dnd dovad de sim practic n prezentrile fcute, analiznd destul de bine situaiile alese;
103
Bibliografie
1. Boriga,R., Huanu V, Access Curs pentru liceu , Editura L&S Soft 2005 2. Boco, M., Jucan, D, Fundamentele pedagogiei. Teoria i metodologia curriculumului., Editura Paralela 45, Piteti 3. Bura, Alin - Informatica manual pentru clasa a 12a, Editura ALL 2007 4. Cerchez , E., Serban,M. , Buc, A -Modelarea datelor Manualul profesorului documentaie online
5. Gheorghe M, Ttrm, M., Achinca C., Pestriu, I.- Informatic Manual pentru clasa a XII-a, Editura Corint, , 2007
7. McFadden, F.R., Hoffer, J.A.- Modern Database Management, 4nd ed, Benjamin/Cummings 1994 8. Nicola,I. Pedagogie, Ed. Didactic i Pedagogic Bucureti, 1996
9. Paniru, M., Paniru I. Informatic tehnologii asistate de calculator, varianta Access manual pentru clasa a 12a,editura L&S 2003 10. Paniru M., Paniru, I.,Paniru I. , Culegere de probleme Visual Fox Pro , ED. L&S Soft, 2005 11. Paniru M, Manual pentru clasa a 12a, Editura All 2007 12. Preda,G. - Baze de date n economie, http://www.elth.pub.ro/~preda/ 13. Radulescu, F. - note de curs Modelul entitate-asociere clasic
14. Simsion,G., Witt, G, Data Modeling Essentials, Morgan Kaufman
Publishers, 2005 15. Tmbulea,L. Access pentru programatori, Editura Promedia Plus 2003, 16. Iacob, P., Neagu, M. - Baze de date documentaie online 17. Trandafir R., M., Mazilu,I. M., Nistorescu M., Bazele Informaticii iLimbaje de Programare, notr de curs, Bucureti, 2006
104
105