You are on page 1of 22

Modelado de datos

Fundamentos de diseo de bases de datos

Modelado de datos
Representacin de datos Modelos de datos Modelos semnticos El modelo entidad/relacin Elementos del modelo E/R: Entidades, atributos, claves y relaciones Representacin grfica del modelo E/R: Diagramas entidad/relacin y notacin UML Claves Entidades fuertes y entidades dbiles Especializacin y generalizacin

Modelado de datos
Representacin de datos Representacin lgica Tabla Fila Columna Representacin fsica Modelo relacional

Archivo secuencial Relacin Registro Campo Tupla Atributo


2

Modelado de datos
Representacin de datos tems/Entidades/Objetos [sustantivos]: Objetos que existen en el mundo y que son distinguibles de otros (un libro, un autor, un tema...). Atributos [adjetivos]: Propiedades asociadas a un conjunto de entidades (ISBN, nombre). Relaciones/Conexiones/Asociaciones [verbos]: Conexiones semnticas entre dos conjuntos de entidades (escribe, trata...).
3

Modelado de datos
Modelo de datos Mecanismo formal para representar y manipular informacin de manera general y sistemtica: Descripcin de datos. Operaciones. Reglas de integridad.
4

Modelado de datos
Ejemplos de modelos de datos Modelos basados en grafos (en red y jerrquico) Modelo relacional Modelo multidimensional Modelos orientados a objetos Modelos lgicos

Modelado de datos
Ejemplo: Modelo relacional Descripcin de datos
Entidades y relaciones se representan en forma de tablas: Las tablas reciben el nombre de relacin. Las filas (tuplas) contienen datos sobre cada entidad. Las columnas corresponden a los atributos de las entidades.

Operaciones
Unin, interseccin, diferencia, producto cartesiano, seleccin, proyeccin, reunin.

Restricciones de integridad
Integridad de entidad e integridad referencial (mediante el uso de claves).
6

Modelado de datos
Ejemplo: Modelo relacional Proveedores
Cdigo S1 S2 S3 S4 S5 Nombre Juan Gmez Raquel Jimnez Pablo Fernndez Carmen Lpez Cristina Garca Ciudad Alicante Alicante Madrid Granada Madrid Peso 1.2 gr 1.7 gr 2.7 gr 1.4 gr 3.0 gr 1.0 gr

Piezas

Cdigo P1 P2 P3 P4 P5 P6

Nombre Tuerca Tornillo Tornillo Clavo Arandela Tuerca

Dimensiones 12 mm 10 mm 20 mm 25 mm 15 mm 10 mm

Modelado de datos
Ejemplo: Modelo relacional Relacin entre proveedores y piezas
CdigoProveedor S1 S1 S1 S1 S1 S1 S2 S2 S3 S4 S4 S4 CdigoPieza P1 P2 P3 P4 P5 P6 P1 P2 P2 P2 P4 P5 Cantidad 300 200 400 200 100 100 200 400 200 200 300 400

Modelado de datos
Ejemplo: Modelo entidad/relacin Entidades Atributos Proveedor Cdigo Nombre Ciudad Pieza Cdigo Nombre Dimensiones Peso suministra Proveedor-Pieza Muchos a muchos Cantidad
9

Relacin Entidades participantes Cardinalidad Atributos

Modelado de datos
Modelado semntico Consiste en estudiar los datos que se pretenden almacenar en la base de datos antes de elegir el modelo de datos concreto que se va a usar en la base de datos.

El modelado semntico permite separar el anlisis (qu?) del diseo (cmo?).

10

Modelado de datos
Ciclo de vida clsico (modelo en cascada)
Actividades realizadas en una organizacin concreta Datos operativos que se manejan en la organizacin Esquema conceptual de la base de datos (p.ej. modelo E/R) Modelo lgico de la base de datos (especfico del tipo de DBMS) Implementacin de la base de datos en un DBMS concreto

Anlisis

Diseo Implementacin

11

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. El modelo E/R permite representar de forma abstracta los datos que se pretenden almacenar en una base de datos. 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*Method CASE*Method

12

El modelo entidad/relacin
Elementos del modelo E/R Entidad: Entidad: Objeto, real o abstracto, distinguible 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.
13

El modelo entidad/relacin
Elementos del modelo E/R Atributo: Atributo: Propiedad asociada a un conjunto de entidades Mediante los atributos representamos las propiedades de los objetos. Para cada atributo hay un conjunto de valores dominio. permitidos llamado dominio.
p.ej. Del libro: Del escritor: Ttulo, ISBN, edicin, nmero de pginas Nombre, apellidos, fecha de nacimiento

14

El modelo entidad/relacin
Elementos del modelo E/R Clave: Conjunto de atributos que permite identificar unvocamente a una entidad dentro de un conjunto de entidades.

p.ej.

Del libro: Del escritor:

ISBN (nombre, apellidos, fecha de nacimiento)


15

El modelo entidad/relacin
Elementos del modelo E/R Relacin (conexin o asociacin): asociacin): Conexin semntica entre dos conjuntos de entidades.

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

El modelo entidad/relacin
Ejemplo de diseo: Base de datos de una Facultad 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 impartenen das, horas y aulas determinadas. Los atributos de cada entidad son los habituales.

17

El modelo entidad/relacin
Ejemplo de diseo: Base de datos de una Facultad 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

18

El modelo entidad/relacin
Ejemplo de diseo: Base de datos de una Facultad 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

19

El modelo entidad/relacin
Ejemplo de diseo: Base de datos de una Facultad Diagrama entidad/relacin (notacin tradicional)

20

El modelo entidad/relacin
Ejemplo de diseo: Base de datos de una Facultad Diagrama entidad/relacin (notacin UML)

21

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

22

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
23

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)

24

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

E/R clsico

Notacin UML
25

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

E/R clsico

Notacin UML
26

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

E/R clsico

Notacin UML
27

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

28

El modelo entidad/relacin
Representacin grfica del modelo E/R Relacin involutiva Relacin de un tipo consigo mismo

E/R clsico

Notacin UML

* Empleado dirige

29

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

30

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.

31

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
32

Pelcula

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.
33

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

Un apunte (entidad dbil) slo puede existir asociado a una cuenta (entidad fuerte).

34

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

Si eliminamos una cuenta, sus apuntes han de desaparecer de la base de datos (si no, tendramos apuntes que corresponderan a una cuenta que no existe).

35

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

36

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.
37

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.
38

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:

39

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.

40

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.

41

Bibliografa: Libros de texto


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

42

Bibliografa: Patrones de diseo


David C. Hay: Data Model Patterns: Conventions of thought. Dorset House Publishing, 1996. ISBN 0-932633-29-3. 0-932633-29Jim Arlow & Ila Neustadt: Enterprise Patterns and MDA. Neustadt: Building better software with archetype patterns and UML. Addison-Wesley, Addison-Wesley, 2003. ISBN 0-321-11230-X. 0-321-11230Martin Fowler: Analysis Patterns: Reusable object models. AddisonAddison-Wesley, 1996. ISBN 0-201-89542-0. 0-201-89542Pavel Hruby: Hruby: Model-Driven Design using Business Patterns. ModelSpringer, 2006. ISBN 3-540-30154-2. 3-540-30154-

43