Sunteți pe pagina 1din 13

Restrictiile de integritate

Restriciile de integritate, denumite i


reguli de integritate, definesc cerinele
pe care trebuie s le satisfac datele
din cadrul bazei de date pentru a
putea fi considerate corecte i
coerente n raport cu domeniul pe care
l reflect.
Restriciile de integritate reprezint
principalul mod de integrare a
semanticii datelor n cadrul modelului
relaional al datelor.

Restrictiile de integritate
Restricii de integritate minimale
De unicitate a cheii
Referentiala
Entitatii

Alte restricii de integritate


De comportament: de domeniu, temporale

Restrictia de unicitate a cheii


Reprezint restricia de integritate
care impune ca ntr-o relaie R, care
are cheia K, oricare ar fi tuplurile t1 i
t2 s fie satisfcut inegalitatea: t1(K)
t2(K). Aceast inegalitate semnific
faptul c ntr-o relaie nu pot exista
dou tupluri cu o aceeai valoare
pentru atributele cheie.
Cheia unei relaii trebuie s fie
minimal, n sensul c nicio parte a sa
nu trebuie s aib proprietatea de

Restrictia de unicitate a cheii


Cheia primara
Simpla
Compusa

Cheia
Candidata

Simbol
Denumire
CUI
Piata
Data_listarii
ISIN
Capital_social

EMITENTI
Cheie primar
Cheie candidata

Simbol
Data_cot
Pret_Inchidere
Volum
Pret_minim
Pret_maxim

COTATII
Cheie primar compusa

Restrictia referentiala
Un atribut sau un grup de atribute dintr-o
relaie R1 ale crui/cror valori sunt
definite pe acelai/aceleai
domeniu/domenii ca i cheia primar a
unei alte relaii, R2 i care are rolul de a
modela asocierea ntre entitile
reprezentate cu ajutorul relaiilor R1 i R2.
R1 i R2nu trebuie s fie neaprat distincte.
EMITENTI

Simbol
Denumire
CUI
Piata
Data_listarii
ISIN

Simbol
Data_cot
Pret_Inchidere
Volum
Pret_minim
Pret_maxim

COTATII
Cheie externa

Restrictia entitatii
Restricia entitii reprezint restricia
de integritate care impune ca ntr-o
relaie, anumite atribute sa fie nenule
Simbol
Denumire
CUI
Piata
Data_listarii
ISIN
Capital_social

Simbol
Data_cot
Pret_Inchidere
Volum
Pret_minim
Pret_maxim

EMITENTI
Cheie primar
Not Null
Cheie candidata, Not Null
Not Null
Not Null
Cheie Candidata

COTATII
Cheie primar compusa
Not Null
Not Null
Not Null
Not Null

Alte restricii de integritate


De domeniu
Temporare
EMITENTI
Simbol
Denumire
CUI
Piata
Data_listarii
ISIN
Capital_social

REGS, RGBS,XMBS

>10000
COTATII

Simbol
Data_cot
Pret_Inchidere
Volum
Pret_minim
Pret_maxim

>data_listarii
>=pret_min, <= pret_maxi,
>=0
>=0
>=0

Exemplificare SQL
create table emitenti(
simbol varchar2(12),
denumire varchar2(32) not null,
cui varchar2(12) not null,
piata char(4),
data_listarii date default sysdate,
isin varchar2(12),
capital_soc number(10),
constraint emitenti_pk primary
key(simbol),
constraint emitenti_cui_uk unique(cui),
constraint emitenti_isin_uk unique(isin),
constraint emitenti_ch_piata check
(upper(piata) in ('REGS','RGBS','XMBS')),

Exemplificare SQL
create table cotatii(
simbol varchar2(12),
data_cot date,
pret_inchidere number(12,4),
volum number(8),
pret_min number(12,4),
pret_max number(12,4),
constraint cotatii_pk primary
key(simbol,data_cot),
constraint cotatii_emitenti_fk foreign
key(simbol) references emitenti,
constraint cotatii_preti_ch check
(pret_inchidere between pret_min and

Grila 1
ntr-o baz de date relaional, fie
relaia R1. In urma aplicrii unei
operaii pe relaia R1 se obine o nou
relaie R2, care conine doar o parte
dintre atributele relaiei R1 i tupluri
distincte. Precizai ce operator al
algebrei relaionale realizeaz aceast
operaie:
a)produsul cartezian
b)diferena

Grila 2
In modelul de date relational pentru
BD:
a)atributele care au rol in realizarea
legaturilor intre tabele se numesc chei
compuse
b)exista notiunea de restrictia entitatii
c)legaturile intre tabele se descriu in
LMD
d)nu exista notiunea de schema tabelei
e)selectia si existenta sunt operatori din

Grila 3
Restricii de integritate ale modelului
relaional sunt:
a)de domeniu, entitii
b)cheie unic, de aplicaie
c)temporar, referenial
d)selecie, cheie primar
e)cheie extern, de actualizare

Grila 4
Fie dou tabele COMEZI i FIRME fiecare avnd
cte 20 de nregistrri. O firm poate da mai
multe comenzi, o comand trebuie dat de ctre
o singur firm. Care din urmtoarele afirmaii
este adevrat:
a)Un left join ntre COMEZI i FIRME nu poate
returna acelai numr de nregistrri ca un right
join ntre FIRME i COMENZI
b)Un full join ntre cele dou tabele nu poate
returna acelai numr de nregistrri ca un left
join ntre FIRME i COMEZI
c)Produsul cartezian ntre cele dou tabele nu
returneaz mai multe nregistrri dect full join-