Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades...
Transcript of Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades...
![Page 1: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/1.jpg)
2.1 Components de les bases dedades: taules, camps i relacions
2.2 Propietats dels camps
2.3 Regles d’integritat
Reye
s Gr
ange
lK3
5. I
nfor
màt
ica
II. L
licen
ciat
ura
en H
uman
itat
shttp://www3.uji.es/~grangel/k35
Tema 2: Bases de dadesrelacionals
![Page 2: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/2.jpg)
K35. Informàtica II 2
TeoriaDissenyar Base de Dades
PràcticaDissenyar Aplicació
Base de dades Aplicació
SGBD
Fitxersde dades
UsuarisProgramesd’aplicació
Resum tema 1
Bases de dades de tipus relacionalsDisseny de bases
de dadesDisseny lògicESTRUCTURA
Disseny físic
Disseny conceptualCONTINGUT
Requisits de dades
Tema 1
Tema 2
Tema 4
Tema 3
BD
![Page 3: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/3.jpg)
K35. Informàtica II 3
2.1 Components de les bases de dades
• Taules– Conjunt de dades sobre un tema específic
– Representen objectes concrets o abstractes del món real
– Gràficament organitzades en files i columnes
• Camps– Representen les propietats o atributs dels objectes
– Gràficament són les columnes d’una taula
• Relacions– Descriuen les interaccions entre dues o més taules
– Gràficament són les línies entre taules
![Page 4: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/4.jpg)
K35. Informàtica II 4
Taules
Columnes: camps (propietats)
Files: registres (ocurrències)
Propietats de les taules– No hi ha files repetides
– Les files no estan ordenades– Els camps no estan ordenats– Els valors de les cel·les són atòmics
Exemple
![Page 5: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/5.jpg)
K35. Informàtica II 5
Camps
• Nom: amb el qual s’identificarà el camp
• Tipus de dades: numèriques, text, etc.
• Descripció: breu comentari sobre elque representa el camp
• Propietats: grandària, format, valorspredeterminats, etc.
![Page 6: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/6.jpg)
K35. Informàtica II 6
Numèric
Text
Numèric
Data/hora
Moneda
Text
Memo
Autonumèric
Sí/no
etc...
56, -46, 3.200, ...
11/1/00, 2 feb 2000, ...
45 ptes., 10,5 €, ...
Món real AccessExemples
Juan, aprovada, ...
“El llibre parla ...”, ...
Camps: tipus de dades bàsiques
Altres10, 11, 12, 13, ...convalidada, estat civilcasat, ...
![Page 7: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/7.jpg)
K35. Informàtica II 7
Bases de Dades
Exemple de taules i camps
Món real títolautorany d’edicióisbnpreutema
nom editorial
ciutat
Taula llibres
Taula editorials
![Page 8: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/8.jpg)
K35. Informàtica II 8
Exemple de relacions (I)
Exemple: unafactura està formadaper varies línies defactura
Taula factures
Taula línies de factura
Relació
![Page 9: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/9.jpg)
K35. Informàtica II 9
Exemple de relacions (II)
Exemple: un llibreestà editat per unaeditorial
Taula llibres
Taula editorials
Relació
![Page 10: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/10.jpg)
K35. Informàtica II 10
Taules, camps i relacions en Access (I)
títolautorany d’edicióisbnpreutema
Exemple: taula llibresVista de disseny
Vista de full de dades
![Page 11: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/11.jpg)
K35. Informàtica II 11
Taules, camps i relacions en Access (II)
nom editorial
ciutat
Exemple: taula editorialsVista de disseny
Vista de full de dades
![Page 12: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/12.jpg)
K35. Informàtica II 12
2.2 Propietats dels camps (I)
• Grandària: és diferent segons el tipus de dadeselegides, si el tipus era ...– Numèric es tria entre: enter, enter llarg, simple i doble– Text s’indica el nombre de caràcters
• Format: és l’aspecte de la dada del camp en lapresentació visual
• Requerit o no : serveix per a indicar si és obligatorio no introduir valors en el camp
• Valor predeterminat: és el valor que se li donarà alcamp si l’usuari no hi introdueix cap valor
![Page 13: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/13.jpg)
K35. Informàtica II 13
2.2 Propietats dels camps (II)
• Regles de validació: són les normes que limitenels valors que es poden introduir en un camp
• Text de validació: missatge que es mostra quans’introdueix un valor no permès per les regles devalidació
• Clau principal: és imprescindible indicar quin ésel camp o camps que són la clau principal
![Page 14: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/14.jpg)
K35. Informàtica II 14
2.3 Regles d’integritat
Regles d’integritat: restriccions que les dadesemmagatzemades a la base de dades han de complirper a garantir que són correctes
Per a garantir la integritat es defineixen les regles devalidació i, a més a més, s’han de tenir en compte ..
• Nuls
• Regla d’integritat d’entitats (clau principal)
• Regla d’integritat referencial (clau externa)
![Page 15: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/15.jpg)
K35. Informàtica II 15
Clau principal
Clau principal: és un atribut o un conjunt d’atributs queidentifiquen de manera única cadascuna de les files d’una taula
Clau principal
Característiques– Unicitat: mai hi ha dues files d’una taula amb el mateixvalor per a la clau principal
– Minimalitat: no es poden eliminar atributs de la clau sensedestruir la unicitat
![Page 16: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/16.jpg)
K35. Informàtica II 16
Clau externa
Clau externa: és un atribut o un conjunt d’atributsd’una taula, de manera que els seus valors coincideixen ambels valors de la clau principal d’alguna altra taula. Per tant:
– Les claus externes representen relacions entre dades.
– Una valor de clau externa representa una referència a la fila que conté elmateix valor en la seua clau principal (fila referenciada).
– El requisit de coincidència entre els valors de la clau externa i els valorsd’una determinada clau principal és el que fa que la base de dades estigaunida (relacionada).
Clau externaRelació
![Page 17: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/17.jpg)
K35. Informàtica II 17
Exemple de clau principal i externa (I)Exemple: unafactura està formadaper varies línies defactura
Taula factures
Taula línies de factura
Relació
Clau principal
Clau principal
Clau externa
LINIES_FACTURA codi_factura FACTURES Factura a la que pertany la línia
![Page 18: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/18.jpg)
K35. Informàtica II 18
Exemples de clau principal i externa (II)
Exemple: un llibreestà editat per unaeditorial
Taula llibres
Taula editorials
Relació
LLIBRES codi_editorial EDITORIALS Editorial que ha editat el llibre
Clau externa
Clau principal
Clau principal
![Page 19: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/19.jpg)
K35. Informàtica II 19
Nuls
Nuls: quan en una fila es desconeix el valor d’algunatribut, es diu que aquest és nul.
– El nul no és un valor, és l’absència d’informació.– Un nul no representa ni el valor zero ni la cadena buida,
aquests valors tenen un significat.
NulsNulsNuls
![Page 20: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/20.jpg)
K35. Informàtica II 20
Regla d’integritat d’entitats
Regla d’integritat d’entitats– 1ª Regla d’integritat– Relacionada amb la CLAU PRINCIPAL– S’aplica a les claus principals de totes les taules base
– Incompliment: la base de dades emmagatzemaria informaciód’alguna cosa que no es podria identificar
Cap dels atributs que formen part de
la clau principal poden ser nuls
Taula editorials
Clau principal
![Page 21: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/21.jpg)
K35. Informàtica II 21
Regla d’integritat referencial (I)
Regla d’integritat referencial– 2ª Regla d’integritat– Relacionada amb la CLAU EXTERNA– S’aplica a les claus externes que hi ha a la base de dades
– Incompliment: la informació de la base de dades és incorrecta
Si en una taula hi ha alguna clau externa, els seus valors han de coincidir ambels valors de la clau principal a la que
fa referència, o bé, han de ser tots nuls
CE = RELACIÓ
![Page 22: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/22.jpg)
K35. Informàtica II 22
Regla d’integritat referencial (II)
Per a cadascuna de les claus externes, s’ha d’aplicar:
• Regla dels nuls: determinar si té sentit que la clau externa accepte nuls.
• Regla de l’esborrat: determinar què s’ha de fer quan es vol esborrar una filareferenciada per una clau externa (CE).
– Restringir ÕÕ no es permet esborrar la fila.
– Propagar ÕÕ s’esborra la fila i es propaga l’esborrat a les files que la referencien.
– Anul·lar ÕÕ s’esborra la fila i les files que la referencien posen un nul en la seua CE.
• Regla de modificació: determinar què s’ha de fer quan es vol modificar elvalor d’una clau principal (CP) d’una fila referenciada per una clau externa (CE).
– Restringir ÕÕ no es permet modificar la CP.
– Propagar ÕÕ es modifica el valor de la CP i es propaga la modicficació a les CE que la referencien.
– Anul·lar ÕÕ es modifica el valor de la CP i les files que la referencien posen un nul en la seua CE.
![Page 23: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/23.jpg)
K35. Informàtica II 23
Exemple d’integritat referencial (I)Clients Factures Línies de factura
1 client té n factures
1 a n
1 factura és de 1 client
1 a 1
1 factura té n línies factura
1 a n
1 línia factura es de 1 factura
1 a 1
FACTURES codi_client CLIENTS Client al que pertany la factura
Taula factures
Taula línies de facturaTaula clients
LINIES_FACTURA codi_factura FACTURES Factura a la que pertany la línia
![Page 24: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/24.jpg)
K35. Informàtica II 24
Exemple d’integritat referencial (II)
Taula factures
Taula clients
FACTURA codi_client CLIENTS Client al que pertany la factura
Regla dels nuls: Sí/No
Regla de l’esborrat– Restringir– Propagar– Anul·lar
Regla de modificació– Restringir– Propagar– Anul·lar
NulsFACTURES codi_client CLIENTS
LINIES_FACTURA codi_factura FACTURES
Esborrat Modificació
![Page 25: Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades Pràctica Dissenyar Aplicació Base de dades Aplicació SGBD Fitxers de dades Programes](https://reader030.fdocuments.net/reader030/viewer/2022040418/5dd09cced6be591ccb61d69f/html5/thumbnails/25.jpg)
K35. Informàtica II 25
Bibliografia
Date, C. J. (1993): Introducción a los Sistemas de Basesde Datos, Wilmington, Addison-WesleyIberoamericana. (Capítols 11 i 12)
Marqués, M. (2000): Apuntes de Ficheros y Bases deDatos, Castelló, Servei de Publicacions de laUniversitat Jaume I. (Capítol 4)