Está en la página 1de 61

Base de Datos

Unidad 2
Modelamiento Conceptual :

Modelo de Datos
Entidad Relación
Agenda
• Conjuntos Entidad
• Conjuntos Relación
• Cuestiones de Diseño
• Mapeo de Restricciones
• Llaves
• Diagrama Entidad Relación propuesta de Chen
• Extensiones de las características de los Diagramas E-R
• Aspectos del diseño en Diagramas ER
Objetivos de Modelamiento de
Datos Lógico
Definición de Entidades :
• Un objeto de interés para los negocios
• Una clase o categoría de las cosas
• Una cosa con un nombre
• Un sustantivo
• Un aspecto importante acerca del cual se necesita tener o conocer
información para los negocios
EMPLEADO
Diagramando Entidades :
 Cajas de cualquier dimensión con las esquinas
redondeadas
 Nombre único, en mayúsculas y singular
 Nombre de Sinónimo Opcional

COMPAÑÍA
(CLIENTE) DEPARTAMENTO

MEMBRECIA
Definiciones de Atributos :
• Sustantivos que se usan para describir entidades
• Piezas específicas de información la que necesita ser conocida
• Una entidad debe tener atributos
EMPLEADO
Diagramando Atributos :
nombre
 Nombre único, en minusculas
 Escrito en singular fech_nac
 Nombre abstracto

COMPAÑÍA
(CLIENTE) DEPARTAMENTO
nombre descripción
dirección dirección

MEMBRECIA
codigo
fech_inscripción
Ocurrencias o instancias de
Entidades

Head office

Personnel Finance Sales

EMPLOYEE DEPARTMENT
Identificar una Única Instancia

EMPLEADO

codigo
nombre
fech_nacimiento
salario
Identificar y Modelar Entidades

• Examinar los sustantivos


– Es ésto importante?
– Hay información acerca de ésto que el negocio
necesite mantener?
– Es ésto un conjunto o una instancia o elemento?
• Nombre de la entidad
• Escribir una descripción de ésto
• Identificar unos cuantos atributos
• Dibujar una caja rectangular con las esquinas
redondeadas para cada entidad
Ejercicio en Clase
“Soy el administrador de una compañía de capacitación
que provee cursos, impartidos por nuestros instructores,
sobre técnicas de administración. Enseñamos cursos, los
cuales tienen un código, nombre y costo. Introducción al
UNIX y Programando en C son dos de nuestros más
populares cursos.
Los cursos varían en duración desde uno a cuatro días.
Paul Rogers y María Gonzales son dos de nuestros
mejores instructores. Registramos el nombre de cada
instructor y el número telefónico. Los alumnos pueden
tomar varios cursos a través del tiempo y muchos lo
hacen. Jamie Brown de AT&T tomó todos los cursos que
ofrecemos !
Nos gusta tener el nombre y teléfono de cada
estudiante.”
Ejercicio en Clase - Solución
“Soy el administrador de una compañía de capacitación
que provee CURSOS impartidos por nuestros
instructores, sobre técnicas de administración.
Enseñamos cursos, los cuales tienen un código, nombre,
y costo. Introducción al UNIX y Programando en C son
dos de nuestros más populares cursos.
Los cursos varían en duración desde uno a cuatro días.
Paul Rogers y Maria Gonzales son dos de nuestros
mejores instructores. Registramos el nombre de cada
INSTRUCTOR y número de teléfono. Los ALUMNOS
pueden tomar varios cursos a través del tiempo y
muchos lo hacen. Jamie Brown de AT&T tomó todos los
cursos que ofrecemos !
Nos gusta tener el nombre y teléfono de cada
estudiante.”
Ejercicio en Clase - Solución

CURSO INSTRUCTOR ESTUDIANTE


codigo nombre nombre
nombre telefono telefono
costo
duración
Definiciones de Relación

• La única manera de vincular entidades con


otras o consigo misma
• Las reglas de negocio mantiene juntos los
requerimientos de información del negocio

• Una cosa que tiene que hacer con otra


• Una asociación nombrada por entidades
Relaciones Bi-direccionales

DMDD COURSE SMT COURSE


SMT COURSE

INSTRUCTOR CURSO
Estándares de Diagramación

• Una linea entre dos entidades


• El nombre de la relación en minúscula
• Opcionalidad (Minimum cardinality)
Obligatoria - Debe
Opcional - Puede

• Grado (Maximum cardinality)


Una o más
Uno y sólo uno
Estándares de Diagramación

COPIA TITULO

Muchos
(pata de gallina) Opcional
Obligatoria Uno
Sintaxis de Relaciones

Debe ser una o más


Nombre de la
Cada entidad1 o o entidad2
relación
puede ser una y sólo una

Sujeto Objecto
Opcionalidad Nombre Grado
Validación

asignado a
EMPLEADO DEPARTAMENTO
Validación

asignado a
EMPLEADO DEPARTAMENTO

Cada EMPLEADO debe estar asignado a uno y sólo un DEPARTMENTO


Validación

EMPLEADO DEPARTAMENTO
responsable de
Validación

EMPLEADO DEPARTAMENTO
responsable de

Cada DEPARTMENTO puede ser responsable de uno o más EMPLEADOS


Validación

asignado a
EMPLOYEE
EMPLEADO DEPARTMENT
DEPARTAMENTO
responsable de

Cada EMPLEADO debe estar asignado a uno y sólo un DEPARTMENTO

Cada DEPARTMENTO puede ser responsable de uno o más EMPLEADOS


Validación

matriculado en
ALUMNO CURSO
tomado por
Validación

matriculado en
ALUMNO CURSO
tomado por

Cada ALUMNO puede matricularse en uno o más CURSOS

Cada CURSO debe ser tomado por uno o más ALUMNOS


Tipos de Relaciones
Muchos a uno

Muchos a muchos

Uno a uno
Relaciones de Muchos a Uno

Visitado por

CLIENTE REPRESENTANTE
DE VENTAS
asignado a
Relaciones de Muchos a Muchos

atendido por

PATIENT HEALTH CARE


WORKER
asignado a
Relaciones de Uno a Uno

es montada por

BICICLETA CICLISTA
el manejador de

Representa una situación en un momento


Analizar y Modelar Relaciones

1 Determine la existencia de una relación


2 Nombre cada dirección de la Relación
3 Determine el grado de cada dirección de la
Relación
4 Determine la opcionalidad de cada dirección
de la relación
5 Lee las relaciones para validarlas
Determinar la Existencia de las
Relaciones
Existencia
Nombre
MEMBERSHIP COPY RENTAL Grado
Opcionalidad
MEMBERSHIP Validez
COPY
RENTAL

MEMBERSHIP

RENTAL

COPY
Nombrando la Relación
Existencia
Cada título sirve como copia y cada Nombre
copia es de un título Grado
Opcionalidad
Validez

de
COPIA TITULO
sirve como
Determinando el Grado
Existencia
Cada título sirve como copia, podrían haber muchas Nombre
copias pero hay solo un título de una copia Grado
Opcionalidad
Validez

uno

COPIA TITULO

muchos
Determinando la Opcionalidad
Existencia
Todas las copias deben tener un título, pero
Nombre
necesitamos información acerca de los título
aunque no tenga copia Grado
Opcionalidad
Validez

opcional

COPIA TITULO

obligatoria
Validando las Relaciones
Existencia
Cada copia debe ser de un solo título , y Nombre
cada título puede servir para una o más
Grado
copias
Opcionalidad
Validez

de
COPIA TITULO
sirve como
Presentación del Diagrama ER

• Limpios y ordenados

• No usar textos ambiguo

• Textos memorizables
Atributos

Número de clave - Identifica a un empleado

Nombre - Califica a un empleado

Tipo de nómina (semanal o salario)


- Clasifica a un empleado

Fecha de nacimiento - Cuantifica a un empleado

Estatus del Empleo (activo, abandonado o


terminado ) -
Expresa el estatus de un empleado
Encontrando Atributos

Es éste un atributo que realmente se necesita ?

Cuidarse de los requerimientos obsoletos de un sistema anterior

Cuidarse de los datos derivados


Estándares de Diagramación

EMPLEADO • Dentro de las cajas de


número de clave entidades
nombre
apellido
categoría de pago • Singular
fecha de nacimiento
estatus del empleado
• Minúsculas
Componentes importantes con
significado

PERSONA PERSONA
apellido
nombre nombre

Descomponer los atributos agregados

ARTICULO ARTICULO
tipo
código vendedor
número
Verificar que cada atributo tenga un
solo valor
RENTA

fecha de transacción

total a pagar
artículo

¿El atributo puede tener más de un valor para


la instancia de una entidad? Un atributo
multivalor o un grupo repetitivo no es un atributo
válido
Verificar un Valor Simple

RENTA
fecha de transacción
¿Puede un atributo tener más de un valor para
total a pagar una instancia de la entidad?
artículo

Si, más de un artículo pueden ser rentados al mismo tiempo. Entonces hace
falta otra entidad .
Verificar un Valor Simple

RENTA
fecha de transacción
¿ Puede un atributo tener más de un
total a pagar valor para una instancia de la
artículo entidad?

Si, más de un artículo pueden ser rentados al mismo tiempo . Otra entidad es
necesaria

ARTICULO RENTA
´número de
fecha de transacción
artículos
total a pagar
Atributos que tienen Atributos

CARGO
código del producto
cargo
descripción
revisión de detalles

¿La información necesita ser


descompuesta para alguno de los
atributos?
Atributos que tienen Atributos

CARGO
código del producto
cargo
descripción ¿La información necesita ser
revisión de detalles descompuesta para alguno de los
atributos?

Sí, revisión de detalles . Se necesita otra entidad.


Atributos que tienen Atributos

CARGO
código del producto
cargo
descripción ¿La información necesita ser
revisión dedetalles descompuesta para alguno de los
atributos?

Sí, revisión de detalles . Se necesita otra entidad.

REVISION CARGO
código del producto
cargo
autor descripción
comentario revisión de detalles
fecha de rev.
Encontrando Datos Derivados

12
• Contadores 08
30
• Totales 22
----
• Máximo, Mínimo, Promedio 72
----
• Otros cálculos

Eliminar los atributos derivados puede


causar inconsistencia de los datos .
Opcionalidad de los Atributos
Atributos Obligatorios
• Un valor debe ser almacenado para cada instancia de
la entidad


Atributos
Marcarlo con Opcionales
*
• Un valor puede ser almacenado para cada
instancia de la entidad
• Marcarlo con o
Opcionalidad de Atributos

EMPLEADO

*
número de clave

*
nombre

*o apellido
cargo
o peso
Definición de Identificadores Únicos
Cada instancia de una entidad debe poder ser identificada
en forma única

Una combinación de atributos o relaciones que sirven


para identificar instancias específicas de una entidad
Identificadores Únicos Simples
( UID )

342 CUSTOMER 876

# * customer num

Atributo Unico

Marcar el UID con #


Componer UID - Atributos

567498

MEMBERSHIP
# * num
# * start date

Atributos Múltiples
Componer UID - Compuesto

ACCOUNT BANK

* num # * num

¿Qué necesitarías saber para identificar una instacia


específica de una CUENTA?
Componer UID - Compuesto

ACCOUNT BANK

# * num # * num

Usar un # para indicar qué Usar una barra UID para


atributos son parte del UID indicar que la relación es
parte del UID
Componer UID - Relaciones

RENTALITEM
* rental period
o ¿Qué se necesita saber para
return date
identificar una instancia
específica de RENTALITEM?

RENTAL COPY
# * transaction num # * inventory num
* transaction date * purchase cost
Componer UID - Relaciones

RENTALITEM
* rental period Rentalitem requieren un
o
return date rental transaction num y
el inventory num

RENTAL COPY
# * transaction num # * inventory num
* transaction date * purchase cost
Multi- Niveles de Relaciones UIDs

TICKET PERFORMANCE PLAY VENUE


# * date
* seat number # * time # * title # * name

CUSTOMER
# * name
¿Qué necesitarías saber para identificar una
instancia específica de TICKET?
Multi- Niveles de Relaciones UIDs

TICKET PERFORMANCE PLAY VENUE


# * date
* seat number # * time # * title # * name

Venue.name + Play.title +
CUSTOMER
# * name
Performance.date +

Performance.time +

Customer.name
Multiple UIDs o UIDs alternos

número de clave
EMPLOYEE

#(1)* número de clave


categoría de pago #(2) * nombre
#(2) * apellido
#(3) * categoría de
nombre y apellido pago
Identificando el Problema

De este diagrama , puede decir cuál instancia


supplier provee “Casablanca”?

TITLE proveedor de
SUPPLIER
# * prod code # * supplier no
* name proveeido por * name

¿En cuál entidad almacenaría los precios de


adquisición de los productos?
Entidades Intersección

CATALOG ITEM
* purchase price

para para

disponible en provedor de

TITLE SUPPLIER
TITLE
# * prod code # * supplier no
* name * name
Identificadores Únicos

CATALOG ITEM CATALOG ITEM


* purchase price # * item num
* purchase price
for for O for for

disponible proveedor de disponible proveedor de

TITLE SUPPLIER TITLE SUPPLIER


# *TITLE
prod code # * supplier no # *TITLE
prod code # * supplier no
* name * name * name * name

También podría gustarte