Documente Academic
Documente Profesional
Documente Cultură
1. 2. 3. 4. 5.
Programa analitic:
Concepte de baz Proiectarea BD Dezvoltarea BD folosind SGBD ACCESS 2000 Limbajul SQL Baze de date avansate:
Sisteme client/server BD on-line BD distribuite BD multidimensionale
Evaluare:PV
Laborator 50% Lucrare curs 50%
Bibliografie
1
Baz de date
Definiie: Ansamblu de date structurate Legate funcional Stocate pe suporturi tehnice adresabile Accesate de mai muli utilizatori de o manier selectiv i ntr-un timp oportun O baz de date se descrie independent de programele care utilizeaz datele Descrierea datelor formeaz Dicionarul Datelor i vizeaz: Structurile de date; Legturile dintre date Regulile care s asigure coerena datelor
Modele de date
Un model de date este un ansamblu de concepte, o convenie de reprezentare care permite descrierea datelor de administrat
Permite modelarea realitii prin intermediul obiectelor definite ca entiti cu identitate proprie i caracterizate prin stare i comportament
Modelul OBIECT-RELAIONAL
3
Datele sunt organizate sub form de structur arborescent; Datele sunt grupate n tipuri nregistrri ce descriu o ierarhie simpl (un tat poate avea mai muli fii, n timp ce un fiu poate avea un singur tat) Singurele asocieri posibile sunt 1-1 i 1-n O nregistrare fiu nu poate exista independent de o nregistrare ierarhic superioar tat de care este legat i nu poate fi manipulat independent de aceasta
Servicii_funcionale
Servicii_funcionale
Cod_serv
Denumire_serviciu
1 Conducere 8 Contabilitate
Angajai
Marca
Nume_salariat Funcie
Salariu
12 Ionescu
Director
82 Popa
DEZAVANTAJE Dificultate n formularea interogrilor ce manipuleaz simultan mai multe ramuri 4 Redundana informaiei ce antreneaz incoeren
83 Gogu G 84 Petre V
Datele sunt organizate sub form de reea; Modelul reea completeaz modelul ierarhic (un nod printe poate avea mai muli fii, n timp ce un fiu poate avea mai multe noduri printe) Asocierile posibile sunt 1-1; 1-n; m-n
Servicii_funcionale
Funciii
Cod_serv
Denumire_serviciu
Cod_fun Angajai
Denumire_funcie
Marca
Nume_salariat
Salariu
Tabele Relaii ntre tabele Reguli de validare Operatori de asambalare (Reuniunea, Produsul caretezian) Operatori unari (Proiecia, Selecia) Operatori de extensie (Compunerea, Diviziunea)
Modelul relaional introdus de Codd n 1970 se fundamenteaz pe noiunea matematic de relaie R(X1,X2,....Xn)
Domeniul reprezint mulimea valorilor posibile care definesc o anumit proprietate aferent unui obiect Atributul reprezint mulimea valorilor existente n coloana pe care o desemneaz n cadrul relaiei. ntr-o relaie pot exista mai multe atribute care iau valori n aceleai domenii. Relaiile se reprezint prin tabele care sunt supuse urmtoarele restricii:
n fiecare coloan, toate valorile sunt de acelai tip; Ordinea liniilor (tuplurilor sau nregistrrilor) nu este predefinit; Nu sunt admise nregistrri duplicate Coloanele sunt identificate prin nume distincte (atribute sau proprieti)
Tuplurile unei relaii se pot identifica de o manier unic prin intermediul valorilor unuia sau mai multor atribute care joac rol de CHEIE PRIMAR a relaiei respective
7
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 (altfel spus, un atribut al unei relaii este cheie extern, dac se regsete pe post de cheie primar n alt relaie)
Relaii
R1(A1,B1,C1,D1,A2)
Chei primare
8
R2(A2,B2,C2,D2)
Cheie extern
Integritatea entitii prin care valorile cheii primare trebuie s fie diferite de zero Integritatea referirii potrivit creia valorile unei chei externe trebuie s se refere la tuplurile unei alte relaii
ALTE RESTRICII care se aplic asupra domeniilor (validri prin care se reflect alte corelaii de ordin valoric) SCHEMA unei relaii este format din:
Baze de date operaionale (BD de domeniu) = nucleul sistemului informaional al ntreprinderii Baze de date de informare a executivului (EIS) Baze de date multidimensionale (OLAP) Baze de date externe (On-Line)
BD colective BD individuale
BD locale (Stocate pe server i distribuite Clienilor) BD distribuite (stocate n dif. Puncte ale unei reele distribuite)
10
Administrator BD
SGBD
Rol :
BD DD
SGBD
Utilizator final 1
Utilizator final n
Programe de aplicaii
SGBD = un instrument de asamblare, codificare, aranjare, 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
11
SGBD:
Nivelul intern de descriere a BD se face de ctre Administratorul BD care: Definete schema intern de organizare a datelor Definete regulile de trecere de la schema conceptual la cea intern Nivelul conceptual de descriere a BD se face de ctre Administratorul ntreprinderii Nivelul extern de descriere a BD se face de ctre Administratorul aplicaiei, care:
12
Grup utilizatori
1
Schema extern 1
Schema extern 2 Schema extern n
BD
Nivel extern
Nivel conceptual
Nivel fizic
13
SGBD
SGBDR Pentru baze de date n volume mici/ medii ACCESS, Visual Fox, Dbase, Approach Date n volume medii/mari Oracle, Informix, etc.
14
Proiectarea BDR
Problem
Normalizarea se bazeaz pe urmtoarele concepte: Proces de normalizare Dependena funcional Diagrama dependenelor funcionale Dependene Inter-Tabele i Multivaloare Forme normale Matricea dependenelor funcionale Etapele proiectrii MR prin normalizare
DD +RG
NORMALIZARE
MRD
SCOP: Normalizarea garanteaz coerena bazei de date n timpul operaiilor de actualizare (CMS) de date, evitnd redundanele REZULTAT: Un model ne-decompozabil ce respect regulile de definire semantic i de integritate a datelor
17
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, atunci Cod Produs -> Pre de referin X ->Z Numr Comand -> Dat Comand Numr Comand -> Cod Client -> Nume Client -> Cod Fiscal
Dac un atribut sau un grup de atribute dintr-un tabel determin funcional celelalte atribute ale tabelului, rezult c atributul sau grupul de atribute constituie cheia primar a tabelului
18
19
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
Nr.factur
Cod Produs
CodProfersor
Cod Carte
20
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)
1 FN
O relaie R este n 1FN atunci cnd atributele sale nu pot fi descompuse n uniti mai mici
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) 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) 21
2 FN
3 FN
3FN
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
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 22
GRUP(Numr grup)
23
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
24
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
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
n clar Cod Furnizor Denumire Furnizor Adres Furnizor Numr Factur Dat Factur
26
CodFz NU
DenFz 1 NU
AdrFz 1 NU 1T
NrFact
DataFact
1T
NU
1 NU
27
Sau se stabilesc dependenele funcionale ntre atribute prin DDF Denumire Furnizor
Cod Furnizor
Numr Factur
28
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) FACTUR(NrFact, DataFact, CodFz)
29
FN1 Descompunerea atributelor compuse ale dicionarului de date n atribute simple i precizarea identificatorului.
Dicionar (NrFact, CodCli, Nume, Telefon, Fax,: Strada, Nr, CodPostal, Localitate , DenProd, PretRef, DataFact, CodProd, CantFact, PretFact)
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)
FN3
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)
30
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
Denumire Client
Adresa client Telefon CNP autor Nume Prenume Data naterii Adresa autor
CLIENI
CF client .........
FACTURI
Nr Factur .........
32
18 19 20 21
Telefon
Data nasterii
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
1T
1T
1T
1 1
1 1
1 1
1T
1T
1T
1T
1T
1T
1T
1T
1T
33
Adresa autor
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
CRI
Nume camp Tip date Text, 13,M Text, 50 Date/Time Currency Currency Obligatoriu Da Da Da Da Da <=Data curenta >0 Unic Da Integritate Referentiala Reguli de validare
CONINUT FACTUR
Cod ISBN
Denumire carte Data aparitiei Stocul tiparit Pret baza
........
Cod ISBN
........
34
>0
FACTURI
Nume camp Tip date Text,5,M Number, LI Number , LI Obligatoriu Da Da Da Da Unic Da Integritate Referentiala Reguli de validare
CONINUT FACTUR
Nume camp Tip date Text,5,M Obligatoriu Da Unic Da Integritate Referentiala Da Reguli de validare
Serie factura
Number, LI
Text, 13,M Number, Int Currency
Da
Da Da Da
Da
Da >0 >0
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
35
36
Algebra relaional
Algebra relaional poate fi definit ca un set de operatori, care prelucreaz relaii n scopul obinerii altor relaii. Operatorii relaionali se pot grupa n: operatori de baz, care pot genera toat clasa operatorilor relaionali operatori auxiliari Operatorii relaionali de baz se mpart n : operatori de asamblare (reuniunea, intersecia, diferena, produsul cartezian); operatori unari (proiecia, selecia); operatori de extensie
37
a3
a4 a5
39
b3
b4 b5
c3
c4 c5
Relaia T (R intersectat cu S)
A a4
B b4
C c4
a4
a5
b4
b5
c4
c5
40
Relaia S
A a3 a4 a5 B b3 b4 b5 C c3 c4 c5
Relaia T R-S
A a1 a2
41
B b1 b2
C c1 c2
Relaia T RxS A B C D E a1 a1 a1 a2 b1 b1 b1 b2 c1 c2 c3 c1 d1 d2 d3 d1 e1 e2 e3 e1
e1
e2 e3
a1
a2
b1
b2
c1
c2 c3
d1
d2 d3
a2
a2
42
b2
b2
c2
c3
d2
d3
e2
e3
43
Relaia R1 R1 (R;A,B)
A
a1 a2 a3
B
b1 b2 b2
Relaia R
A a1 a2 B b1 b2
Relaia R1
R1SELECTIE(R;A=a2 OR A=a3)
A a2 a3
B b2 b3
a3
b3
45
46
A a1 a1
47
B b1 b1
C c1 c1
D d1 d2
Relaia S C c1 c2 c3 D d1 d2 d3 E e1 e2 e3 A a1 a2 a3
Relaia R B b1 b2 b3
a2
a3
b2
b3
c2
c3
d2
d3
e2
e3
48
Utilizeaz modelul relaional n gestiunea bazelor de date Aplicaia ACCESS conine un ansamblu de colecii de obiecte tip
Dispune de o interfa prietenoas pentru construirea obiectelor tip i de numeroi asistei(Wizard-uri) Permite schimbul de date cu alte aplicaii Permite lucru n reele de calculatoare Permite programarea :
49