Ing. Yim Isaias Apestegui Florentinobiblioteca.uns.edu.pe/.../2011_Modelo_Relacional.pdf ·...

33
Ing. Yim Isaias Apestegui Florentino

Transcript of Ing. Yim Isaias Apestegui Florentinobiblioteca.uns.edu.pe/.../2011_Modelo_Relacional.pdf ·...

Ing. Yim Isaias Apestegui Florentino

• Se basa en una representación del mundo real en que los datos se describen como entidades, relaciones y atributos.

• El principal concepto del modelo ER es la entidad, que es una

El Modelo Relacional

�Definicion de Modelo Relacional

• El principal concepto del modelo ER es la entidad, que es una "cosa" en el mundo real con existencia independiente. Una entidad puede ser un objeto físico (una persona, un auto, una casa o un empleado) o un objeto conceptual (una compañía, un puesto de trabajo o un curso universitario)

• Cada entidad tiene propiedades específicas, llamadas atributos, que la describen.

• Cada uno de los atributos de una entidad posee un dominio, el que corresponde al tipo del atributo.

Ing. Yim Isaias Apestegui Florentino

• El modelo relacional de datos supuso un gran avance con respecto a los modelos anteriores. Este modelo está basado en el concepto de relación. Una relación es un conjunto de n-tuplas. Una tupla, al contrario que un segmento, puede representar tanto entidades como interrelaciones N:M. Los lenguajes matemáticos sobre los

El Modelo Relacional

como interrelaciones N:M. Los lenguajes matemáticos sobre los que se asienta el modelo relacional, aportan un sistema de acceso y consultas orientado al conjunto.

• Lo que realmente marca la diferencia entre los sistemas relacionales y los sistemas anteriores es el hecho de que su creador, Ted Codd, basó expresamente su funcionamiento sobre un modelo matemático muy específico: el álgebra relacional y el cálculo relacional, así como la progresiva adopción, de un número de Reglas de Integridad Relacional y de Formas Normales.

Ing. Yim Isaias Apestegui Florentino

• El concepto de atomicidad es relevante especialmente en el campo de las bases de

El Modelo Relacional

especialmente en el campo de las bases de datos. Que un elemento sea atómico implica que no puede ser descompuesto en partes más pequeñas.

Ing. Yim Isaias Apestegui Florentino

Término relacional formal Equivalente informal

Entidad Tabla

Tupla Fila o registro

�Componentes

El Modelo Relacional

Cardinalidad Número de filas o registros

Atributo Columna o campo

Grado Número de columnas o campos

Atributo Identificador Llave Primaria (PK)

Dominio Conjunto de valores legales

Ing. Yim Isaias Apestegui Florentino

• Para cada tupla de una entidad, debe existir un atributo o combinación de

�Consideraciones

El Modelo Relacional

existir un atributo o combinación de atributos, que la identifique en forma única. Se denomina llave (primaria)

• Una relación se puede definir como una asociación entre entidades.

Ing. Yim Isaias Apestegui Florentino

• Una entidad necesita un identificador único para cada

una de las tuplas, esta es la clave (primaria) de la

entidad, que se define como un subconjunto C de los

atributos de E, cuyos valores no pueden ser repetidos.

• Una clave primaria debe ser mínima, en el sentido de

Llave Primaria

�Definicion de Llave Primaria (Primary Key)

• Una clave primaria debe ser mínima, en el sentido de

que en su composición no intervengan más que los

atributos estrictamente requeridos para identificar las

tuplas de forma única.

• Una clave primaria puede ser simple (formada por un

solo atributo) o compuesta (formada por más de uno).• En general, una entidad puede tener más de una clave, y

en ese caso, cada una de las llaves es una llave

candidata. Una de las llaves candidatas se designa como

llave primaria de la entidad.

Ing. Yim Isaias Apestegui Florentino

• Una clave semántica, también llamada

inteligente, es aquella que tiene significado por

sí misma, es decir que el o los atributos que la

�Clave Semantica

Llave Foránea

sí misma, es decir que el o los atributos que la

conformen contengan valores que describan

"realmente" a la entidad reflejada en la tupla

(por ejemplo, el RUT en una entidad de

personas). Lo contrario, es decir, una clave

arbitraria cuya única función es la de identificar

la entidad designada por la tupla, se denomina

clave subrogada.

Ing. Yim Isaias Apestegui Florentino

• Una llave foránea nace de la existencia de una

relación de cardinalidad “1 a n” entre dos

entidades. La llave foránea representa la

implementación de la relación, corresponde a la

llave primaria de la entidad relacionada con

cardinalidad “1” y se expresa como un atributo de

�Definicion de Llave Foránea (foreign keys)

Llave Foránea

cardinalidad “1” y se expresa como un atributo de

la entidad relacionada con cardinalidad “n”.

• Un atributo FK es clave foránea de una entidad si

satisface las siguientes condiciones:

• Los valores de FK tienen el mismo dominio de los

valores de la clave primaria de la otra entidad.

• Un valor de FK se presenta como un valor de la

clave primaria en otra entidad.

Ing. Yim Isaias Apestegui Florentino

Integridad de la Entidad

�Concepto

• La restricción de integridad de entidad establece

que ningún valor de llave primaria puede ser nulo.

Esto es porque ellas identifican tuplas de la Esto es porque ellas identifican tuplas de la

entidad.

Ing. Yim Isaias Apestegui Florentino

• La restricción de integridad referencial se especifica entre dos

entidades relacionadas y se usa para mantener la

consistencia entre tuplas de las dos entidades.

Integridad Referencial

�Concepto de Integridad Referencial

consistencia entre tuplas de las dos entidades.

Informalmente, una tupla en una entidad que hace referencia

a otra entidad debe referirse a una tupla existente en esa

entidad.

Ing. Yim Isaias Apestegui Florentino

Cada vez que un viajero compra un pasaje en la línea Aérea ,

debe realizar una reserva de su vuelo para posteriormente ,y previa

confirmación, consolidar esta venta . Se hace notar que lo que el

viajero compra es un “destino” el cual podría tener mas de una escala

hasta llegar al lugar final que indica su pasaje. Los pasajeros pueden

tener múltiples viajes durante un periodo de tiempo, siendo exclusivo

Base de Datos: Reservas de Avión

tener múltiples viajes durante un periodo de tiempo, siendo exclusivo

un solo viaje en el mismo tiempo.

Con respecto a la Línea Aérea, ellos poseen una cantidad fija de

aviones con capacidades diferentes de acuerdo al modelo del avión,

esta información esta explícita en el pasaje, así como el número de

vuelo y el número de asiento. Como las ventas se realizan en las

sucursales que poseen a nivel mundial, se requiere solucionar el

problema de la sobreventa de pasajes que ha menudo origina molestia

en los clientes, lo que ha producido una baja en la venta de pasajes de

esta Línea Aérea.

Ing. Yim Isaias Apestegui Florentino

RestriccionesRestriccionesde de de de

IntegridadIntegridad

Ing. Yim Isaias Apestegui Florentino

EL termino integridad se refiere a la exactitud o corrección de los datos en la base de datos. Cuando los contenidos de una base de datos se modifican con sentencias INSERT, DELETE o UPDATE, la integridad de los datos almacenados puede perderse de muchas maneras diferentes.de muchas maneras diferentes.Pueden añadirse datos no válidos a la base de datos, tales como un pedido que especifica un producto no existente.Pueden modificarse datos existentes tomando un valor incorrecto, por ejemplo si se reasigna un vendedor a una oficina no existente.

Ing. Yim Isaias Apestegui Florentino

Los cambios en la base de datos pueden perderse debido a un error del sistema o a un fallo en el suministro de energía. Los cambios pueden ser aplicados parcialmente, como por ejemplo si se añade un pedido de un producto ejemplo si se añade un pedido de un producto sin ajustar la cantidad disponible para vender. Una de las funciones importantes de un DBMS relacional es preservar la integridad desus datos almacenados en la mayor medida posible.

Ing. Yim Isaias Apestegui Florentino

Una base de datos relacional es una base de datospercibida por el usuario como una colección de relaciones normalizadas de diversos grados que varía con el tiempo.

Las reglas de integridad relacional, se ajustan precisamente al Modelo relacional, la cual incluye dos reglas generales de integridad, las cuales se refieren a las claves primarias y a las claves foráneas.

Ing. Yim Isaias Apestegui Florentino

Claves Primarias.- es el identificador único para una relación (tabla). Se debe tener en cuenta que una clave cualquiera debe cumplir con dos propiedades mínimas:a. Unicidad.-En cualquier momento dado, no existen dos tuplas (registros)en la relación con el mismo valor de clave primariab. Minimimalidad.- Si la clave primaria es compuesta, no será b. Minimimalidad.- Si la clave primaria es compuesta, no será posible eliminar ningún componente de la clave primaria sin destruir la propiedad de unicidad.Claves Ajenas.- es un atributo (quizá compuesto) de una relación determinada,supongamos R2, cuyos valores deben concordar con los de la clave primaria de alguna relación R1 (R1 y R2 no necesariamente deben ser distintos).

Ing. Yim Isaias Apestegui Florentino

a) Regla de Integridad de las Entidades“Ningún componente de la clave primaria de una relación base puede aceptar nulos”

b) Regla de integridad referencial (para Claves b) Regla de integridad referencial (para Claves Ajenas)“La base de datos no debe contener valores de clave ajena sin concordancia”

Ing. Yim Isaias Apestegui Florentino

El campo coincidente de la tabla principal, es una clave primaria o una clave candidata, es decir sus valores deben ser únicos en toda la tabla.

· Los atributos relacionados: la clave ajena, en la · Los atributos relacionados: la clave ajena, en la tabla relacionada; y la llamada clave primaria, en la tabla principal, ambos tienen el mismo tipo de datos.

Ing. Yim Isaias Apestegui Florentino

Abuelo

Padre

Hijo

Ing. Yim Isaias Apestegui Florentino

a) No se puede introducir un valor de clave ajena de la tabla relacionada que no exista en la clave principal de la tabla principal.

No obstante, se puede introducir un valor Nulo en la clave ajena, especificando que los registros no están relacionados.

Desarrollar en clase este caso

Ing. Yim Isaias Apestegui Florentino

b) No puedes cambiar un valor de clave principal en la tabla principal si ese registro tiene registros relacionados.

Por ejemplo, no puede cambiar la clave de un Por ejemplo, no puede cambiar la clave de un currículo en la tabla CURRICULA, si existen alumnos relacionados a ese currículo en la tabla ALUMNO.

Desarrollar en clase este caso

Ing. Yim Isaias Apestegui Florentino

c) No se puede eliminar un registro de una tabla principal si existen registros coincidentes en una tabla relacionada.

Por ejemplo, no se puede eliminar un registro de Alumnos de la tabla ALUMNO si existen notas de convalidaciones de ese alumno en la tabla CONVALIDACIONES.

Desarrollar en clase este caso

Ing. Yim Isaias Apestegui Florentino

Base de Datos de Habitantes: tenemos dos tablas una con los datos de diferentes poblaciones y otra con los habitantes, una población puede tener más de un habitante, pero un habitante pertenecerá (estará empadronado) en una única población. En este caso la tabla principal será la de poblaciones y la tabla secundaria será la de habitantes. Una población tabla secundaria será la de habitantes. Una población puede tener varios habitantes pero un habitante pertenece a una sola población. Esta relación se representa incluyendo en la tabla 'hijo' una columna que se corresponde con la clave principal de la tabla 'padre', esta columna es lo denominamos clave foránea (o clave ajena o clave externa).

Ing. Yim Isaias Apestegui Florentino

CIUDAD (CODIGOCODIGO , NOMBRE, PROVINCIA)

HABITANTE (DNI, APATERO, AMATERNO, NOMBRES, POBLACIONPOBLACION )

RELACION DE:……………………..

Ing. Yim Isaias Apestegui Florentino

Base de Datos de Pedidos: tenemos dos tablas una con los datos de clientesy otra con los artículosque se venden en la empresa, un cliente podrá realizar un pedido con varios artículos, y un artículo podrá ser vendido a más de un cliente. vendido a más de un cliente.

Desarrollar en clase este caso

Ing. Yim Isaias Apestegui Florentino

No se puede definir entre clientesy artículos, hace falta otra tabla (por ejemplo una tabla de pedidos) relacionada con clientes y con artículos.

La tabla pedidos estará relacionada con cliente por una La tabla pedidos estará relacionada con cliente por una relación uno a muchos y también estará relacionada con artículos por un relación uno a muchos.

Desarrollar en clase este caso

Ing. Yim Isaias Apestegui Florentino

Ing. Yim Isaias Apestegui Florentino

¿ Cuándo se pueden producir errores en los datos?¿ Cuándo se pueden producir errores en los datos?Cuando insertamos una nueva fila en la tabla secundaria y el

valor de la clave foránea no existe en la tabla principal. Cuando modificamos el valor de la clave principal de un

registro que tiene 'hijos', Cuando modificamos el valor de la clave foránea, el nuevo Cuando modificamos el valor de la clave foránea, el nuevo

valor debe existir en la tabla principal. Cuando queremos borrar una fila de la tabla principal y ese

registro tiene 'hijos', .

Ing. Yim Isaias Apestegui Florentino

Asociada a la integridad referencial están los conceptos de actualizar los registros en de actualizar los registros en

cascada y eliminar registros en cascada

Ing. Yim Isaias Apestegui Florentino

Actualizar registros en cascada :

Esta opción le indica al sistema gestor de la base de datos que cuando se cambie un base de datos que cuando se cambie un

valor del campo clave de la tabla principal , automáticamente cambiará el

valor de la clave foránea de los registros relacionados en la tabla secundaria .

Ing. Yim Isaias Apestegui Florentino

Eliminar registros en cascada:

Esta opción le indica al sistema gestor de la base de datos que cuando se elimina

un registro de la tabla principalun registro de la tabla principalautomáticamente se borran también los

registros relacionados en la tabla secundaria .

Ing. Yim Isaias Apestegui Florentino

1.-Elaborar el esquema E-R y UML de la Base de Datos de Habitantes

2.Elaborar el esquema E-R Y UML de la Base de Datos de Pedidos

Trabajo de Laboratorio

Establecer los atributos y claves PK, FK respectivas de la entidades, de las bases de datos.

3.Elaborar el esquema E-R Y UML de la Base de Datos de Reservas de Avión

Ing. Yim Isaias Apestegui Florentino