Está en la página 1de 48

Diseo de bases de datos

berzal@acm.org

Diseo conceptual

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*Method
CASE*Methodo
o
Diagramas ORM (Object
(Object--Role Modeling)
Modeling)
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.

2.

Identificacin de las relaciones.

3.

Identificacin de los atributos.

4.

Revisin.
7

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

Todos los atributos de una relacin toman valores atmicos.

2NF

Todos los atributos de una relacin dependen funcionalmente


de las claves candidatas de la relacin (y no de partes de ellas).

3NF

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

NRP
Nombre
Categora
rea

ID
Nombre

ID
Capacidad

ID
Tipo

DNI
Nombre
Direccin
E-mail

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: Nmero de elementos de un tipo que


Cardinalidad:
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 nn-arias
El 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 nn-arias
En 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: Conjunto de atributos que permite


Superclave:
identificar unvocamente a una entidad dentro de un
conjunto de entidades.

Clave candidata
candidata::
Superclave con un nmero mnimo de atributos.

Clave primaria:
primaria: Clave candidata elegida por el
diseador de la base de datos para identificar
unvocamente a las distintas entidades de un tipo.

Clave alternativa:
alternativa: Cualquiera de las claves
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?)

Pelcula

{Ttulo} no es una clave


{Ttulo, gnero, ao} podra serlo
{Ttulo, director, ao} es una clave
31

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):
(N:M): La clave primaria ser la unin
de las claves primarias de las entidades participantes en la relacin.
 Relaciones uno a muchos (1:N):
(1:N): La clave primaria de la entidad que
interviene en la relacin con aridad N.
 Relaciones uno a uno (1:1):
(1:1): Las claves primarias de las entidades
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 ESES-UN
Relaciones 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,


datos, en cuyo
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
968--444444-419
419--2.

Ramez A. Elmasri & Shamkant B. Navathe:


Navathe:
Fundamentos de Sistemas de Bases de Datos.
Addison--Wesley
Addison
Wesley,, 2007 [5 edicin]. ISBN 8484-782
782--9085
9085--0.

Thomas M. Connolly & Carolyn E. Begg:


Begg:
Sistemas de Bases de Datos
Datos
Addison--Wesley, 2005 [4 edicin].
Addison
edicin]. ISBN 8484-782782-9075
9075--3.

Henry F. Korth,
Korth, Abraham Silberschatz & S. Sudarshan:
Sudarshan:
Fundamentos de Bases de Datos.
McGraw--Hill, 2006 [5 edicin]. ISBN 84
McGraw
84--481481-4644
4644--1.

Olga 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

También podría gustarte