Está en la página 1de 47

MODELAMIENTO Y

DISEO DE BASE DE
DATOS
Ing. Luis Zuloaga Rotta

Anlisis y Diseo de Sistemas

Modelamiento de datos
(Modelo Lgico)

Entidades y atributos
Identificador de una entidad
Relaciones y cardinalidad entre entidades
Diagrama Entidad Relacin (ERD)
Tipos y subtipos de entidad

Anlisis y Diseo de Sistemas

Entidad
Alguna cosa acerca de la cual
almacenamos datos.
Una persona, lugar, cosa o concepto que
tiene caractersticas de inters para la
empresa.

Anlisis y Diseo de Sistemas

Entidades y Procesos de
Negocio
Los procesos de negocio reciben como
entrada informacin registrada en las
entidades y generan como resultado
informacin que crea un nuevo registro o
actualiza una entidad, cuya informacin
tiene como destino a otros procesos.

Anlisis y Diseo de Sistemas

MATRICES DE RELACIN
Funciones vrs. Metas

Objetivos vrs. Metas


Met
M1 M2
Obj
O1
O2

M3 M4
X

O4
O5

F2

X
X

O3
X
X

X
X

F4
F5

F1
F2
F3

F4
F5

Req
R1 R2
Ent
X
E1

X
X

F4
F5

X
X

X
X
X

R3 R4
X

E2

F3

P3 P4

Entidades vrs. Requerimientos


Informacin

Req
R1 R2 R3 R4
Func
X

Proc
P1 P2
Func

F3

Funciones vrs. Requerimientos


Informacin
F1
F2

Funciones vrs. Procesos

Met
M1 M2 M3 M4
Func
X
F1

X
X

E3

E4
E5

X
X

Registrar Ingreso

Actualizar Stock

Despachar pedido

PRODUCTO_PEDIDO

Registrar Pago

CLIENTE
PEDIDO_CLIENTE

Actualizar CtaCte

Colocar Compra

Requerir Compra

Facturar Pedido

Registrar Cliente

Tomar Pedido

Tipos Entidad

PROCESOS

Anlisis y Diseo de Sistemas

Matriz de
Entidades

vrs..
vrs

Procesos
de Negocio

FACTURA

DETALLE_FACTURA

X
X

CTA CORRIENTE

PROVEEDOR

COMPRA

MATERIA_PRIMA

X
X

X
X

X
X

Anlisis y Diseo de Sistemas

Entidades y Requerimientos
de Informacin
Registre la contribucin de un tipo de
entidad a la satisfaccin de cada
requerimiento de informacin utilizando una
matriz de relacin entre tipos de entidad
vrs. requerimiento de informacin.

Anlisis y Diseo de Sistemas

Lista de Requerimientos de Informacin


OBJETIVO- META-CSF
SOPORTADO POR LA
INFORMACION

SISTEMA(S)
SOPORTANDO
LA NECESIDAD

Rendimiento por
Control de
Lnea de Producto Calidad

OBJ- Mejorar la
satisfaccin de clientes

Sistema de
inventario

Estadstica de la
poblacin del
lugar

Anlisis de
mercados

OBJ- Identificar nuevos Ninguno


mercados

Artculos
acabados
disponibles

Verificacin de
pre-pedidos de
ventas

CSF- Insatisfaccin de
clientes con mrgenes
de tiempo

Ninguno

MET - Aumentar las


ventas en 3% en 4
trimestres

Procesamiento
de pedidos

REQUERIMIENTO
DE INFORMACION

UTILIZACION

Ventas diarias por Verificar


regin
progreso vrs
plan

INDICE
SATISF.

Anlisis y Diseo de Sistemas

REGION_VENTA
CLIENTE

X
X

X
X

PAGO

MATERIA_PRIMA

X
X

Vtas . Crdito

Matriz de
Entidades

vrs..
vrs

Requerimientos
de Informacin
X

PEDIDO_COMPRA

FACTURA

PROVEEDOR

Controles Pago

Ventas x Area

PEDIDO_CLIENTE
ARTICULO_PEDIDO

Ped.Clientes>100$
Ped
.Clientes>100$

Rend..Linea Prod.
Rend
Prod.

Compromisos

Lotes Defectuosos

Ventas Diarias

Pedidos Pend
Pend..

Prod.Disponibles
Prod
.Disponibles

Requerimientos
de Informacin

Tipos Entidad

X
X

Anlisis y Diseo de Sistemas

Representacin de
Entidades y Atributos
Existen varias convenciones para los
smbolos de un ERD. Nosotros usaremos
las convenciones de la metodologa de
Ingeniera de Informacin.
Nombre Entidad
Atributo(PK)
Smbolo Entidad

Atributo1
Atributo2

Anlisis y Diseo de Sistemas

Toolbox de ERWin segn IE


Insertar
entidad

Control del
Puntero del mouse

Sub tipos
ex clusivos
Insertar
texto

Manipulacin de
atributos de entidad

Relacin no
identificada uno
a muchos

Relacin identificada
uno a muchos

Relacin
muchos a muchos

Anlisis y Diseo de Sistemas

CARRO
NroPlaca

Atributos
no clave

(PK)

Clave
Primaria

NroMotor
Marca
Modelo
Color
NroPuertas

Entidad con sus atributos y Clave Primaria


Anlisis y Diseo de Sistemas

Representacin de una ENTIDAD


con ERWin

ENTIDAD
INDEPENDIENTE

ENTIDAD
DEPENDIENTE

Anlisis y Diseo de Sistemas

Anlisis y Diseo de Sistemas

Tipos e Instancias de
Entidad
En el modelamiento de informacin es
importante distinguir entre tipos e
instancias de cosas.
La ocurrencia de una entidad es una
instancia particular de la entidad.

Anlisis y Diseo de Sistemas

Tipos Entidad
Categoras de Tipos de Entidad :
Tangibles (objetos fsicos)
Cliente, Producto, Factura
Conceptuales (conceptos de inters)
Centro Costo, Partida Libro Mayor
Activos (eventos)
Asistencia Conferencia, Avera Equipo
Anlisis y Diseo de Sistemas

Pormenorizacin de una
Entidad
Pormenorizacin o especificacin de una
Entidad
Nombre
Descripcin
Propiedades
. Nro. esperado ocurrencias
. Tasa crecimiento esperada

Identificadores
Participaciones en las relaciones
Mutuamente Exclusivas
Seudnimo
Anlisis y Diseo de Sistemas

Atributo
Caracterstica o propiedad describible en
trminos de un valor que las entidades de un
tipo dado poseen.
Cualquier propiedad de una entidad que es de
inters para la empresa, es referida como un
atributo.
Como en las entidades, es importante
distinguir entre atributos y ocurrencias de
atributos.
Anlisis y Diseo de Sistemas

Predicados e Identificadores
Al conjunto de atributos que participa en
una relacin describiendo un Tipo de
Entidad, se denomina predicado de la
entidad.
Un identificador es un predicado que en
forma exclusiva identifica una entidad. Un
tipo de entidad puede tener mas de un
identificador.
Anlisis y Diseo de Sistemas

Cliente
NROCLIE

NOMBRECLIE

DIRECCLIE

NROTELEF

LINCRED

246123

LUIS PEREZ

LOS ANTIGUOS 125

4678954

100000

241075
146509
126321

JOSE SOTO
LUIS SOTO
WALTER CRUZ

LOS ROSALES 345


SAN CARLOS 199
LOS ANTIGUOS 125

4812346
3656922
4678954

50000
90000
40000

Cliente = NroClie + NombreClie + DirecClie + NroTelef


+ LinCred
Identificadores
NroClie o
NombreClie + DirecClie

Anlisis y Diseo de Sistemas

10

Pedido Nro 125607


NROIT

NROPROD

Cliente Luis Perez


DESCRIP

CNTD

Fecha: 12/10/98
PRECIO

TOTALITM

01

2345A

ANTEOJOS

02

32.46

64.92

02
03

1343Z
2267C

JARRA
CORTINA

05
06

50.00
90.00

125.00
540.00

TOTALVTA

729.92

Pedido = NroPedido + Cliente + Fecha + TotalVta


+ {NroIt + NroProd + Descrip + Cntd + Precio + TotalItm}
Identificadores
Pedido
: NroPedido
Detalle Pedido : NroPedido + NroIt o
NroPedido + NroProd

Anlisis y Diseo de Sistemas

IDENTIFICADORES
Dado que el valor del DETALLE PEDIDO es
exclusivo para un PEDIDO determinado, podemos
identificar exclusivamente cada ocurrencia del
DETALLE PEDIDO por la combinacin entre el
identificador de un PEDIDO particular el NroPedido y
su atributo NroItem.
Si imponemos la limitacin de que cada PRODUCTO
solamente puede aparecer una vez en un PEDIDO, se
puede identificar exclusivamente una ocurrencia de
DETALLE PEDIDO por la combinacin entre el
identificador de un PEDIDO particular el NroPedido y
su atributo NroProducto
NroProducto.
Anlisis y Diseo de Sistemas

11

Atributos y su
Pormenorizacin

Nombre atributo
Descripcin
Opcionalidad
Categora fuente
Dominio Primitivo
Extensin
Nro. posiciones decimales
Sensibilidad Maysculas-Minsculas
Valores Permitidos
Valor o Algoritmo por omisin
Algoritmo de derivacin

Anlisis y Diseo de Sistemas

Categora Fuente
Bsica : los valores del atributo son
intrnsecos a las entidades del tipo que se
esta describiendo y no pueden deducirse de
otros predicados.
Derivada : los valores del atributo siempre se
deducen o se calculan a partir de los valores
de otros predicados.
Designada : atributo inventado para superar
restricciones o simplificar operaciones.
Anlisis y Diseo de Sistemas

12

Dominios
Se refiere al conjunto de valores posibles para
un atributo a grupo de atributos.
Cada atributo es asignado a uno de cuatro
dominios bsicos o primitivos:

Texto,
Nmero,
Fecha,
Hora.

Los dominios primitivos son la base para formar


otros dominios mas complejos definidos por el
usuario.
Anlisis y Diseo de Sistemas

Extensin
Indica el nmero mximo de caracteres o
dgitos para cada uno de los atributos.
Podemos considerar que esto va a ser un
subconjunto del dominio de un atributo,
dado que el nmero de caracteres o
dgitos restringe el conjunto posible de
valores para el atributo.
Anlisis y Diseo de Sistemas

13

Valores Permitidos
El conjunto de valores permitidos para un
atributo describe exahustivamente los
valores potenciales del atributo. Por
ejemplo :
UnidadVenta = [ TM ( tonelada mtrica),
RO ( rollo ),
BO (bolsa ),
PQ ( paquete ) ]
Anlisis y Diseo de Sistemas

Valor o Algoritmo por


Omisin
Para cada atributo obligatorio se puede
especificar un algoritmo por omisin o bien un
valor por omisin (pero no ambos). Por
ejemplo :
EstadoCivil = soltero

IF Compra < 1000 THEN Descto = 10%*Compra


ELSE Descto = 100 + 5%(Compra - 1000)

Anlisis y Diseo de Sistemas

14

Algoritmo de Derivacin
Solamente podemos especificar algoritmos de
derivacin para atributos derivados.
En la prctica el diseador debe tomar la
decisin sobre si un atributo derivado debe ser
calculado o almacenado en memoria. Por ej. :

TotalVentaItem = ValorVentaItem + IGV


TotalVenta = TotalVentaItem
Anlisis y Diseo de Sistemas

Claves ( Keys )
Aquellos atributos que permiten identificar una
Entidad de manera nica son referidos como
identificadores nicos o claves primarias (PK) de
una entidad.
La PK de una entidad puede ser simple o
compuesta si se representa por una o por una
combinacin de columnas (propiedades).
Cuando una seleccin de PKs esta disponible,
cada opcin es referida como una clave
candidata.
Anlisis y Diseo de Sistemas

15

Claves Candidatas
Una clave candidata es un conjunto de una
o ms columnas cuyos valores combinados
son nicos entre todas las ocurrencias
(tuples o filas).
Desde que un valor nulo ( Null ) no est
garantizado a ser nico, ningn componente
de una clave candidata puede ser nulo.
En una Tabla puede identificarse un nmero
variable de claves candidatas.
Anlisis y Diseo de Sistemas

Claves Primarias
La clave primaria (PK) de una tabla es
cualquier clave candidata de esa tabla que el
diseador de DB arbitrariamente seala como
primaria.
La PK puede ser seleccionada por
conveniencia, comprensin, performance, o
cualquier otra razn (a pesar que todas
comparten la propiedad de identificacin
nica).
Anlisis y Diseo de Sistemas

16

Claves Alternas
Las claves alternas de cualquier tabla son
simplemente aquellas claves candidatas
las cuales no fueron seleccionadas como
clave primaria.
Exactamente una de aquellas claves
candidatas es seleccionada como PK, y las
remanentes si existe alguna, son llamadas
claves alternas.
Anlisis y Diseo de Sistemas

Anlisis y Diseo de Sistemas

17

TRASLADO
nro secuencial (FK)
tipo traslado externo
institucion procedencia
fecha incorporacion

FACULTAD
nro facultad
denominacion
fecha creacion

ESPECIALIDAD

Clave Alterna
ALUMNO

nro facultad (FK)


nro especialidad
denominacion
fecha inicio

nro secuencial
codigo alumno (AK1.1)
apellido paterno
apellido materno
primer nombre
segundo nombre
fotografia
fecha nacimiento
sexo
forma ingreso

ESPECIALIDAD ALUMNO
nro facultad (FK)
nro especialidad (FK)
nro secuencial (FK)
fecha incorporacion

Anlisis y Diseo de Sistemas

Anlisis y Diseo de Sistemas

18

Relaciones
Nosotros vemos que las entidades pueden ser
descritas en un modelo de informacin en
trminos de su clave primaria y otros
atributos no clave. Sin embargo no tenemos la
vista completa porque las entidades no
pueden ser vistas aisladamente.
En el sistema real y a partir de los
requerimientos de informacin se descubren
las relaciones entre las entidades.
Anlisis y Diseo de Sistemas

Relaciones
Para implementar el modelo de informacin en un
DBMS, se requieren mecanismos para
implementar una relacin como el de clave
fornea.
Las nicas relaciones que pueden implementarse
en esta forma son: uno-a-uno y uno-a-muchos. Si
se desea implementar una relacin muchos-amuchos tenemos que aadir lo que denominamos
una entidad de interseccin o entidad de
enlace.
Anlisis y Diseo de Sistemas

19

Representando Relaciones
Las relaciones son representadas como
una lnea entre dos entidades.
Toda relacin debe ser representada con
su cardinalidad y de ser el caso su
opcionalidad.
Para ayudar a clarificar y a comprender las
relaciones se pueden adicionar nombres o
etiquetas sobre la lnea representada.
Anlisis y Diseo de Sistemas

Muchos
Carro
nro placa
marca
Color
id persona

Opcional

Persona
es propiedad de

id persona
nombre
direccin
nro brevete

Uno

Entidades y su Relacin entre ellas


Una Persona no puede tener en propiedad un Carro

o ser propietario de muchos, y un Carro es propiedad


de una Persona .
Anlisis y Diseo de Sistemas

20

Carro
nro placa

Persona
es poseedor de

marca
color
id persona (FK)

id persona
nombre
direccin
nro brevete
es propietario de

Relacin no
Identificada
La clave del
hijo no incorpora
la clave del
padre.

Propiedad
nro secuencial
id persona (FK)
localizacion
valorizacion
nro registro

Relacin
Identificada
La clave del hijo
Incorpora la
clave del padre.

Anlisis y Diseo de Sistemas

Anlisis y Diseo de Sistemas

21

METODOLOGA

IE

Information Engineering

hecho por
PEDIDO

CLIENTE
hace

muchos

uno

uno

cero o muchos

uno

cero o uno uno o muchos uno

Anlisis y Diseo de Sistemas

M:M
Muchos a Muchos

TE--1
TE

TE--2
TE

TE--1
TE

TE--2
TE

1 : 0..1
Uno a Cero o Uno

TE--1
TE

TE--2
TE

1:M
Uno a Muchos

Tipos de Cardinalidad
Anlisis y Diseo de Sistemas

22

METODOLOGIA

IDEF1X

propiedad de

CARRO

uno

cero - uno o muchos

propietario

PERSONA

Cero - uno o muchos

cero - uno o muchos

Anlisis y Diseo de Sistemas

Diagramas Entidad-Relacin
(ERD)
Un ERD es una representacin grfica de las
entidades, relaciones, de los super-tipos, y subtipos, y en algunos casos los atributos de PK.
El ERD debe ser una conceptualizacin de los
requerimientos de informacin. La tarea del
diseador es tomar los conceptos transmitidos
de la realidad y plasmarlo dentro del ERD.
Anlisis y Diseo de Sistemas

23

Cliente

Stock
Producto

Factura

Producto

ERD segn Metodologa IE


Anlisis y Diseo de Sistemas

Cliente
FACTURA

Cabecera
Factura

Item
Factura

Stock
Producto

Producto

Anlisis y Diseo de Sistemas

24

ERD en ERWin segn IE

Anlisis y Diseo de Sistemas

ERD en ERWin segn IDEF1X

Anlisis y Diseo de Sistemas

25

Representando Sub-Tipos
y Super-Tipos
Los Sub-tipos de entidad heredan las
caractersticas de la entidad Super-tipo a
travs de atributos comunes.
Se definen atributos en ambos niveles pero
la comonalidad de atributos se define en el
super-tipo.

Anlisis y Diseo de Sistemas

CLIENTE

CLIENTE

NACIONALIDAD

NACIONAL

CLIENTE
NACIONALIDAD

FORANEO
NACIONAL
FORANEO

TIPO

COMERCIAL
Tipo de entidad CLIENTE con dos
Sub--Tipos y con un doble
Sub
particionamiento..
particionamiento

ESTATAL

Anlisis y Diseo de Sistemas

26

CLIENTE
NACIONALIDAD

Nmero ID
Nombre
Domicilio
Nnero Telefnico
Estado
Linea Crdito
Nacionalidad
Tipo
Nombre Agencia Gubernamental

FORANEO
NACIONAL

Cdigo Pas
Nmero Licencia Importacin

Nmero Contribuyente
Estado de Incorporacin
Anlisis y Diseo de Sistemas

SUB TIPOS EXCLUSIVOS IDEF1X

Anlisis y Diseo de Sistemas

27

SUB TIPOS EXCLUSIVOS IE

Anlisis y Diseo de Sistemas

Relaciones Mutuamente
Exclusivas
Si existen relaciones entre una entidad A y
las entidades B y C, y la existencia de un
apareamiento basado en una de las
relaciones excluye la existencia de un
apareamiento basado en la otra, se dice
que las relaciones son mutuamente
exclusivas.
Anlisis y Diseo de Sistemas

28

PRODUCTO

es
suministrado
por

PROVEEDOR

es
fabricado
por

DEPARTAMENTO

RELACIONES MUTUAMENTE EXCLUSIVAS


Ya que un producto es suministrado por un proveedor
o fabricado por un departamento, no por ambos.
Anlisis y Diseo de Sistemas

Representando Relaciones
Muchos a Muchos
En este tipo de relacin cada ocurrencia de una
entidad esta relacionada con mas de una simple
ocurrencia de otra entidad.
Este tipo de relaciones no pueden ser directamente
implementadas en el modelo relacional. Para
resolver esto se introduce el concepto de entidad de
interseccin o entidad de enlace.
La nueva entidad deriva su PK de ambas entidades
relacionadas.
Anlisis y Diseo de Sistemas

29

Resolviendo Relaciones
muchos -a-muchos
Desde que una relacin muchos-a-muchos no
puede ser implementada directamente en una BD
relacional, esto se resuelve colocando una nueva
entidad en el medio.
Esta nueva entidad, es conocida con el nombre
de entidad de enlace, asociativa o de interseccin.
Si Ud. no puede encontrar un nombre apropiado
para esta entidad, entonces denominela
Entidad1_Entidad2_Enlace o similar.
Anlisis y Diseo de Sistemas

Ejemplo de Entidad
Asociativa
Si tenemos una relacin entre la entidad
TRABAJO y TAREA (inicialmente muchos-amuchos), la nueva entidad o de asociacin es
TRABAJO_TAREA.
Esta nueva entidad puede tener atributo de su
propiedad, uno importante como el
Orden_Tareas, que determina el orden en el
cual las TAREAS son realizadas dentro del
TRABAJO.
Anlisis y Diseo de Sistemas

30

Compuesto de

TRABAJO

TAREA

Es componente de

TRABAJO
Nombre
Tipo
Frecuencia

TAREA_TRABAJO
OrdenTarea

TAREA
NombreTarea
TipoTarea

Anlisis y Diseo de Sistemas

Estructuras Inusuales e
Ilegales
La mayor parte de las relaciones en un ERD
son del tipo uno-a-muchos, en la mayora de
los casos con el lado uno opcional y el lado
muchos obligatorio.
Cualquier relacin que no es de este tipo
merece alguna investigacin, en particular, las
relaciones reflexivas, los subtipos no
exclusivos o no inclusivos, relaciones muchosa-muchos y uno-a-uno.
Anlisis y Diseo de Sistemas

31

Relaciones Muchos -a-Muchos


El modelo de informacin conceptual debe ser
entregado con relaciones muchos-a-muchos
intactas, y procesar y resolver cada una en
nuestro modelo lgico.
Primero, revisar que la relacin sea realmente
muchos-a-muchos. Algunas veces, una relacin
de este tipo se usa para representar una relacin
temporal.
Anlisis y Diseo de Sistemas

Ejemplo para ilustrar


temporalidad
Existe una correspondencia uno-a-uno entre un
carro y su motor, sin embargo, un carro puede ser
arreglado con un motor de repuesto y un motor
puede ser reacondicionado y adaptado a otro
carro.
Por supuesto, el modelo ni es correcto ni es
incorrecto, esto depende de que si el sistema va
a mantener informacin histrica detallada.
Anlisis y Diseo de Sistemas

32

Vista Esttica y Temporal de


la misma construccin
Vista Esttica
Motor

Carro

Vista Temporal
Carro

potenciado por

Motor

adaptado a

Anlisis y Diseo de Sistemas

PK : entidades Asociativas
La PK de la entidad asociativa casi siempre esta
compuesta de una combinacin de FK de las
entidades que esta enlaza (referidas como
entidades cardinales).
Cuando se implementa esta entidad como una
tabla, es muy importante el orden en el cual se
definen los componentes de la clave.

Anlisis y Diseo de Sistemas

33

Implementacin
Las entidades asociativas no tienen vida por si
mismas, esta pierde su razn de ser si una de
las entidades que enlaza es eliminada.
Al implementarlas se necesitan definir reglas tal
que si un usuario intenta eliminar una TAREA o
un TRABAJO hay que prevenir que ambas
tienen enlaces a TAREA_TRABAJO

Anlisis y Diseo de Sistemas

Subtipos No Exclusivos
Algunas entidades estn particionadas dentro de
subtipos. Es fcil confundir subtipos con miembros
de la clase.
Las entidades atmicas son llamadas subtipos de la
entidad compuesta (llamada supertipo).
Los subtipos deben ser disjuntos y en conjunto
componen el supertipo. En otras palabras los
subtipos deben ser mtuamente exclusivos y no
pueden ser cualquier ocurrencia del supertipo, la cual
no debe pertenecer a un subtipo.
Anlisis y Diseo de Sistemas

34

Ejemplo : Industria
Agroqumica

Es muy cierto que la gran mayora de pesticidas


en la ind. agroqumica son tambin fungicidas,
herbicidas, insecticidas o raticidas. Sin embargo,
hay algunos productos pesticidas que pueden
servir para un doble propsito por ejemplo como
fungicidas y herbicidas.
Adems, hay algunos pesticidas que no son
fungicidas, herbicidas, insecticidas o raticidas, un
ejemplo es un Regulador del Crecimiento de
Plantas.
Anlisis y Diseo de Sistemas

Pesticida

Fungicida

Herbicida

Insecticida

Raticida

Anlisis y Diseo de Sistemas

35

Problema de Tipificacin
El modelo es defectuoso por no cumplir ambas
reglas, ya que los subtipos no son exclusivos y el
supertipo no es inclusivo.
Se requiere alguna comprensin del negocio para
completar el anlisis. Es necesario que alguien
responda a preguntas como :
hay actualmente o podra concebirse alguna vez, algn
pesticida en el mercado que conforme dos o ms
categoras de pesticida?,
por ejemplo, hay productos que siempre son
comercializados como similares con componentes
dismiles?
Anlisis y Diseo de Sistemas

Modelo de Pacientes en un
hospital
Podemos categorizar los pacientes como internos
o externos; el staff mdico est particularmente
interesado en esta distincin.
Por otra parte, el Dpto. Financiero tiene una
diferente visin de los pacientes, y los ve como
pacientes privados o pacientes de servicio de
salud (segn tengan responsabilidad de pagar o
no).
Anlisis y Diseo de Sistemas

36

Un Supertipo con dos


categoras de Subtipo
Paciente
Pagante

Paciente
interno

Paciente
Paciente
No
Pagante

Paciente
externo

Anlisis y Diseo de Sistemas

Problemas
Este doble agrupamiento lo lleva a algunos
problemas interesantes, si se intenta
implementar cualquiera de las dos o ambas
categoras como tablas separadas.
Intentando combinar las categoras no
relacionadas slo aumentamos nuestros
problemas, especialmente si nuevamente
intentamos implementar estas entidades como
tablas separadas.
Anlisis y Diseo de Sistemas

37

Grupos Combinados de
Subtipos No Relacionados
Paciente
Interno
Pagante

Paciente
Externo
Pagante

Paciente

Paciente
Interno No
Pagante

Paciente
Externo No
Pagante

Anlisis y Diseo de Sistemas

Relaciones uno-a-uno
Usted puede encontrar dos tipos de relaciones
uno-a-uno :
A

Son vlidas ambas relaciones ?


Anlisis y Diseo de Sistemas

38

Caso : A

La relacin entre A y B no no es realmente


una construccin vlida. A y B son por
definicin una mis entidad formadas por la
combinacin de dos conjuntos de atributos.
Si A y B tienen diferentes PKs entonces se
debe seleccionar una como la PK de la
entidad fusionada; la otra ser una CK dentro
de la tabla.
Anlisis y Diseo de Sistemas

Caso : C

La relacin entre C y D es una construccin


vlida, pero es necesaria una decisin de
diseo.
Las entidades son implementadas como tablas
separadas o como una tabla combinada de
ambas.
Si se combinan C y D, algunos atributos
obligatorios de la D sern opcionales en la
entidad combinada.
Anlisis y Diseo de Sistemas

39

Obligatoriedad en las
Relaciones
Una relacin que es obligatoria en ambos
lados es inconveniente, pero ciertamente
vlida. Un ejemplo comn es la relacin entre
ORDEN y ITEM_ORDEN.
Un ITEM_ORDEN no puede existir por s
mismo sin que est ubicado sobre una
ORDEN. Una ORDEN sin ITEM_ORDEN no
es realmente una ORDEN.
Anlisis y Diseo de Sistemas

Qu es primero el Huevo o la
Gallina?
Una ORDEN no puede ser creada sin un
ITEM_ORDEN; y un ITEM_ORDEN debe tener
una ORDEN donde ser ubicado. Qu creamos
primero?
En la respuesta esto realmente no importa si
ambas son creadas dentro de una simple
transaccin, y que si un ITEM_ORDEN es
eliminado, debe verificarse que la ORDEN sea
eliminada tambin.
Anlisis y Diseo de Sistemas

40

Representando Relaciones
Reflexivas o Recursivas
Este tipo de relacin es siempre opcional.
administrado

EMPLEADO
Codigo personal

administra

Nombre
Departamento
Cargo
Codigo personal Jefe(FK)

Anlisis y Diseo de Sistemas

Luis Garcia es Jefe de


Jose Rios, Maria Rosas,
Juana Lopez y Juan Moran.
Pero Juan Alva es Jefe de
Luis Garcia y Roger Colan

Juana Lopez tiene como Jefe a


Jose Rios, quien a su vez tiene
como Jefe a Luis Garcia, quien
tiene como Jefe a Juan Alva.

EMPLEADO
Codigo
Personal
1100
1200
1210
1211
1215
1290
1300
1310
1320

Nombre
Juan Alva
Luis Garcia
Jose Rios
Maria Rosas
Juana Lopez
Juan Moran
Roger Colan
Walter Solis
Jaime Ruiz

Departamento
Gerencia
Ventas
Ventas
Ventas
Ventas
Ventas
Produccion
Produccion
produccion

Cargo
Gerente General
Jefe Ventas
Vendedor A
Vendedor B
Registrador Ventas
Secretaria Ventas
Jefe Produccion
Mecanico
Tornero

Codigo
Jefe
1100
1200
1200
1210
1200
1100
1300
1300

Anlisis y Diseo de Sistemas

41

OTRA RELACIN
RECURSIVA
Comprende
las localidades

Esta localizado en

Anlisis y Diseo de Sistemas

Relacin Reflexiva
Es una relacin entre instancias de la misma
entidad.
Si ambos lados finales de la relacin fueran
obligatorios, entonces el efecto es una jerarqua
infinita.
Por ejemplo, en la relacin empleado-a-empleado
se han definido las relaciones administrado por
y es administrador de, de lo que se implica que
un empleado debe tener exactamente un
administrador.
Anlisis y Diseo de Sistemas

42

Problema de Jerarqua
Infinita
Si lo anterior es verdadero, quin es el
administrador del jefe de la compaa? o quin
est en el ltimo cargo?
Esto es igualmente invlido si hacemos
obligatorio el otro lado de la relacin, en este
caso todos deben administrar a todos, dejando
los problemas en la parte baja de la jerarqua.
Las relaciones reflexivas obligatorias son siempre
erradas.
Anlisis y Diseo de Sistemas

Restricciones de Integridad
Las condiciones que determinan la validez de
entidades de un determinado tipo se
denominan restricciones de integridad.
Tipos de restricciones de integridad ya fueron
introducidas como :

condiciones de opcionalidad
condiciones de cardinalidad
valores permitidos para un atributo
exclusividad mutua

Anlisis y Diseo de Sistemas

43

MOVIMIENTO STOCKS

VENTA

COMPRA

nro secuencial
codigo producto (FK)

nro venta
valor venta
fecha venta
codigo cliente

movimiento x venta

stock producto
tipo movimiento
cantidad movimiento
stock actual
tipo documento
nro documento (FK)
item documento (FK)
fecha movimiento

existencias
DETALLE VENTA
nro venta (FK)
item venta

nro compra

movimiento x produccion

Nulls
Permitido
DETALLE COMPRA

PRODUCTO

nro compra (FK)


item compra

codigo producto

aparece

codigo producto (FK)


cantidad venta
valor item venta

denominacion
precio
stock minimo

valor compra
fecha compra
codigo proveedor

movimiento x compra

se adquiere

codigo producto (FK)


cantidad compra
valor item compra

es producido
PRODUCCION
nro plan produccion
turno
fecha plan

DETALLE PRODUCCION
nro plan produccion (FK)
item produccion
codigo producto (FK)
cantidad produccion

Anlisis y Diseo de Sistemas

Condiciones por
Restricciones de Integridad
Las restricciones de integridad documentadas
durante el modelado de datos se incorporarn
en la definicin detallada de lo procesos.
Ejemplos de condiciones :
Valores permitidos complejos, en los que ciertos valores
permitidos de un atributo son vlidos solo cuando otros
atributos tienen valores especficos o cuando existen
apareamientos especficos.
Relaciones mutuamente inclusivas, en donde puede
existir un apareamiento solamente si existe otro.
Anlisis y Diseo de Sistemas

44

Registro de Condiciones
Ejemplo
Para que un CLIENTE tenga el Estado
preferente debe tener una LineaCredito
impecable y por lo menos un PEDIDO
sobresaliente .
Un PRODUCTO solo puede aparecer en una
DETALLE PEDIDO si ha sido abastecido por un
PROVEEDOR o ha sido hecho por un
DEPARTAMENTO.
Anlisis y Diseo de Sistemas

TABLAS
nro tabla
nro item tabla

tipo producto

descripcion
seudonimo

PRODUCTO
codigo producto
nombre producto
precio
fecha incorporacion
nro tabla unidad medida (FK)
nro item tabla unidad medida (FK)
nro tabla tipo producto (FK)
nro item tabla tipo producto (FK)

Relaciones Mltiples
tipo cliente

profesion
PERSONAL
codigo personal

unidad medida

aparece
referenciado
DETALLE DOCUMENTO
nro documento (FK)
Item documento
codigo producto (FK)

Anlisis y Diseo de Sistemas

apellido paterno
apellido materno
nombre
nro DNI
direccion
telefono
nro tabla profesion (FK)
nro item profesion (FK)

CLIENTE
codigo cliente
nombre cliente
nro RUC
direccion cliente
telefono cliente
status cliente
nro tabla tipo cliente (FK)
nro item tipo cliente (FK)

es responsable
DOCUMENTO COMERCIAL
nro documento
codigo cliente (FK)
codigo personal (FK)
tipo documento
fecha documento
monto total
nro documento padre (FK)

corresponde

depende
documento

45

Relaciones Mltiples y
Rolenames
moneda recibida

TRANSACCION DE CAMBIO
nro transaccion

MONEDA
codigo moneda
tipo moneda

moneda entregada

pais
denominacion
fecha lanzamiento

codigo moneda recibida (FK)


tipo moneda recibida (FK)
cantidad recibida
codigo moneda entregada (FK)
tipo moneda entregada (FK)
cantidad entregada
tipo cambio

Anlisis y Diseo de Sistemas

Anlisis y Diseo de Sistemas

46

Areas de Negocio

Anlisis y Diseo de Sistemas

PREGUNTAS ?

Anlisis y Diseo de Sistemas

47

También podría gustarte