Ing. Yim Isaias Apestegui Florentinobiblioteca.uns.edu.pe/.../2011_Modelo_Relacional.pdf ·...
Transcript of Ing. Yim Isaias Apestegui Florentinobiblioteca.uns.edu.pe/.../2011_Modelo_Relacional.pdf ·...
• 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
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
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
¿ 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