+ All Categories
Home > Documents > Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si...

Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si...

Date post: 23-Nov-2019
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
19
Modelul relational Tabele, randuri, coloane SGBDR Regulile lui Codd Proiectarea bazelor de date relationale Crearea schemei conceptuale Crearea design-ului logic al bazei de date Normalizarea bazei de date Prima forma normala (1NF First Normal Form) A doua forma normala (2NF Second Normal Form) A treia forma normala (3NF Third Normal Form) Forma normala Boyce-Codd (BCNF Boyce-Codd Normal Form) A patra forma normala (4NF Fourth Normal Form)
Transcript
Page 1: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Modelul relational

• Tabele, randuri, coloane

• SGBDR – Regulile lui Codd

Proiectarea bazelor de date relationale

• Crearea schemei conceptuale

• Crearea design-ului logic al bazei de date

• Normalizarea bazei de date

• Prima forma normala (1NF – First Normal Form)

• A doua forma normala (2NF – Second Normal Form)

• A treia forma normala (3NF – Third Normal Form)

• Forma normala Boyce-Codd (BCNF – Boyce-Codd Normal Form)

• A patra forma normala (4NF – Fourth Normal Form)

Page 2: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Modelul relational

Tabele, randuri, coloaneRelatii Tabele

Atribute Coloane

Tuple Inregistrari

Regulile lui Codd

1. Regula reprezentarii logice a datelor: Intr-o baza de date relationala, toate datele

sunt reprezentate la nivel logic intr-un singur mod, si anume sub forma de valori

logice in tabele.

2. Regula accesului la date: Toate datele individuale din tabele trebuie sa fie accesibile

prin furnizarea numelui tabelului, numelui coloanei si valorii cheii primare.

3. Regula reprezentarii valorilor necunoscute: Un sistem relational trebuie sa

permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor

valori necunoscute sau inaplicabile.

Page 3: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Modelul relational

Regulile lui Codd (continuare)

4. Regula dictionarului de date: Descrierea bazei de date (dictionarul de date) trebuie

sa fie reprezentata la nivelul logic tot sub forma de tabele, astfel incat asupra acesteia

sa se poata aplica aceleasi operatii ca si asupra datelor propriu-zise.

5. Regula limbajului de acces: Intr-un sistem relational trebuie sa existe cel putin un

limbaj de accesare a datelor, care sa asigure urmatoarele operatii: definirea tabelelor

de baza si a tabelelor virtuale (view-uri, vederi); manipularea si interogarea datelor

(atat interactiv cat si prin program); definirea restrictiilor de integritate, autorizarea

accesului la date, delimitarea tranzactiilor.

6. Regula de actualizare a tabelelor virtuale: Un SGBD trebuie sa poata determina

daca o vedere poate sa fie actualizata sau nu.

7. Regula manipularii datelor: Un sistem relational trebuie sa ofere posibilitatea

procesarii tabelelor nu numai in operatiile de interogare a datelor cat si in cele de

inserare, actualizare si stergere.

8. Regula independentei fizice a datelor: Aplicațiile (la nivel logic) nu trebuie sa

depinda de modul de stocare si accesare fizica a datelor.

Page 4: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Modelul relational

Regulile lui Codd (continuare)

9. Regula independentei logice a datelor: Programele de aplicatie nu trebuie sa fie

afectate de nici o restructurare logica a tabelelor bazei de date care conserva datele.

10. Regula independentei datelor din punctul de vedere al integritatii: Regulile de

integritate a bazei de date trebuie sa fie definite in limbajul utilizat de sistem pentru

definirea datelor si nu in cadrul aplicatiilor individuale; in plus, aceste reguli de

integritate trebuie stocate in dictionarul de date.

11. Regula independentei datelor din punctul de vedere al distribuirii: Programele de

aplicatie nu trebuie sa fie afectate de distribuirea pe mai multe calculatoare a bazei de

date.

12. Regula privind prelucrarea datelor de catre un limbaj de nivel inferior: Dacă

sistemul de gestiunea bazelor de date pune la dispoziția utilizatorilor o interfață de

nivel inferior (la nivel de înregistrare) atunci interfața nu poate să submineze sistemul,

de exemplu, prin nerespectarea unei constrângeri de integritate sau a unei limitări

impuse prin politica de securitate.

0. Regula de baza: Un SGBD relational trebuie sa fie capabil sa gestioneze baza de date

exclusiv pe baza caracteristicilor sale relationale.

Page 5: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Modelul relational

Proiectarea bazelor de date relaționale

o Crearea schemei conceptuale

o Crearea design-ului logic al bazei de date

o Normalizarea bazei de date

Page 6: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Crearea schemei conceptuale a bazei de dateModelul entitate-relatie

Entitate

Obiect de interes pentru care trebuie sa existe date inregistrate

Exemplu:

Fiecare entitate e denumita

in mod unic

Pentru fiecare entitate se

da o descriere detaliata

Facultate Profesor

Student Curs

studiaza la preda

lucreaza la

urmeaza

Page 7: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Facultate

Profesor

Student

Cursstudiaza la

preda

lucreaza la

urmeaza

Departament

face parte din

ofera curs

Page 8: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Facultate

Profesor

Student

Cursstudiaza la

preda

lucreaza la

urmeaza

Departament

face parte din

ofera curs

este director la

este decan la

Page 9: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Facultate

Profesor

Student

Curs

face parte din

preda

lucreaza la

urmeaza

Departament

face parte din

ofera curs

Grupa

An

face parte din

face parte din

Seminar

ofera seminar

preda

Page 10: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Relatie

Entitatile pot forma relatii intre ele

Relatiile sunt reprezentate prin verbe

Intre doua entitati poate exista mai mult decat o relatie (exemplu)

Cardinalitatea unei relatii: numarul maxim de entitati din fiecare entitate

care participa la o relatie.

Exemple:

Multi la unul (many-to-one N:1)

Unu la unu (one-to-one 1:1)

Multi la multi (many-to-many N:M)

FacultateStudentstudiaza la

M 1

FacultateProfesorconduce

1 1

CursStudenturmeaza

M N

Page 11: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Discutie

Cardinalitate minima/maxima

Atribut al unei entitati, atribut al unei relatii

Model entitate-legatura si model relational

O entitate devine un tabel

Un atribut al unei entitati devine o coloana a tabelului respectiv

O relatie va fi reprezentata fie printr-un tabel special (M:N), fie printr-o

cheie straina intr-unul dintre cele doua tabele-entitate, care face

referire la o cheie primara in celalalt tabel-entitate.

Chei primare. Chei naturale si chei artificiale

Avantaje ale folosirii cheilor artificiale:

• Stabilitatea;

• Simplitatea;

• Nu prezinta ambiguitati;

• Elimina valorile Null (accidentale).

Page 12: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Diagrama entitate-legatura

FACULTATE

cod_facultate

nume_facultate

adresa

lucreaza la

urmeaza

PROFESORcod_profesor

nume

prenume

adresa

data_nastere

grad_didactic

STUDENT

cod_student

nume

prenume

data_nastere

CURS

cod_curs

nume_curs

descriere

studiaza lapreda

Page 13: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Diagrama entitate-legatura – adaugare campuri + tabela relatie M:N

FACULTATE

cod_facultate

nume_facultate

adresa

lucreaza la

urmeaza

PROFESORcod_profesor

nume

prenume

adresa

data_nastere

grad_didactic

cod_facultate

STUDENT

cod_student

nume

prenume

data_nastere

cod_facultate

CURS

cod_curs

nume_curs

descriere

cod_profesor

studiaza la preda

student-curs

cod_student_curs

cod_student

cod_curs

Page 14: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Superentitate/subentitate

PERSONAL

cod_personal

nume

prenume

adresa

data_nastere

PROFESORgrad_didactic

PERSONAL_TESAprofesie

Page 15: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Entitate dependenta/entitate master

MODUL

cod_curs

nr_modul

descriere

CURS

cod_curs

nume_curs

descriere

Modul e o entitate dependenta de entitatea curs (un curs e format din mai multe

module). Cardinalitate intre master si detaliu: 1:M, cel putin 1:0 (un curs nu are nici

un modul).

M 1

Entitate recursiva

Profesor

M

1

este_sef

Page 16: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Crearea design-ului logic al bazei de date

Transformarea entitatilor• Entitatile devin tabele

• Entitatile dependente devin tabele dependente

• Subentitatile devin subtabele (tabele ale caror cheie primara contine cheie straina ce

face referinta la cheia primara a tabelul superentitate).

Transformarea relatiilor• Relatiile 1:1 devin chei straine, cheia straina fiind plasata in tabelul cu mai putine

inregistrari.

• Relatia N:1 devine cheie straina plasate in tabelul care se afla in partea “multi” a

relatiei. Exemplu: o facultate are mai multi studenti, un student e la o singura facultate

• O relatie multi-multi N:M se transforma intr-un tabel asociativ, care are doua chei

straine pentru cele doua tabele asociate. Exemplu: mai multi studenti-la mai multe cursuri

Transformarea atributelor• Atributele simple ale unei entitati devin coloane in tabelul provenit din relatie.

• Atributele repetitive (multivaloare) devin tabele dependente care contin o cheie

straina ce face referinta la cheia primara a entitatii si atributul multi-valoare.

• Atributele simple ale unei relatii M:N vor deveni coloane ale tabelului asociativ.

Page 17: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Normalizarea bazei de date

Dependente functionale pentru care determinantul nu este cheie a tabelului:

cod_client -> {nume_client, numar_telefon}

cod_comanda -> {data, cod_client, nume_client, nr_telefon}

cod_articol -> {nume_articol, cost_articol}

cod_client nume_client nr_telefon cod_comanda data cod_articol nume_articol cost_articol cantitate

A1 Petrescu 2338291 C1 12.05.2008 P1 pantalon 50 100

A1 Petrescu 2338291 C1 12.05.2008 P3 camasa 45 20

A2 Vasilescu 3485734 C2 13.05.2008 P1 pantalon 50 200

A2 Vasilescu 3485734 C2 13.05.2008 P3 camasa 45 300

A2 Vasilescu 3485734 C2 13.05.2008 P2 bluza 35 10

A1 Petrescu 2338291 C3 13.05.2008 P3 camasa 45 20

A3 Ionescu 5409054 C4 13.05.2008 P1 pantalon 50 30

cod_client nume_client nr_telefon cod_comanda data cod_articol nume_articol cost_articol cantitate

A1 Petrescu 2338291 C1 12.05.2008 P1 pantalon 50 100

A1 Petrescu 2338291 C1 12.05.2008 P3 camasa 45 20

A2 Vasilescu 3485734 C2 13.05.2008 P1 pantalon 50 200

A2 Vasilescu 3485734 C2 13.05.2008 P3 camasa 45 300

A2 Vasilescu 3485734 C2 13.05.2008 P2 bluza 35 10

A1 Petrescu 2338291 C3 13.05.2008 P3 camasa 45 20

A3 Ionescu 5409054 C4 13.05.2008 P1 pantalon 50 30

Page 18: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Datorita dependentelor prezente intre atributele relatiei, pot aparea urmatoarele anomalii:

- redundante in date;

- Anomalii de actualizare:

- Anomalie la insertie;

- Anomalie la stergere;

- Anomalie la modificare;

Anomaliile apar datorita dependentelor din baza de date, dependente pentru care

determinantul nu este cheie a tabelului.

Normalizarea: procesul reversibil de descompunere a unui tabel relational in tabele cu o

structura mai simpla, proces care are ca scop evitarea redundantei datelor si evitarea

anomaliilor de actualizare.

Reversibil: descompunerea se face fara pierdere de informatie.

Page 19: Baze de date in economie - elth.pub.ropreda/teaching/BDE/BDE_4.pdf · permita declararea si manipularea sistematica a valorilor Null, cu semnificatia unor valori necunoscute sau inaplicabile.

Proiectarea bazelor de date relationale

Normalizarea bazei de date

CLIENT

cod_client nume_client nr_telefon

A1 Petrescu 2338291

A2 Vasilescu 3485734

A3 Ionescu 5409054

ARTICOL

cod_articol nume_articol cost_articol

P1 pantalon 50

P2 bluza 35

P3 camasa 45

cod_client nume_client nr_telefon cod_comanda data cod_articol nume_articol cost_articol cantitate

A1 Petrescu 2338291 C1 12.05.2008 P1 pantalon 50 100

A1 Petrescu 2338291 C1 12.05.2008 P3 camasa 45 20

A2 Vasilescu 3485734 C2 13.05.2008 P1 pantalon 50 200

A2 Vasilescu 3485734 C2 13.05.2008 P3 camasa 45 300

A2 Vasilescu 3485734 C2 13.05.2008 P2 bluza 35 10

A1 Petrescu 2338291 C3 13.05.2008 P3 camasa 45 20

A3 Ionescu 5409054 C4 13.05.2008 P1 pantalon 50 30

COMANDA

cod_comanda data cod_client

C1 12.05.2008 A1

C2 13.05.2008 A2

C3 13.05.2008 A1

C4 13.05.2008 A3

VANZARI

cod_comanda cod_articol cantitate

C1 P1 100

C1 P3 20

C2 P1 200

C2 P3 300

C2 P2 10

C3 P3 20

C4 P1 30


Recommended