Modelado y Diseo de Base de Datos

download Modelado y Diseo de Base de Datos

of 71

Transcript of Modelado y Diseo de Base de Datos

Modelado y Diseo de Base de datos

Csar Luza Montero

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS FACULTAD DE INGENIERA DE SISTEMAS E INFORMATICA

MODELADO Y DISEO DE BASE DE DATOS

CSAR LUZA MONTERO

LIMA-PER, 2010

1

Modelado y Diseo de Base de datos

Csar Luza Montero

ContenidoUNIDAD 1................................................................................................................................4 INTRODUCCIN A LOS SISTEMAS DE BASE DE DATOS Y AL DISEO DE BASE DE DATOS .....................................................................................................................................4 Leccin 1.................................................................................................................................. 5 Introduccin a los Sistemas de Base de Datos ........................................................................ 51.1 1.2 1.3 1.4 1.5 1.6 Sistema de Archivos .................................................................................................................... 5 Sistema de Base de Datos ........................................................................................................... 6 Base de Datos .............................................................................................................................. 7 Sistema de gestin de base de datos .......................................................................................... 8 Arquitectura de tres niveles ........................................................................................................ 9 Independencia de datos............................................................................................................ 10

Leccin 2................................................................................................................................ 11 Introduccin al Diseo de Base de Datos .............................................................................. 112.1 2.2 2.3 2.4 2.5 Qu es el diseo de base de datos? ........................................................................................ 11 Fases del diseo de base de datos ............................................................................................ 11 Un ejemplo sencillo de diseo de base de datos ...................................................................... 12 Modelos de Datos ..................................................................................................................... 13 Abstracciones de datos ............................................................................................................. 15

Resumen ................................................................................................................................ 17 Lectura................................................................................................................................... 18 Actividades ............................................................................................................................ 19 Autoevaluacin...................................................................................................................... 19 Exploracin On-Line.............................................................................................................. 20 Referencias Bibliogrficas ..................................................................................................... 20 UNIDAD 2..............................................................................................................................21 EL MODELO ENTIDAD-RELACIN (MER) ..........................................................................21 Leccin 3................................................................................................................................ 22 Conceptos asociados al MER ................................................................................................. 223.1 3.2 3.3 3.4 Qu es el MER? ....................................................................................................................... 22 Entidad y Atributo ..................................................................................................................... 22 Tipo de Entidad, Atributo Identificador y Conjunto de valores ................................................ 23 Relacin y Tipo de Relacin....................................................................................................... 25

Leccin 4................................................................................................................................ 29 Extendiendo el MER .............................................................................................................. 294.1 4.2 4.3 Razn de Participacin .............................................................................................................. 29 Entidades dbiles ...................................................................................................................... 30 Generalizacin o Especializacin............................................................................................... 30

Leccin 5................................................................................................................................ 35 Proceso de Construccin de un MER .................................................................................... 355.1 5.2 5.3 5.4 5.5 5.6 5.7 Identificar Tipos de Entidades................................................................................................... 35 Identificar Atributos .................................................................................................................. 35 Identificar Tipos de relaciones .................................................................................................. 36 Determinar Identificadores y Entidades dbiles ....................................................................... 36 Determinar Jerarquas de Generalizacin ................................................................................ 36 Revisar el Esquema Conceptual ............................................................................................. 36 Casos de ejemplo ..................................................................................................................... 37

Resumen ................................................................................................................................ 40 Lectura................................................................................................................................... 41 Actividades ............................................................................................................................ 43 Autoevaluacin...................................................................................................................... 45 Exploracin On-Line.............................................................................................................. 46 2

Modelado y Diseo de Base de datos

Csar Luza Montero

Referencias Bibliogrficas ..................................................................................................... 46 UNIDAD 3..............................................................................................................................48 EL MODELO RELACIONAL (MR) .........................................................................................48 Leccin 6................................................................................................................................ 49 Definicin y elementos del MR.............................................................................................. 494.1 4.2 4.3 Definicin .................................................................................................................................. 49 Elementos ................................................................................................................................. 49 Reglas ........................................................................................................................................ 51

Leccin 7................................................................................................................................ 53 Transformacin de un MER a MR ......................................................................................... 537.1 7.2 7.3 7.4 7.5 Transformacin de tipo de entidad........................................................................................... 53 Transformacin de tipo de relacin .......................................................................................... 53 Transformacin de entidades dbiles ....................................................................................... 55 Transformacin de generalizaciones ........................................................................................ 55 Caso Ejemplo............................................................................................................................. 56

Leccin 8................................................................................................................................ 58 Normalizacin ....................................................................................................................... 588.1 8.2 8.3 8.4 8.5 Definicin .................................................................................................................................. 58 Dependencias funcionales ........................................................................................................ 58 Formas normales....................................................................................................................... 59 Proceso de Normalizacin......................................................................................................... 61 Normalizacin Avanzada ........................................................................................................... 65

Resumen ................................................................................................................................ 66 Actividades ............................................................................................................................ 67 Referencias Bibliogrficas ..................................................................................................... 69 GLOSARIO .............................................................................................................................70 BIBLIOGRAFA GENERAL ....................................................................................................71

3

Modelado y Diseo de Base de datos

Csar Luza Montero

UNIDAD 1 INTRODUCCIN A LOS SISTEMAS DE BASE DE DATOS Y AL DISEO DE BASE DE DATOSQu es un Sistema de Base de datos? Qu es una Base de Datos? Qu es un Sistema de gestin de base de datos? Quines son los usuarios? En qu consiste la arquitectura de tres niveles? En qu consiste la independencia de datos? Cules son las fases del proceso de diseo de base de datos? Qu son los modelos de datos? Cmo se clasifican? Qu es abstraccin de datos? Qu tipos de abstraccin existen?

4

Modelado y Diseo de Base de datos

Csar Luza Montero

Leccin 1 Introduccin a los Sistemas de Base de DatosLas organizaciones requieren de informacin para apoyar sus actividades de toma de decisiones y controlar sus operaciones rutinarias. Esta informacin se transmite en todos los niveles de la organizacin a travs de los sistemas de informacin. Uno de los componentes fundamentales de los sistemas de informacin modernos es el Sistema de Base de Datos. Su propsito es almacenar, recuperar y mantener las grandes cantidades de datos requeridos por la organizacin.

1.1

Sistema de Archivos

Tradicionalmente, para almacenar los datos, se utilizaban los llamados sistemas de archivos. En este enfoque, los archivos se diseaban para cada programa de aplicacin destinado a apoyar las actividades de un departamento especfico. Cada departamento era responsable de crear y mantener los datos en sus propios archivos a travs de sus programas de aplicacin. Por ejemplo, en la figura 1.1 se aprecia que el Dpto. de Ventas es responsable de los datos de Empleados y Clientes; el Dpto. de Personal, de los datos de Empleados y Nominas, y el Dpto. de Contabilidad, de los datos de Empleados, Clientes y Nminas.Figura 1.1 Organizacin de los datos mediante archivos

Fuente : Elaboracin propia

1

Como se aprecia, esta forma de organizacin implicaba que los archivos por departamento podran contener informacin duplicada (redundancia de informacin), que ocasionaba uso inadecuado de espacio en disco y posibles inconsistencias porque un mismo dato podra reflejar diferentes valores. Asimismo, se generaba dependencia de los datos respecto del soporte fsico y los programas, que conlleva a falta de flexibilidad frente a cambios. Adicionalmente, los sistemas de archivos no eran apropiados para sistemas de ayuda a la toma de decisiones.

1

En lo sucesivo, en este libro, si las figuras, imgenes o tablas no consignan fuente, es porque son de propia elaboracin.

5

Modelado y Diseo de Base de datos

Csar Luza Montero

1.2

Sistema de Base de Datos

La idea de los sistemas de base de datos es mantener los datos en un repositorio centralizado (base de datos) evitando los inconvenientes generados por los sistemas de archivos. Cada departamento crea, mantiene y recupera la informacin de este repositorio centralizado, no de sus propios archivos (figura 1.2). Para lograr este objetivo, los sistemas de base de datos tienen un componente software, llamado sistema de gestin de base de datos (SGBD), que permite administrar este repositorio. Cada programa de aplicacin interacta con el sistema de gestin de base de datos para crear, mantener o recuperar datos de la base de datos. El SGBD se constituye en la interfaz entre los programas de aplicacin y la base de datos.Figura 1.2 Organizacin de los datos mediante base de datos

1.2.1 DefinicinUn sistema de base de datos es una coleccin de datos interrelacionados, almacenados en conjunto, sin redundancias perjudiciales o innecesarias. Su finalidad es servir a una aplicacin o ms de la mejor manera posible. Los datos se almacenan de modo que resulten independientes de los programas que los usan. Se emplean mtodos bien definidos para incluir nuevos datos y para modificar o extraer los datos almacenados (Martin, 1975, p.19). De acuerdo con Elmasri (1997, p.3), podemos decir que un sistema de base de datos est formado por la base de datos y el sistema de gestin de la base de datos (SGBD). En la figura 1.3, podemos ver un entorno simplificado de un sistema de base de datos. Los usuarios acceden a la base de datos almacenada a travs de programas de aplicacin o consultas interactivas. El Software SGBD atiende y gestiona las solicitudes de acceso a la base de datos (repositorio). Estas solicitudes pueden incluir aadir, borrar, cambiar o consultar los datos del repositorio.Figura 1.3 Entorno simplificado de un Sistema de Base de Datos

PROGRAMAS

SGBD UsuariosCONSULTAS

Base de Datos

6 SISTEMA DE BASE DE DATOS

Modelado y Diseo de Base de datos

Csar Luza Montero

1.3

Base de Datos

La base de datos se constituye en el repositorio de los datos de la empresa, o de un dominio particular, que debe permanecer en el tiempo con el propsito de brindar informacin requerida para apoyar las actividades de la organizacin.

1.3.1 DefinicinUna base de datos consiste en alguna coleccin de datos persistentes e independientes, usados por una organizacin determinada (Date, 1995, p.10). En la base de datos, los datos deben estar organizados de tal manera que refleje la realidad del dominio o de la empresa en el contexto de informacin requerida. Esto implica que adems de los datos, se deben guardar las relaciones que existen entre los datos. Por ejemplo, en el dominio de la gestin de matrcula en una institucin educativa, los datos de los alumnos, asignaturas y docentes son necesarios; pero, adems es necesario guardar la relacin entre alumno con asignatura para saber las asignaturas que un alumno est llevando. Asimismo, la relacin entre docente y asignatura. Una base de datos es una coleccin de datos relacionados, y una descripcin de estos datos, diseados para cumplir con las necesidades de informacin de una organizacin (Connolly, 2008, p.17). La base de datos tambin incluye la descripcin de los datos almacenados. Dicho de otra forma, se almacena tambin la estructura de los datos. Por ejemplo, para alumno, se almacena el tipo y tamao de sus atributos: cdigo, nombre, etc. Entonces, tenemos dos mbitos dentro de la base de datos: las descripciones de los datos y los propios datos almacenados. Para ilustrar ambos aspectos, en la figura 1.4, se muestra un ejemplo de descripcin de datos de alumno, y en la figura 1.5, los datos almacenados de cuatro alumnos. Tanto la descripcin como los datos se almacenan en la base de datos.Figura 1.4 Descripcin datos AlumnoTable ALUMNO ( Cdigo numeric (09) not null, Apellidos varchar(30), Nombres (varchar(30), Edad numeric (02), Gnero char(01) default (M, N), Primary key (cdigo) );

Figura 1.5 Datos almacenados de alumnosALUMNO Cdigo 2111199 2122233 2199882 2157660 Apellidos GONZALES ROJAS MARTNEZ QUISPE MUOZ RA ARIAS JUREZ Nombres JUAN PEDRO CARMEN HUGO edad 21 20 20 18 Gnero M M F M

7

Modelado y Diseo de Base de datos

Csar Luza Montero

1.3.2 AplicacionesToda base de datos se disea, construye y puebla con datos para un propsito especifico. Est dirigida a un grupo de usuarios y tienen ciertas aplicaciones preconcebidas que interesan a dicho usuarios (Elmasri, 1997, p.2). Algunas aplicaciones son las siguientes: En la banca, para almacenar informacin de los clientes, cuentas y prstamos y transacciones bancarias. En Lneas areas, para reservas e informacin de planificacin. Las lneas areas fueron las primeras en usar las bases de datos de forma distribuida geogrficamente (los terminales situados en todo el planeta accedan al sistema de bases de datos centralizado a travs de las lneas telefnicas y otras redes de datos). En Universidades, para informacin de los estudiantes, matrculas de las asignaturas y cursos. En Transacciones de tarjetas de crdito, para compras con tarjeta de crdito y generacin mensual de extractos. En Telecomunicaciones, para guardar un registro de las llamadas realizadas, generacin mensual de facturas manteniendo el saldo de las tarjetas telefnicas de prepago y para almacenar informacin sobre las redes de comunicaciones. En Finanzas, para almacenar informacin sobre grandes empresas, ventas y compras de documentos formales financieros, como bolsa y bonos. En Ventas, para informacin de clientes, productos y compras. En Produccin, para la gestin de la cadena de produccin y para el seguimiento de la produccin de elementos en las factoras, inventarios de elementos en almacenes y pedidos de elementos. En Recursos humanos, para informacin sobre los empleados, salarios, impuestos y beneficios, y para la generacin de las nminas.

1.4

Sistema de gestin de base de datos

1.4.1 DefinicinUn Sistema de Gestin de Base de Datos (SGBD) o Data Base Management System (DBMS) es el conjunto de programas que permite a los usuarios crear y mantener una base de datos. Es decir, el SGBD facilita el proceso de definir, construir y manipular base de datos para diversas aplicaciones (Elmasri, 1997, p.2). Definir una base de datos significa especificar los tipos de datos, las estructuras y las restricciones de los datos que se almacenarn en ella. Construir una base de datos se refiere al proceso de poblar (crear y guardar) los datos en un medio de almacenamiento controlado por el SGBD. Manipular la base de datos es realizar funciones como: consultar la base de datos para obtener datos especficos, actualizar (aadir, modificar o eliminar) la base de datos para reflejar los cambios del mbito o espacio del problema (mundo real) y generar informes a partir de estos datos.

8

Modelado y Diseo de Base de datos

Csar Luza Montero

1.4.2 UsuariosEl sistema de gestin de base de datos se constituye en la interfaz entre los usuarios y la base de datos. Los usuarios pueden ser: usuarios finales o usuarios informticos. Los usuarios finales son aquellos que utilizan servicios de programas previamente preparados para realizar consultas o actualizaciones a la base de datos. Los usuarios informticos pueden ser: administrador de la base de datos, diseador y analista/programador. El administrador de la base de datos (Data Base Administrator, DBA) es responsable de la confidencialidad, disponibilidad, seguridad e integridad de los datos almacenados en la base de datos; vigila el buen funcionamiento del sistema de base de datos. El diseador identifica los datos que han de estar contenidos en la base de datos y determina las estructuras ms apropiadas. El analista/programador desarrolla los programas para los usuarios finales.

1.4.3 FuncionesLas funciones de un SGBD se pueden agrupar en funcin de definicin de datos, funcin de manipulacin de datos y funcin de control. La funcin de definicin de datos permite describir los elementos de datos, su estructura, sus interrelaciones y sus validaciones o restricciones a tres niveles (interno, conceptual y externo) a travs del lenguaje de definicin de datos (DDL). La funcin de manipulacin permite: consultar (Sobre la totalidad o selectiva), aadir, suprimir, modificar; lo cual supone definir normas de seguridad (administrador), definir un criterio de seleccin (usuario), definir la estructura externa a recuperar (usuario) y acceder a la estructura fsica (sistema) a travs del lenguaje de manipulacin de datos (DDL). La funcin de control rene las interfaces de los usuarios y suministra procedimientos para el administrador. Algunas funciones son: cambiar la capacidad de los ficheros, obtener estadsticas de utilizacin, obtener copias de seguridad, etc.

1.5

Arquitectura de tres niveles

Se ha establecido una arquitectura de tres niveles, llamada tambin arquitectura de tres esquemas (Elmasri, 1997, p.25). En la figura 1.6, se muestra esta arquitectura, cuyo objetivo es lograr independencia de los datos respecto de los programas de aplicacin y del almacenamiento fsico. En el nivel interno, se establece la organizacin fsica de almacenamiento de los datos, es decir la estructura de datos en disco y las rutas de acceso a los mismos considerando la velocidad en responder los requerimientos del usuario y el uso eficiente del espacio en disco. Formalmente, el artefacto en el que se define la organizacin interna de los datos se conoce como esquema interno. En el nivel conceptual, se define la estructura lgica de almacenamiento de los datos de toda la base de datos considerando que esta estructura debe reflejar los aspectos conceptuales (se omiten detalles de almacenamiento fsico), de los requerimientos de informacin del mbito o espacio de problema global (mundo real). Formalmente, el artefacto en el que se define la estructura lgica de la base de datos completa se conoce como esquema conceptual. En el nivel externo, se define la estructura lgica de la porcin de la base de datos (vista) requerida por un grupo particular de usuarios. Formalmente, a esta descripcin lgica parcial de la base datos se conoce como esquema externo.

9

Modelado y Diseo de Base de datos Figura 1.6 Arquitectura de tres niveles

Csar Luza Montero

USUARIOS FINALES

NIVEL EXTERNO

ESQUEMA EXTERNO 1

ESQUEMA EXTERNO n

NIVEL CONCEPTUAL

ESQUEMA CONCEPTUAL

ESQUEMA INTERNO NIVEL INTERNO

Fuente: (Elmasri, 1997)

1.6

Independencia de datos

Los sistemas de base de datos deben mantener la coherencia entre los esquemas interno, conceptual y externo, y lograr la independencia de los datos. Los datos en la base de datos se organizan independientemente de los programas que lo van a usar (independencia lgica) y del dispositivo de almacenamiento fsico (independencia fsica).

1.6.1 Independencia lgica de datosCon la Independencia Lgica, los cambios en el esquema conceptual no afectan fuertemente el esquema externo ni el programa de aplicacin. Si hay cambios en el esquema conceptual (por ejemplo, agregar ms elementos de informacin, no afecta a las vistas o esquemas externos); si se modifica algn elemento de informacin, solo afecta a las vistas que la incluyen.

1.6.2 Independencia fsica de datosCon la Independencia Fsica, los cambios en el esquema interno no afectan el esquema conceptual ni los esquemas externos. Si hay cambios en la organizacin interna de los datos, no se afecta al esquema conceptual global ni a las vistas. Por ejemplo, si hay cambio de versin del SGBD o migrar a otro, no hay problemas con el esquema conceptual ni con las aplicaciones.

10

Modelado y Diseo de Base de datos

Csar Luza Montero

Leccin 2 Introduccin al Diseo de Base de DatosLa forma en que los datos se organizan y se almacenan en la base de datos es vital para cubrir exitosamente las necesidades de informacin de los usuarios de una empresa y hacer uso adecuado de los recursos de almacenamiento fsico. Para lograr este objetivo, se sigue un mtodo sistemtico conocido como diseo de base de datos. En esta leccin, se realiza una breve introduccin al diseo de base de datos.

2.1

Qu es el diseo de base de datos?

El diseo de base de datos es el proceso mediante el cual se define la estructura lgica y fsica de una base de datos que cubra los requerimientos de informacin de los usuarios en una organizacin (Elmasri, 1997). La estructura lgica es la descripcin de los datos que se almacenarn en la base de datos sin considerar aspectos de implementacin. La estructura fsica es la descripcin de los datos considerando el SGBD especfico y detalles de almacenamiento fsico. En la estructura lgica, se define que se almacenar, en la estructura fsica se define como se almacenar.

2.2

Fases del diseo de base de datos

El diseo de base de datos es un proceso complejo que considera decisiones en diversos niveles. La literatura sobre base de datos descompone el proceso de diseo de base de datos en tres fases (figura 2.1): Diseo Conceptual, Diseo Lgico y Diseo Fsico.Figura 2.1 Fases del Diseo de Base de datos REQUERIMIENTOS DE DATOS DISEO CONCEPTUAL ESQUEMA CONCEPTUAL DISEO LGICO ESQUEMA LGICO DISEO FSICO ESQUEMA FSICO

11

Modelado y Diseo de Base de datos

Csar Luza Montero

2.2.1 Diseo ConceptualEn el diseo conceptual, se utiliza como punto de partida los requerimientos de informacin planteados por los usuarios y se los expresa en un esquema conceptual. Un esquema conceptual es una descripcin concisa de la estructura de la base de datos, expresada en un lenguaje independiente del SGBD a utilizar para manipularla. El lenguaje que se utiliza para describir esquemas conceptuales se conoce como modelo conceptual. En resumen, el objetivo del diseo conceptual es describir el contenido de informacin de la base de datos y no las estructuras de almacenamiento fsico que se necesitarn para manejar esta informacin.

2.2.2 Diseo LgicoEn el diseo lgico, se utiliza el esquema conceptual elaborado en la fase de diseo conceptual y se elabora el esquema lgico. Un esquema lgico es una descripcin de la estructura de la base de datos en trminos de las estructuras de datos que puede procesar un tipo de SGBD, por ejemplo SGBD de tipo Relacional. El lenguaje que se utiliza para especificar esquemas lgicos se conoce como modelo lgico. En resumen, el diseo lgico transforma el esquema conceptual en esquema lgico; depende del tipo de SGBD que se vaya a utilizar, no depende del producto concreto.

2.2.3 Diseo FsicoEn el diseo fsico, se utiliza el esquema lgico elaborado en la fase de diseo lgico, y se elabora el esquema fsico correspondiente. Un esquema fsico es una descripcin detallada de la implementacin de una base de datos en trminos de estructura de almacenamiento internos y los mtodos utilizados para tener acceso eficiente a los datos. En resumen, el diseo fsico depende del SGBD concreto y el esquema fsico se expresa mediante su lenguaje de definicin de datos.

2.3

Un ejemplo sencillo de diseo de base de datos

Consideremos una porcin pequea de requerimientos de informacin del dominio de gestin acadmica de una Universidad. Se necesita mantener informacin de las Facultades y de los alumnos que pertenecen a ellas. En la fase de diseo conceptual, se elabora el esquema conceptual. En este ejemplo, se usa la notacin del modelo entidad relacin de Chen (1976). En la figura 2.2, se aprecia el modelo entidad relacin para reflejar los requerimientos sealados. Figura 2.2 Ejemplo de MERAPELLIDOS CODIGO NOMBRE(1,1) (1,n)

CODIGO

NOMBRES

FACULTAD

TIENE

ALUMNO

12

Modelado y Diseo de Base de datos

Csar Luza Montero

En la fase de diseo lgico, se transforma el esquema conceptual a esquema lgico. En este ejemplo, usaremos el esquema relacional. A continuacin se aprecia el esquema lgico relacional:

FACULTAD ALUMNO

(CDIGO, NOMBRE); CLAVE PRIMARIA= CDIGO (CDIGO, APELLIDOS, NOMBRES, CDIGO, FACULTAD); CLAVE PRIMARIA=CDIGO CLAVE FORNEA = CDIGO, FACULTAD

En la fase de diseo fsico se define las tablas usando la sintaxis de SQL, como se aprecia a continuacin:

CREATE TABLE FACULTAD ( CODIGO CHAR (02) NOT NULL, NOMBRE VARCHAR (40), PRIMARY KEY (CODIGO) ); CREATE TABLE ALUMNO ( CODIGO NUMERIC (09) NOT NULL, NOMBRES VARCHAR (40), APELLIDOS VARCHAR (60), CODIGO_FACULTAD CHAR (02), PRIMARY KEY (CODIGO), FOREING KEY (CODIGO_FACULTAD) REFERENCES FACULTAD (CDIGO) );

2.4

Modelos de Datos

Durante el proceso de diseo de base de datos, se utilizan modelos de datos, en diversos niveles, para representar los requerimientos de los usuarios.

2.4.1 DefinicinDe acuerdo con De Miguel (1999), un modelo de datos describe, en base a conceptos y reglas, los datos de una porcin del mundo real. En otras palabras, un modelo de datos es un conjunto de conceptos y reglas que permiten describir, a distintos niveles de abstraccin, la estructura de una base de datos, a la cual denominamos esquema.

2.4.2 TiposDe acuerdo con las fases del proceso de diseo, los modelos de datos se pueden clasificar en: conceptuales, lgicos y fsicos. Los modelos de datos conceptuales se enfocan en describir el mundo real con independencia del tipo de SGBD y de detalles de implementacin en la mquina. 13

Modelado y Diseo de Base de datos

Csar Luza Montero

Los modelos de datos lgicos se orientan a representar los datos segn la implementacin del tipo SGBD especfico, pero sin detalles de implementacin de la mquina. Los modelos de datos fsicos se orientan a representar los datos considerando detalles de implementacin en la mquina. Otra forma de clasificar a los modelos de datos es segn los niveles de abstraccin de la arquitectura de tres niveles: Externo, Global e Interno. El modelo de datos externo representa el punto de vista de cada usuario en particular. El modelo de datos global representa el punto de vista del conjunto de usuarios de la empresa. El modelo de datos interno representa el punto de vista de la maquina.

2.4.3 NotacionesExisten diversas notaciones para el modelo de datos. La eleccin de una depende de las condiciones en que se realizar el proceso de diseo de la base de datos y el ambiente de la organizacin. Se puede mencionar: Notacin CHEN (1976), para modelos de datos conceptuales que da especial nfasis a las relaciones entre entidades representndolas con un rombo (figura 2.3). Figura 2.3 Modelo conceptual Notacin CHENAPELLIDOS CODIGO NOMBRE(1,1) (1,n)

CODIGO

NOMBRES

FACULTAD

TIENE

ALUMNO

Notacin IE (Information Engineering) desarrollada inicialmente por Clive Finkelstein (1992) quien, luego, la refin con el apoyo de James Martin. Aunque es clara e intuitiva, sirve solo para modelos de alto nivel de abstraccin (modelos conceptuales y lgicos), pues no permite modelar los atributos de las entidades (Figura 2.4). Figura 2.4 Modelo conceptual Notacin IEFACULTAD CODIGO NOMBRE ALUMNO CODIGO NOMBRES APELLIDOS

TIENE

Notacin UML (Unified Modeling Language): si bien es un lenguaje de modelado objetual, se puede extender a travs de perfiles para soportar otro tipo de modelos, como el modelo de datos (Booch, 1999) (figura 2.5).

14

Modelado y Diseo de Base de datos Figura 2.5 Modelo conceptual Notacin UML

Csar Luza Montero

2.5

Abstracciones de datos

El modelado de datos se realiza en base a abstracciones. La abstraccin consiste en seleccionar caractersticas relevantes de un conjunto de objetos o elementos del dominio del problema y excluir otras no pertinentes. A travs de ellas se establecen vnculos entre los elementos del modelo. Se puede establecer los siguientes tipos de abstracciones: Clasificacin, Asociacin, Generalizacin y Agregacin.

2.5.1

Abstraccin de Clasificacin

Mediante la clasificacin se abstrae las caractersticas comunes a un conjunto de elementos u objetos del mundo real para crear una categora (clase o tipo) a la cual pertenecen dichos elementos. Se corresponde con el concepto de pertenencia a un conjunto. Se utiliza para definir un concepto como una clase de objetos de la realidad caracterizados por propiedades comunes. Por ejemplo, considere los siguientes elementos u objetos del dominio de Gestin Acadmica de una Universidad: Anlisis de Sistemas, Base de datos I, Matemtica I, Fsica I y Fundamentos de informtica; todas ellas pertenecen a una clase o tipo que podemos llamar: ASIGNATURA (Figura 2.6).Figura 2.6 Proceso de clasificacin

Anlisis de Sistemas

Fsica I

CLASIFICACIN ASIGNATURA

Fundamentos de informatica Matemtica I Base de datos I

Los mismos objetos admiten clasificaciones distintas. Por ejemplo, podemos clasificar las asignaturas de varias maneras: obligatorias / electivas, de primer ciclo, segundo ciclo, etc., tericas / prcticas, etc.

2.5.2 Abstraccin de AgregacinMediante la agregacin se construye una nueva clase o tipo o categora de objetos a partir de un conjunto de otras clases denominadas componentes o partes. Define una nueva clase de 15

Modelado y Diseo de Base de datos

Csar Luza Montero

objetos a partir de un conjunto de clases (otras, no necesariamente distintas) que representan sus partes componentes. Por ejemplo: CPU, Teclado, Mouse, Monitor son partes de Computadora (figura 2.7). En otras palabras, una Computadora est compuesta por Mouse, CPU, Teclado y Monitor. Figura 2.7 Proceso de agregacin

CPU MONITOR

MOUSE

AGREGACIN COMPUTADORA

TECLADO

Una Clase ES PARTE DE otra clase

2.5.3 Abstraccin de GeneralizacinMediantes la generalizacin se aabstrae las caractersticas comunes a varias clases (subclases) para construir una clase ms general (superclase). Define una relacin de subconjunto entre elementos de dos o ms clases. Por ejemplo, Secretaria, Tcnico, Ingeniero son tipos de Empleados (figura 2.8). Figura 2.8 Proceso de Generalizacin GENERALIZACINSECRETARIA INGENIERO TECNICO

EMPLEADO

Una Clase ES UN TIPO DE otra clase

2.5.4 Abstraccin de AsociacinMediante la abstraccin de asociacin se vincula dos o ms clases crendose un elemento de tipo distinto (Vnculo). Puede parecerse a la agregacin, pero posee rasgos distintivos. Por ejemplo PROFESOR imparte ASIGNATURA figura 2.9). Figura 2.9 Asociacin ASOCIACIN: IMPARTE PROFESOR ASIGNATURA

16

Modelado y Diseo de Base de datos

Csar Luza Montero

ResumenIntroduccin a los sistemas de base de datosUn Sistema de base de datos est formado por: la base de datos y el sistema de gestin de base de datos. Una base de datos consiste en alguna coleccin de datos persistentes e independientes, usados por una organizacin determinada. Un sistema de gestin de base de datos (SGBD) o Data Base Management System (DBMS) es el conjunto de programas que permite a los usuarios crear y mantener una base de datos. Los usuarios pueden ser usuarios finales y usuarios informticos. Los usuarios finales usan los programas preparados previamente para consultas o actualizar la base de datos. Los usuarios informticos pueden ser administrador de la base de datos, diseador de base de datos y anlisis programador de aplicaciones. Las funciones de un SGBD son: definicin de datos, manipulacin de datos y control. La funcin de definicin permite describir los elementos de datos. La funcin de manipulacin permite consultar y actualizar la base de datos. La funcin de control est dirigida a la administracin de la base de datos. La arquitectura de tres niveles considera: nivel interno, nivel conceptual y nivel externo. En el nivel interno se establece la organizacin fsica de almacenamiento de los datos, conocido como esquema interno. En el nivel conceptual se define la estructura lgica de almacenamiento de los datos de toda la base de datos, conocido como esquema conceptual. En el nivel externo se define la estructura lgica de la porcin de la base de datos (vista) requerida por un gripo particular de usuarios, conocido como esquema externo. La Independencia Lgica, permite que los cambios en el esquema conceptual no afectan fuertemente en el esquema externo ni el programa de aplicacin. La Independencia Fsica, permite que los cambios en el esquema interno no afectan el esquema conceptual ni a los esquemas externos.

Introduccin al diseo de base de datosEl diseo de base de datos es el proceso mediante el cual se define la estructura lgica y fsica de una base de datos que cubra los requerimientos de informacin de los usuarios. La estructura lgica es la descripcin de los datos sin considerar aspectos de implementacin. La estructura fsica es la descripcin de los datos considerando el SGBD especfico y detalles de almacenamiento fsico. El proceso de de diseo tiene tres fases: Diseo conceptual, Diseo Lgico y Diseo Fsico. En el diseo conceptual, los requerimientos se expresan en un esquema conceptual, descripcin concisa de la estructura de la base de datos, independiente del SGBD (modelo conceptual). En el diseo lgico, el esquema conceptual se transforma en esquema lgico, descripcin de la estructura de la base de datos en trminos de las estructuras de datos que puede procesar un tipo de SGBD (modelo lgico). En el diseo fsico, el esquema lgico se transforma en esquema fsico, descripcin detallada de la implementacin de una base de datos en trminos de estructura d almacenamiento internos y los mtodos utilizados para tener acceso a los datos. Un modelo de datos es un conjunto de conceptos y reglas para describir la estructura de una base de datos, en distintos niveles de abstraccin. Se clasifican en: Conceptuales, Lgicos y Fsicos. El Conceptual se enfoca en describir el mundo real con independencia del tipo de SGBD y de detalles de implementacin en la mquina. El lgico se orienta a representar los datos segn la implementacin del tipo SGBD especfico, pero sin detalles de implementacin de la mquina. El fsico se orientan a representar los datos considerando detalles de implementacin en la mquina. La abstraccin de datos consiste en seleccionar caractersticas relevantes en un dominio y excluir otras no pertinentes. Existen cuatro tipos de abstraccin: Clasificacin, Agregacin, Generalizacin, y Asociacin. Mediante la clasificacin un conjunto de objetos con las mismas caractersticas se abstraen en una clase de objetos. La agregacin define una nueva clase de objetos a partir de otras que representan sus partes o componentes. La generalizacin define una nueva clase de objetos a partir las caractersticas comunas de otras que representan sus subclases. Mediante la asociacin se establece un vnculo entre dos clases de objetos.

17

Modelado y Diseo de Base de datos

Csar Luza Montero

LecturaOficina Estatal de Licencias y Registro de Vehculo (*) Ahora consideremos una aplicacin aun mayor de las tecnologas de base de datos: una oficina estatal de licencias y registro de vehculo. Tiene 52 centros de pruebas de manejo, expedicin de licencias para conductores, renovacin de licencias de manejo, y tambin 37 oficinas que expiden registros de vehculos. El personal tiene acceso a una base de datos para realizar su trabajo. Antes que a las personas se les otorgue o renueve su licencia de conducir, hay que verificar su registro en la base de datos para buscar posibles infracciones de trnsito, accidentes o arrestos. Estos ltimos datos se utiliza para determinar si la licencia debe o no ser renovada, o si se debe otorgar con ciertas limitaciones. De igual manera, el personal del departamento de registro de automviles tiene acceso a la base de datos para determinar si un auto ha sido registrado antes y, si es as, quien lo registro, o si existe algn asunto importante que impide expedir el registro. Esta base de datos tiene ciento de usuarios, incluyendo no solo al personal de las licencias y registros, sino al del departamento tal de contribuciones y del departamento jurdico. No es de extraar que la base de datos sea grande y compleja, con ms de 40 diferentes tablas de datos, muchas de las cuales contienen cientos de miles de filas. La base de datos de las grandes organizaciones, como la oficina de licencias y registros, fueron las primeras aplicaciones de este tipo de tecnologa. Estos sistemas han existido durante 20 o 30 aos y se han modificado para satisfacer los cambios que ocurrieron durante ese periodo. Otros ejemplos de bases de datos organizacionales se relacionan con el procesamiento de cuentas en bancos e instituciones financieras, sistemas de produccin y de suministro de material en fbricas grandes, procesamiento de registros mdicos en hospitales, y en compaas de seguros y agencias gubernamentales. Actualmente muchas organizaciones estn adaptando sus aplicaciones de bases de datos para permitir a los clientes tener acceso, e incluso cambiar sus datos, por medio de internet. Si usted llegar a trabajar en una gran organizacin importante, probablemente le podran asignar ese proyecto.(*) Fuente: (Kroenke, 2003, p.8)

18

Modelado y Diseo de Base de datos

Csar Luza Montero

Actividades1. Realice una bsqueda en internet, ubique un sistema de gestin de base de datos LIBRE y descrguelo. 2. Descargue de internet un software libre para modelar base de datos.

Autoevaluacin1. Con respecto al concepto de Sistema de Base de Datos, entre los parntesis de la siguiente lista, marque V=Verdadero o F=Falso, segn corresponda: a. ( ) Est compuesto por base de datos y SGBD. b. ( ) Est formado por base de datos y DBA c. ( ) Solo es un repositorio donde se almacenan los datos d. ( ) Es el conjunto de usuarios y programas para hacer consultas e. ( ) Es el software que atiende a las solicitudes de acceso a la base de datos. Con respecto al concepto de Base de Datos, entre los parntesis de la siguiente lista, marque V=Verdadero o F=Falso, segn corresponda: a. ( ) Esta compuesto por programas y datos b. ( ) Es una coleccin de datos temporales usados por una organizacin c. ( ) Es un conjunto de datos persistentes requeridos por una organizacin d. ( ) Es un almacn que guarda datos y las relaciones entre los datos. e. ( ) Guarda datos, relaciones y la descripcin de los datos y relaciones. Respecto al concepto de SGBD, marque V=Verdadero o F=Falso segn corresponda: a. ( ) Conjunto de usuarios b. ( ) Conjunto de programas c. ( ) Permite crear la base de datos d. ( ) Permite compilar los programas para los usuarios finales e. ( ) Es el conjunto de datos almacenados sin redundancias perjudicial Con respecto a la arquitectura de tres niveles, entre los parntesis de la siguiente lista coloque I=Nivel Interno, C=Nivel conceptual o E=Nivel Externo, segn corresponda: a. ( ) Estructura lgica de almacenamiento de toda la base de datos b. ( ) Su descripcin se llama esquema externo c. ( ) Estructura lgica de una porcin de la base de datos d. ( ) Considera detalle de implementacin e. ( ) Considera el uso eficiente de espacio en disco Establezca la relacin de concepto y su descripcin, colocando la letra de la descripcin en la celda a la derecha del Concepto: Concepto Descripcin del concepto. 1. Independencia a) Su resultado es el esquema conceptual obtenido a partir de los Lgica requerimientos de informacin de los usuarios 2. Independencia b) Descripcin de la estructura de la base de datos considerando el Fsica tipo de SGBD 3. Diseo c) Si hay cambio de versin en el SGBD no afecta a esquema Conceptual conceptual ni a las aplicaciones 4. Diseo Lgico d) Depende del SGBD para elabora el esquema fsico 5. Diseo Fsico 6. Esquema Conceptual e) Descripcin de los datos considerando detalles de implementacin f) Los cambios en el esquema conceptual no afecta a los programas de aplicacin

2.

3.

4.

5.

19

Modelado y Diseo de Base de datos7. Esquema Lgico 8. Esquema Fsico 6.

Csar Luza Montero

g)

Se transforma el esquema conceptual en esquema lgico

h) Descripcin concisa de la estructura de la base de datos independiente del SGBD

Con respecto a los tipos de abstraccin, entre los parntesis de la siguiente lista coloque C=Abstraccin de Clasificacin, A=Abstraccin de Agregacin, G=Abstraccin de Generalizacin o V=Abstraccin de Asociacin, segn corresponda: a. b. c. d. e. 1. 2. 3. 4. 5. 6. ( ( ( ( ( ) Csar Luza, Pedro Carpio y Pedro Alvarado son Personas ) Docente, Alumno y Empleado son Personas ) Pas est formado por Departamentos ) Profesor asignado a Facultad ) Proveedor y Cliente son tipos de Agente Comercial

Respuestas de Controla = V, b = F, c = F, d = F, e = F a = F, b = F, c = V, d = V, e = V a = F, b = V, c = V, d = F, e = V a = C, b = E, c = E, d = I, e = I 1 = f, 2 = c, 3 = a, 4 = g, 5 = d, 6 = h, 7 = b, 8 = e a = C, b = G, c = A, d = V, e = G

Exploracin On-LineMicrosoft SQL Server 2008 http://www.microsoft.com/latam/sqlserver/ Oracle : http://www.oracle.com/index.html MySQL http://www.mysql.com/

Referencias Bibliogrficas1. 2. 3. 4. 5. 6. 7. 8. 9. Booch, G., Rumbaugh, J. y Jacobson, I. (1999) El lenguaje unificado de modelado. Madrid. Addison Wesley Iberoamericana. Chen, Peter (1976), The entety-relationship model:Towards a unified view of data. ACM Trans. Database systems 1 (1) 9-36 Connolly, Thomas y Begg, Carolyn. (2008) Database Solutions. 5ta. Ed. Massachusetts. Addison Wesley. Date, C. (1995) An introduction to data base systems. 5ta. Ed. Massachusetts. Addison Wesley. De Miguel A. y Piattini M., (1999) Fundamentos y Modelos de Base de datos. 2da. Ed. Madrid. Alfa y Omega. Elmasri, Ramez y Shamkant Navathe (1997) Sistemas de Bases de Datos. Conceptos fundamentales. Segunda Edicin, Madrid, Addison-Wesley Iberoamericana. Finkelstein, C. (1992) Strategic systems development. Sydney: Addison-Wesley. Kroenke, David M. (2003) Procesamiento de base de datos. Fundamentos, diseo e implementacin. Mxico. Pearson Educacin. Martin, James. (1975) Computer Data Base Organization. New Jersey. Prentice Hall.

20

Modelado y Diseo de Base de datos

Csar Luza Montero

UNIDAD 2 EL MODELO ENTIDAD-RELACIN (MER)Qu es el MER? Cules son sus elementos? Cmo se representan? Cul es la diferencia entre entidad y tipo de entidad? Qu es un atributo Qu significa atributo Identificado? Cul es la diferencia entre Relacin y Tipo de Relacin? Qu es Razn de Cardinalidad o Tipo de correspondencia? Qu tipos hay? Qu es Razn de participacin o Cardinalidad mnima y mxima? Qu son los atributos de una relacin? Cmo se representan? Qu son las entidades dbiles? Cmo se representan? Qu es una generalizacin? Qu es una especializacin? Cmo se representan?

21

Modelado y Diseo de Base de datos

Csar Luza Montero

Leccin 3 Conceptos asociados al MER3.1 Qu es el MER?El MER (Modelo Entidad Relacin) es un modelo de datos conceptual propuesto por Peter Chen (1976). Se han realizado extensiones y aportaciones por otros autores. El MER describe, de manera concisa, los requisitos de informacin de los usuarios como un conjunto de entidades y sus atributos, las relaciones entre las entidades y las restricciones que ellas deben cumplir. No se consideran detalles de implementacin, permitiendo una comunicacin ms adecuada entre desarrolladores y usuarios no tcnicos. Los elementos bsicos del MER incluyen Tipo de Entidad, Tipo de Relacin y Atributos. Las extensiones consideran representaciones para entidad dbil, generalizacin, entre otros.

3.2

Entidad y Atributo

3.2.1 EntidadEl elemento bsico en el MER es la entidad. Una Entidad es una persona, lugar, cosa, concepto o suceso, real o abstracto, de inters para la empresa (ANSI2, 1977). Una entidad es una cosa u objeto en el mundo real que es distinguible de otros objetos (Korth, 2002, p.5). Por ejemplo, una persona, un alumno, el libro Anlisis de sistemas, un empleado, una asignatura, la asignatura Base de datos 1, un viaje, etc. En la figura 3.1, se representa una entidad persona.Figura 3.1 Una Persona

3.2.2 AtributoCada entidad tiene propiedades especficas llamadas atributos que la describen. Un atributo es una propiedad o caractersticas de una entidad. Una entidad particular es descrita por los valores de sus atributos dentro del tipo de entidad. Por ejemplo, una entidad PERSONA puede describirse por su DNI, Nombre, Apellidos, Gnero, Estatura, Peso, Fecha de nacimiento. Una persona particular tendr un valor para cada uno de sus atributos. As dos entidades Persona con sus valores para cada atributo son: 06111988, CSAR, LUZA MONTERO, M, 1,70 m., 76 kg, 06-02-1959. 05879997, PEDRO, CARPIO FARFN, M, 1,76 m., 76 kg, 03-03-1959. Otro ejemplo: Considere el Tipo de entidad ALUMNO con los siguientes atributos: Cdigo. Nombre, Edad, Ciclo; a continuacin se muestra una porcin del conjunto de alumnos:2

ANSI = American National Standards Institute, Instituto de estndares Americano

22

Modelado y Diseo de Base de datos (21-223333-23, Sofa, 18 aos, 2) (21-333333-44, Josefa, 19 aos, 5) (21.555555-55, Gabriela, 20 aos, 2)

Csar Luza Montero

Cada una de las entidades pertenecientes a este conjunto se diferencia de las dems por el valor de sus atributos. Ntese que dos o ms entidades diferentes pueden tener los mismos valores para algunos de sus atributos, pero nunca para todos.

3.3

Tipo de Entidad, Atributo Identificador y Conjunto de valores

Un Tipo de entidad define un conjunto de entidades que poseen los mismos atributos (Elmasri, 1997). Por ejemplo, el conjunto de entidades personas forman el tipo de entidad PERSONA (Figura 3.2).Figura 3.2 Conjunto de personas, tipo de entidad PERSONA

Otros ejemplos de tipo de entidad son: LIBRO, EMPLEADO, ASIGNATURA, VIAJE. Desde el punto de vista de la abstraccin de clasificacin, el tipo de entidad describe un conjunto de entidades como resultado de la clasificacin, cada entidad es un elemento del tipo de entidad. En la figura 3.3, se observa cinco entidades que se clasifican en el tipo de entidad Asignatura.Figura 3.3 Entidades y Tipo de entidad por abstraccin de clasificacin

Anlisis de Sistemas

Fsica I

CLASIFICACIN ASIGNATURA

Fundamentos de informtica Matemtica I Base de datos I

Un tipo de entidad est formado por un conjunto de entidades, a los elementos de este conjunto tambin se le conoce como instancias de tipo de entidad. Por ejemplo, anlisis de sistemas es una instancia del tipo de entidad ASIGNATURA.

3.3.1 Notacin de Tipo de EntidadLa notacin Chen (1976) para un tipo de entidad es un rectngulo con el nombre del tipo de entidad en el interior (figura 3.4):Figura 3.4 Notacin de Tipo de entidad (Chen, 1976) PERSONA

23

Modelado y Diseo de Base de datos

Csar Luza Montero

En la figura 3.5, se aprecia la notacin IE (Finkelstein, 1992) para un tipo de entidad.Figura 3.5 Notacin de Tipo de entidad segn IEPERSONA

En la figura 3.6, se observa algunos ejemplos de tipos de entidad para un sistema acadmico:Figura 3.6 Ejemplos de Tipo de entidadALUMNO PROFESOR ASIGNATURA

MATRICULA

AULA

HORARIO

3.3.2 Atributo Identificador de un tipo de entidadLos tipos de entidades casi siempre tienen un atributo cuyo valor es distinto para cada entidad individual, denominado atributo identificador. Un atributo identificador es aquel atributo que permite distinguir a una entidad de otra distinta. Por ejemplo, el atributo identificador que distingue a un alumno de otro es su cdigo, el DNI es el atributo identificador del tipo de entidad Persona.

3.3.3 Notacin de atributo de un tipo de entidadLa notacin Chen (1976) para atributos es un crculo con el nombre especfico. El atributo identificador se denota con el circulo sombreado (Figura 3.7).Figura 3.7 Notacin de atributos segn Chen

En la figura 3.8, se aprecia la notacin IE (Finkelstein, 1992) para atributos.Figura 3.8 Notacin de atributo segn IEALUMNO Codigo Nombre Edad Ciclo

24

Modelado y Diseo de Base de datos

Csar Luza Montero

3.4

Relacin y Tipo de Relacin

3.4.1 RelacinUna Relacin, tambin llamada interrelacin, es una asociacin, vnculo o correspondencia entre entidades relacionadas de alguna manera en un contexto determinado. Ejemplos: El profesor Jos Cruz ensea la asignatura Fundamentos de informtica El profesor Cesar Luza ensea la asignatura de Base de datos I El cliente Juan Prez realiza el pedido 34677 El cliente Jos Quiroz realiza el pedido 17450 El producto Tornillo se almacena en el almacn Central

3.4.2 Tipo de RelacinUn Tipo de Relacin es la abstraccin del conjunto de relaciones existentes entre dos o ms tipos de entidad. Ejemplos: PROFESOR ensea ASIGNATURA. CLIENTE realiza PEDIDO PRODUCTO se almacena en ALMACN

La notacin Chen (1976) para un tipo de relacin es un rombo que une a los tipos de entidades asociadas (figura 3.9).Figura 3.9 Notacin de tipo de relacin segn Chen (1976)

La figura 3.10 muestra la notacin IE para un tipo de relacin.Figura 3.10 Notacin de tipo de relacin segn IEPROFESOR ASIGNATURAENSE A

En la figura 3.11, se observa algunos ejemplos de tipo de relacin para un sistema acadmico.Figura 3.11 ejemplos de tipo de relacin

Entre dos tipos de entidades puede establecer ms de un tipo de relacin. En la figura 3.12, se observa dos relaciones entre persona y edificio. El tipo de relacin Persona USA Edificio significa que una persona es usuaria del edificio. El tipo de relacin Persona POSEE Edificio 25

Modelado y Diseo de Base de datos

Csar Luza Montero

significa que la persona es propietaria del edificio. Ambas relaciones se modelan porque es de inters la informacin de quien es el propietario y quines son los usuarios.Figura 3.12 Dos tipos de relacin entre dos tipos de entidad

3.4.3 Grado de un Tipo de RelacinEl grado de un tipo de relacin es el nmero de tipos de entidad que participan en el tipo de relacin. En la figura 3.13, se aprecia un ejemplo de tipo de relacin binaria o de grado 2, es el ms frecuente, se interpreta como: actor acta en pelcula. En la figura 3.14, se muestra un ejemplo de tipo relacin de grado 3 o ternaria, se interpreta como: El cliente alquila pelcula un local del videoclub. En la figura 3.15, se presenta un ejemplo de tipo de relacin de grado 1 o unaria, se interpreta como: la pelcula es continuacin de otra pelcula.Figura 3.13 Tipo de relacin binaria (Grado 2)

Figura 3.14 Tipo de relacin ternaria (Grado 3)

Figura 3.15 Tipo de relacin unaria (Grado 1)

3.4.4 Nombre de RolTodo tipo de entidad que participa en un tipo de relacin juega un papel especfico en la relacin. Los nombres de rol ayudan a explicar el significado de la relacin, por eso su uso es casi obligatorio en los tipos de relacin unarias, para evitar la ambigedad. En figura 3.16, el tipo de relacin Continuacin de establece el vinculo entre dos pelculas, una de ellas juega el rol de original, y la otra juega el rol de continuacin.Figura 3.16 nombre de rolOriginal Continuacin

26

Modelado y Diseo de Base de datos

Csar Luza Montero

3.4.5 Restricciones Estructurales 3Las restricciones estructurales son reglas que limitan las posibles combinaciones de entidades que pueden participar en las relaciones. Son extradas de la situacin real que se modela. Por ejemplo, Una asignatura puede ser dictada por uno o ms profesores y Un profesor puede dictar ms de una asignatura, son reglas que deben cumplir los datos que se almacenaran en la base de datos de un sistema acadmico. Las restricciones bsicas en el MER se conocen como Razn de cardinalidad o Tipo de Correspondencia. La Razn de cardinalidad o Tipo de correspondencia es el nmero mximo de instancias o entidades de un tipo de entidad que puede estar relacionado con una instancia de otro tipo de entidad. Puede ser de tres tipos de correspondencia: 1 a 1, Uno a Uno. 1 a N, Uno a Mucho y M a N, Muchos a Muchos El Tipo de correspondencia 1 a 1 (Uno a Uno) significa que una instancia de un tipo de entidad est vinculada a lo ms con una instancia del otro tipo de entidad asociada y viceversa. Por ejemplo el tipo de relacin DECANO dirige FACULTAD es de Uno a Uno, porque un Decano dirige una sola Facultad, adems una Facultad es dirigida por solo un Decano (Figura 3.17).Figura 3.17 Ejemplo Tipo de Relacin Uno a UnoNotacin Chen

Notacin IEDECANODIRIGE

FACULTAD

El Tipo de correspondencia 1 a N (Uno a Muchos) significa que una instancia de un tipo de entidad est vinculada a lo ms con varias instancias del otro tipo de entidad asociada. Por ejemplo el tipo de relacin FACULTAD tiene ALUMNO es de Uno a Muchos, porque una Facultad tiene muchos Alumnos, adems un Alumno pertenece solo a una Facultad (Figura 3.18).Figura 3.18 Ejemplo Tipo de Relacin Uno a Muchos

FACULTAD

T IENE

ALUMNO

3

En adelante, se usa notacin Chen y su equivalente en notacin IE.

27

Modelado y Diseo de Base de datos

Csar Luza Montero

El Tipo de correspondencia M a N (Muchos a Muchos) significa que una instancia de un tipo de entidad est vinculada a lo ms con varias instancias del otro tipo de entidad asociada, y viceversa. Por ejemplo el tipo de relacin ALUMNO lleva ASIGNATURA es de Muchos a Muchos, porque un Alumno lleva varias Asignaturas, adems una Asignatura es llevada por varios Alumnos (Figura 3.19).Figura 3.19 Ejemplo Tipo de Relacin Muchos a Muchos

ALUMNOLLEVA

ASIGNATURA

3.4.6 Atributos de una relacinUn tipo de relacin puede tener atributos, conceptualmente pertenecen al tipo de relacin. Un atributo de un tipo relacin M:N es propio del tipo de relacin. En cambio, un atributo de un tipo relacin 1:1 o 1:N se puede llevar a uno de los tipos de entidad participantes. En la figura 3.22 se muestra notacin Chen para atributos de una relacin.Figura 3.22 Atributos de una relacin

ACTOR

R

ACTUA Papel Salario

R

PELICULA

28

Modelado y Diseo de Base de datos

Csar Luza Montero

Leccin 4 Extendiendo el MER4.1 Razn de ParticipacinEn el modelo MER bsico de Chen, otros autores han agregado ms detalles para representar restricciones estructurales que se conocen como Razn de Participacin o Cardinalidad Mnima y Mxima. La Razn de Participacin o cardinalidad mnima y mxima de una relacin, son los nmeros mnimo y mximo de instancias de tipo de relacin en las que puede intervenir una instancia del tipo de entidad participante. Se denota mediante (min., mx.) en la lnea que une el tipo de entidad con el tipo de relacin. Por ejemplo, consideremos la relacin Facultad tiene Alumno, una Facultad como mnimo tiene un alumno y como mximo muchos alumnos; adems, un alumno como mnimo pertenece a una Facultad y como mximo a una sola (figura 3.20).Figura 3.20 Ejemplo Razn de participacin

FACULTAD

T IENE

ALUMNO

Ahora, consideremos la relacin Alumno lleva Asignatura, un alumno como mnimo lleva cero asignaturas (puede no matricularse en un semestre), como mximo puede llevar muchas asignaturas; adems, una asignatura como mnimo tiene cero alumnos (cuando la asignatura se cancela o no se programa) y como mximo muchos alumnos (figura 3.21).Figura 3.21 Otros ejemplo Razn de participacin

ALUMNOLLEVA

ASIGNATURA

29

Modelado y Diseo de Base de datos

Csar Luza Montero

4.2

Entidades dbiles

En ocasiones, una entidad no tiene por s misma datos suficientes como para poder identificarla. Por ejemplo, las aulas de una Facultad se pueden identificar por nmero de aula, pero los nmeros podran repetirse en otra Facultad. En este caso diremos que el tipo de entidad AULA es dbil respecto de FACULTAD (entidad fuerte).

4.2.1 DefinicinUna entidad dbil es aquella que no tiene atributo identificador propio. Su existencia depende de otra entidad (fuerte) que la posee y la identifica inequvocamente. Ejemplo: Provincia es entidad dbil de departamento, para identificar una provincia se necesitar el nombre de la provincia y del departamento. En el contexto de la planilla de una empresa, FAMILIAR depende de EMPLEADO, Familiar es entidad dbil porque depende de Empleado.

4.2.2 NotacinUna entidad dbil se representa con un rectngulo de doble lnea, con el nombre al interior. En la figura 4.1 se muestra la entidad dbil familiar que depende de Empleado.Figura 4.1 Notacin de entidad dbilEMPLEADO(1,1)

E Tiene dependientes

(0,n)

FAMILIAR

EMPLEADOT IENE_DEPEDIENT ES

FAMILIAR

4.3

Generalizacin o Especializacin

4.3.1 DefinicinLa generalizacin es caso especial de relacin entre un tipo de entidad y varios otros tipos de entidad. La jerarqua o relacin que se establece entre uno y otros corresponde a la nocin de es_un o de es_un_tipo_de. Estas jerarquas pueden formarse por especializacin o bien por generalizacin. Por ejemplo: Un ANIMAL es un FELINO, es una jerarqua obtenida por Especializacin, de arriba hacia abajo. Un REPTIL es un tipo de ANIMAL; Un INSECTO es un tipo de ANIMAL son jerarquas obtenidas por Generalizacin. El proceso de generalizacin se caracteriza por el nfasis en las similitudes de los subtipos y cada instancia del supertipo es tambin una instancia de algunos de los subtipos.

30

Modelado y Diseo de Base de datos

Csar Luza Montero

El proceso de especializacin se caracteriza por las diferencias de los subtipos y alguna instancia del supertipo puede no ser instancia de ningn subtipo.

4.3.2 Notacin 4La generalizacin o especializacin se representa con un triangulo, en la figura 4.2, representa que Secretario es un tipo de Empleado, de igual forma Gerente y Comercial son tipos de Empleados.Figura 4.2 Notacin de generalizacin

EMPLEADO

SECRETARIO

GERENTE

COMERCIAL

4.3.3 Subtipo y SupertipoEn una relacin de generalizacin, el subtipo es un tipo de entidad que agrupa a las instancias dentro de otro tipo de entidad, llamado supertipo, que debe representarse explcitamente debido a su importancia para el diseo o aplicacin Ejemplos: Los Subtipos de VEHCULO son: CAMIN, TURISMO, AUTOBS y CICLOMOTOR. Los Subtipos del tipo de entidad EMPLEADO son: SECRETARIO, GERENTE COMERCIAL El supertipo es el tipo de entidad que se especializa en otros o se generaliza de otros. En los ejemplos anteriores VEHCULO y EMPLEADO son supertipo. La extensin o conjunto de entidades de un subtipo es un subconjunto de la extensin del supertipo. Es decir, una instancia o entidad de un subtipo tambin es instancia del supertipo y es la misma instancia, pero con un papel especfico distinto. Una instancia no puede existir slo por ser miembro de un subtipo: tambin debe ser miembro del supertipo. Una instancia del supertipo puede no ser miembro de ningn subtipo. En la figura 4.3 se muestra tres subtipos de vehculo, pero pueden existir otros tipos que no estn representados, por ejemplo AUTO.

4

La notacin Chen que utilizamos, en esta leccin, se basa en De Miguel (1999).

31

Modelado y Diseo de Base de datos

Csar Luza Montero

Figura 4.3 Supertipo Vehculo y subtipos Camin, Turismo y Ciclomotor

4.3.4 Herencia de tipoEn la generalizacin, un subtipo puede tener atributos propios (especficos) y participar en relaciones por separado. Un subtipo hereda todos los atributos del supertipo, y toda relacin en la que participa el supertipo. Un subtipo, con sus atributos y relaciones especficos, ms los atributos y relaciones que hereda del supertipo, es un tipo de entidad por derecho propio. En la figura 4.4, se muestra un ejemplo de subtipos con atributos propios y relaciones independientes.Figura 4.4 Subtipos con atributos propios y relaciones independientesNmero (1,1) Fabricado FABRICANTE

Precio

VEHICULO (0,1) ISA 1 (0,1) (0,1) TURISM O

(1,n)

(0,1) BICICLETA (1,1) ID lle v a

(0,1) SIDECAR

CAM ION

NumEjes

NumPuertas

4.3.5 Restricciones de definicinEn el modelado de generalizacin o especializacin algunas veces es importante definir que instancias del supertipo pertenecen a cada subtipo, esto se conoce como Restriccin de definicin. Por ejemplo, en la figura 4.5, se utiliza un atributo del supertipo: claseTrabajo, para discriminar la que subtipo pertenecen las instancias del supertipo. Una instancia del supertipo Empleado_Hospital, segn el valor que tome el atributo claseTrabajo, ser pertenecer a Medico, Celador, Enfermero o Limpiador. El atributo claseTrabajo se conoce como Atributo Discriminante.Figura 4.5 Ejemplo de atributo discriminante

32

Modelado y Diseo de Base de datos

Csar Luza Montero

4.3.6 Restricciones de Disyuncin y SolapamientoPermite determinar a cuntos subtipos puede pertenecer (a la vez) una instancia del supertipo dentro de una relacin de generalizacin. Los subtipos son disjuntos si una instancia del supertipo puede ser miembro de cmo mximo uno de los subtipos. En la figura 4.6 se representa a los subtipos disjuntos mediante un arco, significa que una instancia de VEHCULO puede ser pertenecer al subtipo Turismo o Camin, pero no a ambas.

Figura 4.6 Ejemplo de Disyuncin

Los Subtipos son solapados si una instancia del supertipo puede ser, a la vez, miembro de ms de un subtipo. Es la opcin por defecto. En la figura 4.7, una instancia de Persona puede pertenecer a Empleado y a estudiante a la vez.Figura 4.7 Ejemplo de Solapamiento

4.3.7 Restricciones de Completitud y ParcialidadPermite determinar si toda instancia del supertipo debe pertenecer a algn subtipo en la relacin de generalizacin. La Especializacin total (completa) indica que toda instancia del supertipo tambin debe ser instancia de algn subtipo. En la figura 4.8, todas las instancias del supertipo Animal, pertenecen a algn subtipo; es decir, un animal es macho o es hembra o es hermafrodita. La totalidad se representa con el pequeo crculo cerca del supertipo.Figura 4.8 Ejemplo de Completitud

33

Modelado y Diseo de Base de datos

Csar Luza Montero

La Especializacin parcial indica que es posible que alguna instancia del supertipo no pertenezca a ninguno de los subtipos. Es la opcin por defecto. La unin de las extensiones de los subtipos no es la extensin del supertipo en su totalidad. En la figura 4.9, existen algunas instancias del supertipo Alimento que no pertenecen a ninguno de los subtipos representados.Figura 4.9 Ejemplo de Parcialidad

34

Modelado y Diseo de Base de datos

Csar Luza Montero

Leccin 5 Proceso de Construccin de un MEREl proceso de construccin de un MER corresponde a la fase de Diseo Conceptual de una base de datos. El artefacto de entrada para el diseo conceptual es la especificacin de requerimientos de informacin obtenidos del mundo real (dominio de la aplicacin o del negocio). El artefacto de salida del diseo conceptual se conoce como esquema conceptual (un ejemplo es el modelo entidad-relacin). Se pueden considerar las siguientes actividades para el proceso de construccin de un MER (Diseo Conceptual): Identificar tipo de entidades, Identificar atributos para cada tipo de entidad, identificar tipos de relaciones, determinar identificadores y entidades dbiles, determinar jerarquas de generalizacin, y finalmente, revisar el modelo.

5.1

Identificar Tipos de Entidades

Para identificar los tipos de entidad, es muy importante considerar el contexto o dominio del problema descrito en la especificacin de requerimientos de informacin. En general, se puede seleccionar como tipo de entidad los nombres o sustantivos que aparecen en la especificacin de requerimiento, por ejemplo Cliente, Aula, Alumno. Se sugiere, tambin, seleccionar objetos importantes como personas, lugares o conceptos de inters, excluyendo aquellos nombres que slo son propiedades de otros objetos, por ejemplo, se pueden agrupar el nmero de empleado y el nombre de empleado en un tipo de entidad denominada Empleado, y agrupar nmero de inmueble, direccin del inmueble y nmero de habitaciones en otro tipo de entidad denominada Inmueble. Una de las decisiones cruciales del diseo conceptual es determinar si un objeto o concepto se modela como un tipo de entidad o no. Por ejemplo, el color es habitualmente un atributo de una entidad (color de un auto), pero en una fbrica de pinturas probablemente sera apropiado modelar el color como una entidad con sus propios atributos. No siempre es obvio saber si un objeto es una entidad, una relacin o un atributo. Por ejemplo cmo se podra clasificar matrimonio? Pues de cualquiera de las tres formas. El anlisis es subjetivo, por lo que distintos diseadores pueden hacer distintas interpretaciones, aunque todas igualmente vlidas. Todo depende de la opinin y la experiencia de cada uno. Los diseadores de bases de datos deben tener una visin selectiva y clasificar las cosas que observan dentro del contexto de la empresa u organizacin. A partir de unas especificaciones de usuario es posible que no se pueda deducir un conjunto nico de entidades, pero despus de varias iteraciones del proceso de anlisis, se llegar a obtener un conjunto de entidades que sean adecuadas para el sistema que se ha de construir.

5.2

Identificar Atributos

Para identificar atributos, al igual que con las entidades, se buscan nombres en las especificaciones de requisitos. Son atributos los nombres que identifican propiedades, cualidades, identificadores o caractersticas de entidades o relaciones.

35

Modelado y Diseo de Base de datos

Csar Luza Montero

Otra forma sencilla para identificar atributos es preguntarse qu informacin se quiere saber de cada entidad? La respuesta a esta pregunta se debe encontrar en las especificaciones de requisitos. Cuando se estn identificando los atributos, se puede descubrir alguna entidad que no se ha identificado previamente, por lo que hay que volver al principio introduciendo esta entidad y viendo si se relaciona con otras entidades.

5.3

Identificar Tipos de relaciones

Para identificar los tipos de relaciones se suelen buscar las expresiones verbales (por ejemplo: oficina tiene empleados, empleado gestiona inmueble, cliente visita inmueble). Si las especificaciones de requisitos reflejan estas relaciones es porque son importantes para la empresa y, por lo tanto, se deben reflejar en el esquema conceptual. Slo interesan las relaciones que son necesarias. En el ejemplo anterior, se han identificado las relaciones empleado gestiona inmueble y cliente visita inmueble. Se podra pensar en incluir una relacin entre empleado y cliente: empleado atiende a cliente, pero observando las especificaciones de requisitos no parece que haya inters en modelar tal relacin. La mayora de las relaciones son binarias (entre dos entidades), pero no hay que olvidar que tambin puede haber relaciones en las que participen ms de dos entidades, as como relaciones recursivas. Una vez identificadas todas las relaciones, hay que determinar la cardinalidad mnima y mxima con la que participa cada entidad en cada una de ellas. Si la relacin es de muchos a muchos es importante asegurarse si tiene o no atributos. De este modo, el esquema representa de un modo ms explcito la semntica de las relaciones.

5.4

Determinar Identificadores y Entidades dbiles

Cada entidad tiene al menos un identificador. En este paso, se trata de encontrar todos los identificadores de cada una de las entidades. Los identificadores pueden ser simples o compuestos. De cada entidad se escoger uno de los identificadores como clave primaria en la fase del diseo lgico. Cuando se determinan los identificadores es fcil darse cuenta de si una entidad es fuerte o dbil. Si una entidad tiene al menos un identificador, es fuerte (otras denominaciones son padre, propietaria o dominante). Si una entidad no tiene atributos que le sirvan de identificador, es dbil (otras denominaciones son hijo, dependiente o subordinada)..

5.5

Determinar Jerarquas de Generalizacin

En este paso hay que observar los tipos de entidades que se han identificado hasta el momento. Si es necesario reflejar las diferencias entre distintas ocurrencias de un tipo sw entidad, con lo que surgirn nuevos subtipos de esta entidad genrica; o bien, si hay entidades que tienen caractersticas en comn y que realmente son subtipos de una nueva entidad genrica.

5.6

Revisar el Esquema Conceptual

Antes de finalizar el diseo conceptual, se debe revisar el esquema conceptual con el usuario. Este esquema est formado por el diagrama entidad-relacin y toda la documentacin que describe el esquema. Si se encuentra alguna anomala, hay que corregirla haciendo los cambios oportunos, por lo que posiblemente haya que repetir alguno de los pasos anteriores.

36

Modelado y Diseo de Base de datos

Csar Luza Montero

Este proceso debe repetirse hasta que se est seguro de que el esquema conceptual es una fiel representacin de la parte de la empresa que se est tratando de modelar.

5.7

Casos de ejemplo

5.7.1 Empresa de alquiler de autosUn determinado cliente, cuyos datos importantes son Cdigo y Nombre, puede tener en un momento dado varias reservas. Una reserva la realiza un nico cliente y solo puede involucrar a un auto. Un auto puede tener varias reservas en un determinado periodo de tiempo. Es importante registrar el nmero de orden de la reserva, la fecha de comienzo de reserva y la de terminacin. Todo automvil, que se identifica por su nmero de placa, tiene siempre asignado un determinado garaje, que no puede cambiar. El Garaje se describe por su direccin y capacidad. Cada reserva se realiza en una determinada agencia. De la agencia se necesita su cdigo y direccin. En la base de datos pueden existir clientes que no hayan hecho ninguna reserva. Es importante saber si un automvil est reservado o no en un momento determinado. Se pide elaborar el MER correspondiente Solucin: Identificando EntidadesFigura 5.1 Tipos de EntidadesCLIENTE RESERVA AUTO

AGENCIA

GARAJE

Identificando Atributos:

Figura 5.2 Atributos de Entidades

DNI

NOMBRE

NUMERO

FECHA_INICIO

FECHA_FIN

NRO_PLACA

CLIENTE CODIGO DIRECCION

RESERVA

AUTO

DIRECCION

CAPACIDAD

AGENCIA

GARAJE

37

Modelado y Diseo de Base de datos Identificando Tipos de Relaciones y agregando cardinalidades:

Csar Luza Montero

Figura 5.3 Modelo ER completoNUMERO DNI NOMBRE (1,1) FECHA_INICIO FECHA_FIN (0,n) (0,n)

CLIENTE

REALIZA

RESERVA (0,n)

INVOLUCRA REALIZADA (1,1) CODIGO AUTO (1,1) AGENCIA (0,n) NRO_PLACA

ASIGNADO DIRECCION (1,1) CAPACIDAD DIRECCION GARAJE

En la siguiente figura 5.3, se muestra el mismo MER con notacin IEFigura 5.3 Modelo ER completo con Notacin IECLIENTE DNI NOMBRE RESERVAREALIZA

NUMERO FECHA_INICIO FECHA_FIN

REALIZADA

INVOLUCRA

AGENCIA CODIGO DIRECCION

AUTO PLACA

ASIGNADO

GARAJE DIRECCION_GARAJ CAPACIDAD

38

Modelado y Diseo de Base de datos

Csar Luza Montero

5.7.2 Gestin de Trnsito VehicularLa Polica de Trnsito de un determinado pas, dividido en Demarcaciones, desea un mejor control de la gestin vehicular, en especial en lo que se refiere a las multas y accidentes. Las Demarcaciones se identifican por su cdigo y tienen un nombre; adems, se requiere los datos actuales referentes a su nmero de habitantes, nmero de vehculos y nmero de conductores con carnet. Un vehculo viene identificado por su matrcula (que consta del cdigo de la demarcacin correspondiente, y de un nmero correlativo dentro de la demarcacin). Supondremos que la matrcula no cambia por ningn concepto. En un momento determinado, un vehculo tiene un nico propietario, que puede ir cambiando en sucesivas ventas. Interesa, en los diferentes momentos de cada compra, su kilometraje (0, si es nuevo), y su estado de conservacin (valorado de A hasta E, en sentido decreciente). Tanto las multas como los accidentes se producen en una demarcacin determinada, y una consulta que se estima ser frecuente es la de conocer las multas o los accidentes que se han producido en una fecha determinada, o bien en un intervalo determinado. Las multas y accidentes son identificados por un nmero dentro de cada demarcacin. De un accidente interesa saber la hora y el lugar donde se ha producido, as como el/los vehculos, que se hayan visto involucrados, y tambin el/los ciudadanos afectados. De estos ltimos, queremos saber si eran o no conductores en el accidente, y tambin el dao fsico recibido, que se calificar de 1 a 5, segn la gravedad, significando 1 que ha resultado muerto. De los vehculos anotaremos el estado en que han quedado, valorado de 1 a 5, significando aqu 1 que no ha habido daos. Las multas se ponen a un vehculo y a su propietario correspondiente, y especifican el lugar, el tipo de infraccin (como por ejemplo, exceso de velocidad), el importe, etc. Como que muchas veces el polica no podr pedir documentaciones (caso de multas de aparcamiento, radar, etc.), ser la base de datos la que conseguir los datos del propietario, haciendo un clculo apropiado.

SOLUCINDEMARCACION CODIGO NOMBRE NUM_HABITANTES NUM_VEHICULOS NUM_CONDUCTORESSE_PRODUCE

INCIDENTETRANSITO NUMERO FECHA HORA LUGAR

MULTA TIPO_INFRACCION IMPORTE

ACCIDENTE ESTADO_VEHICULOAFECT A

CIUDADANO IDENTIFICACION DAO_FISICO IND_CONDUCTOR_SN

APLICADA

INVOLUCRA

VEHICULOREGIST RA

MATRICULA

VENDIDO DUEO_ACT UAL

PROPIETARIO NUM_TARJETA_PROPCOMPRADO

VENTA KILOMETRAJE ESTADO_CONSERVACION

39

Modelado y Diseo de Base de datos

Csar Luza Montero

ResumenUn MER es un modelo conceptual, basado en Tipos de entidad, Tipos de relacin y atributos. Sus extensiones consideran entidades dbiles, generalizacin, etc. Una entidad es una persona, lugar, cosa, concepto o suceso, real o abstracto, de inters para la empresa. Un atributo es una propiedad de la entidad. Un tipo de entidad define un conjunto de entidades con los mismos atributos. Un atributo identificado permite distinguir una entidad de otra. Una relacin es una asociacin entre dos entidades. Un tipo de relacin es un conjunto de relaciones existentes entre entidades. El grado de una relacin es el numero de entidades que participa en la relacin Los roles ayudan a explicar el significado de una relacin, se usa relaciones unarias La razn de cardinalidad o tipo de correspondencia es una restriccin definida por el nmero mximo de instancias de un tipo de entidad que puede estar relacionada con una instancia del otro tipo de entidad asociada. Puede ser: uno a uno, uno a muchos y muchos a muchos. Un atributo de una relacin es propio de la relacin. La Razn de Participacin o cardinalidad mnima y mxima de una relacin, son los nmeros mnimo y mximo de instancias de tipo de relacin en las que puede intervenir una instancia del tipo de entidad participante. Una entidad dbil es aquella que no tiene atributo identificador propio. Su existencia depende de otra entidad (fuerte) que la posee y la identifica inequvocamente. La generalizacin es una relacin entre un tipo de entidad (padre) y varios otros tipos de entidad (hijos), donde la jerarqua o relacin que se establece entre uno y otros corresponde a la nocin de es_un o de es_un_tipo_de.

40

Modelado y Diseo de Base de datos

Csar Luza Montero

LecturaEl Lenguaje de Modelado Unificado UML (*)Los diagramas entidad-relacin ayudan a modelar el componente de representacin de datos de un sistema software. La representacin de datos, sin embargo, slo forma parte de un diseo completo de un sistema. Otros componentes son modelos de interaccin del usuario con el sistema, especificacin de mdulos funcionales del sistema y su interaccin, etc. El lenguaje de modelado unificado (UML, Unified Modeling Language) es un estndar propuesto para la creacin de especificaciones de varios componentes de un sistema software. Algunas de las partes de UML son: Diagrama de clase. Un diagrama de clase es similar a un diagrama E-R. Ms adelante en este apartado se mostrarn algunas caractersticas de los diagramas de clase y cmo se corresponden con los diagramas E-R. Diagrama de caso de uso. Los diagramas de caso de uso muestran la interaccin entre los usuarios y el sistema, en particular los pasos de las tareas que realiza el usuario (tales como prestar dinero o matricularse de una asignatura). Diagrama de actividad. Los diagramas de actividad describen el ujo de tareas entre varios componentes de un sistema. Diagrama de implementacin. Los diagramas de implementacin muestran los componentes del sistema y sus interconexiones tanto en el nivel del componente software como el hardware. Aqu no se intentar proporcionar un tratamiento detallado de las diferentes partes de UML. Vanse las notas bibliogrficas para encontrar referencias de UML. En su lugar se ilustrarn algunas caractersticas de UML mediante ejemplos. La Figura 2.28 muestra varios constructores de diagramas E-R y sus constructores equivalentes de los diagramas de clase UML. Ms abajo se describen estos constructores. UML muestra los conjuntos de entidades como cuadros y, a diferencia de E-R, muestra los atributos dentro del cuadro en lugar de como elipses separadas. UML modela realmente objetos, mientras que E-R modela entidades. Los objetos son como entidades y tienen atributos, pero adems proporcionan un conjunto de funciones (denominadas mtodos) que se pueden invocar para calcular valores en trminos de los atributos de los objetos, o para modificar el propio objeto. Los diagramas de clase pueden describir mtodos adems de atributos. Los conjuntos de relaciones binarias se representan en UML dibujando simplemente una lnea que conecte los conjuntos de entidades. Se escribe el nombre del conjunto de relaciones adyacente a la lnea. Tambin se puede especificar el papel que juega un conjunto de entidades en un conjunto de relaciones escribiendo el nombre del papel en un cuadro, junto con los atributos del conjunto de relaciones, y conectar el cuadro con una lnea discontinua a la lnea que describe el conjunto de relaciones. Este cuadro se puede tratar entonces como un conjunto de entidades, de la misma forma que una agregacin en los diagramas E-R puede participar en relaciones con otros conjuntos de entidades. La relaciones no binarias no se pueden representar directamente en UML .se deben convertir en relaciones binarias. Las restricciones de cardinalidad se especifican en UML de la misma forma que en los diagramas E-R, de la forma i..h, donde i denota el mnimo y h el mximo nmero de relaciones en que puede participar una entidad. Sin embargo, se debera ser consciente que la ubicacin de las restricciones es exactamente el inverso de la ubicacin de las restricciones en los diagramas E-R, como muestra la Figura 2.28. La restriccin 0..* en el lado E2 y 0..1 en el lado E1 41

Modelado y Diseo de Base de datos

Csar Luza Montero

significa que cada entidad E2 puede participar a lo sumo en una relacin, mientras que cada entidad E1 puede participar en varias relaciones; en otras palabras, la relacin es varios a uno de E2 a E1. Los valores como 1 o * se pueden escribir en los arcos; el valor 1 sobre un arco se trata equivalentemente como 1..1, mientras que * es equivalente a 0..*. La generalizacin y especializacin se representan en el diagrama E-R conectando conjuntos de entidades por una lnea con un tringulo al final correspondiente al conjunto de entidades ms general. Por ejemplo, el conjunto de entidades persona es una generalizacin de cliente y empleado. Los diagramas UML tambin pueden representar explcitamente las restricciones de generalizaciones disjuntas y solapadas. La Figura 2.28 muestra generalizaciones disjuntas y solapadas de cliente y empleado a persona. Recurdese que la generalizacin de cliente / empleado a persona es disjunta, y significa que ninguna entidad puede ser a la vez un cliente y un empleado. Una generalizacin solapada permite que una persona sea tanto cliente como empleado.

(*)Korth (2002, pp.46-47)

42

Modelado y Diseo de Base de datos

Csar Luza Montero

ActividadesElaborar el MER para los siguientes casos 1. Empresa de venta de productosUna empresa vende productos a varios clientes. Se necesita conocer los datos personales de los clientes: DNI, nombre, apellidos, direccin y fecha de nacimiento. Cada producto tiene un cdigo y un nombre as como un precio unitario. Un cliente puede comprar varios productos a la empresa, y un mismo producto puede ser comprado por varios clientes. Se debe tener en cuenta que un producto solo puede ser suministrado por un proveedor, y que un proveedor puede suministrar diferentes productos. De cada proveedor se desea conocer el RUC, nombre y direccin.

2. Institucin EducativaSe desea elabora una base de datos para el administrador de una institucin educativa, que brinda cursos de informtica, quien manifiesta lo siguiente: Enseamos muchos cursos, cada uno de los cuales tiene un cdigo, un nombre y un precio. Dos de nuestros cursos ms populares son: Introduccin a Internet y Programacin Java. Los cursos se dictan entre uno a cuatro das. Un instructor puede ensear varios cursos. Registramos el nombre y nmero de telfono de los profesores. Cada curso es enseado por slo un instructor. Creamos un curso y luego le asignamos un profesor. Los estudiantes pueden tomar varios cursos a la vez, y muchos de ellos lo hacen. Tambin registramos el nombre y telfono de cada estudiante. Algunos de nuestros estudiantes e instructores no nos dan sus nmeros telefnicos."

3. Empresa de venta de automvilesSe desea disear una base de datos para almacenar y gestionar la informacin empleada por una empresa dedicada a la venta de automviles, teniendo en cuenta los siguientes aspectos: La empresa dispone de una serie de coches para su venta. Se necesita conocer la matrcula, marca y modelo, el color y el precio de venta de cada coche. Los datos que interesa conocer de cada cliente son el DNI, nombre, direccin, ciudad y nmero de telfono: adems, los clientes se diferencian por un cdigo interno de la empresa que se incrementa automticamente cuando un cliente se da de alta en ella. Un cliente puede comprar tantos coches como desee a la empresa. Un coche determinado solo puede ser comprado por un nico cliente. El concesionario tambin se encarga de llevar a cabo las revisiones que se realizan a cada coche. Cada revisin tiene asociado un cdigo que se incrementa automticamente por cada revisin que se haga. De cada revisin se desea saber si se ha hecho cambio de filtro, si se ha hecho cambio de aceite, si se ha hecho cambio de frenos u otros. Los coches pueden pasar varias revisiones en el concesionario.

4. Compaa de VideosSoy el propietario de una pequea tienda de videos. Tenemos alrededor de 3.000 cintas de las cuales necesitamos mantener su estado. Cada uno de nuestras cintas tiene un nmero de identificacin. Para cada pelcula, necesitamos conocer su ttulo y categora (comedia, suspenso, drama, accin, guerra, etc.)Tenemos mltiples copias de muchas de nuestras pelculas. A cada pelcula le asignamos un identificador y le asociamos la cinta que la contiene. Una cinta puede ser formato Beta o VHS. Siempre tenemos al menos una cinta para cada pelcula que nosotros rastreamos, y cada cinta es siempre una copia de una nica pelcula. Nuestras cintas son de larga duracin y no tenemos pelculas que requieran mltiples cintas. Frecuentemente nos preguntan por pelculas con actores populares especficos. As que deseamos registrar las pelculas donde estn los actores de moda. No todas nuestras pelculas tienen actores famosos o de moda. Clientes desean conocer de cada actor su nombre real y fecha de cumpleaos. Slo registramos los actores que aparecen en pelculas de nuestro inventario.

43

Modelado y Diseo de Base de datos

Csar Luza Montero

Tenemos cientos de clientes. Slo arrendamos videos a gente asociada a nuestro video-club. Para cada socio, registramos su nombre, apellido, telfono, direccin. Y, por supuesto cada socio tiene su nmero de socio. Luego, necesitamos conocer que cinta ha retir