Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11...

60
Base de Datos UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE INFORMÁTICA Programa de Aplicación Usuario A Usuario B Usuario N Bodega Insumo Proveedor Profesores: Franklin Johnson P. José Miguel Rubio L.

Transcript of Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11...

Page 1: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos

UNIVERSIDAD CATÓLICA DE VALPARAÍSOFACULTAD DE INGENIERÍAESCUELA DE INFORMÁTICA

Programa de Aplicación

Usuario A

Usuario B

Usuario N

Bodega

Insumo

Proveedor

•••

•••

Profesores:Franklin Johnson P.José Miguel Rubio L.

Page 2: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 2

Índice de Contenidos

Introducción a las Bases de Datos

El Recurso Dato

Dato v/s Información

Historia de las Bases de Datos

Componentes de un ambiente de Base de Datos

Beneficios & Riesgos del uso de Base de Datos

Sistema de archivos v/s Bases de Datos

Bases de Datos y Desarrollo de Sistemas de Información

Page 3: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 3

Índice de Contenidos

Sistemas de Gestión de Base de Datos

ConceptosPrincipales funcionesVentajas de utilizar SGBDConsideraciones del uso de un SGB

Page 4: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 4

Índice de Contenidos

Modelamiento de una Base de DatosModelo Conceptual: Entidad Relación

Asociaciones entre entidades, Cardinalidad de AsociacionesClaves candidatas y claves primarias, Atributos multivaluadosReglas del Negocio

Modelo Lógico: RelacionalModelo LógicoTransformación de entidades y relacionesProceso de Normalización de RelacionesAnálisis de vistas

Page 5: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 5

Índice de Contenidos

Metodología para el desarrollo de una BD

Identificación y Formulación de RequerimientosDiseño ConceptualDiseño LógicoDiseño Físico

Page 6: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 6

Definir Diseño de la Base de Datos

Realidad Requisitos de Datos

Diseño Conceptual

Diseño Lógico

Diseño Físico

Modelo Conceptual

Modelo Lógico

Modelo Físico

Esquema Conceptual

Esquema Lógico

Esquema Físico

Modelo Externo

Page 7: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 7

Definir Diseño de la Base de Datos

Diseño ConceptualRecibe como entrada la especificación de requerimientos (modelo externo) y su resultado es el esquema conceptual de la base de datos, que es una descripción de alto nivel de la estructura de la base de datos, independiente del software que se use para manipularla. El Modelo Conceptual consolida las visiones de las distintas personas involucradas en la realidad a representar. En el caso de un modelo de datos, esta consolidación permite chequear consistencias (todos los usuarios deben referirse al mismo ítem de dato con el mismo nombre) y validar que todos los datos y asociaciones hayan sido identificados. Además se debe capturar la semántica de los datos, e información sobre el uso y mantención de ellos.Modelos Conceptuales: MER (Modelo Entidad Relación propuesto por Chen), Modelos OO.

Page 8: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 8

Definir Diseño de la Base de Datos

Diseño LógicoRecibe como entrada el esquema conceptual y da como resultado un esquema lógico, que es una descripción de la estructura de la base de datos que puede procesar el software DBMS. Modelos Lógicos: Relacional, de Redes, Jerárquico.

Diseño Físico Recibe como entrada el esquema lógico y da como resultado un esquema físico, que es una descripción de la implementación de una base de datos, describe las estructuras de almacenamiento y los métodos usados para tener un acceso efectivo a los datos. Modelos Físicos: Modelo Unificador, Memoria de Elementos.

Page 9: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 9

Tipos de Modelos

ConsolidaciónConsistenciaCompletitud

Modelos Externoso Vistas Usuarios

............

.

Cocina Comedor

Factura Consulta Cltes.

Living

Control Inventario

Modelo ConceptualMaqueta

MD Comprensible

Modelo Interno o Lógico

Plano

Schema BD

EficienciaSeguridadIntegridad

Dependiente del DBMS

Casa

BD

Realidad Física

Programas y Métodos de Acceso

Page 10: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 10

Naturaleza del Dato

Para describir un dato deben considerarse tres niveles de abstracción o estados en que se encuentra el dato.

Realidad, Metadato y Dato.

Clase de EntidadesDefinición Tipo de

RegistroOcurrencia de

Registro

AtributosDefinición Itemes

de DatoOcurrencia de Itemes de Dato

Eventos, Objetos, Atributos Diccionario de Datos Base de Datos

Realidad Metadato Dato (Valor)

Page 11: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 11

Naturaleza del Dato

RealidadComprende el mundo real (una organización), con sus componentes y el medio ambiente en el cual opera. Cualquier organización se considera como un conjunto de personas, recursos financieros, materiales y equipos, que son organizados para satisfacer ciertos objetivos; además posee una interacción con el medio.

Una entidad es una persona, objeto o evento sobre lo que la organización decide coleccionar y almacenar datos. Una entidad puede ser tangible como un empleado, un producto, un computador o un cliente; o intangible como una cuenta de un banco, un vuelo, un centro de costos.

Una clase de entidades, es un conjunto de entidades que poseen características similares. Por ejemplo, todos los clientes de una empresa. También se le llama tipo de entidades, y a veces, suele usarse indistintamente el término entidad o clase de entidad.

Page 12: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 12

Naturaleza del Dato

Realidad:En general, cada entidad es asociada a una y solo una clase de entidades. Sin embargo, esta asignación así como la definición de clase de entidades puede ser arbitraria.

Por ejemplo, la clase Empleados involucra a los empleados con contrato fijo solamente o también a los con contrato a honorarios, la respuesta va a depender del criterio del diseñador.

El número de clases de entidades por organización depende del tamaño y complejidad de ella.

Por ejemplo, una organización de tamaño medio define generalmente varias de clases de entidades.

Page 13: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 13

Naturaleza del Dato

Realidad:Un atributo es una propiedad de una clase de entidades que se desea almacenar. Para cada clase existe un conjunto de atributos de interés para la organización.

Por ejemplo, para la clase Empleado algunos atributos de interés serían: Rut, Nombre, Dirección, Teléfono y Cargo.

Cada entidad dentro de una clase, debe poseer al menos un atributo (o una combinación de ellos) que la distinga de otras entidades dentro de su clase. A este atributo se le llama identificador, llave o clave primaria.

Por ejemplo, el Rut para Empleado, Nro.Producto para Producto, Nro.Factura + Nro.Producto para Pedido. Este atributo debe ser único, es decir, no pueden existir dos entidades con un mismo valor para ese atributo dentro de una clase.

Otra propiedad de una entidad es la asociación o relacionamiento(relationship) entre dos o más clases de entidades. Esta se verá más adelante.

Las entidades son del mundo real, pero en la práctica es difícil para un administrador tomar decisiones en base a la observación directa de ellas. Por eso la organización requiere modelar estas entidades.

Page 14: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 14

Naturaleza del Dato

Metadato:Es información acerca de los datos de una organización. Se usa para desarrollar modelos lógicos de las entidades y asociaciones de una organización. El metadato es almacenado y mantenido en el diccionario de datos (o repositorio) de una organización.

Cada atributo tiene un tipo de ítem de dato como metadato.

Un ítem de dato es la unidad de dato más pequeña en una Base de Datos. Por ejemplo, Nombre del Empleado, Rol del Alumno, Fecha de Orden de Compra. En el diccionario de datos se registra por cada ítem de dato, información sobre su nombre, largo, tipo y una breve descripción narrativa de él.

Un dato agregado, es un conjunto de ítems de datos que son nombrados y referidos como un todo. Por ejemplo, Fecha está compuesto de Día, Mes y Año. Debe registrarse información sobre ellos en el diccionario de datos.

Un tipo de registro es un conjunto de ítems de datos y/o datos agregados. La definición de un tipo de registro para cada clase de entidades que se guarda en el diccionario de datos contiene por ejemplo: nombre del registro, descripción, tamaño (o largo), ítems de datos, datos agregados e identificación de clave primaria.

Page 15: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 15

Naturaleza del Dato

Dato o Valor:Corresponde a ocurrencias de datos.

Por cada entidad, existe una ocurrencia de registro que contiene valores de ítem de datos que la representan.

Es importante distinguir la diferencia entre metadatos(definiciones del dato) y dato (ocurrencias del dato).

Los metadatos no son almacenados en la base de datos sino que en el diccionario de datos.Los datos (ocurrencias de datos) son almacenados en la base de datos.

Page 16: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 16

Representación del Dato

Para representar los datos de una determinada realidad, consideremos dos aspectos básicos del modelamiento de datos:

Entidades y Asociaciones.

Una entidad, como ya se definió, es un objeto, evento o persona sobre la cual la organización decide coleccionar y almacenar datos.

La asociación, es una conexión lógica entre entidades.

Para representar gráficamente estos elementos, utilizaremos la simbología propuesta por Bachmann.

Page 17: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 17

Representación del Dato

A Entidad A

A

a b c d Entidad A con atributos a, b, c y d.

Asociación

Page 18: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 18

Representación del Dato: Asociación

Asociación del tipo UNA

UNA asociación de la entidad A a la B.Significa que para un cierto período de tiempo habrá una ocurrencia de la entidad A que tiene una y sólo una ocurrencia de la entidad B asociada a ella.Por ejemplo, en un cierto instante un PACIENTE de un hospital está asignado a una CAMA.

Paciente Cama

Page 19: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 19

Representación del Dato: Asociación

Asociación del tipo MUCHAS:

Una asociación del tipo MUCHAS entre entidades A y B, significa que para un cierto período de tiempo, habrá una ocurrencia de la entidad A que tiene cero, una o más ocurrencias de la entidad B asociada a ella.Por ejemplo, un EMPLEADO puede tener cero, una o más CARGAS FAMILIARES.

Empleado Cargo

Page 20: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 20

Representación del Dato: Asociación

Asociación Condicional:

Establece que para una ocurrencia de la entidad A existen dos posibilidades: que exista una ocurrencia de una entidad B asociada a ella, o que no exista. Por ejemplo, en un hospital una CAMA es asignada a sólo un PACIENTE o estádesocupada en un cierto instante de tiempo.

Paciente Cama

Page 21: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 21

Representación del Dato: Asociación

Asociación en Ambos Sentidos:

Si existe una asociación entre ocurrencias de la entidad A con la B, también existe entre B con A. Esto genera tres tipos de asociaciones:

UNO a UNO (1:1)

UNO a MUCHOS (1:N)

MUCHOS a MUCHOS (N:M)

Paciente Cama

Empleado Cargo

Alumno Asignatura

Page 22: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 22

Representación del Dato: Asociación

Múltiples Asociaciones entre Entidades:

Al modelar datos a veces es conveniente dos o más asociaciones entre dos tipos de entidades para aprovechar una misma descripción o contenido de un tipo de registro.

ASEGURADO

RUTNOMBREDIRECCION

BENEFICIARIO

RUTNOMBREDIRECCION

POLIZA

#POLIZAFECHA, MONTORUT-ARUT-B

Page 23: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 23

Representación del Dato: Asociación

Múltiples Asociaciones entre Entidades:

Es posible definir una sola clase de entidad (PERSONA) la cual se relacionaría con PÓLIZA de dos formas: como asegurado o como beneficiario.

Cuando existen dos o más asociaciones entre dos entidades, cada asociación debe ser rotulada con un nombre que clarifique la asociación. En general, esto complica la legibilidad del modelo, por ello es conveniente ser lo más simple para representar estas asociaciones.

PERSONA

RUTNOMBREDIRECCION

POLIZA

#POLIZAFECHA, MONTORUT-A, RUT-B

Asegurado

Beneficiario

Page 24: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 24

Representación del Dato: Asociación

Asociaciones Recursivas (Loops):

Es posible que se requiera describir asociaciones entre entidades de una misma clase, a esto se le llama asociaciones recursivas o loops. Existen de tres tipos:

1:1EMPLEADO

Existen EMPLEADOS que son casados entre ellos, es decir, tienen una asociación 1:1, pero es posible que sólo algunos sean casados entre ellos, por lo que deberá ser una asociación condicional.

Casado-con

Page 25: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 25

Representación del Dato: Asociación

Asociaciones Recursivas (Loops):1:N

M:N

EMPLEADO

Si se supone que cada empleado tiene sólo un jefe, entonces puede existir una asociación de jefe a subordinado.

Jefe-de

PRODUCTO

Un PRODUCTO se compone de otros PRODUCTOS (piezas) y éstos a su vez de otros, y asísucesivamente.

Componentes

Page 26: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 26

Representación del Dato: Asociación

Asociaciones Recursivas (Loops):M:N. Una asociación M:N como la anterior, puede también ser reducida a una o más asociaciones 1:N usando una entidad de intersección.

El #PIEZA corresponde al #PRODUCTO de aquel producto que se divide en otras componentes. Cada componente de ese producto se identifica por el #COMPONENTE (el cual también corresponde a un #PRODUCTO). CANT-USADA indica cuanto usa la pieza #X del componente #Y. Por ejemplo si se tiene la siguiente ocurrencia de PIEZA:

X Y 20

Estos datos corresponderían al evento que la pieza (o producto) X, usa 20 unidades de la componente Y (o producto).

PRODUCTO

#PRODUCTONOMBREETC.

PIEZA

#PIEZA#COMPONENTECANT-USADA

Page 27: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 27

Semántica de los DatosSe refiere al significado de los datos.

Cuando se realiza un análisis organizacional resulta muy difícil capturar los datos y sus asociaciones para todas las situaciones en que los datos van a ser usados.

Es así, como se han creado diversas formas de modelar los datos; sin embargo, cada modelo tendrá sus restricciones en cuanto a si representan los aspectos de semántica de los datos o no los representan.

Se definen distintos tipos de semánticas, que en esencia son reglas acerca de la integridad de la base de datos. Dentro de los tipos más usuales de semántica están:

Cardinalidad o conectividad GradoDependenciaTiempoUnicidadClase ( o generalización)Agregación

Page 28: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 28

Semántica de los Datos

Cardinalidad

Corresponde a las asociaciones 1:1, 1:N, M:N(incluida condicionalidad) ya vistas.

Grado

Es el número de entidades que participan en una asociación. Los grados más típicos son: unaria, binaria y ternaria.

Page 29: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 29

Semántica de los Datos

Grado

La asociación unaria (o recursiva) es una relación entre ocurrencias de una misma clase de entidades, pueden ser 1:1, 1:M o M:N.

La asociación binaria es una relación entre ocurrencias de dos clases de entidades, pueden ser 1:1, 1:M o M:N.

EMPLEADOCasado-con

EMPLEADOJefe-de

CLIENTE PEDIDO

Pedidos-Cliente

Page 30: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 30

Semántica de los Datos

Grado:

La asociación ternaria es una relación (simultánea) entre ocurrencias de tres clases de entidades. Cada entidad puede participar con UNA o MUCHAS en esta relación, o sea, relacionas ternarias pueden ser 1:1:1, 1:1:M, etc.

PRODUCTO ORDENPEDIDO

BODEGA

Embarque

Page 31: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 31

Semántica de los Datos

Grado:Una asociación ternaria, no es lo mismo que tres relaciones binarias. Por ejemplo el atributo CANT-EMBARCADA de un cierto producto dada una ORDEN-PEDIDO emitida por un cliente a una BODEGA debe ir en la asociación Embarque, no puede ir en una asociación entre PRODUCTO y BODEGA, ni entre PRODUCTO y ORDEN-PEDIDO, ni entre BODEGA y ORDEN-PEDIDO. Otra forma de representar este tipo de asociación es:

PRODUCTOORDENPEDIDO

EMBARQUE

BODEGA

Producto-para-Embarque Pedido-a-Embarcar

Bodega-desde-donde-Embarcar

Page 32: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 32

Semántica de los Datos

Dependencia:Se refiere al hecho que alguna entidad no puede existir sin la ocurrencia de otra entidad.

Por ejemplo, una ORDEN-DE-PEDIDO no puede existir si no existe el CLIENTE que la solicitó.

Esta dependencia es opuesta a la asociación condicional y es relevante en el proceso de inserción y eliminación, pues no podría ingresarse una nueva ORDEN-DE-PEDIDO si no existe el CLIENTE, ni podría eliminarse un CLIENTE sin que se eliminen las ocurrencias de las ORDENES-DE-PEDIDO asociadas a él.

Dentro de este contexto aparece el concepto de integridad referencial, que se presenta cuando existe alguna clave primaria (o alguna parte de ella) de alguna entidad que es referenciada desde otra entidad.

Page 33: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 33

Semántica de los DatosDependencia:

Esto es muy común cuando existe una clave foránea (campo que es clave primaria en otra entidad). Por ejemplo, para las siguientes ocurrencias de entidades DEPTO (NRO-DEPTO, NOMBRE) y EMPLEADO (NRO-EMP, NOM-EMP, NRO-DEPTO):

NRO-DEPTO NOMBRE NRO-EMP NOM-EMP NRO-DEPTO100 Producción 4340 Mario Araya 100150 Ventas 4980 Cecilia Bustos 150 200 Compras 6065 Ana Gómez 150

6670 Luis Pino 120

donde la clave foránea de la entidad EMPLEADO es NRO-DEPTO, y si se desea eliminar en DEPTO el registro del departamento 100, no se debiera poder realizar esa eliminación pues Mario Araya quedaría trabajando en un departamento inexistente. Para que esto sea así, se deben definir restricciones referenciales en el DBMS con que se trabaje.

También es posible que estos se presente cuando existe una entidad con clave primaria compuesta. Supongamos que si no se asigna un #ORDEN a cada pedido de un CLIENTE, se tiene que:

ORDEN-DE-PEDIDO (RUT-CLTE, FECHA, DETALLE)CLIENTE (RUT-CLTE, NOM-CLTE, DIR-CLTE)

no pudiendo existir una ORDEN-DE-PEDIDO si no existe el CLIENTE, pues los datos del cliente deben existir para que tenga validez la orden.

Page 34: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 34

Semántica de los DatosTiempo:

Es una componente multifacética y compleja del dato; se refiere a si el contenido de una base de datos varía o no en el tiempo.

En muchos casos sólo el valor actual es requerido, sin embargo en otros es requerida una historia, por lo cual es necesario registrar un conjunto de datos.

Por ejemplo, en una empresa manufacturera el precio de un producto cambia según el material y forma de producción usada; si contabilidad, facturación y control de la producción, requieren registrar el precio y el período sobre el cual ese precio es efectivo, una solución simple es almacenar un conjunto de precios y sus respectivas fechas de vigencia en la entidad PRODUCTO (lo que sucede en muchos lenguajes de programación tradicionales), pero no es la solución para bases de datos pues esos precios y fechas se debieran almacenar separados del producto.

En un nivel conceptual es suficiente con indicar que se requiere una historia de los precios al definir lo requerimientos de la base de datos, sin embargo, a nivel interno se ha comprobado que para datos volátiles la solución es compleja, algunas veces es más simple almacenar el dato original y en un archivo separado (también llamado archivo diferencial) almacenar los cambios o diferencias que permitan ajustar los valores que cambian, con esto se ahorra espacio.

Page 35: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 35

Semántica de los Datos

Tiempo:Otro aspecto de tiempo, es que ciertos datos son legítimos o pueden existir dependiendo del instante en que se está.

Por ejemplo, cuando se crea un EMBARQUE de productos, este EMBARQUE puede existir aunque no exista el transporte todavía, pero el EMBARQUE no puede ser creado a menos que exista una o más ORDENES DE PEDIDO asociadas. Este tipo de restricción (crear un EMBARQUE sin orden) se le llama restricción de inserción y relaciona los instantes en que los datos son almacenados en la base de datos (que dato es almacenado primero).

Otro aspecto es lo referido al período de tiempo en que la relación estávigente.

Por ejemplo, una vez que el EMBARQUE sale de la BODEGA, es asignado a un cierto medio de TRANSPORTE (barco, tren, avión, etc.) el cual puede cambiar en el tiempo; al ser recibido el EMBARQUE por el CLIENTE, éste debe ser disociado del medio de transporte no existiendo relación entre EMBARQUE y TRANSPORTE en ese instante. A este tipo de restricción, se le llama restricción de retención.

Page 36: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 36

Semántica de los Datos

Unicidad:Se define unicidad por clave primaria, se trata que una ocurrencia debe ser única al tener un atributo que la diferencia de las demás. Los criterios para seleccionar la clave primaria:

La clave candidata no debe cambiar su valor durante la vida de la ocurrenciaElegir la clave candidatas que no tenga valores nulos.

Otra forma de unicidad es la llamada exclusividad, significa que uno de varios tipos de datos o asociaciones pueden presentarse, pero no todos, por ejemplo en:

TAREA

TRABAJADOR -A HONORARIOS

TRABAJADOR DE-PLANTA

EMPLEADO

Esposo/Esposa oPadre/Hijo

Page 37: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 37

Semántica de los Datos

Generalización (Clase – SubClase):Permite definir una clase de entidad general que representa a entidades que tienen distinto significado en la organización, pero características o atributos similares.

Por ejemplo, CLIENTE puede tener distintos significados: algunos clientes son internacionales, otros nacionales, personas individuales o empresas, etc.; es decir, pueden existir varias subclases de CLIENTE.

Una subclase no sólo hereda las características o atributos de su superclase, sino que también puede tener atributos propios.

Por ejemplo, para todos los clientes se requieren los atributosNOMBRE, DIRECCION, FONO, pero para los clientes internacionales además se requieren los atributos CODIGO-POSTAL y PAIS.

Una manera frecuente de identificar subclases, es asociarle un atributo para el cual la ocurrencia de una entidad tendrá un valor único (por ejemplo: agregar tipo de cliente como atributo de CLIENTE). Pero esto no es aceptable cuando los atributos varían en las subclases, ya que en los modelos de datos no se permiten definiciones variables o de distintos tipos para una misma clase de entidad.

Page 38: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 38

Semántica de los Datos

Agregación:Es una colección de entidades diferentes pero relacionadas.

Una entidad agregada es una entidad compuesta de otras entidades, que pueden tener sus propios atributos.

Por ejemplo, una ORDEN DE TRABAJO involucra la participación de las entidades MATERIA PRIMA, HERRAMIENTAS, CENTRO DE TRABAJO Y TRABAJADOR.

Page 39: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 39

Resumen de Semánticas

1. Modelo de Datos Orientado a Objeto

2. Modelo E-R

Generalización

1. La mayoría de los modelos2. Modelo E-R

Unicidad por:1. Clave Primaria 2. Exclusividad

Ninguno lo maneja en forma adecuadaTiempo

Modelo E-RDependencia

TodosGrado

TodosCardinalidad

MODELOS DATOS QUE MEJOR LA REPRESENTAN

TIPO SEMANTICA

Page 40: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 40

Modelo Conceptual de Datos

Se analizará el Modelo Entidad – Relación (MER) propuesto por Chen en 1976.

Este es un modelo independiente de la tecnología o DBMS a utilizar.

Se basa en reconocer, y caracterizar las entidades básicas del modelo y luego la relación que existe entre ellas.

Entidad fuerte:Elementos que pueden identificarse claramente.

Entidad débil Aquella que su existencia depende de la existencia de otra. Ejemplos: taller mecánico-fábrica de piezas, Oficina propiedades-constructora

Page 41: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 41

Modelo Conceptual de Datos: MER

Elementos del modelo entidad relación y sus extensiones más usadas y su representación gráfica.

Dominio: Conjunto de valores de un mismo tipo. Por ejemplo: Nombres de Personas, Rut Válidos, Estados Civiles.

DominioDominio

Page 42: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 42

Modelo Conceptual de Datos: MER

Símbolos:

Entidad Asociación Gerundio

AtributoClave Primaria Atributo Multivaluado

Page 43: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 43

Simbología del MER

Entidad:

Los Tipos de Entidad representan objetos de la realidad. Además se componen de atributos, los cuales representan las características de un tipo de entidad.

Ejemplo: Persona, Proceso, Factura, Guía de Despacho, Cliente, Producto.

Tipo de Entidad

Page 44: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 44

Simbología del MER

Atributo:

Elemento de un Dominio. Aporta mediante su rótulo, la semántica de los valores del Dominio al que está asociado. Ejemplo: Rut, nombre, departamento, edad, tipo proyecto.

Dominio

Atributo

Page 45: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 45

Modelo Conceptual de Datos: MER

Extensiones a Simbología MER:

Atributo Compuesto Atributo Derivado

Entidad Débil

Page 46: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 46

Simbología del MER

Atributo Compuesto:

Corresponde a grupos de atributos que tienen afinidad en cuanto a su significado o a su uso.Ejemplo: Dirección = calle + número + ciudad

Atributo Componente NAtributo Componente 1

Atributo Compuesto

Page 47: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 47

Modelo Conceptual de Datos: MER

Semántica de Grado

BinariaUnaria

Ternaria

Page 48: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 48

Modelo Conceptual de Datos: MER

Semántica de GeneralizaciónAlumno Memorista

Semántica de Unicidad por Exclusividad

ISA

Page 49: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 49

Modelo Conceptual de Datos: MER

Semántica Cardinalidad

Cardinalidad 1 Mandatoria

Cardinalidad Muchos (M) (1,2,....M)

Cardinalidad Opcional 0 o 1

Cardinalidad Opcional 0-Muchos (0,1,...M)

Page 50: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 50

Cardinalidad de la Asociación

•Muchos (1, 2, 3, …muchos)

•Mandatoria 1

3

Page 51: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 51

Modelo Conceptual de Datos: MER

Características Especiales:Cada diamante dentro del Modelo E/R representa un tipo de asociación, este diamante existe tanto para las asociaciones 1:1, 1:M y M:N.

Se acostumbra darle un nombre a la asociación, generalmente se utilizan verbos de tal manera de representar a través de ellos, la acción que une a las entidades.

Un diamante pueden ir atributos, sólo si se tratan de asociaciones M:N, a éstos se les llama datos de intersección. Por ejemplo, un modelo E/R para una distribuidora de productos podría ser el siguiente:

Page 52: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 52

Modelo Conceptual de Datos: MER

#Producto#Producto Descripción

PRODUCTO

tiene

Tpo-Entrega

PROVEEDOR

#Proveedor

Nombre-Prov

Dir-Prov

Precio

Cantidad

CLIENTE PEDIDOrealiza

Nombre Dirección #Pedido Fecha

tiene

Page 53: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 53

Modelo Conceptual de Datos: MER

Es decir, los atributos pueden estar asociados a entidades y asociaciones; en este último caso corresponden a datos de intersección.

En el momento de la implementación una asociación con atributos en ella, se convierte en una entidad o archivo. Esto lleva a un dilema: ¿es un diamante una entidad?, a nivel interno debe serlo, a nivel externo sólo depende de como la ve el usuario.

Por ejemplo una alternativa al modelo anterior sería considerando LINEA-PRODUCTO como una asociación no como una entidad:

Page 54: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 54

Modelo Conceptual de Datos: MER

CLIENTE PEDIDOrealiza

Nombre Dirección #Pedido Fecha

tiene

LINEA PRODUCTO

#Producto#Producto Descripción#Pedido

#ProductoCantidad

PRODUCTO es-asignado

tiene

Precio Tpo-Entrega

PROVEEDOR

#Proveedor

Nombre-Prov

Dir-Prov

Page 55: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 55

Modelo Conceptual de Datos: MER

La semántica de generalización o clase-subclase es llamada ISA en el modelo E/R. Se presentan subclases en algunas de las siguientes situaciones:

Atributos diferentes son usados para describir cada subclase de entidad. Por ejemplo, en un hospital se requiere para algunos PACIENTE almacenar atributos sobre su permanencia en el hospital, en cambio para los PACIENTE ambulatorios no se necesitan esos atributos sino otros.

Cada subclase de entidad participa en diferentes asociaciones. Por ejemplo, un PACIENTE ambulatorio no es asignado a una CAMA (una asociación condicional puede eliminarse en este caso), otro tipo de PACIENTE si es asignado.

Se presenta 1 y 2 a la vez.

Por ejemplo en la siguiente figura se muestra un modelo con estas tres situaciones:

Page 56: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 56

Modelo Conceptual de Datos: MER

PACIENTE MEDICOtiene

Nombre Dirección #Médico Nom-med

#Paciente

ISAISA

PACIENTEAMBULATORIO

PACIENTE RESIDENTE CAMA

asigna

Fecha-Chequeo Fecha-Alta Diagnóstico#Cama Tipo

Page 57: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 57

El Modelo Entidad Relación

Identificador de un tipo de entidad:

Un atributo I, posiblemente compuesto, de un tipo de entidad TE, es un identificador de TE si y sólo si satisface las siguientes 2 propiedades independientes del tiempo.

Unicidad. En cualquier momento dado, no existen dos elementos en TE con el mismo valor de I. Minimalidad. Si I es compuesto, no será posible eliminar ningún atributo componente de I sin destruir la propiedad de unicidad.

Page 58: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 58

Evitar el uso de claves ”inteligentes” (una llave que representa información)

Ejemplo:

x x y y (producto) xxyy

Por ejemplo si se cambia de bodega produce ya un problema !!

Considerar claves simples o atributos simples en un reemplazo de grandes claves compuestas.

bodega tipo

Claves candidatas y

clave primarias

Page 59: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 59

Claves Candidatas y Claves Primaria

Dependencia de Existencia Cuando existe una cardinalidad mandatoria 1, la ocurrencia de 1 entidad existe sólo si existe la ocurrencia de la entidad relacionada.

Entidad Débil: es la que no puede existir por si sola. Depende la existencia de entidad fuerte.Relación por Identificador

La entidad débil normalmente no tiene un identificador natural (propio) y su clave primaria será la clave de la primaria de la entidad fuerte, como parte de su clave primaria y otro(s) atributo(s) identificador de la entidad débil.

Page 60: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo III...Base de Datos 11 Naturaleza del Dato Realidad Comprende el mundo real (una organización), con sus componentes

Base de Datos 60

Ejemplo

Identificar para la Universidad: Entidades, atributos, relaciones, cardinalidad…