Sunteți pe pagina 1din 30

T eoria bazelor de date Teoria

Luminia SCRIPCARIU

Definiie
BD: Ansamblu de date structurate Legate funcional Stocate pe suporturi tehnice adresabile Accesate de mai muli utilizatori selectiv

se descrie i se modeleaz independent de programele de gestiune sau de utilizare a datelor descrierea datelor vizeaz: Structurile de date Legturile dintre date Regulile care s asigure coerena datelor

Se numete DOMENIU PRIMAR acel domeniu pe care este definit un singur atribut drept cheie primar CHEIA EXTERN: Fiind dou relaii R1 i R2, cu atributele A1 i A2 chei primare definite pe acelai domeniu primar D, se spune c n relaia R1, A2 este cheie extern dac, utiliznd o parte din valorile ei sau toate, pot fi regsite tuplurile relaiei R2 adic este cheie primar n alt relaie.

Modelul RELAIONAL

Relaii

R1(A1,B1,C1,D1,A2) A2
Chei primare

R2(A2,B2,C2,D2)
Cheie extern

RESTRICIILE DE INTEGRITATE depind de semantica valorilor domeniilor


Integritatea entitii: valorile cheii primare trebuie s existe Integritatea referinei: valorile unei chei externe trebuie s se refere la tuplurile unei alte relaii

Constrngeri sau restricii

RESTRICII DE DOMENIU (validri prin care se reflect alte corelaii de ordin valoric) SCHEMA RELAIEI este format din:
Numele relaiei Atributele relaiei Restricii

Administrator Administrator BD BD

SGBD
Rol :
Interfa ntre BD i utilizatori Permite:
Crearea BD Consultarea BD Actualizarea BD

BD DD

SGBD SGBD

Utilizator final 1

Utilizator final n

Programede de Programe aplica ii aplica ii

SGBD = un instrument de asamblare, codificare, ordonare, protecie i regsire a datelor n BAZELE DE DATE
Funcii principale: descrierea datelor prin schemele: extern, conceptual, intern i legturile corespondente, prin intermediul unui limbaj specializat (LDD) vizeaz deopotriv structurile de date, legturile ntre acestea i regulile care s asigure coerena datelor (numite i reguli de integritate) manipularea datelor (LMD) Interogarea bazelor de date Actualizarea datelor protejarea bazelor de date utilizatori, drepturi de acces, reluare n caz de pan, copii de siguran

SGBDR
Pentru BDR: Cu volume mici/ medii de date MS ACCESS, Visual Fox, FoxPro, Dbase Cu volume medii/mari de date Oracle

Normalizarea Bazelor de Date


Concepte: Proces de normalizare Dependena funcional Diagrama dependenelor funcionale Dependene Inter-Tabele i Multivaloare Forme normale Matricea dependenelor funcionale Etapele proiectrii MR prin normalizare
Exemplu (Facturi ctre clieni)

Normalizarea Bazelor de Date: Procesul de normalizare


Normalizarea este un demers ce conduce la construirea modelului relaional al bazei de date
Se descompune o tabel complex n subtabele mai mici i mai uor de manipulat (DD dictionar de date, RG reguli de gestiune).

DD,RG

NORMALIZARE

MRD

SCOP: Normalizarea garanteaz coerena bazei de date n timpul operaiilor de actualizare de date, evitnd redundanele (CMS content management system) . REZULTAT: Un model ne-decompozabil ce respect regulile de definire semantic i de integritate a datelor.

A content management system (CMS) is a collection of procedures used to manage work flow in a collaborative environment. These procedures can be manual or computer-based. The procedures are designed to: Allow for a large number of people to contribute to and share stored data Control access to data, based on user roles. User roles define what information each user can view or edit Aid in easy storage and retrieval of data Reduce repetitive duplicate input Improve the ease of report writing Improve communication between users

In a CMS, data can be defined as nearly anything documents, movies, pictures, phone numbers, scientific data, etc. CMSs are frequently used for storing, controlling, revising, semantically enriching, and publishing documentation. Content that is controlled is industry-specific. For example, entertainment content differs from the design documents for a fighter jet. There are various terms for systems (related processes) that do this. Examples are web content management, digital asset management, digital records management and electronic content management. Synchronization of intermediate steps, and collation into a final product are common goals of each.

Types of CMS
There are six main categories of CMS, with their respective domains of use: Enterprise CMS (ECMS) Web CMS (WCMS) Document management system (DMS) Mobile content management system Component content management system Learning Content Management System (LMS)

Normalizarea Bazelor de Date: Dependena funcional


Exist o dependen funcional ntre 2 atribute atunci cnd cunoscnd valoarea luat de ctre un atribut, se furnizeaz sistematic valoarea pentru cellalt atribut
X -> Y (Y depinde funcional de X, dac la orice valoare a lui X corespunde n orice moment o valoare unic a lui Y) Exemple de dependene funcionale:
Tranzitivitate: Cod Produs -> Denumire produs Dac X -> Y i Y -> Z, Cod Produs -> Pre de referin atunci X ->Z Numr Comand -> Dat Comand Numr Comand -> Cod Client -> Nume Client -> Cod Fiscal

Normalizarea Bazelor de Date: Diagrama dependenelor funcionale


Reprezentarea grafic a dependenelor funcionale Cod Produs
Denumire, UM, Pre de referin

NrComand Cod Produs


Dat comand, Cantitate comandat

Normalizarea Bazelor de Date: Dependene Inter-Tabele i Multivaloare


Dependene Inter-Tabele (1-1)
Cnd la o valoare a atributului Cheie primar dintr-o tabel, se asociaz o singur valoare a atributului Cheie primar dintr-o alt tabel, se poate spune c exist o dependen funcional ntre tabele, exprimat prin dependena funcional dintre atributele chei primare aferente celor dou tabele

Nr.factur

Cod Client

Dependene Multivaloare (1-n) (n-m)


n cazul n care la o valoare a atributului Cheie primar dintr-o tabel, corespund mai multe valori ale altui atribut dintr-o alt tabel, se poate spune c exist o dependen funcional multivaloare

Nr.factur

Cod Produs Cod Carte

CodProfesor

Normalizarea Bazelor de Date Formele normale 1, 2, 3


Dicionar de date i Reguli de gestiune
Potrivit regulilor de gestiune coroborate cu analiza informaional referitoare la aplicaia de informatizat, se declar ntr-un tablou toate atributele disponibile (Identificatorul + Denumirea n clar)

1FN 2FN 3FN

1 FN
O relaie R este n 1FN atunci cnd atributele sale nu pot fi descompuse n uniti mai mici

2 FN
O relaie R este n 2FN, dac este n 1FN i toate dependenele ntre cheia primar a lui R i celelalte atribute a lui R sunt elementare (atributele nu depind de o parte din cheie)

3 FN
O relaie R este n 3FN, dac este n 2FN i dac sunt eliminate toate dependenele funcionale tranzitive (dac nu exist nici o dependen funcional ntre atributele non-cheie)

Normalizarea Bazelor de Date Formele normale BC, 4, 5


Boyce-Codd
O relaie R este n forma BC dac este n 3FN i dac fiecare determinant n diagrama de dependene este un candidat pentru a deveni cheia relaiei. Dac o relaie are un identificator concatenat, unul dintre elementele care-l compun nu trebuie s depind de alt atribut

3FN

Boyce-Codd 4FN 5FN

4 FN
O relaie R este n 4FN, dac este n forma BC i dac nu exist dou dependene funcionale multivaloare n aceeai relaie

5 FN
O relaie R este n 5FN, dac este n 4FN i trateaz cazurile n care exist mai multe dependene funcionale multivaloare care sunt interlegate ntre ele

Exemplu Forma Normal Boyce-Codd

CURS(Cod disciplin, Numr grup, Cod profesor CURS

PROFESOR(Cod profesor, Cod disciplin) PROFESOR CURS(Cod profesor, Numr grup) CURS GRUP(Numr grup) GRUP

Normalizarea Bazelor de Date: Matricea Dependenelor Funcionale


Formalizarea procesului de normalizare este operaional prin Matricea Dependenelor Funcionale:
MDF are pe linie toate atributele dicionarului de date MDF are pe coloan toate atributele sau numai atributele care pot avea rol de cheie primar Se noteaz 1 la intersecia liniei cu coloana pentru care exist dependen funcional Se noteaz 1T dependenele funcionale tranzitive
Liniile care NU AU 1 desemneaz fie atribute care nu sunt dependente funcional de un identificator simplu, fie desemneaz atribute parametru

Normalizarea Bazelor de Date: Etapele procesului de NORMALIZARE


Inventarierea atributelor (se vor selecta toate atributele referitoare la facturile primite)
Numr factur Dat factur Cod furnizor Denumire furnizor Adresa, etc.

Se specific regulile de gestiune i algoritmii de calcul asociai (se vor specifica diversele restricii i condiii impuse datelor)
O factur este emis de un singur furnizor Codul materialului este unic O factur conine mai multe produse aprovizionate Furnizorii pot fi numai persoane juridice

Algoritmii de calcul: (Val_mat_fact=Cant_facturat*Pre_unitar)

Normalizarea Bazelor de Date: Etapele procesului de NORMALIZARE


Se ntocmete dicionarul datelor
Un atribut poate fi nscris o singur dat n dicionar Se elimin atributele sinonime (de ex. Cod furnizor = Simbol furnizor) Dicionarul datelor nu admite atribute derivate sau calculate (Valoare, TVA)

Nr.crt 1 2 3 4 5

Atribut CodFz DenFz AdrFz NrFact DataFact

n clar Cod Furnizor Denumire Furnizor Adres Furnizor Numr Factur Dat Factur

Normalizarea Bazelor de Date: Etapele procesului de NORMALIZARE


Se stabilesc dependenele funcionale ntre atribute prin MDF

CodFz DenFz AdrFz NrFact DataFac t

CodFz NU

DenFz 1 NU 1T

AdrFz 1 NU 1T

NrFact

DataFac t

NU

1 NU

Normalizarea Bazelor de Date: Etapele procesului de NORMALIZARE


Sau se stabilesc dependenele funcionale ntre atribute prin DDF Denumire Furnizor

Cod Furnizor

Adres Furnizor Dat Factur

Numr Factur

Normalizarea Bazelor de Date: Etapele procesului de NORMALIZARE


Pentru atributele izolate se vor cuta grupuri de atribute ce pot constitui determinani ai acestora Toate atributele sau grupurile de atribute determinante, devin CHEI CANDIDATE (posibile chei ale relaiei). Cheile candidate aparinnd aceleiai relaii sunt caracterizate prin dependene funcionale reciproce. Se stabilesc CHEILE PRIMARE dintre cheile candidate Cu fiecare cheie primar i cu atributele determinate direct (fr tranzitivitate) se formeaz o nou relaie. Se stabilesc CHEILE EXTERNE FURNIZOR(CodFz , DenFz, AdrFz) FURNIZOR FACTUR(NrFact , DataFact, CodFz) FACTUR

EXEMPLUL 2. Evidena facturilor emise


FN1 Descompunerea atributelor compuse ale dicionarului de date n atribute simple i precizarea identificatorului. FN2
Fiecare atribut non-cheie s depind de ntreaga cheie primar. CLIENT (CodCli, Nume, Telefon, Fax, Strada, Nr, CodPostal, Localitate) FACTURA(NrFact, DataFact, CodCli) PRODUS(CodProd, DenProd, PretRef) FACTURAT(NrFact, CodProd, CantFact, PretFact) Eliminarea dependenelor tranzitive CLIENT (CodCli, Nume, Telefon, Fax, Strada, Nr, CodPostal) FACTURA(NrFact, DataFact, CodCli) PRODUS(CodProd, DenProd, PretRef) FACTURAT(NrFact, CodProd, CantFact, PretFact) LOCALIZARE(CodPostal, Localitate)

Dicionar (NrFact, CodCli, Nume, Telefon, Fax,: Strada, Nr, CodPostal, Localitate , DenProd, PretRef, DataFact, CodProd, CantFact, PretFact)

FN3

EXEMPLUL 3. Enun + RG
O editur dorete informatizarea activitii legate de evidena stocurilor de carte produse, a autorilor i a facturilor ctre clieni. Reguli de gestiune: a. O carte primete un alt Cod ISBN la fiecare retiprire; b. Clienii editurii sunt numai persoane juridice; c. Preul de vnzare se stabilete n momentul producerii unei cri, acesta fiind un pre orientativ, rmnnd neschimbat pn la epuizare, preul efectiv de vnzare fiind negociat cu fiecare client; d. Numrul unei facturi i codul ISBN luate mpreun sunt unice la nivel naional; e. Numele unei persoane juridice este considerat unic la nivel naional;

EXEMPLUL III D.A.


1 Cod ISBN Denumire carte Data apariiei Stocul tiprit Preul de baz Numr factur Data factur Cantitatea facturat Denumire Carte facturat Pret Carte factur Valoare Carte factur Total factur Cod Fiscal Client Denumire Client Adresa client Telefon CNP autor Nume Prenume Data naterii Adresa autor

Din studiul activitii editurii au rezultat urmtoarele atribute: Se elimin atributele sinonime i calculate
CRI
Cod ISBN .........

2 3 4 5 7 8 9 10 11 12

? ?

AUTORI
CNP autor .........

13 14 15 16 17

CLIENI
CF client .........

FACTURI
Nr Factur .........

18 19 20 21

Matricea dependentelor functionale Data factura CNP autor Cod fiscal client Cod ISBN Denumire carte Denumire client Pret carte factura Cantitate facturata Nume prenume Data aparitiei

Telefon

Data nasterii 1

Adresa client

Cod ISBN Denumire carte Data aparitiei Stocul tiparit Pret de baza Numar factura Data factura Cantitate facturata Pret carte factura Cod fiscal client Denumire client Adresa client Telefon CNP autor Nume prenume Data nasterii Adresa autor Cod ISBN + Numar factura

1 1

1 1

1 1

Adresa autor 1

Pret de baza

Numar factura

Stocul tiparit

AUTORI
Nume camp Tip date Number,LI Text, 50 Text, 100 Date/Time Obligatoriu Da Da Da Da <=Data curenta Unic Da Integritate Referentiala Reguli de validare

CNP
Nume prenume Adresa Data nasterii

AUTORI-CRI
Nume camp Tip date Number,LI Text,13,M Obligatoriu Da Da Unic Integritate Referentiala Da Da Reguli de validare

CNP Cod ISBN

CRI
Nume camp Tip date Text, 13,M Text, 50 Date/Time Currency Currency Obligatoriu Da Da Da Da Da <=Data curenta >0 >0 Unic Da Integritate Referentiala Reguli de validare

CONINUT FACTUR

Cod ISBN
Denumire carte Data aparitiei Stocul tiparit Pret baza

........
Cod ISBN

........

FACTURI
Nume camp Tip date Text,5,M Number, LI Number , LI Obligatoriu Da Da Da Da Unic Da Integritate Referentiala Reguli de validare

Serie factura Numar factura Cod Fiscal

CONINUT FACTUR
Nume camp Tip date Text,5,M Number, LI Text, 13,M Number, Int Currency Obligatoriu Da Da Da Da Da Unic Da Integritate Referentiala Da Da Da >0 >0 Reguli de validare

Serie factura Numar factura Cod ISBN Cantitate fact Pret factura

CLIENI
Nume camp Tip date Number, LI Text,50 Text,100 Text,20 Obligatoriu Da Da Da Unic Da Da Integritate Referentiala Reguli de validare

Cod fiscal Denumire client Adresa Telefon

S-ar putea să vă placă și