0% encontró este documento útil (0 votos)
114 vistas25 páginas

Modelamiento de Datos: Modelo Relacional

Este documento presenta los conceptos fundamentales del modelo de datos relacional, incluyendo la estructura de una relación, la definición formal de una relación, y los conceptos de claves. Explica que una relación se compone de atributos, tuplas y dominios, y que las relaciones se pueden representar como tablas.

Cargado por

Nilda Atachagua
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
114 vistas25 páginas

Modelamiento de Datos: Modelo Relacional

Este documento presenta los conceptos fundamentales del modelo de datos relacional, incluyendo la estructura de una relación, la definición formal de una relación, y los conceptos de claves. Explica que una relación se compone de atributos, tuplas y dominios, y que las relaciones se pueden representar como tablas.

Cargado por

Nilda Atachagua
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Modelamiento de Datos

Tema

Modelo Relacional

Docente

Ing. Eric Gustavo Coronel Castillo


gcoronelc@[Link]
Índice

• Presentación
• Estructura del Modelo Relacional
• Definición Formal de una Relación
• Claves
• Ejemplos
• Restricciones Inherentes
• Restricciones Semánticas

Ing. Eric Gustavo Coronel Castillo 2


Presentación

• A finales de los años sesenta Codd introdujo la teoría de las


relaciones en el campo de las bases de datos.
• El documento de Codd propone un modelo de datos basado en la
teoría de las relaciones, en donde los datos se estructuran
lógicamente en forma de relaciones (tablas).
• El objetivo fundamental del modelo es mantener la independencia
de la estructura lógica respecto al modo de almacenamiento y a
otras características de tipo físico.

Código Nombre Edad Semestre

D1001 Sergio Matsukawa 45 V

D1002 Hugo Valencia 38 III

D1003 Gustavo Coronel 40 VI

D1004 Ernesto Rodas 36 II

Ing. Eric Gustavo Coronel Castillo 3


Presentación

Los objetivos de Codd con el modelo relacional son:


– Independencia Física: Almacenamiento/manipulación. Un
cambio en el almacenamiento físico no afecta a los
programas.
– Independencia Lógica: Añadir, eliminar o modificar
elementos en la BD no debe repercutir en los programas y/ o
usuarios que acceden a ellos.
– Flexibilidad: Ofrecer al usuario los datos en la forma más
adecuada a cada aplicación.
– Uniformidad: Las estructuras lógicas de los datos son
tablas. Facilita la concepción y utilización de la BD por parte
de los usuarios.
– Sencillez: Por las características anteriores y por los
lenguajes de usuario sencillos, el modelo relacional es fácil
de comprender y utilizar por parte del usuario final.

Ing. Eric Gustavo Coronel Castillo 4


Presentación

• Evolución del modelo relacional

Ing. Eric Gustavo Coronel Castillo 5


Estructura del Modelo Relacional

• Relación: Es la estructura básica del modelo


relacional. Se representa mediante una tabla.
• Atributo: Representa las propiedades de la relación.
Se representa mediante una columna.
• Dominio: Es el conjunto válido de valores que toma un
atributo.
• Tupla: Es una ocurrencia de la relación. Se representa
mediante una fila.
• Dato: Unidad básica (atómica). Un valor del dominio.

Ing. Eric Gustavo Coronel Castillo 6


Estructura del Modelo Relacional

Ejemplo de un relación:

Dominio Dominio Dominio Dominio


Código Nombre Edad Semestre
Atributos,
Campos
o Columnas
Código Nombre Edad Semestre
Fila,
Tupla
D1001 Sergio Matsukawa 45 V
o Registro

D1002 Hugo Valencia 38 III

D1003 Gustavo Coronel 40 VI

D1004 Ernesto Rodas 36 II

Dato

Ing. Eric Gustavo Coronel Castillo 7


Estructura del Modelo Relacional

• Grado: Es el número de atributos de la relación.


• Cardinalidad: Es el número de tuplas de la relación.

Características de un Relación
– No puede haber tuplas duplicadas.
– El orden de las tuplas es irrelevante.
– La tabla es plana, es decir, en el cruce de un atributo y una
tupla sólo puede haber un valor.
– El orden de los atributos no es significativo.

Ing. Eric Gustavo Coronel Castillo 8


Estructura del Modelo Relacional

Atributos y Dominios
Dominios
Nombre Nacionalidad Institución

Norteamericana
Relational Institute
Peruana
xxxxxxxxxxxxxxxxx UNI
Española
Politécnico de Milán
Italiana
25 caracteres U.P.C.
Francesa
......
......

Nombre Nacionalidad Institución


Date, C.J. Norteamericana Relational Institute
Codd, E.F. Norteamericana Relational Institute
Gustavo Coronel Peruana UNI Cardinalidad
5
Ceri, S. Italiana Politécnico de Milán
Saltor, F. Española U.P.C.

Grado 3
Ing. Eric Gustavo Coronel Castillo 9
Estructura del Modelo Relacional
Vistas
– Las vistas son “ tablas virtuales” que se definen sobre una o más tablas. Las
vistas son ventanas sobre tablas “ reales” de las que sólo se almacena su
definición; no tienen representación directa en el almacenamiento.

Ing. Eric Gustavo Coronel Castillo 10


Definición Formal de una Relación
Matemáticamente, una relación definida sobre los n dominios D1,
D2, ... Dn, no necesariamente distintos, es un subconjunto del
producto cartesiano de estos dominios, donde cada elemento de la
relación, tupla, es una serie de n valores ordenados.

Intensión o Esquema de Relación: Se compone de un nombre de


relación R, de un conjunto de n atributos { Ai} y de un conjunto de n
dominios (no necesariamente distintos) { Di} , donde cada atributo
será definido sobre un dominio:

R ( A1 : D1, A2 : D2, . . . An : Dn)

Extensión u Ocurrencia (instancia) de la Relación: Se llama


simplemente relación, es un conjunto de m elementos
denominados tuplas { t j } . Cada tupla es un conjunto de n pares
atributo-valor(< Ai: vij> ,...< Ai: vij> ,...< An: vnj> ) donde cada Ai es
el nombre de un atributo y vij es un valor del correspondiente
dominio Di sobre el que está definido el at ributo:

r(R) = t j { (< A1: v1j> , . . . < Ai: vij> , . . . < An: vnj> ) : vij Є Di }

Ing. Eric Gustavo Coronel Castillo 11


Definición Formal de una Relación

Intensión de una Relación

AUTOR(nombre: nombres, nacionalidad: nacionalidades,


institución: instituciones)

Extensión de una Relación

AUTOR
Nombre Nacionalidad Institución

Date, C.J. Norteamericana Relational Institute

Codd, E.F. Norteamericana Relational Institute

Gustavo Coronel Peruana UNI

Ceri, S. Italiana Politécnico de Milán

Saltor, F. Española U.P.C.

Ing. Eric Gustavo Coronel Castillo 12


Claves

Clave Candidata

Es el conjunto no vacío de atributos que identifica


unívocamente cada tupla de una relación.

Clave Primaria

Es la clave candidata que elige el usuario para identificar las


tuplas de la relación. Se dice que una clave primarias es
compuesta cuando está formada por más de un atributo.

Ningún atributo principal, es decir, ningún atributo que forme


parte de la clave primaria, puede tomar un valor nulo.

Ing. Eric Gustavo Coronel Castillo 13


Claves

Claves Alternativas

Son aquellas claves candidatas que no ha sido elegidas como


clave primaria.

Clave Ajena

La clave ajena de una relación R2 es un conjunto no vacío de


atributos cuyos valores han de coincidir con los valores de la
clave primaria de una relación R1 (R1 y R2 no son
necesariamente distintas) .

La clave ajena y la correspondiente clave primaria han de estar


definidas sobre los mismos dominios.

La clave ajena sirve para relacionar tablas.

Ing. Eric Gustavo Coronel Castillo 14


Claves

Representación

Tabla: Cliente ClienteId Nombre Email

C1001 Sergio Matsukawa smatsukawa@[Link]

C1002 Hugo Valencia hvalencia@[Link]

C1003 Gustavo Coronel perudev@[Link]

C1004 Ernesto Rodas erodas@[Link]

Tabla: Pedido PedidoId Fecha ClienteId Importe


ClienteId en la
1001 04/Ene/2006 C1002 5,000.00 tabla Pedido es
una Clave Ajena.
1002 15/Ene/2006 C1001 10,000.00

1003 13/Feb/2006l C1004 8,500.00

1004 07/Mar/2006 C1001 7,400.00

Ing. Eric Gustavo Coronel Castillo 15


Ejemplos

Ejemplo de Relación de 1:N

LIBRO( libro_id, titulo, idioma, editorial_id, ... )

EDITORIAL( editorial_id, direccion, ciudad, pais, ... )

editorial_id es clave ajena de LIBRO, y referencia a EDITORIAL


(editorial_id es clave primaria de EDITORIAL). Esta última tabla se
denomina tabla referenciada.

Ing. Eric Gustavo Coronel Castillo 16


Ejemplos

Ejemplo de Relación de N:M

LIBRO( libro_id, titulo, idioma, editorial_id, ... )

AUTOR( autor_id, nombre, pais, ... )

ESCRIBE( libro_id, autor_id )

Ing. Eric Gustavo Coronel Castillo 17


Restricciones Inherentes

Derivadas de la Definición de la Entidad


– No hay dos tuplas iguales (obligatoriedad de la clave primaria).
– El orden de las tuplas no es significativo.
– El orden de los atributos no es significativo.
– Cada atributo sólo puede tomar un único valor del dominio sobre el
que está definido, no admitiéndose por tanto los grupos repetitivos.
– Se dice que una tabla que cumple esta condición está normalizada
(o también que está en primera forma normal) .

• Regla de Integridad de Entidad: Ningún atributo que forme parte


de la clave primaria, puede tomar un valor nulo.

• Regla de Integridad Referencial: Si una relación R2 tiene un


atributo que es clave primaria de la relación R1, entonces los
valores de dicho atributo deben concordar con los de la clave
primaria o tener valores nulos.

Ing. Eric Gustavo Coronel Castillo 18


Restricciones Semánticas
• Clave Primaria (PRIMARY KEY). Permite declarar un atributo o un
conjunto de atributos como clave primaria de una relación por lo que sus
valores no se podrán repetir ni se admitirán los nulos (o valores
“ausentes”).

• Unicidad (UNIQUE). Mediante la cual se indica que los valores de un


conjunto de atributos (uno o más) no pueden repetirse en una relación.
Esta restricción permite la definición de claves alternativas.

• Obligatoriedad (NOT NULL). De uno ó mas atributos, con lo que se


indica que el conjunto de atributos no admite valores nulos.

• Integridad Referencial (FOREING KEY). Si una relación R2 (relación


que referencia) tiene un descriptor que es una clave candidata de la
relación R1 (relación referenciada), todo valor de dicho descriptor debe,
concordar con un valor de la clave candidata referenciada de R1 o ser
nulo. El descriptor es, por tanto, una clave ajena de la relación R2. Las
relaciones R1 y R2 no son necesariamente distintas. Además, cabe
destacar que la clave ajena puede ser también parte (o la totalidad) de
la clave primaria de R2.

Ing. Eric Gustavo Coronel Castillo 19


Restricciones

Ejemplo

Tabla: Cliente ClienteId Nombre Email

C1001 Sergio Matsukawa smatsukawa@[Link]

C1002 Hugo Valencia hvalencia@[Link]

C1003 Gustavo Coronel perudev@[Link]

C1004 Ernesto Rodas erodas@[Link]

Tabla: Pedido PedidoId Fecha ClienteId Importe


ClienteId en la
1001 04/Ene/2006 C1002 5,000.00 tabla Pedido es
una Clave Ajena.
1002 15/Ene/2006 C1001 10,000.00

1003 13/Feb/2006l C1004 8,500.00

1004 07/Mar/2006 C1001 7,400.00

Ing. Eric Gustavo Coronel Castillo 20


Restricciones

Opciones de Borrado y Actualización de la Clave Ajena

NO ACTION Rechazar la operación de borrado o


actualización.

CASCADE Propagar la modificación o borrar las tuplas


de la tabla que referencia.

SET NULL Poner a valor nulo en la Clave Ajena (CA) de


la tabla que referencia.

SET DEFAULT Poner un valor por defecto en la CA de la


tabla que referencia.

Ing. Eric Gustavo Coronel Castillo 21


Restricciones

Ejemplo

Ing. Eric Gustavo Coronel Castillo 22


Restricciones
Otras Restricciones

– Verificación (CHECK). Comprueba, en toda operación de


actualización, si el predicado es cierto o falso y, en el segundo
caso, rechaza la operación. La restricción de verificación se define
sobre un único elemento y puede o no tener nombre.

– Aserción (ASSERTION). Actúa de forma idéntica a la anterior, pero


se diferencia de ella en que puede afectar a varios elementos (por
ejemplo, a dos relaciones distintas) y su definición, por tanto, no va
unida a la de un determinado elemento por lo que siempre ha de
tener un nombre, ya que la aserción es un elemento más del
esquema que tiene vida por sí mismo.

– Disparador (trigger). Restricciones en las que el usuario pueda


especificar libremente la respuesta (acción) ante una determinada
condición. Así como las anteriores reglas de integridad son
declarativas los disparadores son procedimentales, siendo preciso
que el usuario escriba el procedimiento que ha de aplicarse en caso
de que se cumpla la condición.

Ing. Eric Gustavo Coronel Castillo 23


Evaluación

1. ¿Cuáles son los elementos del modelo relacional?


2. ¿Puede un atributo ser clave ajena y formar parte de
la clave primaria en la misma relación? Ilustre su
respuesta con un ejemplo.
3. ¿Puede una clave ajena hacer referencia a la misma
relación donde se encuentra definida? Ilustre su
respuesta con un ejemplo.
4. ¿Cuál es el requerimiento para definir una clave
ajena?
5. ¿Cuales son las restricciones inherentes de una
relación?

Ing. Eric Gustavo Coronel Castillo 24


¿ Preguntas ?

Ing. Eric Gustavo Coronel Castillo 25

También podría gustarte