Baze de Date Aciclice

Curs
8/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 26 în total
Cuvinte : 8568
Mărime: 67.25KB (arhivat)
Publicat de: Cristinel Morar
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Cotelea Vitalie

Extras din curs

Concluzionând cele descrise în secţiunile precedente, o schemă “bună” a bazei de date trebuie să posede mai multe calităţi dezirabile. Printre aceste calităţi putem menţiona, în primul rând, formele normale, proprietatea joncţiunii fără pierderi şi conservarea dependenţelor.

Însă, asupra schemei bazei de date mai pot fi definite nişte constrângeri sintactice cum ar fi, spre exemplu, aciclicitatea. Se cunosc diferite tipuri de aciclicitate. Similar unei ierarhii de forme normale ale schemelor, fiecare formă fiind mai restrictivă decât predecesoarea, există şi o ierarhie de tipuri de aciclicităţi. După cum se ştie, proiectantul bazei de date trebuie să ţină cont că, dacă schema relaţională nu se găseşte în forma normală corespunzătoare, atunci pot apărea diverse probleme de actualizare a bazei de date. De asemenea, de competenţa proiectantului ţine şi selectarea gradului de aciclicitate în care doreşte ca schema să fie proiectată.

Schemele aciclice se bucură de o serie de proprietăţi. Cu cât gradul de aciclicitate este mai înalt, cu atât mai “bună” este schema. Mai mult decât atât, unii algoritmi, ce au o complexitate exponenţială asupra schemelor ciclice, asupra schemelor aciclice, sunt polinomiali.

Schemele aciclice ale bazelor de date pot fi caracterizate în diferite moduri. În primul rând, definiţia de aciclicitate poate fi formulată prin forme echivalente. Toate aceste forme se bazează pe reprezentarea schemelor bazelor de date cu ajutorul hipergrafurilor. Unele definiţii de aciclicităţi se aduc, utilizând componentele hipergrafurilor în timp ce altele sunt bazate pe grafuri ordinare construite din hipergrafuri.

Multe din proprietăţile schemelor aciclice pot fi concepute în calitate de caracteristici, în sens că schema are o proprietate particulară, dacă şi numai dacă schema este aciclică. O parte din proprietăţi sunt strâns legate de procesarea interpretărilor la baza de date.

6.1. Scheme hipergrafuri

Întrucât schema bazei de date este o mulţime de scheme relaţionale, e foarte comod de a asocia schemei bazei de date un hipergraf.

Vom aduce noţiunea de hipergraf. Hipergraful este analogic grafului ordinar neorientat, cu excepţia că o muchie a lui nu uneşte numai două noduri, ci o mulţime arbitrară de noduri.

FURNIZOR CONTRACT DATĂ

FURNIZOR ARTICOL PREŢ

FURNIZOR ARTICOL CONTRACT

Fig.6.1. Schema bazei de date Db={FURNIZOR CONTRACT DATĂ, FURNIZOR ARTICOL PREŢ, FURNIZOR ARTICOL CONTRACT}

Definiţia 6.1. Hipergraful H este o pereche (N, E), unde N este o mulţime finită de noduri şi E o mulţime de muchii (sau hipermuchii), care sunt submulţimi nevide ale mulţimii de noduri N.

Mai departe vom identifica un hipergraf numai prin menţionarea muchiilor sale şi implicit vom presupune că mulţimea de noduri este exact mulţimea nodurilor ce aparţin tuturor muchiilor.

Schemei bazei de date îi vom pune în corespondenţă un hipergraf în felul următor. Mulţimea de atribute U ce formează mulţimea universală este mulţimea de noduri, iar fiecare schemă relaţională din schema bazei de date reprezintă o muchie ce include nodurile notate cu atributele din schema relaţională. Hipergraful din fig.6.2 corespunde schemei bazei de date din fig.6.1.

Considerăm două scheme ale bazelor de date din fig.6.3 şi fig.6.4, fiecare conţinând trei scheme relaţionale. Unica diferenţă dintre aceste scheme este că a doua schemă a bazei de date are atributul D în ultima schemă relaţională, în timp ce prima schemă a bazei de date conţine atributul E. Cu toate că această diferenţă la prima vedere pare neesenţială, în realitate, schema din figura 6.3 este aciclică, iar cea din fig.6.4 e ciclică. Mai departe vom vedea că prima schemă posedă o serie de priorităţi dezirabile, dar a doua - nu. Pentru o vizualizare a faptului că a doua schemă este ciclică considerăm hipergrafurile corespunzătoare din fig.6.5.

Preview document

Baze de Date Aciclice - Pagina 1
Baze de Date Aciclice - Pagina 2
Baze de Date Aciclice - Pagina 3
Baze de Date Aciclice - Pagina 4
Baze de Date Aciclice - Pagina 5
Baze de Date Aciclice - Pagina 6
Baze de Date Aciclice - Pagina 7
Baze de Date Aciclice - Pagina 8
Baze de Date Aciclice - Pagina 9
Baze de Date Aciclice - Pagina 10
Baze de Date Aciclice - Pagina 11
Baze de Date Aciclice - Pagina 12
Baze de Date Aciclice - Pagina 13
Baze de Date Aciclice - Pagina 14
Baze de Date Aciclice - Pagina 15
Baze de Date Aciclice - Pagina 16
Baze de Date Aciclice - Pagina 17
Baze de Date Aciclice - Pagina 18
Baze de Date Aciclice - Pagina 19
Baze de Date Aciclice - Pagina 20
Baze de Date Aciclice - Pagina 21
Baze de Date Aciclice - Pagina 22
Baze de Date Aciclice - Pagina 23
Baze de Date Aciclice - Pagina 24
Baze de Date Aciclice - Pagina 25
Baze de Date Aciclice - Pagina 26

Conținut arhivă zip

  • Baze de Date Aciclice.doc

Alții au mai descărcat și

AutoCad

APERTURE - controleazã mãrimea cursorului selector, caracteristic modului object snap. ARC - traseazã un arc de cerc de orice dimensiune. A -...

Biblioteca de Șabloane Standard

Biblioteca de Sabloane Standard (STL) asigura o abstractizare standardizata a datelor prin intermediul containerelor si o abstractizare procedurala...

Clase Derivate

1. Clase derivate. Prin mostenire, atributele unei clase de baza sunt transmise unor clase derivate. Derivarea permite definirea unor clase noi,...

Clase în Java

Clase pentru miniaplicatii Miniaplicatiile constituie extensii ale unei clase deja existente java.applet.Applet. Structura clasei unui applet...

Clase

1. Programare procedurala –Programare orientata pe obiecte. Limbajul C, ca si Pascal, utilizeaza modelul programarii structurate procedurale, care...

Comunicații internet

2.1. Stilurile caracterelor {n sfirsit pagina dvs. contine ceva, chiar daca este vorba numai de un nume. Vom analiza in continuare elementele de...

Crearea unei aplicații independente în Java

Toate aplicatiile Java contin o metoda main(), spre deosebire de miniaplicatii. class FirstApp { public static void main( String argsst) {...

Curs Excel

Deplasarea prin foi Deplasarea dintr-o foaie in alta se face cu clic cu mouse-ul pe eticheta foii dorite. Deplasarea prin celule Va puteti...

Te-ar putea interesa și

Contabilitatea și Analiza Trezoreriei la SC Getex SA

CAPITOLUL 1 1.1. PREZENTAREA GENERALĂ A S.C. GETEX S.A. FILIPEŞTII DE PĂDURE Apariţia pe harta ţării a acestui obiectiv industrial a fost...

Studii privind Implementarea AP în Procesele Industriale

CAPITOLUL 1. GENERALITĂŢI PRIVIND AUTOMATELE PROGRAMABILE 1.1.Definiţii şi caracteristici. Automatele programabile sau PLC-urile sunt...

Gestiunea financiară a unei întreprinderii

I.Prezentarea întreprinderii Societatea care constiutie obiect de analiză a acestui proiect se numeşte S.C. VAELSORI.PROD.COM, aceasta fiind o...

Usturoiul

CAPITOLUL I INTRODUCERE Originea şi aria de răspândire în cultură Usturoiul este vechi în cultură, fiind cunoscut cu 5000-6000 ani î.e.n....

Dependențe Funcționale

1.1. Introducere Când descriem un univers real sau conceptual printr-un model relaţional ne confruntăm cu următoarea problemă: Care este mulţimea...

Echilibrarea încărcării în sistemele distribuite - limite și posibilități

1. INTRODUCERE Utilizarea in paralel a mai multor procesoare duce la obtinerea unei puteri de calcul mai ridicate decit s-ar putea realiza cu cel...

Analiza economico-financiară II

Analiza fluxurilor de trezorerie Scopul analizei fluxurilor de trezorerie este de a evalua capacitatea întreprinderii de a genera numerar sau...

Rețele de Comunicații

Reteaua în arbore (retea radiala) Centrele de comutatie C sunt interconectate într-un sistem arbore cu mai multe nivele (fig. 5.3.). Se observa...

Ai nevoie de altceva?