Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
• 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
Aplicación
#1
Bases de Datos
Aplicación
DBMS
#2
Base de datos
que contiene
datos
centralizados
y
Aplicación
compartidos
#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
Administradores Desarrolladores Usuarios
de datos de sistemas finales
Componentes
del ambiente
de bases de
datos
Herramientas Interfaz Programas de
CASE de usuario aplicación
suministra
entidad relación
cardinalidades
PRODUCTO requiere ORDEN
Obligatoria – uno
Obligatoria – muchos
Opcional – uno
Opcional - muchos
Símbolos básicos
Relación Atributo
multivaluado
Relación de Atributo
identificación 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)
!
REPORTE
TESORERO recibe DE
GASTOS
administra sumariza
" # $ ESTUDIANTE
" #
Id_Vuelo
VUELO
" #
% & '
nombre_empleado
Id_empleado dirección
fecha_ingreso # *
#
( ) $( ) & )
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
Grados de relaciones
Binaria
Unitaria
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
,
Cardinalidad de la relación
Obligatoria - uno
Obligatoria - muchos
Opcional - uno
Opcional - muchos
se casa
PERSONA EMPLEADO dirige
con
Uno a muchos
Muchos a muchos
PARTE
medio_de_embarque costo_unitario
& &-
está
COPIA EN
PELÍCULA grabada
en VIDEO
Claudia
Gerardo
Elena
PERSONA desposa
Carmen
Ricardo
Carlos
clave_ nombre_ (otros clave_ nombre_
requisito
empleado empleado atributos) curso curso
!
Empleado Curso
Carlos
María
Othón
Leonel
Irma
clave_ nombre_ clave_ nombre_
fecha
empleado empleado curso curso
( )
/ /
PARTE
medio_de_embarque costo_unitario
) ) . $
se
PARTE Compone cantidad
de
" # (
trabaja
en
administra
0 ( $
puede
impartir
PROFESOR CURSO
imparte
&-
semestre 1
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
( $
apellido_ apellido_
nombre
paterno materno
nombre_ fecha_
clave_empleado nombre_dep
empleado nacimiento
(
(
Entidades Asociativas
• Es una entidad – tiene atributos
5 # & $
/ 6 ) 7
#/
Supertipos y Subtipos
• Subtipo: un subgrupo en una entidad que posee
atributos adicionales exclusivos.
• Supertipo: entidad genérica con los
atributos comunes a todos los subtipos con
que se relaciona.
• Herencia:
– Los subtipos heredan todos los atributos del
supertipo
– Una instancia del subtipo también es una
instancia del supertipo
atributos
compartidos
Etcétera
Versiones
SUBTIPO 1 SUBTIPO 2 especializadas
del supertipo
2
nombre_empleado dirección
,
&
EMPLEADO EMPLEADO
CONSULTOR
POR HORA ASALARIADO
salario departamento
fecha_contrato grados
año fecha
grado
id_profesor nombre_prof
PROFESOR está
acreditado fecha_acredita
nombre
nombre_curso
GRUPO está
está programado
inscrito objeto correspondiente
trabaja
EMPLEADO en
PROYECTO
fecha_ fecha_
inicio final
Ciclo de Desarrollo
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
clave_ nombre_ clave_ nombre_
num_certificado fecha
empleado empleado curso curso
EMPLEADO CURSO
clave_ nombre_ clave_ nombre_
empleado empleado curso curso
EMPLEADO EMPLEADO
CONSULTOR
POR HORA ASALARIADO
nombre_ fecha_
clave_empleado nombre_dep
empleado nacimiento
8 8 8 $ $
8 8 8 $ $
Dependencias parciales
Segunda forma normal
8 8 8
Dependencias transitivas
Ejercicio
#8 & $
1?B?>: 0 A$ @ 1?.
;;;
) > 9;.
;;;
:@B1<< + , A$ @ >?.
;;;
1 9?.
;;;
;<==:9 1 9:.
;;;
Ejercicio
8# 8
B? <=;> 3 D( + $ , &
=:BB 0 0 C ,
1?B@ " A& C
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)