BAZE DE DATE c5_REI
-
Upload
andrian-georgiana -
Category
Documents
-
view
5 -
download
0
description
Transcript of BAZE DE DATE c5_REI
BAZE DE DATECursul 7
Baze de date relationale
Definitie BDRO bază de date relaţională (BDR)
reprezintă un ansamblu de relaţii (tabele) de date împreună cu legăturile dintre ele.
NormalizareaEste o teorie construită de EF Codd în jurul conceptului de
forme normale (FN), care ameliorează structura BD prin înlăturarea treptată a unor neajunsuri şi prin adăugarea unor facilităţi sporite privind manipularea datelor.
Scopul proiectării unei BDR este ca informațiile sa fie stocate într-un singur loc, în locul cel mai potrivit.
Se grupeaza atributele în relatii cu scopul de a minimiza redundanta informatiilor si (odata cu aceasta) spatiul ocupat de relatii pe suportul disc.
NormalizareaTehnica de normalizare este utilizată în
activitatea de proiectare a structurii BDR şi constă în eliminarea unor anomalii (neajunsuri) de actualizare din structură.
Normalizarea utilizează ca metodă descompunerea top-down a unei tabele în două sau mai multe tabele, păstrând informaţii (atribute) de legătură.
Anomaliile de actualizareanomaliile de adăugare = nu pot fi incluse noi
informaţii necesare într-o tabelă deoarece nu se cunosc şi alte informaţii utile (de exemplu valorile pentru cheie), informatiile isi pot pierde consistenta
anomalia de ştergere = stergând un tuplu dintr-o tabelă, pe lângă informaţiile şterse, se pierd şi informaţiile utile existente în tuplul respectiv;
anomalia de modificare = este dificil de modificat o valoare a unui atribut atunci când ea apare în mai multe tupluri.
Simbol Emitent Cod_Fiscal Cod_Piata Den_Piata Data Val_totalaSNP Petrom 1590082 REGS Regular 07.01.2014 1.600.000SNP Petrom 1590082 ODDS Odd lot 07.01.2014 500.000TLV Banca Transilvania 5022670 REGS Regular 07.01.2014 1.200.379TLV Banca Transilvania 5022670 ODDS Odd lot 07.01.2014 119.000TLV Banca Transilvania 5022670 REGS Regular 08.01.2014 1.258.379
Dependente funcționaleDescrie un anumit tip de legătura care se stabilește intre
atributele aceleiași relații;Fie o schema de relatie R si fie submultimile de atribute A
si B din R, AÍR si B Í R;Spunem ca B depinde functional de A si scriem A ® B daca
pentru orice relatie legala r, construita pe schema de relatie R, se verifica urmatoarea situatie: pentru orice pereche de tupluri t1 si t2 din r, pentru care
t1[A]=t2[A], are loc intotdeauna si t1[B]=t2[B].
Aceasta inseamna ca atunci cand un tuplu t1 are (pe submultimea de atribute A) aceeasi valoare cu alt tuplu t2, obligatoriu cele doua tupleuri vor avea aceeasi valoare si pe submultimea de atribute B.
Valorile din B sunt in mod unic determinate de valorile din A.
Dependente functionaleSimbol Emitent Cod_Fiscal Cod_Piata Den_Piata Data Val_totalaSNP Petrom 1590082 REGS Regular 07.01.2014 1.600.000SNP Petrom 1590082 ODDS Odd lot 07.01.2014 500.000TLV Banca Transilvania 5022670 REGS Regular 07.01.2014 1.200.379TLV Banca Transilvania 5022670 ODDS Odd lot 07.01.2014 119.000TLV Banca Transilvania 5022670 REGS Regular 08.01.2014 1.258.379
Forma normala 1O relaţie R este în FN1 dacă domeniile pe
care sunt definite atributele relaţiei sunt constituite numai din valori atomice (elementare). În plus, un tuplu nu trebuie să conţină atribute sau grupuri de atribute repetitive.
Este forma de bază a relaţiilor, care figurează ca cerinţă minimală în cazul majorităţii SGBDR.
Forma normala 1Emitent
Simbol (PK)
Denumire
[…]
Valoare_totala
Emitent
#Simbol (PK)
Denumire
Cotatie
#Simbol (PK,FK)
#Data_cot (PK)
#Cod_Piata (PK)
Den_Piata
Valoare_totala
Cotatie devine o entitate avand un identificator unic compus, toate atributele sale vor avea o singura valoare per instanta. Entitatile Emitent si Cotatie sunt in FN1.
Atributul valoare totala va avea valori multiple. Aceasta entitate nu este in FN1.
Forma normala 2O relaţie R este în FN2 dacă este în FN1 şi
oricare dintre atributele non-cheie este dependent funcţional complet de cheia primară a relaţiei.
FN2 interzice manifestarea unor dependenţe funcţionale parţiale în cadrul relaţiei.
Forma normala 2Emitent
#Simbol (PK)
Denumire
Cod_Fiscal
Cotatie
#Simbol (PK, FK)
#Data_cot (PK)
#Cod_piata (PK,FK)
Valoare_totala
Atributul den_piata nu este bine plasat. El depinde doar de atributul cod_piata si nu de intregul identificator unic al relatiei (Simbol+Data_cot+cod_piata).Relatia Cotatie nu este in FN2.
Atributul den_piata acuma este bine plasat, depinde doar de cod_piata
Emitent
#Simbol (PK)
Denumire
Cod_fiscal
Cotatie
#Simbol (PK,FK)
#Data_cot (PK)
#Cod_Piata (PK)
Den_Piata
Valoare_totala
Piata
#Cod_piata (PK)
Den_Piata
Forma normala 3O relaţie R este în FN3 dacă este în FN2 şi
atributele non-cheie nu sunt dependente tranzitiv de cheia primară a relaţiei. FN3 interzice manifestarea dependenţelor funcţionale tranzitive în cadrul relaţiei.
Forma Normala 3Sesiune_Stiintifica
#Materie
#Sesiune
Student_Castigator
Data_nastere
Sesiune_Stiintifica
#Materie
#Sesiune
Student_Castigator
Studenti
#Student_Castigator
Data_nastere
Student si data_nastere nu depind de o partea a CP dar data_nastere depinde de Student care depinde de CP.
Se creaza o entitate noua Studenti, ambele fiind acuma in FN3.
Forma normală Boyce-Codd (BCNF)Este o varianta mai restrictiva a FN3.O relaţie este în BCNF dacă dependenţele
funcţionale netriviale care se manifestă în cadrul relaţiei conţin în partea stângă (ca determinant) o cheie candidată.
Destul de rar se intampla ca o relatie care este in Fn3 sa nu este fie si in BCNF
Forma normală Boyce-Codd (BCNF)
Reguli discount comision: Clienti ocazionali, A->discount 10%Clienti ocazionali, B->discount 15%Clienti fideli, C->discount 20%In acest caz exista o dependenta Discount->Tip ordin iar Discount nu este o cheie candidata.
Zi Tip_OrdinComision Standard Piata Discount
01.01.2014 A 0,5 REGS 10
01.01.2014 B 0,5 REGS 15
02.01.2014 C 0,75 RGBS 20
Tranzactie