¡Descarga Introducción al Modelo Relacional de Bases de Datos: Características y Avances - Prof. Rab y más Apuntes en PDF de Sistemas de Gestión de Bases de Datos solo en Docsity!
TEMA 3.
EL MODEL RELACIONAL.
TEMARI
**1. Introducció. Llenguatges relacionals comercials
- Descripcióp del model relacional** 2.1. Relació. Domini. Atribut 2.2. Definició formal de relació 2.3. Classes de relacions 2.4. Claus 2.5. Restriccions. Inherents i semàntiques 2.6. Valors nuls
1 Introducció Llenguatges 1 .Introducció. Llenguatges
relacionals comercials
INTRODUCCIÓ
- Els avenços més importants que el model de dades relacional incorpora respecte als models de dades anteriors són: - SSenzillesa ill i U ifi Uniformitat it t - Fonamentació teòrica sòlida - Independència de l’interfície d’usuari.
- Les avantatges anteriorment han contribuït a que des de mitjans dels anys 80 , el MR sigui utilitzat per pràcticament la totalitat dels SGBD comercials. - Algunes de les principals empreses informàtiques del món, són en origen, empreses de SGBD: Oracle, Sybase, Informix,.. - Els grans fabricants de software tenen el “seu” SGBD relacional: IBM DB2, Microsoft SQL Server,.. - Existeixen molts SGBD dissenyats per PC’s i usuaris no experts: Microsoft Acces,..
- El gran èxit real del MR ha suposat que el canvi tecnològic a la següent generació sigui evolutiu i no revolucionari: - Triomfen els SGBD Objecte_Relacionals, i - Fracassen, en general, els SGBD d’Objectes purs.
LLENGUATGES RELACIONALS
COMERCIALS
2.Descripció del model2.Descripció del model
relacional
2.1. Relació. Domini. Atribut 2.2. Definició formal de relació 2.3. Classes de relacions 2.4. Claus 2.5. Restriccions. Inherents i semàntiques 2.6. Valors nuls
DESCRIPCIÓ DEL MODEL
- EstructuraEstructura : ha de permetre representar la informació que ens interessa del: ha de permetre representar la informació que ens interessa del món real. - Relació : és l’estructura bàsica del model relacional. Es representa amb una taula. - Atribut : representa les propietats de la relació. Es representa amb una columna - Domini : és el conjunt vàlid de valors que pren un atribut - • TuplaTupla : és una ocurrència de la relació Es representa amb una: és una ocurrència de la relació. Es representa amb una filafila.
- Regles d’integritat
- Operacions
RELACIÓ
- La relació és l’element fonamental del model relacional (d’aquí el nom del model), és pot representar en forma de taula:
Factures Codfac Data Codcli iva 3211 23/12/02 14 16 Tupla 3212 24/07/02 8 Tupla 3213 04/08/02 14 7 .... 3215 09/09/02 145 16 tuplam
- Però, EN COMPTE!! Una relació no és una taula. Existeixen diferències entre ambdues estructures.
3215 09/09/02 145 16 tuplam
RELACIÓ. NOM, CAPÇALERA
- NomNom : les relacions s: les relacions s identifiquen’identifiquen per un nom per un nom.
persona
- Capçalera de relació : conjunt de n parells atribut‐domini
subjacent,
{(Ai :Di )} n i=1 on n és el grau
{(d {(d ni:enter),(nom:cadena),(adreça:cadena)}i t ) ( d ) ( d d )}
RELACIÓ. COS
- Cos de la relacióCos de la relació : conjunt de m tuples, (t: conjunt de m tuples, (t 11 ,t,t 22 ,...,t,...,t (^) m) on cada) on cada
tupla és un conjunt de n parells atribut‐valor,
{(Ai :Vij )} on Vij és el valor j del domini D i associat a l’atribut A i
El nombre de tuples m és la cardinalitat.
p1={(dni:36789876),(nom:”Joan López”),(adreça:”Major 45”)} p2={(dni:37789876),(nom:”Rosa Mas”),(adreça:”Cami Ral 445”)} p3={(dni:”38889876”),(nom:”Emilia Jiménez”),(adreça:”Riera 4”)}
- Mentre que la capçalera és invariant, el cós varia en el
transcurs del temps, a l’igual que la cardinalitat.
RELACIÓ. ESQUEMA
- • L’esquema d’una relacióL esquema d una relació està constituït per el nom R iestà constituït per el nom R i
la capçalera:
R ({(Ai:D (^) i)} n i=1 )
- Representa la part definitòria i estàtica
- També anomenada intensió
persona={(dni:enter),(nom:cadena),(adreça:cadena)}
RELACIÓ
- • L’estat r d’una relació d’esquema RL estat r d una relació d esquema R , al queal que
anomenarem simplement relació , es representa com r(R) i està constituït per l’esquema i el cos de la relació:
r(R)=<esquema,cos>
- – El cos és el conjunt deEl cos és el conjunt de tuplestuples que en un moment donatque, en un moment donat,
satisfà el corresponent esquema de relació
- El cos de la relació també s’anomena extensió.
CLAUS
- Clau candidata (Candidate key)
Importància de les claus primàries: Mecanisme d’adreçament de files d’un sistema relacional
Clau candidata (Candidate key)
- És un conjunt no buit d’atributs que identifiquen unívoca i mínimament cada tupla de la relació.
- Una relació pot tenir més d’una clau candidata. En aquesta
situació s’ha de distingir entre:
- Clau primària (Primary key)
- És la clau candidata escollida pper l’usuari pper identificar les tuplesp de la relació.
- Quan només existeix una clau candidata, aquesta és la clau primària (sempre existeix clau primària)
- Claus alternatives o secundàries (Alternative key)
- Són les claus candidates no escollides com a primària
...CLAUS...
- Criteris per escollir la clau primària
- Escollir la clau candidataEscollir la clau candidata
- Amb el mínim nombre d’atributs
- Amb menys canvis en el futur
- Amb el mínim nombre de caràcters
- La clau primària ha de mantenir sempre l’unicitat
- La clau primària ha de ser d’utilització universal, i estar el més propera possible al punt de vista de l’usuari.
- En el cas de no trobar cap clau primària adequada és possible crear‐ne una anomenada substituta o artificial (surrogate) que es forma normalment a partir d’una seqüència numèrica.
Una BD relacional és una col.lecció de relacions (o taules en termes d’implementació);
Però .... llavors. Representa la figura una BD relacional?
Resposta : NO, doncs una BD (relacional o d’un altre tipus) és una col.lecció de dades interrelacionades. Necessitem associar unes relacions amb d’altres
S’anomena Clau foràna o estrangera d’una relació R2 a un conjunt no buit d’atributs amb valors que coincideixen amb els valors de la clau primària d’una relació R1. La clau foràna i la clau primàriaa c au o à a a c au p à a corresponent han d’estar definides sobre els mateixos dominis. Les relacions R1 i R2 no necessàriament han de ser les mateixes. No necessàriament ha de ser la clau primària. Pot ser una clau candidata
QÜESTIONS...
- • FACTURFACTUREES codcli és una clau forana a clients:S.codcli és una clau forana a clients:
- El tipus de dades de la CF i CP cal que sigui el mateix ???
- Els valors que apareixen a la CF cal que coincideixin amb algun dels valors de la CP (integ. referencial) ????
- Tots els valors de la CP han d'aparèixer a la CF ???
- A la CP no es poden repetir valors. A la CF es poden repetir valors ????
- Una CF representa una associació entre entitats .????
- La CP éé s sempre no nul.lal l ¿lesl CF tambébé ????????
- Una CF i la CP que referència s’han d’anomenar igual ????
RESTRICCIONS
- Limiten els valors presents a la BD
- Tipusp
- Restriccions inherents
- del propi model
- d’entitats
- referencial
- restriccions de dominis
- Restriccions semàntiques
RESTRICCIONS DEL PROPI MODEL
- Limitacions que imposa el propi model relacional
- Una relació té unes propietats intrínseques que no té una taula, i es deriven dd e ll a mateixai d fi i iódefinició matemàticaà i dd e relació,l ió j j a que all ser un conjunt,j en una relació: - No hi pot haver dues tuples iguals. Obligatorietat de la clau primària - L’ordre de les tuples no és significatiu - L’ordre dels atributs no és significatiu - Cada atribut només pot prendre un únic valor sobre el domini en el que està definit. - • No s’admeten grups repetitius (ni altres tipus d’atributs) com a valors dels atributsNo s admeten grups repetitius (ni altres tipus d atributs) com a valors dels atributs d’una tupla - Es diu que la relació està normalitzada (en Primera Forma Normal).
REGLA INTEGRITAT D’ENTITAT
- Es refereix a les claus primàries.
“Els atributs que formen part de la clau primària d’una relació no poden ser nuls; és a dir, un valor desconegut o inexistent.”
- Ens cal identificar totes les tuples emmagatzemades.
- No podem enregistrar informació sobre quelcom que no es pot identificar.
- Observacions:
- La regla s’aplica a les relacions base
- La regla s’aplica només a la clau primària, no a les claus alternatives
REGLES PER A LES CF. ACCIONS
REFERENCIALS
- Regla d’esborrat : Què fer si s’intenta esborrar la tupla a la que fa referencia una clau forana??? - Restringir - Propagar - Anul.lar: Té sentit que la clau forana accepti nuls??
- Regla de modificació : Què fer si s’intenta modificar el valor de la clau primària de la tupla a la que fa referència una clau forana??? - Restringir - Propagar - Anul.lar: Té sentit que la clau forana accepti nuls??
RESTRICCIONS SEMÀNTIQUES
- Clau primària. PRIMARY KEY
- Permet declarar un atribut o conjunt d’atributs com a clau primària d’una relació Permet definir claus primàriesd’una relació. Permet definir claus primàries.
- Clau alternativa. UNIQUE
- Permet especificar que els valors d’un conjunt d’atributs no es pot repetir en una relació. Permet definir claus alternatives.
- Obligatorietat. NOT NULL
- Permet definir l’obligatorietat d’un o més atributs indicat que el conjunt d’atributs no admet el valor nul
- Integritat referencial. FOREIGN KEY
- Opcions d’esborrat i actualització
- Verificació. CHECK
- Asserció. ASSERTION
- Disparador. TRIGGER
CHECK
- Comprova en tota operació d’actualització, si la condició és certa o falsa, si és falsa rebutja l’operació. - Es defineix sobre un únic element de la BD: domini,relació... - La restricció s’inclou en la definició de l’element(dins d’un CREATE TABLE). - Pot tenir nom o no CHECK N_HORES>30 en CURS_DOCTORAT
ASSERCIÓ
- Actua de forma idèntica a l’anterior, però pot afectar a varis elements de la BD (per ex. a dues relacions diferents). - La definició no va lligada a un element, ha de tenir nom - És un element més de la BD
CREATE ASSERTION CONCEDEIX_SOL.LICITA AS CHECK (SELECT cod_estudiant, cod_beca FROM CONCEDEIX) IN SELECTSELECT cod estudiant, cod becacod_estudiant, cod_beca FROM SOL.LICITA));
ELS VALORS NULS I
LA LÒGICA TRIVALUADA
- Valor nul : valor usat per a representar informació desconeguda, inaplicable, inexistent, no vàlida, no donada, indefinida,..
- Necessitat dels valors nuls:
- Crear tuples(files) amb certs atributs desconeguts en el moment (per exemple, any edició llibre)
- Afegir un nou atribut a una relació existent ; atribut que quan s’afegeix no tindrà cap valor per les tuples de la relació
- Atributs inaplicables a certes tuples , per exemple la professió d’un menormenor.
ELS VALORS NULS I
LA LÒGICA TRIVALUADA
Taules de veritat de la lògica trivaluada.
- ANDAND OROR NOTNOT cert and cert cert cert or cert cert not cert fals cert and fals fals cert or fals cert not fals cert
cert and nul nul cert or nul cert not nul nul
fals and fals fals fals or fals fals fals and cert fals fals or cert cert
fals and nul fals fals or nul nul
nul and cert nul nul or cert cert nul and fals fals nul or fals nul nul and nul nul nul or nul nul