Proiectarea Bazelor de Date

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Care dintre următoarele reprezintă un scop al proiectării corecte a bazelor de date?

  • Creșterea complexității schemelor de relație
  • Ignorarea metodologiilor de normalizare
  • Păstrarea integrității datelor (correct)
  • Crearea anomaliilor

În contextul bazelor de date, ce descrie schema conceptuală?

  • Configurația hardware a serverului
  • Limbajul de interogare folosit
  • Implementarea fizică a bazei de date
  • Forma abstractă în care dorim să stocăm datele reale (correct)

Care dintre următoarele notații indică faptul că atributul A aparține mulțimii de atribute X?

  • X ⊆ R
  • A ∈ X (correct)
  • t[X]
  • Y ⊆ X

Ce reprezintă termenul 'relație' în contextul dependențelor funcționale?

<p>Atât descrierea structurii, cât și datele propriu-zise (D)</p> Signup and view all the answers

Ce specifică dependența funcțională ID_com → ID_furniz, Pret în relația COMPONENTE?

<p>Un ID_com identifică unic un singur produs, achiziționat de la un singur furnizor și la un anumit preț (B)</p> Signup and view all the answers

Care este singura modalitate de a determina dependențele funcționale valabile pentru o schemă R?

<p>Analiza semnificației atributelor și a modului în care sunt asignate valori (D)</p> Signup and view all the answers

Ce reprezintă dependențele triviale rezultate din axioma reflexivității?

<p>Dependențe care nu spun nimic în plus față de setul inițial, dar sunt valide (B)</p> Signup and view all the answers

Ce afirmă axioma augmentării (A2) în teoria bazelor de date relaționale?

<p>Dacă X → Y, atunci XZ → YZ (D)</p> Signup and view all the answers

Conform regulii descompunerii, cum poate fi rescrisă o dependență funcțională de forma X → A1A2A3...An?

<p>X → A1, X → A2, X → A3 ... X → An (A)</p> Signup and view all the answers

Ce reprezintă închiderea unei mulțimi de dependențe funcționale F, notată cu F+?

<p>Toate dependențele funcționale care pot fi deduse din F (A)</p> Signup and view all the answers

Când se spune că o mulțime de dependențe F acoperă o altă mulțime de dependențe G?

<p>Când G este inclusă în F+ (B)</p> Signup and view all the answers

Care este o caracteristică a unei mulțimi de dependențe în formă canonică?

<p>Fiecare dependență are în partea dreaptă un singur atribut (C)</p> Signup and view all the answers

Fie R o schemă de relație și F o mulțime de dependențe funcționale. Când F implică logic X → Y ?

<p>Dacă orice relație r pentru R, care satisface dependențele din F, satisface și X → Y (B)</p> Signup and view all the answers

Ce condiții trebuie să îndeplinească o mulțime de atribute X pentru a fi considerată cheie pentru o relație R?

<p>X → R și este minimală (D)</p> Signup and view all the answers

Care este primul pas în euristica de găsire a cheilor unei relații?

<p>Identificarea atributelor care nu apar în partea dreaptă a niciunei dependențe (B)</p> Signup and view all the answers

Care este condiția pentru ca o mulțime de dependențe funcționale F să fie minimală?

<p>Pentru nicio dependență funcțională X→A din F, mulțimea F-{X→A} nu este echivalentă cu F. (B)</p> Signup and view all the answers

Care dintre următoarele afirmații este adevărată despre relația dintre o cheie și o supercheie?

<p>Orice cheie este în același timp și supercheie. (C)</p> Signup and view all the answers

Fie schema de relație R(A, B, C, D) și mulțimea de dependențe funcționale F = {A → B, B → C}. Care dintre următoarele dependențe funcționale poate fi dedusă din F?

<p>A → C (C)</p> Signup and view all the answers

Cum se calculează închiderea unei mulțimi de atribute X în relație cu o mulțime de dependențe F?

<p>Se aplică iterativ dependențele funcționale din F, adăugând atributele determinate de X și de atributele deja incluse, până nu se mai pot adăuga atribute noi. (D)</p> Signup and view all the answers

Fie R = ABCDE și F = {AB -> CDE, C -> DE }. Care este forma canonică a lui F?

<p>F = {AB -&gt; C, C -&gt; D, C -&gt; E} (A)</p> Signup and view all the answers

Flashcards

Ce este schema conceptuală?

O descriere abstractă a modului în care dorim să stocăm datele reale.

Ce este dependența datelor?

O constrângere asupra relațiilor care pot constitui valoarea curentă a unei scheme de relație.

Ce este o dependență funcțională?

Când valorile unui atribut determină valorile altui atribut.

Ce specifică ID_furniz → Den_furniz?

Atributul identifică unic un furnizor de componente.

Signup and view all the flashcards

Ce sunt regulile de inferență?

Reguli folosite pentru a deduce alte dependențe funcționale valide dintr-o mulțime dată.

Signup and view all the flashcards

Ce afirmă reflexivitatea (A1)?

Dacă Y este un subset a lui X, atunci X implică Y.

Signup and view all the flashcards

Ce afirmă augmentarea (A2)?

Dacă X implică Y, atunci XZ implică YZ.

Signup and view all the flashcards

Ce afirmă tranzitivitatea (A3)?

Dacă X implică Y și Y implică Z, atunci X implică Z.

Signup and view all the flashcards

Ce permite regula descompunerii?

Rescrierea dependențelor funcționale pentru a avea un singur atribut în partea dreaptă.

Signup and view all the flashcards

Ce afirmă regula reuniunii?

Dacă X implică Y și X implică Z, atunci X implică YZ.

Signup and view all the flashcards

Ce afirmă pseudotranzitivitatea?

Dacă X implică Y și YZ implică W, atunci XZ implică W.

Signup and view all the flashcards

Ce este închiderea unei mulțimi de DF (F⁺)?

Mulțimea tuturor dependențelor funcționale care pot fi deduse din F.

Signup and view all the flashcards

Ce permite forma canonică?

Înlocuirea dependențelor cu altele echivalente, conținând alte dependențe.

Signup and view all the flashcards

Ce determină o cheie?

Cheia determină functional toate atributele, minimal, fără submulțimi stricte care determină.

Signup and view all the flashcards

Ce include πS(F)?

Atributele din partea stângă și dreaptă incluse în submulțimea S.

Signup and view all the flashcards

Ce conține X⁺?

Toate atributele care apar în partea dreaptă a dependențelor sau care pot fi deduse.

Signup and view all the flashcards

De unde pornim găsirea cheilor?

Pornim cu atributele care nu apar în partea dreaptă a niciunei dependențe.

Signup and view all the flashcards

Când F și G sunt echivalente?

Două mulțimi cu aceleași dependențe deduse.

Signup and view all the flashcards

Ce este o mulțime minimală?

O mulțime unde partea dreaptă are un atribut, nicio dependență/atribut nu e redundant.

Signup and view all the flashcards

Când F+=G+?

Dacă fiecare dependență din F este și în G⁺ și invers.

Signup and view all the flashcards

Study Notes

Proiectarea Bazelor de Date

  • Proiectarea corectă a unei baze de date este un pas important pentru implementarea cu succes a aplicațiilor software.
  • Trebuie respectate metodologiile care impun normalizarea schemelor de relație, menținerea integrității datelor și eliminarea anomaliilor.
  • Proiectarea trebuie privită sub două aspecte: conceptuală și logică.
  • Schema conceptuală descrie modul abstract în care se dorește stocarea datelor reale.
  • Procesul de realizare a schemei conceptuale se numește modelare conceptuală.

Dependențe Funcționale - Convenții de Notare

  • R, S, T, …: reprezintă scheme de relații.
  • r, s, …: reprezintă instanțe ale relațiilor R, respectiv S.
  • A, B, C, D, …: reprezintă atribute ale unei relații (litere mari de la începutul alfabetului).
  • X, Y, Z, W, U, …: reprezintă mulțimi de atribute dintr-o schemă de relație (litere mari de la sfârșitul alfabetului).
  • X ⊆ R: Mulțimea de atribute X este inclusă în mulțimea atributelor relației R.
  • Y ⊆ X: Mulțimea de atribute Y este inclusă în mulțimea de atribute X.
  • A ∈ X: Atributul A aparține mulțimii de atribute X.
  • t, t1, t2, …: reprezintă tupluri ale unei relații.
  • t[X]: valorile atributelor din mulțimea X aflate în tuplul t.
  • F, G, …: reprezintă mulțimi de dependențe funcționale atașate unei scheme de relație.

Dependențe Funcționale - Definiții

  • Termenul de relație se referă atât la schema relației (descrierea structurii), cât și la o instanță a acesteia (datele propriu-zise).
  • Dependența datelor este o restricție asupra relațiilor (instanțelor) care pot constitui valoarea curentă a unei scheme de relație R.
  • Dependența funcțională este o legătură între două atribute, unde valoarea unui atribut determină valoarea celuilalt.
  • Exemplu: atributul Matricol determină unic atributul Nume al unui student.
  • X determină funcțional pe Y (X → Y) dacă, pentru oricare două tupluri t1 și t2 din orice instanță a lui R, dacă t1[X] = t2[X], atunci t1[Y] = t2[Y].
  • Cu alte cuvinte, dacă două tupluri au aceleași valori pe atributele X, atunci ele au aceleași valori și pe atributele Y.

Exemple de Dependențe Funcționale

  • Relația FURNIZORI (ID_furniz, Den_furniz, Adresa):
    • ID_furniz → Den_furniz
    • ID_furniz → Adresa
  • Relația COMPONENTE (ID_com, Den_com, ID_furniz, Pret, Um):
    • ID_com → Den_com
    • ID_com → ID_furniz
    • ID_com → Pret, Um
    • ID_com → ID_furniz, Pret
  • Single cale de a găsi dependențe funcționale valabile pentru o schemă R este analiza atentă a intelesului fiecărui atribut.

Interpretarea Dependențelor Funcționale

  • ID_com → ID_furniz, Pret: ID-ul componentei identifică unic un produs, achiziționat de la un singur furnizor la un anumit preț.
  • Dacă un produs cu același nume este achiziționat de la alt furnizor, acesta trebuie să aibă un alt ID_com.
  • ID_furniz → Den_furniz: ID-ul furnizorului identifică unic un furnizor de componente.
  • Două componente cu același ID_furniz înseamnă că sunt achiziționate de la același furnizor.
  • Dependențele funcționale se determină din semnificația atributelor, nu prin inspectarea valorilor relației.

Axiomele și regulile lui Armstrong

  • Pornind de la un set de dependențe funcționale, se pot deduce alte dependențe funcționale valide, folosind reguli de inferență.
  • Exista mai multe reguli de inferență, dar trei dintre ele au fost alese ca axiome, restul fiind deduse din acestea.
  • Axiomele lui Armstrong sunt:
    • Reflexivitate: Dacă Y ⊆ X, atunci X → Y.
    • Augmentare: Dacă X → Y, atunci XZ → YZ.
    • Tranzitivitate: Daca X → Y si Y → Z atunci X → Z
  • Dependențele funcționale care rezultă din axioma reflexivității sunt considerate triviale.

Reguli de inferență derivate din axiomele lui Armstrong

  • Descompunere: Fie X, Y, Z ⊆ R. Dacă X → Y și Z ⊆ Y, atunci X → Z.
  • Reuniune: Fie X, Y, Z ⊆ R. Dacă X → Y și X → Z, atunci X → YZ.
  • Pseudotranzitivitate: Fie X, Y, Z, W ⊆ R. Dacă X → Y și YZ → W, atunci XZ → W.
  • Regula descompunerii permite rescrierea unui set de dependențe funcționale, astfel încât partea dreaptă să conțină doar un singur atribut.

Închiderea unei Mulțimi de Dependențe Funcționale

  • Pornind de la un set de dependențe funcționale F, utilizând axiome și reguli, se obține o mulțime de alte dependențe, triviale sau nu.
  • Mulțimea tuturor dependențelor funcționale care se pot deduce din F se numește închiderea mulțimii de dependențe funcționale F, notată cu F+.
  • F+ = {X → Y | F ⇒ X → Y}, unde "⇒" indică faptul că dependența respectivă se poate deduce din F folosind axiome și reguli.
  • F+ conține foarte multe dependențe, inclusiv dependențe triviale (ex: ABC → A, ABC → B, etc.).
  • Calculul complet al F+ este evitat de algoritmii care au nevoie de ea.
  • Noțiunea de închidere este folosită pentru a explica dependențele moștenite în cazul descompunerii unei scheme de relație.

Acoperirea și Echivalența Mulțimilor de Dependențe Funcționale

  • Fie R o schemă de relație și F, G două mulțimi de dependențe funcționale pentru R.
  • F acoperă G dacă și numai dacă G ⊆ F+.
  • F este echivalentă cu G dacă și numai dacă F acoperă G și G acoperă F (adică, G ⊆ F+ și F ⊆ G+).

Forma Canonică a unei Mulțimi de Dependențe Funcționale

  • O mulțime de dependențe este în formă canonică dacă:
    • Orice dependență are un singur atribut în partea dreaptă (se obține prin descompunere).
    • Mulțimea de dependențe este minimală (niciuna dintre dependențe nu poate fi dedusă din celelalte).

Exemple de Transformare în Formă Canonică

  • Exemplul 1: F = {AB → CDE, C → DE} devine F = {AB → C, C → D, C → E}.
  • Exemplul 2: Pentru relația COMPONENTE = (ID_com, Den_com, Pret, ID_furniz, Den_furniz) cu F = {ID_com → Den_com, Pret, ID_furniz, Den_furniz; ID_furniz → Den_furniz}, forma canonică este F = {ID_com → Den_com, ID_com → Pret, ID_com → ID_furniz, ID_furniz → Den_furniz}. Dependența redundantă ID_com → Den_furniz este eliminată.

Implicații Logice ale Dependențelor

  • F implică logic X→Y, dacă orice relație r pentru R, care satisface dependențele din F, satisface si X→Y.
  • Dacă R are atributele A, B, C și dependențele A→B și B→C sunt valabile, atunci A→C este de asemenea valabilă (tranzitivitate).
  • Închiderea mulțimii de dependențe F (notată cu F+) poate fi definită ca mulțimea dependențelor funcționale implicate logic de F.

Cheia si supercheia unei relatii

  • In acest punct poate fi data o definitie echivalenta a cheii unei relatii pe baza dependentelor functionale.
  • Definitia este: Fie R o schema de relatie, F multimea de dependente functionale asociata si X ⊆ R.
  • Atunci X este cheie pentru R daca si numai daca: F ⇒ X → R (deci X → R se poate deduce din F); X este minimala: oricare ar fi Y ⊂ X, Y ≠ X atunci ¬(F ⇒ Y → R) (deci orice submultime stricta a lui X nu mai indeplineste conditia anterioara).
  • Observatie: cunoscandu-se valorile pe atributele X, pot fi determinate unic valorile pentru toate atributele relatiei, deci este determinat unic un tuplu din relatie.

Proiectia Multimii de DF

  • Fie o relatie R, o multime asociata de dependente functionale F si o submultime de atribute S ⊆ R.
  • Proiectia multimii de dependente F pe S, notata cu πS(F) este multimea dependentelor din F + care au atributele din partea stanga si cea dreapta incluse in S.
  • Când se descompune o structură pot apărea pierderi ale anumitor dependențe.

Închiderea unei mulțimi de atribute

  • Fie R o schema de relatie, F multimea de dependente asociata si X ⊆ R.
  • Se poate defini X+ ca fiind închiderea multimii de atribute X in raport cu F astfel: X+ = { A | X → A ∈ F+ }
  • Scopul introducerii acestei notiuni este si acela de a putea ocoli calculul lui F+ in alti algoritmi sau definitii.

Euristica de gasire a cheilor unei relații

  • Pentru gasirea cheilor unei relatii pornim de la observatia ca atributele care nu sunt in partea dreapta a niciunei dependente nu pot sa apara in procesul de inchidere a unei multimi de atribute, deci ele apartin oricarei chei a relatie.
  • Procesul se opreste cand nu se mai pot face augmentari.
  • Este necesar ca atributele să aparțină oricărei chei.
  • Se adaugă la chei atribute din R-X+.

Acoperiri de multimi de dependinte

  • Fie F, G – multimi de dependente functionale. Daca F+=G+, spunem ca F si G sunt echivalente.
  • Daca o dependenta Y→Z din F nu este in G+, atunci sigur F +≠G+.
  • Daca fiecare dependenta din F este in G+, atunci fiecare dependeta V→W din F + este in G+; pentru a arata ca V→W este in G+, se demonstreaza ca fiecare Y→Z din F este in G+, apoi ca V→W este in F +.
  • F si G vor fi echivalente daca fiecare dependenta din F este si in G+, iar fiecare dependenta din G este si in F +.
  • Fiecare multime de dependente functionale F este acoperita de o multime de dependente G, in care nicio dependenta nu are in parte dreapta mai mult de un atribut. .

Multime minimala de dependinte

  • O multime de dependente F este minimala daca: Partea dreapta a fiecarei dependente din F contine un singur atribut. Pentru nicio dependenta X→A din F, multimea F-{X→A} nu este echivalenta cu F; Pentru nicio dependenta X→A din F si pentru nicio submultime Z ⊆X, multimea F-{X→A} ∪ {Z→A} nu este echivalenta cu F.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Database Design and Normalization
18 questions
Database Normalization Overview
5 questions
مفاهيم قواعد البيانات
5 questions
Use Quizgecko on...
Browser
Browser