Está en la página 1de 48

Diseo conceptual

Diseo de bases de datos

berzal@acm.org

Documento de especificacin del sistema


1. 2. 3. 4. 5. 6. 7. 8.

Definicin del problema Descripcin funcional Restricciones Diagramas de flujo de datos Modelo de datos Diccionario de datos Casos de uso Documentos adicionales
1

berzal@acm.org

Herramientas de especificacin
Durante el desarrollo de un sistema de informacin, se han de modelar tanto los datos empleados por el sistema como los procesos que realizan tareas sobre esos datos: Modelado de datos Representacin grfica del modelo de datos Diccionario de datos Modelado de procesos Diagramas de flujo de datos Diagramas de estados (autmatas finitos) Casos de uso

berzal@acm.org

El modelo entidad/relacin
Tcnica de anlisis basada en la identificacin de las entidades y de las relaciones que se dan entre ellas en la parte de realidad que pretendemos modelar. Existen notaciones alternativas para la representacin grfica del diseo conseguido mediante la tcnica de anlisis que propone el modelo E/R:
Diagramas E/R Diagramas UML (Lenguaje Unificado de Modelado) Diagramas CASE*Methodo CASE*Methodo Diagramas ORM (Object-Role Modeling) (ObjectModeling) Diagramas IDEF1X

berzal@acm.org

El modelo entidad/relacin
Elementos del modelo E/R Entidades (conceptos de inters): inters): Objetos, reales o abstractos, distinguibles de otros objetos. Al grupo de entidades con cualidades similares acerca de los cuales se almacena informacin se le denomina tipo (o, simplemente, conjunto de entidades).
p.ej. Un libro concreto o un escritor.
4

berzal@acm.org

El modelo entidad/relacin
Elementos del modelo E/R Atributos (caractersticas de las entidades) Propiedades asociadas a un conjunto de entidades. Mediante los atributos representamos las propiedades de los objetos de nuestro inters. Para cada atributo, existe un conjunto de valores permitidos llamado dominio. dominio.
p.ej. Del libro: Del escritor: Ttulo, ISBN, edicin, nmero de pginas Nombre, apellidos, fecha de nacimiento

berzal@acm.org

El modelo entidad/relacin
Elementos del modelo E/R Relaciones (conexiones o asociaciones): asociaciones): Conexiones semnticas entre conjuntos de entidades.

p.ej. Relacin entre los escritores y los libros que han escrito.
6

berzal@acm.org

El modelo entidad/relacin
Preparacin de un modelo entidad/relacin:
1.

Identificacin de las entidades. Identificacin de las relaciones. Identificacin de los atributos. Revisin.
7

2.

3.

4.

berzal@acm.org

El modelo entidad/relacin
Preparacin de un modelo entidad/relacin:
En la etapa de diseo lgico de la base de datos, se proceder a la normalizacin de la base de datos. Intuitivamente, 1NF 2NF 3NF Todos los atributos de una relacin toman valores atmicos. Todos los atributos de una relacin dependen funcionalmente de las claves candidatas de la relacin (y no de partes de ellas). El valor de un atributo no puede determinarse a partir de los valores de otros atributos que no formen una clave candidata.
8

berzal@acm.org

El modelo entidad/relacin
Ejemplo: Requerimientos (restricciones semnticas)
Los alumnos se matriculan de varias asignaturas (al menos una). Una asignatura puede tener varios alumnos matriculados. Todo profesor pertenece a un departamento concreto. Todo departamento debe tener un director, que es un profesor. Un profesor puede impartir varios grupos de la misma asignatura (o de asignaturas diferentes). Un grupo de una asignatura ha de estar impartido, al menos, por un profesor. Las clases de cada asignatura se imparten en das, horas y aulas determinadas. Los atributos de cada entidad son los habituales.

berzal@acm.org

El modelo entidad/relacin
Ejemplo: Identificacin de entidades, atributos y relaciones

Entidades

Asignatura Alumno

Profesor

Departamento

Aula

Grupo

Atributos

ID Nombre Crditos Carcter Curso

DNI Nombre Direccin E-mail

NRP Nombre Categora rea

ID Nombre

ID Capacidad

ID Tipo

10

berzal@acm.org

El modelo entidad/relacin
Ejemplo: Identificacin de entidades, atributos y relaciones
Relacin se matricula en ensea impartida en asignada a pertenece a dirige Entidades participantes Alumno Grupo Profesor Grupo Asignatura Grupo Aula Grupo Profesor Departamento Profesor Departamento Cardinalidad N:M N:M 1:N N:M N:1 1:1 Atributos Calificacin

Da, hora

11

berzal@acm.org

El modelo entidad/relacin
Ejemplo: Diagrama entidad/relacin (notacin tradicional)

12

berzal@acm.org

El modelo entidad/relacin
Ejemplo: Diagrama entidad/relacin (notacin UML)

13

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Tipo de entidad Grupo de objetos que tienen las mismas propiedades y que en la organizacin para la que va a servir la BD tienen una existencia independiente, bien sea fsica o abstracta. Notacin

Asignatura

Grupo

Alumno

14

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Tipo de relacin Asociacin que se establece entre tipos de entidad para representar un conjunto de relaciones que se establecen entre las ocurrencias de esos tipos de entidades. Notacin E/R clsico UML
15

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Caractersticas de las relaciones Grado: Nmero de tipos de entidades que participan en la conexin. Cardinalidad: Cardinalidad: Nmero de elementos de un tipo que se conectan con un elemento de otro (restriccin que se observa en el dominio del problema y que controla las ocurrencias de las relaciones).
En el caso de las relaciones binarias (grado 2): Relaciones muchos a muchos (n:m) Relaciones uno a muchos (1:m) Relaciones uno a uno (1:1)

16

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Cardinalidad mxima de una relacin Relacin uno a uno

E/R clsico

Notacin UML
17

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Cardinalidad mxima de una relacin Relacin muchos a uno

E/R clsico

Notacin UML
18

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Cardinalidad mxima de una relacin Relacin muchos a muchos

E/R clsico

Notacin UML
19

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Cardinalidad mnima de una relacin La notacin UML permite especificar la cardinalidad mnima de una relacin (p.ej. su obligatoriedad).

Relacin opcional Un cliente puede o no ser titular de una cuenta

Relacin obligatoria Una cuenta ha de tener un titular como mnimo

20

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Relaciones involutivas Relaciones de un tipo consigo mismo

E/R clsico

Notacin UML

* Empleado dirige

21

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Relaciones n-arias nEl grado de una relacin no tiene por qu ser siempre 2. Pueden existir relaciones ternarias, cuaternarias

22

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Relaciones n-arias nEn la prctica, a menudo se reemplaza una relacin n-aria por nuevo tipo de entidad y un conjunto de relaciones binarias:
Estudiante

Libro

Prstamo

Biblioteca

23

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Agregaciones para expresar relaciones entre relaciones o relaciones entre relaciones y conjuntos de entidades.

24

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Agregaciones En la prctica, tambin se pueden eliminar si creamos un nuevo tipo de entidad que represente la relacin que dio lugar a la agregacin:

25

berzal@acm.org

El modelo entidad/relacin
Representacin grfica del modelo E/R Atributos Propiedades que caracterizan a las ocurrencias de un tipo de entidad o de un tipo de relacin.

E/R clsico

Notacin UML

Profesor NRP Nombre Categora rea

26

berzal@acm.org

El modelo entidad/relacin
Atributos Tipos de atributos Atributos compuestos vs. Atributos simples (atmicos) Los atributos compuestos se pueden dividir en componentes ms pequeos con significado propio p.ej. direccin = calle + municipio + CP + provincia Atributos monovaluados vs. Atributos multivaluados Un atributo monovaluado tiene un nico valor para una entidad particular.
27

berzal@acm.org

El modelo entidad/relacin
Atributos Tipos de atributos Atributos almacenados vs. Atributos derivados p.ej. la edad de una persona [atributo derivado] se puede calcular (derivar) de su fecha de nacimiento [atributo almacenado], que es lo que almacenaremos en la base de datos.

28

berzal@acm.org

El modelo entidad/relacin
Atributos Claves Conjuntos de atributos que permiten identificar unvocamente a una entidad dentro de un conjunto de entidades.

p.ej.

Del libro: Del escritor:

ISBN (nombre, apellidos, fecha de nacimiento)


29

berzal@acm.org

El modelo entidad/relacin
Claves Superclave: Superclave: Conjunto de atributos que permite identificar unvocamente a una entidad dentro de un conjunto de entidades. Clave candidata: candidata: Superclave con un nmero mnimo de atributos. Clave primaria: Clave candidata elegida por el primaria: diseador de la base de datos para identificar unvocamente a las distintas entidades de un tipo. Clave alternativa: Cualquiera de las claves alternativa: candidatas no elegidas por el diseador de la base de datos.

30

berzal@acm.org

El modelo entidad/relacin
Claves Ejemplos Profesor {Nombre} no es una clave {NRP} es una clave candidata {NRP, Nombre} es una superclave {Nombre, Despacho} podra serlo (o no?) {Ttulo} no es una clave {Ttulo, gnero, ao} podra serlo {Ttulo, director, ao} es una clave
31

Pelcula

berzal@acm.org

El modelo entidad/relacin
Claves de una relacin
Las claves nos permiten diferenciar entre s las distintas entidades concepto que podramos aplicar de la siguiente forma a las relaciones: Las claves de las relaciones vienen definidas por las claves de las entidades relacionadas: Relaciones muchos a muchos (N:M): La clave primaria ser la unin (N:M): de las claves primarias de las entidades participantes en la relacin. Relaciones uno a muchos (1:N): La clave primaria de la entidad que (1:N): interviene en la relacin con aridad N. Relaciones uno a uno (1:1): Las claves primarias de las entidades (1:1): participantes son claves candidatas de la relacin entre entidades.
32

berzal@acm.org

El modelo entidad/relacin
Entidades fuertes y entidades dbiles Un tipo de entidad es fuerte si la existencia de sus ocurrencias no depende de ningn otro tipo. En caso contrario, se dice que el tipo de entidad es dbil. Ejemplo
E/R clsico

Notacin UML
33

berzal@acm.org

El modelo entidad/relacin
Entidades fuertes y entidades dbiles Dependencia existencial Si se elimina una ocurrencia del tipo de entidad fuerte, habr que eliminar las ocurrencias del tipo de entidad dbil que dependen de ella.
Ejemplo

Un apunte (entidad dbil) slo puede existir asociado a una cuenta (entidad fuerte): Si eliminamos una cuenta, sus apuntes han de desaparecerde la base de datos (si no, tendramos apuntes que corresponderan a una cuenta que no existe).

34

berzal@acm.org

El modelo entidad/relacin
Entidades fuertes y entidades dbiles Claves primarias La entidad dbil no tiene suficientes atributos propios para formar una clave primaria: La clave primaria de la entidad dbil incluye a la clave primaria de la entidad fuerte de la que depende existencialmente. Clave primaria entidad dbil = Clave primaria entidad fuerte + Discriminante
p.ej. {CCC} es la clave primaria de la entidad fuerte Cuenta {CCC, Nmero} es la clave primaria de la entidad dbil Apunte

35

berzal@acm.org

El modelo entidad/relacin
Relaciones de especializacin y generalizacin Supertipo: Supertipo: Tipo de entidad que incluye uno o ms subgrupos distintos de ocurrencias que deben ser representados en el modelo de datos. Subtipo: Subtipo: Cada uno de los subgrupos de ocurrencias de un tipo de entidad que se han de representar en el modelo de datos.
36

berzal@acm.org

El modelo entidad/relacin
Relaciones de especializacin y generalizacin Especializacin: Especializacin: Proceso de extraer diferencias entre las ocurrencias de un tipo de entidad para distinguir los subtipos que lo forman. Generalizacin: Generalizacin: Proceso de encontrar la parte comn de las ocurrencias de distintos tipos de entidad para extraer el supertipo que los engloba.
37

berzal@acm.org

El modelo entidad/relacin
Relaciones de especializacin: Relaciones ES-UN ESRelaciones que se establecen en un diagrama E/R entre un supertipo y sus subtipos:

Notacin tradicional

Notacin UML

38

berzal@acm.org

El modelo entidad/relacin
Relaciones de especializacin Atributos y claves

Los subtipos heredan los atributos de los supertipos: supertipos: Los subtipos poseen todos los atributos del supertipo ms algunos propios. La clave primaria de los subtipos es la clave primaria del supertipo. supertipo.

39

berzal@acm.org

El modelo entidad/relacin
Relaciones de especializacin Restricciones

Participacin: Participacin: Determina si un miembro de la superclase debe obligatoriamente ser un miembro de una subclase. Exclusividad: Exclusividad: Determina si un miembro de una subclase puede ser, a la vez, miembro de otras subclases.

40

berzal@acm.org

Diccionario de datos

Descripcin escrita de los datos almacenados en la base de datos (y de las restricciones de integridad que sean aplicables).

p.ej. Descripcin de entidades, atributos y relaciones Especificacin del dominio de cada atributo Identificacin de atributos derivados

41

berzal@acm.org

Diccionario de datos
El diccionario de datos puede organizarse: Como un glosario para que sirva de referencia: Lista de trminos ordenada alfabticamente en la que cada trmino aparece definido formalmente, con referencias cruzadas entre trminos. Como complemento al modelo de datos, en cuyo datos, caso ha de recoger, aparte de la informacin que ya aparece plasmada en el diagrama correspondiente, todo lo que no se incluye en el diagrama (ya sea para facilitar su legibilidad o, simplemente, porque no puede representarse en l).

42

berzal@acm.org

Diccionario de datos
Plantilla para entidades
Entidad X ALIAS (si los hubiera) Descripcin de la entidad Atributo Descripcin del atributo [Dominio del atributo] [Atributo opcional (nullable?)] [Atributo derivado: Algoritmo de derivacin]

Claves candidatas Restricciones adicionales (entre atributos de una misma entidad)


43

berzal@acm.org

Diccionario de datos
Plantilla para relaciones
Relacin Y ALIAS (si los hubiera) Descripcin de la relacin ENTIDADES INTERVINIENTES Entidad Cardinalidad Rol

ATRIBUTOS ESPECFICOS DE LA RELACIN (si los hubiera) Atributo Descripcin

44

berzal@acm.org

Diccionario de datos
Ejemplo
Entidad ASIGNATURA Alias: MATERIA Asignaturas impartidas en el centro Atributo ID Nombre Plan Crditos CT CP Carcter Curso Descripcin del atributo Cdigo oficial de la asignatura Nombre completo de la asignatura Plan de estudios al que pertenece la asignatura Nmero de crditos de la asignatura (atributo derivado) Nmero de crditos de teora Nmero de crditos de prcticas Tipo de asignatura (troncal, obligatoria, optativa) Curso del plan de estudios en el que est incluida la asignatura

Claves candidatas ID (Plan, Nombre) Restricciones adicionales Crditos = CT + CP 1 <= Curso <= Nmero de cursos del plan de estudios

45

berzal@acm.org

Diccionario de datos
Ejemplo
Relacin ASIGNADA A Asignacin de aulas a grupos ENTIDADES Entidad Grupo Aula
INTERVINIENTES

Cardinalidad * *

Rol Grupo de una asignatura Aula asignada al grupo

ATRIBUTOS ESPECFICOS DE LA RELACIN Atributo Descripcin Da Da de la semana (L, M, X, J, V) Hora Hora (HH:00) Fecha_inicio Fecha inicial de uso del aula Fecha_final Finalizacin de la reserva del aula Restricciones Fecha_inicio Fecha_final (Fecha_inicio1 Fecha_inicio2) && (Fecha_final1 Fecha_inicio2) && (Aula1=Aula2) (Da1, Hora1) (Da2, Hora2)

46

berzal@acm.org

Bibliografa
C.J. Date: Introduccin a los sistemas de bases de datos. Prentice Hall, 2001 [7 edicin]. ISBN 968-444-419-2. 968-444-419Ramez A. Elmasri & Shamkant B. Navathe: Navathe: Fundamentos de Sistemas de Bases de Datos. Addison-Wesley, Addison-Wesley, 2007 [5 edicin]. ISBN 84-782-9085-0. 84-782-9085Thomas M. Connolly & Carolyn E. Begg: Begg: Sistemas de Bases de Datos Datos AddisonAddison-Wesley, 2005 [4 edicin]. ISBN 84-782-9075-3. edicin]. 84-782-9075Henry F. Korth, Abraham Silberschatz & S. Sudarshan: Korth, Sudarshan: Fundamentos de Bases de Datos. McGrawMcGraw-Hill, 2006 [5 edicin]. ISBN 84-481-4644-1. 84-481-4644Olga Pons, Nicols Marn, Juan Miguel Medina, Silvia Acid & M Amparo Vila: Introduccin a las Bases de Datos: El modelo relacional. Paraninfo, 2005. ISBN 8497323963

47

berzal@acm.org