Está en la página 1de 15

1.- MODELADO CONCEPTUAL DE DATOS.

1.1.- Introduccin El modelado de Datos. En el siguiente diagrama se puede apreciar el proceso de modelado de datos (diseo de bases de datos). Los requisitos de datos constituyen un componente de los requisitos de un producto y son una entrada al diseo conceptual.

Figura - Proceso de modelado de de Datos

1.1.1.- Diseo Conceptual. Recibe como entrada la especificacin de requerimientos y su resultado es el esquema conceptual de la base de datos, que es una descripcin de alto nivel de la estructura de la base de datos, independiente del software que se use para manipularla. Modelos Conceptuales: MER, Modelos OO, Formalismo Individual. 1.1.2.- Diseo Lgico. Recibe como entrada el esquema conceptual y da como resultado un esquema lgico, que es una descripcin de la estructura de la base de datos que puede procesar el software DBMS. Modelos Lgicos: Relacional, de Redes, Jerrquico. 1.1.3.- Diseo Fsico. Recibe como entrada el esquema lgico y da como resultado un esquema fsico, que es una descripcin de la implementacin de una base de datos en la memoria secundaria, describe las estructuras de almacenamiento y los mtodos usados para tener un acceso efectivo a los datos.
Modelos Fsicos: Modelo Unificador, Memoria de Elementos.

1.2. -Modelo E-R Entidad Relacion El modelo E-R es una forma de representar los datos que una empresa va a utilizar en cualquier situacin. Utiliza una herramienta grfica denominada diagrama E-R que es una tcnica de representacin que incorpora informacin de los datos y de las relaciones que existen entre ellos para proporcionar una visin del mundo real. En una BD se va a almacenar un conjunto de datos con una determinada estructura y unas relaciones o asociaciones entre dichos datos. Entidades y conjuntos de entidades Una entidad es una cosa u objeto concreto o abstracto (por ejemplo un bolgrafo, un maletn, una persona, unas vacaciones...) que existe en el mundo real y que puede distinguirse de otros y de los cuales se quiere almacenar una informacin. Por ejemplo Martnez Gracia, Margarita, con DNI 24123517 es una entidad pues identifica a una persona especfica del mundo real. Un conjunto de entidades se refiere a un conjunto de entidades del mismo tipo. Ejemplo: el conjunto de todos los alumnos matriculados en este instituto puede definirse como el conjunto de entidades alumnos. En el diagrama E-R un conjunto de entidades se representa por un rectngulo, con el nombre del conjunto en su interior. En el ejemplo anterior tendramos

ALUMNOS

Una entidad siempre tiene asociado una serie de atributos que representan las caractersticas o propiedades de esa entidad. As por ejemplo el conjunto de entidades Alumno podra tener los atributos DNI, nombre, direccin y fecha de nacimiento. En el diagrama E-R los atributos se representan con una elipse de la siguiente forma:

DNI

ALUMNOS
Nombre

Edad

Se define dominio como el conjunto de valores que puede tomar un atributo. Ejemplo: la edad de una alumno podra estar entre 11 y 65 aos. Que quiere decir que el atributo es nulo? Significa que la informacin es desconocida o que falta, por lo tanto normalmente estaremos en una situacin comprometida. Veamos algunos casos. Tenemos un DNI en blanco: en principio es un dato que me falta y por lo tanto hay un fallo. Pero y si es menor de edad y no tiene DNI? l nmero de piso o planta es nulo. Podremos suponer que se trata de una casa. El color del pelo de una persona es nulo: puedo suponer que es calvo. Relaciones y conjuntos de relaciones La palabra relacin en este tema es bastante delicada, pues realmente habra que utilizar la palabra interrelacin. La relacin es una asociacin entre entidades. Por ejemplo se puede definir una relacin entre la alumna Martnez Gracia, Margarita y la asignatura SGBD. Un conjunto de relaciones se refiere a un conjunto de relaciones del mismo tipo. Se podra definir por ejemplo el conjunto de relaciones alumno asignatura o mejor dicho, matricula para denominar la asociacin entre el conjunto de entidades alumno y el conjunto de entidades asignatura en el que esta matriculado. Grficamente se representa por un rombo. El conjunto de relaciones tambin puede tener atributos. En este ejemplo el conjunto de relaciones matricula podra tener el atributo nota.

ALUMNO

Matricula

ASIGNATURA Nota

Este dibujo significa que un alumno puede estar matriculado en una asignatura. El ejemplo que acabamos de ver se trata de una relacin binaria, es decir, entre dos conjuntos de entidades. Las relaciones pueden ser n arias. Veamos un ejemplo de una relacin ternaria.

# Sucursal
DNI Direcc.

SUCURSAL
# Cuenta

Nombre Saldo

CLIENTE

Tiene

CUENTA

Tambin pueden existir conjuntos de relaciones recursivas o cclicas, por ejemplo, el hecho de que de todos los empleados de una empresa uno sea el director, se podra representar de la siguiente forma:

DNI

Nombr e Direc c.

Director de (jefe)
EMPLEADO Dirige

Subordinado de

Es posible definir un conjunto de entidades y sus relaciones de varias formas, segn como tratemos los diversos atributos, pues no hay nada ni preciso ni exacto. Supongamos el conjunto de entidades con su atributo (caso I).

DNI

Nombr e

EMPLEADO Telfono

Edad

Direcc.

Podramos pensar sin embargo, que el telfono es una entidad en si misma con los atributos nmero de telfono y localizacin (oficina donde se encuentra). Desde este punto de vista, tendramos el caso 2, es decir, el conjunto de entidades de empleado con todos los atributos de antes menos el telfono y tambin el conjunto de relaciones empleado telfono (dispone) que indica la asociacin entre os empleados y los telfonos que tiene. El caso II es mas general que el uno, pues el primer caso implica que cada empleado tiene un solo nmero de telfono asociado, y sin embargo en el segundo, cada empleado podra tener varios nmeros de telfono, incluso este segundo caso es ms apropiado si el telfono se comparte entre varios empleados.

EMPLEADO DN I Edad Nombr e


Direcc . Telfno.

Dispone N. Fijo

TELEFONO Localizacin

Que es un atributo, un conjunto de entidades? ... No hay una respuesta sencilla, depende de la estructura de la empresa.

Cardinalidad de Asignacin La cardinalidad es una restriccin que indica el nmero de entidades con las que puede asociarse otra entidad mediante un conjunto de entidades. Normalmente vamos a trabajar con relaciones binarias, por lo tanto el supuesto general que vamos a tener. La cardinalidad de asignacin puede ser: Uno a uno: una entidad A esta asociada como mucho con una entidad B y viceversa.

1 Ejemplo: relacin director instituto.

Uno a muchos: una entidad A esta asociada a varias entidades B, y sin embargo una entidad B puede estar asociada a lo sumo con una entidad A.

1 Ejemplo: relacin departamento profesor.

Muchos a uno: es lo mismo que muchos a uno.

Muchos a muchos:

n Ejemplo: relacin alumnos asignatura.

Siempre que hablamos de cardinalidad nos estamos refiriendo a la cardinalidad mxima. Cuando realicemos el paso a tablas, entonces tendremos que estudiar cada caso particular para conocer y reflejar la cardinalidad mnima.

Claves y llaves La llave es un conjunto de uno o ms atributos que de forma conjunta nos permite identificar unvocamente (de forma nica) a una entidad dentro del conjunto de entidades. Adems, este conjunto de atributos tiene que ser mnimo, es decir, que ningn otro subconjunto de atributos de la clave pueda servir como tambin clave. Supongamos en conjunto de entidad empleado, con los atributos DNI, nombre, direccin y categora laboral. El conjunto de atributos DNI Nombre podra ser una llave? Respuesta: en un principio no podra serlo, porque el DNI es llave principal. Quiz otra clave podra ser Nombre Direccin.

En un conjunto de entidades puede existir mas de una clave o llave, y a estas se les llama claves candidatas. De entre todas las llaves candidatas el diseador (ABD), elige una de ellas como medio principal de identificar entidades dentro de un conjunto de entidades, y se le llama clave primaria (PK). En el ejemplo anterior de empleado podramos tener como llaves candidatas el DNI y el Nombre Direccin, y el ABD decide que la PK sea el DNI. Un concepto importante es el de la llave externa, ajena o fornea (FK) que es aquel conjunto de atributos de un conjunto de entidades que es a su vez clave primaria de otro conjunto de entidades.

DNI Cod Emp

Nombre Direcc.

Nom Emp Direcc.

EMPRESA

Traba ja

EMPLEADO

Cod Emp

Ejemplo: supongamos la relacin empresa trabajador. Un trabajador trabaja solo en una empresa, que tiene muchos trabajadores a su vez, entonces la empresa tiene Cod. Empresa, Nom. Empresa y Direc. Empresa como atributos, y como llave principal Cod. Empresa y el trabajador tiene DNI, Nombre, Direcc. y Cod. Empresa y como llave primaria DNI y como llave externa Cod. Empresa. Entonces el Cod. Empresa del conjunto del trabajador es una llave externa porque es una llave primaria del conjunto empresa. Para la llave externa vamos a usar doble subrayado.

Tipos de Entidades Bsicamente hay dos tipos de entidades, las dbiles y las fuertes. El conjunto de entidades fuerte es aquel que existe por s mismo. Se representa por un rectngulo y son los tipos que hemos visto hasta ahora. El conjunto de entidades dbil es un subconjunto cuya existencia y/o identificacin va a depender de un conjunto de entidades fuerte, de forma que si se elimina el fuerte no tiene el dbil, y tambin se eliminara.
# Movim.
# Cuenta

CUENTA Saldo

Hac e

MOVIMIENTOS

Fecha Cantidad

Evidentemente si no existe una determinada cuenta no podra haber movimientos. Adems, el atributo Num de Movimiento sirve para diferenciar movimientos entre s, pero siempre de la misma cuenta. A este atributo se le denomina discriminante de la entidad dbil, y se representa con un subrayado discontinuo. La llave primaria de un conjunto de entidades dbil estar formada por la llave primaria del conjunto de entidades fuerte del que depende, ms su discriminante. No se puede definir relaciones ternarias del tipo:

Por otra parte tampoco se permiten poder representar relaciones de relaciones.

Vamos a ver dos conceptos que no son propios del diseo entidad relacin (que se debe a un seor llamado Che en 1976) sino al Modelo E/R extendido (Kofmann, 1988) que son la agregacin y la generalizacin. Agregacin La gran limitacin que tiene el Modelo E/R de que no se pueden expresar relaciones entre relaciones se soluciona utilizando la agregacin, que es un concepto que es una abstraccin por la cual se considera un conjunto de relaciones (y los conjuntos de entidades asociados) como un solo conjunto de entidades de un nivel superior, y que podemos tratarlo igual que a una entidad. El diagrama E/R seria:

De esta forma R2 relaciona las parejas A, B con C.

Se pueden definir relaciones todo lo complejas que se necesiten, como por ejemplo dos agregaciones unidas por una relacin, todo eso a su vez dentro de una agregacin, y relacionado todo con una entidad. Una entidad dbil no puede ser integrante de una agregacin de este tipo nunca. Si se pueden tener relaciones n- arias como:

Nunca se puede hacer una agregacin teniendo dentro tres entidades relacionadas por medio de dos relaciones. Pues aunque parezca razonable se trata de un error, ya que, cual de las relaciones R1 o R2 es la del nivel superior y por lo tanto la que se va a relacionar con R3? Respuesta: ninguna de las dos. Sin embargo si es posible hacer un acoplamiento:

Supongamos informacin de los empleados que trabajan en un proyecto determinado y que utilizan distintas maquinas en su trabajo. La mejor solucin seria utilizar la agregacin de forma que pudiramos tener el conjunto de entidades del nivel ms alto llamado trabajo, y el conjunto de entidades maquina, quedando el diagrama de la siguiente forma:
DN I
Empleado

Hora s
Tr ab.

Cod # Proyecto
Desc.

Tipo U sa Maquina Maq #

Nom

Relaciones de Generalizacin Tambin se les denomina ISA. Supongamos un conjunto de entidades cuenta con los atributos Num. Cta. y Saldo. Vamos a ampliar este conjunto clasificando cada cuenta en una de las dos siguientes: cuenta corriente o libreta de ahorros, cada una con sus atributos propios. La cuenta corriente puede tener Saldo Deudor, y la libreta de ahorros puede tener el Tipo de Inters. Y ambas con el resto de los atributos comunes. Este ejemplo nos va a conducir a la generalizacin, tambin llamado Jerarqua de Relaciones ISA. La generalizacin es una relacin de inclusin que existe entre un conjunto de entidades de nivel mas alto (en el ejemplo anterior seria la cuenta) y varios conjuntos de entidades de nivel mas bajo (en el ejemplo anterior serian la cuenta corriente y la libreta de ahorro). En un diagrama E/R la generalizacin se representa por un tringulo invertido con la palabra ISA en su interior. Supongamos adems que puede haber entidades bancarias que tengan distintos tipos de libretas de ahorros: normal, oro y senior. En la normal se va a cobrar por l numero de movimientos realizados. En la oro no se cobra, pero tendr una serie de ventajas si el saldo mnimo es superior a 1800 euros. En la senior no se cobran movimientos y tendr una serie de ventajas si su titular tiene mss de 65 aos.

# Cta.

Cuenta

Saldo

Descb to.

Corrient e # Mov.

Normal

Senior

La generalizacin se utiliza para resaltar los parecidos entre tipos de entidades de nivel mas bajo. La distincin se hace a travs de la herencia que es un proceso en el que los conjuntos de entidades de nivel mas bajo, heredan los atributos del conjunto de entidades de nivel mas alto. La generalizacin se entiende de arriba abajo y es el mismo concepto que la especializacin, que es de abajo a arriba. (FIGURA 14).

IS A

IS A

Libreta

Inter s Oro Saldo Min. Inter s

Especializacin

Generalizacin

Por otra parte la generalizacin se puede clasificar en lo siguiente: Los subtipos (B, C) se pueden solapar o ser disjuntos. Si la unin de todos los subtipos forma completamente o no el subtipo padre, entonces puede ser total (estn todas las opciones) o parcial (faltan opciones).

Profesor

Caso disjunto total


Cliente

Persona

Vendedor Administrador Vehculo

Doctor Cuenta

No Doctor

Caso solapado parcial

Caso disjunto total (slo puede haber cuentas ahorro o libreta)


Libreta Cta. Corriente Coche Moto

Caso disjunto total

Cardinalidad Mnima

En nuestro diagrama E/R es muy importante reflejar adems de la cardinalidad mxima que estamos viendo, la cardinalidad mnima, que se refiere al numero mnimo de entidades que pueden participar en la relacin. Ejemplo: la relacin entre el departamento y el profesor.

DEPARTAMENTO

Pertenece

PROFESOR

(1, 1)

(1, n)

Para indicar la cardinalidad mnima usamos la siguiente indicacin (cardinalidad mnima, cardinalidad mxima). Sin embargo si suponemos que puede ocurrir que se cree un departamento inicialmente sin profesores entonces el diagrama seria:

DEPARTAMENTO

(1, 1)

Pertenece

(0, n)

PROFESOR

Supongamos la relacin entre alumnos y asignaturas y que puede haber alguna asignatura sin alumnos, pero no puede haber alumnos que no estn matriculados en ninguna asignatura.

ALUMNOS

(0, n)

Tiene

(1, n)

ASIGNATURA

Supongamos la relacin de un director que dirige un instituto. (1, 1)


DIRECTOR Dirige

(1, 1)
INSTITUTO

No puede haber ningn instituto sin director, y el director solo puede serlo de un instituto.

Supongamos que de todos los profesores que pertenecen a un departamento, uno tiene que ser jefe de departamento. Adems no puede existir departamento sin jefe.

(1, 1)
PROFESOR Dirige

(0, 1)
DEPARTAMENTO

Dimensin temporal del Modelo Entidad Relacin El tratamiento del tiempo en una BD es algo muy complejo. La aproximacin ms simple se hace con los atributos del tipo fecha. (FIGURA 20)

Id_Curso F_Edicio n CURSO Impar te PROFESOR

Nombre DNI
F_Nac.

Para sucesos puntuales puede ser suficiente poner una fecha, incluso si queremos al final podemos poner la hora, y para almacenar hechos que transcurran en un periodo de tiempo podramos poner la fecha de inicio y la fecha de fin. De esta forma representamos el hecho de que el mismo ejemplar se puede prestar al mismo socio en diferentes ocasiones (suponemos que en diferentes das).

SOCIO F_Prestam o

Prstamo F_Devolucio n

EJEMPLAR

Tambin puede interesarnos reflejar si un ejemplar esta en la biblioteca o esta prestado, bastara aadir el atributo Estado al conjunto de entidades Ejemplar.

Consideraciones Finales Agregacin, generalizacin...? Es el ABD quien tiene que elegir entre las distintas alternativas, y para ello es fundamental tener una buena comprensin de la empresa que se va a modelar para poder tomar estas decisiones. En general no hay que abusar de la generalizacin pues puede introducir una complejidad adicional al diseo. Relaciones binarias o ternarias?

CLIENTE

Tie ne

CUENTA

CLIENTE

Tie ne

CUENTA

SUCURSAL

SUCURSAL

Pertene ce

En la primera figura la relacin entre un cliente y una cuenta se puede representar si tenemos la sucursal correspondiente. En la segunda figura, una cuenta se puede relacionar con una sucursal sin el cliente correspondiente, incluso una cuenta puede relacionarse con un cliente sin la sucursal. Parece que para una entidad bancaria el primer diagrama es l mas apropiado, pues siempre una cuenta estar asociada tanto con un cliente como con una sucursal. Conjunto de entidades o conjunto de relaciones? En el ejemplo anterior la cuenta es un conjunto de entidades, pero podra ser tambin una relacin entre cliente y sucursal con los atributos nmero de cuenta y saldo.

CLIENTE N_Cuenta

Cuenta Saldo

SUCURSAL

El inconveniente de este diseo es que no puede representar convenientemente una situacin en la que varios clientes tienen una cuenta en comn. Solo valdra para el caso en que cada cuenta tiene solo un titular. Pues a pesar de todo esto, podramos mantener este diseo considerando por ejemplo que cada cuenta tiene un nico titular principal, y una serie de titulares autorizados que podran ser un conjunto de entidades dbiles de cliente.

AUTORIZADO

Tiene

CLIENTE

Cuent a N_Cuenta Sald o

SUCURSAL

Todava mas en el ejemplo inicial de la relacin ternaria (a) podramos convertirlo en una agregacin que semnticamente seria ms correcto.

CLIENTE

Tiene

CUENTA

Pertene ce

SUCURSAL

También podría gustarte