P. 1
Base de Datos

Base de Datos

|Views: 5|Likes:
Publicado porliuwal

More info:

Published by: liuwal on May 30, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/30/2014

pdf

text

original

Diseño de Bases de Datos

Dr. Guillermo Rodríguez Abitia
Departamento de Sistemas de Información
ITESM Campus Estado de México
Definiciones
• Datos: Hechos significativos, texto,
graficas, imágenes, sonido, segmentos de
video
• Base de datos: Colección organizada de
datos relacionados lógicamente
• Información: Datos procesados para ser
útiles en la toma de decisiones
• Metadatos: Datos sobre los datos
Problemas con la Dependencia de
los Datos
Cada programador de aplicaciones debe
mantener sus propios datos
Cada programa de aplicación necesita incluir
códigos de metadatos de cada archivo
Cada programa de aplicación debe tener sus
propias rutinas de procesamiento para leer,
insertar, actualizar y borrar datos
Carencia de coordinación y control central
Formatos no estándar de archivos
Problemas con Redundancia de Datos
• Desperdicio de espacio por tener datos
duplicados
• Provoca mayores problemas de
mantenimiento
• El problema mayor:
– Cuando los datos cambian en un archivo,
se pueden producir inconsistencias.
– Pone en peligro la integridad de los datos
SOLUCIÓN:
El Uso de Bases de Datos
• Repositorio central de datos compartidos
• Los datos son manejados por un agente
controlador
• Se almacenan de manera conveniente y
estandarizada
Requiere un sistema de administracion de bases de datos
(DBMS por sus siglas en ingles)
Sistema de Administración de
Bases de Datos
• Un DBMS es un sistema de
almacenamiento y recuperación de datos
que permite su almacenamiento no
redundante, mientras aparecen ante el
usuario como completamente integrados
Sistema de Administración de
Bases de Datos
El DBMS administra los
recursos de datos como un
sistema operativo administra
los recursos de hardware
DBMS
DBMS
Base de datos
que contiene
datos
centralizados
y
compartidos
Aplicación
#1
Aplicación
#2
Aplicación
#3
Ventajas de las Bases de Datos
• Independencia programa-datos
– Los metadatos están almacenados en el DBMS, de modo que las
aplicaciones no necesitan preocuparse de los formatos de los datos
– Las consultas (queries) y actualizaciones de los datos son
administrados por el DBMS, de modo que los programas no necesitan
procesar rutinas de acceso a datos
– Resultados en el incremento de la productividad de desarrollo y
mantenimiento de aplicaciones
– Redundancia mínima de datos
– Lleva a un incremento de integridad y consistencia
Ventajas de las Bases de Datos
• Mejora en la compartición de datos
– Usuarios distintos obtienen vistas distintas de los datos
• Reforzamiento de estándares
– Todos los accesos a datos son hechos del mismo modo
• Mejora en la calidad de los datos
– Restricciones y reglas de validación de los datos
• Mejor acceso y respuesta de los datos
– Uso de un lenguaje estándar de consultas (SQL)
• Seguridad, recuperación, respaldo y concurrencia
– La recuperación de desastres es más fácil
Componentes del
Ambiente de Bases de Datos
• Herramientas CASE – computer-aided software engineering
• Repositorio – almacén centralizado de metadatos
• Sistema de Administración de Bases de Datos (DBMS) – software
para administrar la base
• Base de datos – almacén de los datos
• Programas de Aplicación – software que usa los datos
• Interfaz de usuario – despliegues gráficos y de texto a los usuarios
• Administradores de datos – personal responsable de mantener la
base de datos
• Desarrolladores de sistemas – personal responsable de diseñar
programas y bases de datos
• Usuarios finales – gente que usa las aplicaciones y las bases de
datos
Componentes
del ambiente
de bases de
datos
Administradores
de datos
Desarrolladores
de sistemas
Usuarios
finales
Herramientas
CASE
Interfaz
de usuario
Programas de
aplicación
Repositorio
DBMS
Base de
Datos
Evolución de los Sistemas de
Bases de Datos
• Archivos planos - 1960s - 1980s
• Jerárquico – 1970s - 1990s
• Redes – 1970s - 1990s
• Relacional – 1980s – presente
• Orientado a objetos – 1990s - presente
• Objetos-relacional – 1990s - presente
• Data warehousing – 1980s - presente
• En Web – 1990s - presente
Ciclo de Desarrollo
lderl|l|cac|ór y
se|ecc|ór de proyeclos
lr|c|ac|ór y p|areac|ór
de| proyeclo
Analisis
[diseno conceptual}
0|sero lis|co
lrp|arlac|ór
Varler|r|erlo
0|sero |óg|co
Reglas de Negocio
• Declaraciones que definen o restringen
algún aspecto del negocio
• Reflejan la estructura del negocio
• Controlan e influencian el ambiente de
negocios
• Expresadas en términos familiares para
los usuarios
• Automatizadas a través del DBMS
Una buena regla de negocio es:
• Declarativa – qué, no cómo
• Precisa – clara, significado acordado
• Atómica – una oración
• Consistente – interna y externamente
• Expresable – estructurada, lenguaje natural
• Distinta – no redundante
• Orientada al negocio – entendida por gente de
negocios
Elementos del Modelo E-R
• Instancia de entidad - persona, lugar, objecto,
evento, concepto (normalmente corresponde a un
renglón en una tabla)
– Entidad – colección de instancias de entidad
(normalmente corresponde a una tabla)
• Atributo – propiedad o característica de una
entidad (normalmente corresponde a una columna
en una tabla)
• Instancia de relación – liga entre (corresponde a
llaves primarias y foráneas en dos tablas
relacionadas)
– Relación – liga entre entidades
envía
incluye
somete
suministra
se usa en
requiere
relación
clave
cardinalidades
Obligatoria – uno
Obligatoria – muchos
Opcional – uno
Opcional - muchos
PROVEEDOR
COMPONENTE
EMBARQUE
CLIENTE
PRODUCTO ORDEN
Ejemplo de diagrama
E-R
entidad
Notación Básica para el ERD
Simbolos
de entidad
Simbolos de
relacion
Simbolos de
atributo
Entidad
especial que es
tambien
relacion
Símbolos básicos
Entidad fuerte
Entidad débil
Relación
Relación de
identificación
Entidad
asociativa
Atributo
Atributo
multivaluado
Atributo
derivado
¿Qué debe ser una entidad?
• Debe ser:
– Un objeto con muchas instancias en la BD
– Un objeto compuesto de múltiples atributos
– Un objeto que queremos modelar
• No debe ser:
– Un usuario de la BD
– Un resultado de la BD (ejm. un reporte)
Entidades Apropiadas
Entidades Inapropiadas
Usuario Usuario
del del
sistema sistema
Resultado Resultado
del del
sistema sistema
TESORERO
REPORTE
DE
GASTOS
CUENTA GASTO
administra
recibe
sumariza
es cargado
es cargado
CUENTA GASTO
Atributos
• Atributo – propiedad o característica de
una entidad
• Clasificación de atributos:
– Simple vs. Compuesto
– Un valor vs. Multivaluado
– Almacenado vs. Derivado
– Atributos de identificación
Identificadores (Llaves)
• Identificador (Llave) – Un atributo (o
combinación de atributos) que identifica
instancia individuales de manera única en
una entidad
• Llaves simples vs. llaves compuestas
• Llave candidata – un atributo que puede
ser llave… satisface los requerimientos
para serlo
Características de los
Identificadores
• No cambiarán su valor (dinámicos)
• No serán nulos
• No son inteligentes
• Son lo más sencillos posible
Atributo compuesto
Un atributo
descompuesto en
partes
Dirección
Calle_Número Ciudad Estado Código_Postal
Llave simple
La llave se subraya
Número_matrícula Nombre_estudiante Otros_atributos
ESTUDIANTE
Llave compuesta
Id_Vuelo
fecha num_vuelo num_pasajeros
VUELO
La llave se compone
de dos partes
Ejemplos de atributos
EMPLEADO antigüedad
Id_empleado dirección
nombre_empleado
habilidad
fecha_ingreso
¿que esta mal aqui?
Derivado
de Iecha de ingreso y Iecha actual
Multivaluado:
un empleado puede
tener mas de una habilidad
Ejemplos de atributos
Ejemplo de
registro
historico
precio fecha_efectiva
id_producto historia_precios
PRODUCTO
Más sobre relaciones
• Relaciones vs. instancias de relaciones
– Las relaciones son modeladas como diamantes y
líneas entre entidades. Las instancias de
relaciones ocurren entre instancias específicas de
las entidades
• Las relaciones pueden tener atributos
– Estas describen características que se presentan cuando
hay una asociación entre las entidades de la relación
• Dos entidades pueden tener más que un tipo
de relación entre ellas (relaciones múltiples)
• Entidad asociativa = combinación de una
relación con una entidad
– Surge al normalizar un ERD
Grado de las Relaciones
• El grado de una relación se
refiere al número de entidades
que participan en ella
– Unitaria
– Binaria
– Ternaria
Grado de las relaciones
Una instancia
se relaciona
con otra en la
misma entidad
Instancias de
dos distintas
entidades se
relacionan
entre sí
Instancias de tres
entidades distintas se
relacionan entre sí
Grados de relaciones
Unitaria
Binaria
Ternaria
Cardinalidad de las Relaciones
• Uno a Uno
– Cada instancia de una entidad se relacionará
exactamente con una instancia de la entidad
asociada
• Uno a Muchos
– Una instancia de la primera entidad se relacionará
con muchas instancias de la segunda, pero cada
instancia de la segunda se relacionará exactamente
con una instancia de la primera
• Muchos a Muchos
– Las instancias de ambos lados de la relación de
asociarán con muchas instancias de la otra entidad
Restricciones de Cardinalidad
• El número de instancias de una entidad con
que puede o debe relacionarse una
instancia del otro lado de la relación
• Cardinalidad Mínima
– Cero: opcional
– Uno o más: obligatoria
• Cardinalidad Máxima
– El número máximo de instancias
Cardinalidades
Cardinalidad de la relación
Obligatoria - uno
Obligatoria - muchos
Opcional - uno
Opcional - muchos
Relaciones unitarias
PERSONA EMPLEADO
se casa
con
dirige
Uno a uno Uno a muchos
Relaciones binarias
EMPLEADO
LUGAR DE
ESTACIONA-
MIENTO
LÍNEA DE
PRODUCTOS
PRODUCTO
ESTUDIANTE CURSO
utiliza
contiene
asiste a
Uno a uno
Uno a muchos
Muchos a muchos
Relaciones ternarias
Nota: una relación puede tener atributos propios
PARTE
BODEGA VENDEDOR suministra
medio_de_embarque costo_unitario
Relacion basica solo con cardinalidades maximas
Cardinalidades minimas obligatorias
PELÍCULA
COPIA EN
VIDEO
PACIENTE CONSULTA
está
grabada
en
acude a
Cardinalidad opcional, uno a uno y en grado unitario
PERSONA
desposa
Claudia
Gerardo
Elena
Carmen
Ricardo
Carlos
Relacion
Instancias
clave_
empleado
nombre_
empleado
(otros
atributos)
clave_
curso
nombre_
curso
requisito
EMPLEADO CURSO aprueba
Empleado
Carlos
María
Othón
Leonel
Irma
Curso
Relacion binaria con un atributo
Aqui el atributo Iecha es necesario solo cuando un empleado
aprueba un curso. El atributo es de la relacion.
EMPLEADO CURSO
clave_
empleado
nombre_
empleado
clave_
curso
nombre_
curso
fecha
aprueba
Relacion ternaria con Atributos
PARTE
BODEGA VENDEDOR suministra
medio_de_embarque costo_unitario
Relacion muchos a muchos, unitaria y con atributo
PARTE
cantidad
se
Compone
de
Las entidades se pueden relacionar en varias Iormas
supervisa EMPLEADO DEPARTAMENTO
trabaja
en
administra
ProIesores y cursos con restriccion
cardinalidad
maxima
restringida a 4
PROFESOR CURSO
semestre
puede
impartir
imparte
Ejercicio
A la compañía “El Sapo Saltador, S.A.” le interesa guardar información
acerca de sus empleados, incluyendo: clave, nombre, apellido
paterno, apellido materno, nacionalidad, forma migratoria (en
caso de ser extranjero), si es tiempo parcial o tiempo completo,
dirección, teléfonos de casa, extensión, puesto, departamento,
estado civil y prestaciones. Además, a la compañía le interesa
mantener la siguiente información acerca de sus productos:
número de identificación del producto, costo unitario, número de
unidades en inventario, descripción, categoría (ej.
electrodomésticos, cocina, juguetes, etc.) y fecha de
manufactura. Cada departamento de la compañía se encarga de
una categoría. Todos los departamentos tienen un nombre y una
extensión distinta. También es importante guardar información
sobre los proveedores, quién es el representante de ventas, el
nombre de la compañía, la clave del proveedor, la dirección, la
extensión y los productos que ofrece.
Entidades Fuertes vs. Débiles y
Relaciones de Identificación
• Entidad fuerte
– Existe independientemente de otras entidades
– Tiene su propio identificador único
– Se representa con un rectángulo de línea sencilla
• Entidad débil
– Depende de una entidad fuerte, no puede existir sola
– No tiene su propio identificador único
– Se representa con un rectángulo de línea doble
• Relación de identificación
– Asocia entidades fuertes con débiles
– Se representa con un rombo de línea doble
Entidades Iuertes y debiles
Entidad Iuerte Entidad debil
Relacion de identiIicacion
tiene
EMPLEADO
DEPENDIENTE
apellido_
paterno
nombre
clave_empleado
apellido_
materno
nombre_
empleado
nombre_dep
fecha_
nacimiento
Entidades Asociativas
• Es una entidad – tiene atributos
• Y es una relación – asocia dos entidades
– Las cardinalidades hacia la entidad asociativa siempre son
“muchos”
– La entidad asociativa podría tener significado independientemente
de otras entidades
– La entidad asociativa preferentemente debe tener un identificador
único y puede tener más atributos
– Puede tener otras relaciones con entidades además de las que
asocia
– Las relaciones ternarias se deben convertir en entidades
asociativas
Entidad asociativa CERTIFICADO
Una entidad asociativa se representa con un rectangulo y un
rombo dentro. El lado 'muchos¨ siempre apunta a la entidad
asociativa.
EMPLEADO CURSO
clave_
empleado
nombre_
empleado
clave_
curso
nombre_
curso
fecha num_certificado
CERTIFICADO
Supertipos y Subtipos


Subtipo:
Subtipo: un subgrupo en una entidad que posee
atributos adicionales exclusivos.


Supertipo
Supertipo
:
: entidad genérica con los
atributos comunes a todos los subtipos con
que se relaciona.


Herencia:
Herencia:
– Los subtipos heredan todos los atributos del
supertipo
– Una instancia del subtipo también es una
instancia del supertipo
Notación básica para
supertipos y subtipos
atributos
compartidos
SUPERTIPO
SUBTIPO 1
SUBTIPO 2
atributos únicos
para subtipo 1
atributos únicos
para subtipo 2
Entidad
genérica
Versiones
especializadas
del supertipo
Etcétera
Supertipo EMPLEADO y tres subtipos
Todos los subtipos de
empleado comparten estos
atributos
Cada subtipo de empleado
tendra sus propios
atributos
EMPLEADO
EMPLEADO
POR HORA
EMPLEADO
ASALARIADO
CONSULTOR
clave_empleado
nombre_empleado dirección
fecha_contrato
pago_por_hora salario opción_acciones num_contrato tasa_facturación
Relaciones y subtipos
• Las relaciones en el nivel del supertipo
indican que todos los subtipos participan
en ella
• Las relaciones en el nivel del subtipo son
exclusivas de las instancias del mismo
Generalización y
Especialización
• Generalización: El proceso de definir
un supertipo a partir de los subtipos.
BOTTOM-UP
• Especialización: El proceso de definir
subtipos a partir de un supertipo. TOP-
DOWN
Restricciones en Subtipos
• Exhaustiva: Si toda instancia en el
supertipo debe pertenecer a un subtipo
también
–Exhaustiva: línea doble
–No exhaustiva: línea sencilla
Restricciones de Subtipos
• Excluyente: Si una instancia del
supertipo puede pertenecer solo a un
subtipo
– Excluyente: se marca con una “d” (disjoint)
– No excluyente: se marca con una “o”
(overlapping)
FACTULTAD STAFF
EMPLEADO EX-ALUMNO ESTUDIANTE
PERSONA
POSGRADO PREGRADO
salario
fecha_contrato
id_persona
nombre
dirección
sexo
fecha_nacim
departamento
rango puesto tipo asesor
año
grado
fecha
grados
Agrupamiento
• Los diagramas EER pueden ser difíciles
de leer cuando hay muchas entidades
involucradas
• Las entidades que hacen referencia a un
mismo objeto de negocio se pueden
agrupar en un cluster
• Facilita la lectura para el usuario
Reglas de Negocios
• Declaraciones que definen o restringen algún
aspecto del negocio
• Las restricciones pueden impactar:
– Estructura (definición, dominio, relación)
– Comportamiento (restricciones de operación)
Reglas sobre acciones
• Objeto ancla – el objeto sobre el cual se
limitan las acciones
• Acción – creación, borrado, actualización
o lectura
• Objetos correspondientes – un objeto
influenciando la habilidad de realizar una
acción en otra regla de negocio
La regla sobre acciones identificará objetos La regla sobre acciones identificará objetos
correspondientes que restringen las acciones sobre objetos correspondientes que restringen las acciones sobre objetos
ancla ancla
PROFESOR
ESTUDIANTE
CURSO
GRUPO
num-grupo
id-grupo
semestre
Id_estudiante
nombre
id_profesor nombre_prof
fecha_acredita
id_curso
nombre_curso
está
acreditado
está
programado
está
asignado
está
inscrito
R
objeto ancla
objeto correspondiente
objeto correspondiente
regla sobre acción
para poder asignar un grupo, el profesor debe estar acreditado
para impartir el curso correspondiente
Normalizando ERDs
• Normalizar permite optimizar el diseño de la
base de datos al:
– Minimizar redundancia
– Fragmentar las entidades para garantizar
dependencias directas
– Facilitar consistencia e integridad en los datos
• Se puede hacer desde el modelo conceptual o
desde el modelo lógico
• Para ERDs garantiza segunda forma normal
Normalizando ERDs
• Relaciones muchos a muchos
– Crear una entidad asociativa
• Relaciones unitarias
– Crear una entidad débil
• Atributos multivaluados
– Crear una entidad débil
• Relaciones ternarias
– Crear una entidad asociativa
Ejercicio
Normalizar el siguiente ERD
clave_
empleado
nombre_
empleado
clave_
proyecto
fecha_
inicio
material
EMPLEADO PROYECTO
trabaja
en
dependiente
nombre_
proyecto
fecha_
final
Ciclo de Desarrollo
lderl|l|cac|ór y
se|ecc|ór de proyeclos
lr|c|ac|ór y p|areac|ór
de| proyeclo
Analisis
[diseno conceptual}
0|sero lis|co
lrp|arlac|ór
Varler|r|erlo
0|sero |óg|co
ERD
Diagrama relacional
Tablas
• Son bidimensionales
– Renglones: registros o instancias
– Columnas: atributos o campos
– Los renglones son variable
– Las columnas son fijas
• Requisitos:
– Nombre único
– Celdas atómicas
– Cada renglón es único
– Las columnas tienen nombres únicos
– El orden de las columnas es irrelevante
– El orden de los renglones es irrelevante
Correspondencia con el ERD
• Cada entidad y cada relación muchos a muchos
corresponde a una tabla
• Los renglones corresponden a instancias de la
tabla o de la relación muchos a muchos
• Las columnas corresponden a atributos
• Las relaciones del ERD se expresan como llaves
foráneas y van en el lado “muchos”
NOTA: las tablas también se conocen como
relaciones, pero no tienen el mismo significado
que las relaciones en el ERD
Campos Llave
• Las llaves son campos especiales que sirven
dos propósitos principales:
– Las llaves primarias son identificadores únicos de la
tabla
– Las llaves foráneas son identificadores para ligar
dos tablas
• Las llaves pueden ser simples o compuestas,
dependiendo del número de atributos que las
componen
Pasando de ERD a Modelo
Relacional
EMPLEADO CURSO
clave_
empleado
nombre_
empleado
clave_
curso
nombre_
curso
fecha num_certificado
CERTIFICADO
clave_
empleado
nombre_
empleado
num_
certificado
fecha
clave_
empleado
clave_
curso
clave_
curso
nombre_
curso
EMPLEADO
CURSO
CERTIFICADO
Otras Consideraciones
• La llave de una entidad asociativa puede ser:
– Asignada con un identificador único
– La combinación de las llaves de las entidades que
asocia
• La llave de una entidad débil
– Siempre es compuesta
– Se combina el valor del atributo en cuestión con la
llave de la entidad padre
• La llave de un subtipo
– Es la misma que la del supertipo
– La relación es uno a uno
Ejercicio
Convertir los siguientes ERD a modelo
relacional
EMPLEADO
EMPLEADO
POR HORA
EMPLEADO
ASALARIADO
CONSULTOR
clave_empleado
nombre_empleado dirección
fecha_contrato
pago_por_hora salario opción_acciones num_contrato tasa_facturación
tiene
EMPLEADO
DEPENDIENTE
apellido_
paterno
nombre
clave_empleado
apellido_
materno
nombre_
empleado
nombre_dep
fecha_
nacimiento
Tablas Bien Estructuradas
• Una que tiene redundancia mínima y permite
insertar, actualizar y borrar datos sin causar
inconsistencias
• La meta es evitar anomalías
– Inserción – al agregar nuevos renglones se
duplican datos innecesariamente
– Borrado – al borrar renglones se pierden datos
que serán necesarios en el futuro o en otras
tablas
– Actualización – cambiar datos en un renglón
obliga a cambiarlos en otros, debido a
redundancia
Dependencias Funcionales y Llaves
• Dependencia funcional: el valor de un
atributo determina el valor de otro
• Llave candidata:
– Identificador único. Una de las llaves
candidatas se convertirá en la llave
primaria
– Cada atributo no candidato, depende
funcionalmente de los candidatos
Pasos de la normalización
Ninguna forma normal
Primera forma normal
Segunda forma normal
Tercera forma normal
Forma normal de Boyce-Codd
Cuarta forma normal
Quinta forma normal
Eliminar grupos repetidos
Eliminar dependencias parciales
Eliminar dependencias transitivas
Eliminar anomalías de dependencias funcionales
Eliminar dependencias multivaluadas
Eliminar otras anomalías
Ninguna forma normal
id¸emp id¸depto depto proy lider¸proy nombre
Puede tener muchos proyectos, por lo tanto es multivaluado
Primera forma normal
id¸emp id¸depto depto proy lider¸proy nombre
Dependencias parciales
Segunda forma normal
id¸emp direccion nombre¸depto id¸dept grado nombre
Dependencias transitivas
Ejercicio
17,000 4 meses Rapids Mercadotecnia Anastasia 098871
25,000
15,000
3 meses
4 meses
Blue Jay
Rapids
Contabilidad Gumaro 736499
45,000
10,000
3 meses
2 meses
Blue Jay
Shell
Mercadotecnia Petronilo 456527
presupuesto duracion proyecto area nombre clave¸empleado
Ejercicio
Capitan
Co-piloto
Sobrecargo
Aaron Guy
Pepe Perez
Lisa Juarez
Acapulco FrankIurt 9802
8766
4563
65
Capitan
Co-piloto
Sobrecargo
Pepe Perez
Jorge Rojas
Carmen Mar
Atlanta Huatulco 8766
5621
6532
123
puesto nombre destino origen id¸tripulacion no¸vuelo
Ejercicio
Indicar en qué forma normal se encuentran las siguientes tablas:
a)
EMPLEADO (emp_id, emp_nombre, dirección, teléfono)
b)
EMPLEADO (emp_id, emp_nombre, dirección, teléfono, pariente)
c)
EMPLOYEE (emp_id, emp_nombre, dirección, teléfono, pariente)
d)
RELATIVE (emp_id, pariente)
e)
FLIGHT (no_vuelo, origen, destino, millaje)

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->