baze de date distribuite și mobile - runceanu.ro · cultivatoare de flori 7 24.10.2014 baze de...
TRANSCRIPT
![Page 1: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/1.jpg)
Baze de date distribuite și mobile
Universitatea “Constantin Brâncuşi” din Târgu-JiuFacultatea de Inginerie
Departamentul de Automatică, Energie şi Mediu
Lect.dr. Adrian Runceanu
![Page 2: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/2.jpg)
Curs 2Model fizic şi model conceptual
Entităţi si instanţe (partea I)
24.10.2014 Baze de date distribuite si mobile 2
![Page 3: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/3.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea I)
1. Data versus informaţie
2. Model fizic şi model conceptual
3. Entităţi si instanţe
4. Relaţii
5. ERD-uri
6. Subtipuri şi supertipuri
7. Documentarea unui ERD
24.10.2014 Baze de date distribuite si mobile 3
![Page 4: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/4.jpg)
Date versus informatie
Interacţionăm zilnic cu baze de date, fie căsuntem sau nu conştienţi:
– Istoricul creditului la bancă
– Codurile şi numele produselor din magazin
– Fişa de înscriere a studentului la admitere, …
Important este să înţelegem cum suntmodelate datele, cum se păstrează şi cum putem regăsi informaţii pe baza acestor date
24.10.2014 Baze de date distribuite si mobile 4
![Page 5: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/5.jpg)
(Dicţionar general al limbii române – Vasile Breban Ed. Enciclopedica,1991)
Informaţia rezultă adesea din combinarea, compararea siefectuarea unor calcule asupra datelor.
24.10.2014 Baze de date distribuite si mobile 5
Date Informatii
“Fapte, elemente ceservesc ca punct de plecare în cercetarea uneiprobleme sau pentru a trage o concluzie sauhotărâre”.
“Comunicare, veste, ştire”“Fiecare dintre elementelenoi în raport cucunoştinţele prealabile”.
Date versus informatie
![Page 6: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/6.jpg)
24.10.2014 Baze de date distribuite si mobile 6
Date InformatiiNotele studentilor in sesiune Media notelor pe grupă la
proiectarea bazelor de date
Ultima medie de admitere la Facultatea de Inginerie
Numarul de studenti cu media peste 9 din facultate
Bugetul facultatii in 2013 a fost 200000 lei
Ce buget este necesar in anulviitor?
Bugetul facultatii in 2014 a fost 250000 lei
Date versus informatie
![Page 7: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/7.jpg)
Cum aţi folosi o baza de date dacă aţi avea unadintre meseriile de mai jos?
Mecanic auto
Şofer
Cultivatoare de flori
24.10.2014 Baze de date distribuite si mobile7
![Page 8: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/8.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea I)
1. Data versus informaţie
2. Model fizic şi model conceptual
3. Entităţi si instanţe
4. Relaţii
5. ERD-uri
6. Subtipuri şi supertipuri
7. Documentarea unui ERD
24.10.2014 Baze de date distribuite si mobile 8
![Page 9: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/9.jpg)
Model fizic și model conceptual
Modelarea datelor estedoar prima parte a procesului de construire al bazei de date.
Modelul conceptual:- Modelează nevoile
informaţionale ale afacerii- Se numeşte “Entity
Relationship Model”- Este prezentat printr-o
diagramă numită “Entity Relationship Diagram”
24.10.2014 Baze de date distribuite si mobile9
![Page 10: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/10.jpg)
Etape în procesul de dezvoltare a bazelor de date
1. Incepe prin formularea cerinţelor informaţionaleale afacerii
2. Se desenează apoi modelul conceptual
3. Se proiectează baza de date pornind de la modelulconceptual (entitaţile devin tabele, atributeledevin nume de coloane care corespund unor tipuride date, se stabilesc proprietăţile speciale ale unorcoloane)
4. Se construieşte baza de date (modelul fizic) prinexecutarea unor instructiuni SQL
24.10.2014 Baze de date distribuite si mobile 10
![Page 11: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/11.jpg)
Principii de bază ale modelării
Să cuprindă toate datele necesare
Datele sa fie păstrate o singură dată
Să nu cuprindă informaţii ce se obţin din date deja cuprinse in model
Orice dată să fie aşezată în locul cel mai logic şi mai potrivit
24.10.2014 Baze de date distribuite si mobile 11
![Page 12: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/12.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea I)
1. Data versus informaţie
2. Model fizic şi model conceptual
3. Entităţi si instanţe
4. Relaţii
5. ERD-uri
6. Subtipuri şi supertipuri
7. Documentarea unui ERD
24.10.2014 Baze de date distribuite si mobile 12
![Page 13: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/13.jpg)
Entități și instanțe
Entitate = ceva semnificativ pentru afacere, referitorla care trebuie să cunoaştem date.
Entităţile au instanţe.
Entităţile au atribute.
O instanţă este o valoare dată entităţii.
Exemplu: Entitatea FRUCT are instanţe: cireasa, nuca, pepene, măr, portocală.
24.10.2014 Baze de date distribuite si mobile 13
![Page 14: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/14.jpg)
Atributul
Este o proprietate a unei entităţi sau un detaliureferitor la acesta.
Descrie, cuantifică, califică, clasifică sau specifică o entitate.
Are un tip care poate fi un număr, un şir de caractere, o dată calendaristică, o imagine, etc.
Exemplu:
Entitatea FRUCT poate avea atributele: nume, tip, regiune, data_culesului.
In acest caz o instanta poate fi: portocală, citrice, Grecia, 10-July-2014.
24.10.2014 Baze de date distribuite si mobile 14
![Page 15: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/15.jpg)
Atribute mandatorii sau opționale
Unele atribute trebuie neapărat să aibă valoare. Acestea se numesc MANDATORII.
Exemplu: In afaceri, numele este o informaţie absolut necesară.
Alte atribute pot avea informaţie necompletată, nulă. Acestea se numesc OPŢIONALE.
Exemplu: În multe cazuri numărul de telefon fix este o informaţiece poate lipsi dacă apare numărul de telefon mobil.
24.10.2014 Baze de date distribuite si mobile 15
![Page 16: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/16.jpg)
Exemplu
24.10.2014 Baze de date distribuite si mobile 16
![Page 17: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/17.jpg)
Exercițiu
Dati exemple de atribute ale urmatoarelor entitati:
- CUSTOMER
- CAR
- JOB
- ORDER
- TRANSACTION
- EMPLOYMENT CONTRACT
24.10.2014 Baze de date distribuite si mobile 17
![Page 18: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/18.jpg)
Exercițiu
24.10.2014 Baze de date distribuite si mobile 18
![Page 19: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/19.jpg)
Legătura lipsă (THE MISSING LINK)
Câteodată, clientul dă informaţii trunchiate siirelevante sau poate nu ştie nici el exact ce vrea.
Informaţiile pe care le primim în astfel de cazurisunt asemeni unor piese incomplete de puzzle.
Punând întrebările potrivite şi lucrând în echipă, putem descoperi ceea ce ne lipseşte.
24.10.2014 Baze de date distribuite si mobile 19
![Page 20: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/20.jpg)
Exercițiu
Fiecare student primeşte o piesă de puzzle.
Piesele componentilor unui grup formeazăimaginea, mai putin piesa cea mai importantă, care lipseşte.
Fără a-şi arăta unul altuia bucăţica de imagine, doarprin comunicare, să se completeze imaginea grupeisi apoi să se identifice ce conţine piesa ce lipseşte.
24.10.2014 Baze de date distribuite si mobile 20
![Page 21: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/21.jpg)
Identificarea și modelarea entităților
Identificați și modelați entitățile pe baza următorului set de cerințe de informații
“I’m the manager of a training company that provides instructor-led
courses in management techniques. We teach many course, each of which has a
code, a name, and a fee. Introduction to UNIX and C Programming are two of our
more popular courses. Courses vary in length from one day to four days. An
instructor can teach several courses. Paul Rogers and Maria Gonzales are two of
our best teachers. We track each instructor’s name and phone number. Each
course is taught by only one instructor. We create a course and then line up an
instructor. The students can take several courses over time, and many of them do
this. Jamie Brown from AT&T took every course we offer! We track each students
name and phone number. Some of our students and instructors do not give us their
phone numbers.”
24.10.2014 Baze de date distribuite si mobile 21
![Page 22: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/22.jpg)
Soluție
INSTRUCTOR (TEACHER)
name
phone number
STUDENT
name
phone number
COURSEcodenamefee duration
24.10.2014 Baze de date distribuite si mobile 22
![Page 23: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/23.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea I)
1. Data versus informaţie
2. Model fizic şi model conceptual
3. Entităţi si instanţe
4. Relaţii
5. ERD-uri
6. Subtipuri şi supertipuri
7. Documentarea unui ERD
24.10.2014 Baze de date distribuite si mobile 23
![Page 24: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/24.jpg)
Relația
Reprezintă ceva semnificativ pentru afacere
Exprimă care sunt relaţiile între două entităţi (sauîntre una şi aceeaşi entitate)
Se citeşte în ambele sensuri
Are opţionalitate
Are un grad de cardinalitate
24.10.2014 Baze de date distribuite si mobile 24
![Page 25: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/25.jpg)
Opționalitatea unei relații
Relaţiile pot fi:
1. mandatorii
2. opţionale
Exemplu:
Pentru a stabili opţionalitatea relaţiei dintre entităţile ANGAJAT siJOB se pun următoarele întrebări:
1. Trebuie ca fiecare angajat să aibă un job?
2. Trebuie ca fiecare job să fie acordat unui angajat?
24.10.2014 Baze de date distribuite si mobile 25
![Page 26: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/26.jpg)
Cardinalitatea unei relații
Determină gradul relaţiei.
Se determină prin răspunsul la întrebarea: Câte? Câți?
Exemplu:
Câte job-uri poate îndeplini un angajat? Unul, sau maimulte?
Câti angajaţi pot lucra la un job? Doar unul? Sau maimulţi?
24.10.2014 Baze de date distribuite si mobile 26
![Page 27: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/27.jpg)
Exemple de relaţii
Each EMPLOYEE must hold one and only one JOBEach JOB may be held by one or more EMPLOYEEs
Each PRODUCT must be classified by one and only one PRODUCT TYPE
Each PRODUCT TYPE may classify one or more PRODUCTs
24.10.2014 Baze de date distribuite si mobile 27
Câte job-uri poate îndeplini un angajat? Unul, sau mai multe?
Câti angajaţi pot lucra la un job? Doar unul? Sau mai mulţi?
![Page 28: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/28.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea I)
1. Data versus informaţie
2. Model fizic şi model conceptual
3. Entităţi si instanţe
4. Relaţii
5. ERD-uri
6. Subtipuri şi supertipuri
7. Documentarea unui ERD
24.10.2014 Baze de date distribuite si mobile 28
![Page 29: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/29.jpg)
Convenții ale ERD-ului
Entităţile sunt reprezentate prin
dreptunghiuri cu colţurile
rotunjite, în care este înscris
numele entităţii la singular, cu
litere mari.
Atributele sunt afişate sub
numele entităţii, cu litere mici. Se pun in faţă semnele:
* pentru atribut mandatoriu
o pentru atribut opţional
# pentru identificator unic.
24.10.2014 Baze de date distribuite si mobile29
![Page 30: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/30.jpg)
Convenții ale ERD-ului
ERD – Entity Relationship Diagram
Informaţiile dintre date pot fi reprezentate
într-o formă convenţională care să poată fi
uşor înţeleasă de toată lumea.
O astfel de reprezentare este diagrama
entităţi-relaţii, numită şi harta relaţiilor sau
ERD-ul (Entity Relationship Diagram).
24.10.2014 Baze de date distribuite si mobile30
![Page 31: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/31.jpg)
Convenții ale ERD-ului
Relaţiile sunt trasate cu linie:
- continuă, pentru relaţie mandatorie
- întreruptă, pentru relaţie optională
Relaţiile se termină:
- într-o linie, pentru cardinalitate 1;
- în trei liniuţe (picior de cioară), pentru “maimulte”.
24.10.2014 Baze de date distribuite si mobile 31
![Page 32: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/32.jpg)
DESENAREA RELAŢIILOR SI CITIREA LOR IN LIMBAJ ERD-ish
24.10.2014 Baze de date distribuite si mobile 32
![Page 33: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/33.jpg)
Diagrame matriciale
Sunt o alternativă la reprezentarea prin ERD.
Sunt folosite atunci cândavem foarte multe relaţii, pentru a ne asigura că nu am uitat vreuna.
Diagramele matriciale nu arată opţionalitatea şicardinalitatea.
24.10.2014 Baze de date distribuite si mobile 33
![Page 34: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/34.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea I)
1. Data versus informaţie
2. Model fizic şi model conceptual
3. Entităţi si instanţe
4. Relaţii
5. ERD-uri
6. Subtipuri şi supertipuri
7. Documentarea unui ERD
24.10.2014 Baze de date distribuite si mobile 34
![Page 35: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/35.jpg)
Subtipuri și supertipuri
Adesea unele instanţe au atribute sau relaţii pe care alte instanţe ale aceleiaşi entităţi nu le au. Exemplu:
24.10.2014 Baze de date distribuite si mobile 35
![Page 36: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/36.jpg)
Un subtip
Moşteneşte toate atributele supertipului
Moşteneşte toate relaţiile supertipului
De obicei are propriile atribute / relaţii
Este desenat în interiorul supertipului
Nu este singurul subtip
Poate avea la rândul său subtipuri
Se mai numeşte “subentitate”
24.10.2014 Baze de date distribuite si mobile36
![Page 37: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/37.jpg)
Exemplu
24.10.2014 Baze de date distribuite si mobile 37
![Page 38: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/38.jpg)
Subtipuri și supertipuri
Fiecare instanţă a unui supertip este instanţă a unui subtip (partiţionarea este exhaustiva).
Nici o instanţă a unui supertip nu apare în două subtipuri (partiţionarea este mutual exclusivă).
Se indica folosirea subtipului OTHER atuncicand este posibil sa apara si alt tip de instantedecat cele prevazute de celelalte subtipuri.
24.10.2014 Baze de date distribuite si mobile 38
![Page 39: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/39.jpg)
Exercițiu
24.10.2014 Baze de date distribuite si mobile 39
![Page 40: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/40.jpg)
Model fizic şi model conceptualEntităţi si instanţe (partea I)
1. Data versus informaţie
2. Model fizic şi model conceptual
3. Entităţi si instanţe
4. Relaţii
5. ERD-uri
6. Subtipuri şi supertipuri
7. Documentarea unui ERD
24.10.2014 Baze de date distribuite si mobile 40
![Page 41: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/41.jpg)
Documentarea unui ERD
Cheia ce permite verificarea acurateţii şi completitudiniimodelului este identificarea şi documentarea regulilorafacerii.
Nu toate regulile pot fi reprezentate în diagramă.Unele vor fi implementate mai târziu, prin programare.
Ele trebuie incluse în documentaţia modelului.
Există două tipuri de reguli
1. Regulile structurale
2. Regulile procedurale
24.10.2014 Baze de date distribuite si mobile 41
![Page 42: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/42.jpg)
Documentarea unui ERD
1. Regulile structurale indică:
tipurile de informaţii care se vor memora;
relaţiile dintre aceste informaţii.
Aproape toate regulile structurale pot fi reprezentate în diagramă.
24.10.2014 Baze de date distribuite si mobile 42
![Page 43: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/43.jpg)
Documentarea unui ERD
2. Regulile procedurale descriu procesele din cadrul activităţii.
In general, regulile procedurale nu pot fi reprezentate în diagramă, şi deci trebuie incluse în documentaţie.
Acestea indică adesea succesiunea în timp a unor evenimente.
24.10.2014 Baze de date distribuite si mobile 43
![Page 44: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/44.jpg)
Documentarea unui ERD
EXERCITIU
Members of your design team have been working with the local hospital to develop a data model for their need to store information about patients, the patient's room number, the patient's doctor, drug prescriptions given, and specific drug information.
However, they all went on vacation and left you to figure out the model.
They also failed to give you any of their documentation other than the entities and attributes illustrated here.
Instead of going back to the hospital, which could reflect poorly on your company, you’re going to have to think about everything you know about hospitals!
24.10.2014 Baze de date distribuite si mobile 44
![Page 45: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/45.jpg)
Documentarea unui ERD
EXERCITIU
Your task is to generate a list of business rules you think were used to arrive at the information shown here.
Use your imagination. List 10 structural rules, 5 procedural rules, and 2
programmatic rules (rules to be addressed by computer applications in the future).
State each rule as a single sentence. Based on your set of business rules, draw the ERD.
24.10.2014 Baze de date distribuite si mobile 45
![Page 46: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/46.jpg)
Documentarea unui ERD
24.10.2014 Baze de date distribuite si mobile 46
![Page 47: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/47.jpg)
Documentarea unui ERD
SOLUTIE:
Structural Rules: A patient is someone who is admitted to the hospital. Each room assignment must include the building number and room
number. Each room may be occupied by one or more patients. A physician must have a valid license number. Each drug must be prescribed by a physician. Each drug prescribed must have a label showing label number, dosage,
treatment duration, and expiration date. The drug code, name, and cost must be recorded for all drugs. Each prescription must have a number and date. Each physician may be
assigned to more than one patient. Each patient must have an assigned physician.
24.10.2014 Baze de date distribuite si mobile 47
![Page 48: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/48.jpg)
Documentarea unui ERD
Procedural Rules:
Changes to prescriptions can be made only by
licensed physicians.
Patients cannot refill prescriptions without a
physician's signature.
Physicians cannot remove drug labels.
Patients cannot change hospital rooms without a
physician's recommendation.
Nurses cannot reassign patients without physician
approval.24.10.2014 Baze de date distribuite si mobile 48
![Page 49: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/49.jpg)
Documentarea unui ERD
Programming Rules:
Drugs costs are billed at current cost at the time of
patient discharge.
Physician fees may reflect additional costs associated
with patient complications, additional patient
requests, etc.
24.10.2014 Baze de date distribuite si mobile 49
![Page 50: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/50.jpg)
Documentarea unui ERD
24.10.2014 Baze de date distribuite si mobile 50
![Page 51: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/51.jpg)
TRANSFERABILITATEA RELATIILOR O relaţie este netransferabilă dacă nu poate fi mutată la altă instanţă.
Exemplu de relaţie transferabilă:
Un student poate fi mutat în altăgrupă
Exemplu de relaţie netransferabilă:
O poezie este scrisă de un autor şi nu poate fi transferată altui autor.
24.10.2014 Baze de date distribuite si mobile 51
![Page 52: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/52.jpg)
Tipuri de relații
Relaţia (1:M) One to Many
Este relaţia cea mai frecventintâlnită.
24.10.2014 Baze de date distribuite si mobile 52
![Page 53: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/53.jpg)
Tipuri de relații
Relaţia (1:1) One to One
În practică se întâlnescdoar câteva tipuri de relaţie 1:1
24.10.2014 Baze de date distribuite si mobile 53
![Page 54: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/54.jpg)
Tipuri de relații
Relaţia (M:M) Many to Many
Este o relaţie foarte întâlnităîn prima fază a modelării.
Se recomandă rezolvareaacestor relaţii în alt mod deoarece nu poate fi implementată în aceastăformă.
24.10.2014 Baze de date distribuite si mobile 54
![Page 55: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/55.jpg)
Tipuri de relații
EXERCITIU
Draw an entity relationship diagram to represent the following:
a. Each CLUB must be assigned to one and only DEPARTMENT
b. Each DEPARTMENT may be responsible for one or more CLUBs
c. Each STUDENT may join one or more CLUBs
d. Each CLUB may be composed of one or more STUDENTs
24.10.2014 Baze de date distribuite si mobile 55
![Page 56: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/56.jpg)
Tipuri de relații
SOLUTIE
24.10.2014 Baze de date distribuite si mobile 56
![Page 57: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/57.jpg)
Exercitiu
Read the relationships. Write the relationship sentences for this E-R diagram.
issued forITEM
numberdescription
ORDERnumber
type boughtvia
originated by
theoriginator
of
CUSTOMERfirst namelast name
stored in
therepository
for
WAREHOUSEidaddress
24.10.2014 Baze de date distribuite si mobile 57
![Page 58: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/58.jpg)
Solutie
Each ORDER must be issued for one or more ITEMs.
Each ITEM may be bought via one or more ORDERs.
Each ORDER must be originated by one and only one CUSTOMER.
Each CUSTOMER may be the originator of one or more ORDERs.
Each ITEM must be stored in one and only one WAREHOUSE.
Each WAREHOUSE may be the repository for one or more ITEMs.
24.10.2014 Baze de date distribuite si mobile 58
![Page 59: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/59.jpg)
Exercitiu
Draw an Entity-Relationship Diagram. Draw an Entity-Relationship diagram to represent the
following:
a. Each EMPLOYEE must be assigned to one and only DEPARTMENT.
b. Each DEPARTMENT may be responsible for one or more EMPLOYEEs.
c. Each EMPLOYEE may be assigned to one or more ACTIVITIES.d. Each ACTIVITY may be performed by one or more
EMPLOYEEs.
24.10.2014 Baze de date distribuite si mobile 59
![Page 60: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/60.jpg)
Solutie
assigned toDEPARTMENTEMPLOYEE
responsiblefor
performedby
ACTIVITY
24.10.2014 Baze de date distribuite si mobile 60
![Page 61: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/61.jpg)
Exemplu pentru etapele creării unei baze de date
1. Se prezintă necesităţile informaţionale ale afacerii:
24.10.2014 Baze de date distribuite si mobile 61
![Page 62: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/62.jpg)
2. Se crează modelul conceptual:
24.10.2014 Baze de date distribuite si mobile 62
![Page 63: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/63.jpg)
3. Pornind de la modelul conceptual se stabilesc:
- numele tabelelor
- numele coloanelor din fiecare tabel, tipulacestora şi după caz proprietatea:
PK (primary key), FK(foreign key), Null sauUnique
24.10.2014 Baze de date distribuite si mobile 63
![Page 64: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/64.jpg)
4. Prin instrucţiuni SQL se creazăbaza de date proiectată anterior.
24.10.2014 Baze de date distribuite si mobile 64
![Page 65: Baze de date distribuite și mobile - runceanu.ro · Cultivatoare de flori 7 24.10.2014 Baze de date distribuite si mobile. Model fizic şi model conceptual Entităţi si instanţe](https://reader030.vdocuments.pub/reader030/viewer/2022041210/5dd0a5fad6be591ccb62038d/html5/thumbnails/65.jpg)
Întrebări?
24.10.2014 Baze de date distribuite si mobile 65