Sunteți pe pagina 1din 10

Normalizarea bazelor de

date relaționale
AUTOR: FLORIN MIHAI
Scop

 O firmă dorește proiectarea unei baze de date pentru activitatea


de transport persoane în regim "taxi sharing".
Dicționarul atributelor
Reguli de gestiune

 Un pasager poate efectua mai multe curse, la o cursă pot participa mai
mulți pasageri.
 O cursă are un număr prestabilit de kilometri, pe parcursul cursei,
pasagerii urcă și coboară în funcție de preferințe, fiecare dintre ei
achitând o sumă corespunzătoare parcursului;
 Fiecare cursă are un Id unic și se desfășoară la o anumită dată și oră, pe
un anumit număr de kilometri;
 Un autoturism poate efectua mai multe curse;
 O cursă are un singur șofer și se desfășoară cu un singur autoturism;
Sinonime/atribute derivate

 TotalIncasari
 NumePrenumeSofer
 NrCurseEfectuate
Matricea dependențelor funcționale (FN2)
Matricea dependențelor funcționale (FN2)
- inclusiv determinant compus (dependențe
funcționale complete)
Matricea dependențelor funcționale (FN3)
- cu dependențe funcționale tranzitive
Modelul relațional al bazei de date (FN3)

 cursa(IdCursa, NrKmCursa, CodSofer, CodAutoturism, DataOraCursa)


 pasager(IdPasager, NumePrenumePasager)
 sofer(CodSofer, NumeSofer, PrenumeSofer)
 autoturism(CodAutoturism, DenumireAutoturism)
 cursapasager(IdCursa, IdPasager, SumaIncasataPasager)
Restricții de integritate

 IdCursa este cheie primară în tabelul cursa


 IdPasager este cheie primară în tabelul pasager
 CodSofer este cheie primară în tabelul sofer
 CodAutoturism este cheie primară în tabelul autoturism
 IdCursa, IdPasager cheie primară în tabelul cursapasager
 CodSofer din tabelul cursa este cheie externă pentru CodSofer din tabelul sofer
 CodAutoturism din tabelul cursa este cheie externă pentru CodAutoturism din tabelul autoturism
 IdCursa din tabelul cursapasager este cheie externă pentru IdCursa din tabelul cursa
 IdPasager din tabelul cursapasager este cheie externă pentru IdPasager din tabelul pasager
 NrKmCursa >0
 NumePrenumePasager <> null
 NumeSofer <> null
 PrenumeSofer <> null)
 SumaIncasataPasager > 0

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