Tema 2: Bases de dades relacionals - uji.esgrangel/k35/tema2.pdf · Dissenyar Base de Dades...

25
2.1 Components de les bases de dades: taules, camps i relacions 2.2 Propietats dels camps 2.3 Regles d’integritat Reyes Grangel K35. Informàtica II. Llicenciatura en Humanitats http://www3.uji.es/~grangel/k35 Tema 2: Bases de dades relacionals

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)