Documente Academic
Documente Profesional
Documente Cultură
Relacionales I
2005
1
Objetivos
Proporcionar al participante los conceptos
básicos de bases de datos y dar a conocer las
principales funcionalidades de los sistemas
administradores de bases de datos.
Profundizar en el estudio del modelo
relacional, su fundamento teórico y lenguajes
de consulta. Efectuar prácticas con el lenguaje
2
Contenido
1. Introducción (2 horas)
2. El ambiente tecnológico de las bases de datos(1 hora)
3. El modelo relacional (2 horas)
4. Instrumentación de la base de datos (4 horas)
5. Normalización (5 horas)
6. Integridad y Seguridad (2 horas)
7. Lenguajes para bases de datos (3 horas )
8. Manejo de Transacciones (1 horas)
3
1. Introducción
¿Qué es una Base de Datos?
Sistemas de Información y Bases de Datos
Sistemas Manejadores de Bases de Datos
El campo de las bases de datos
Comparación con el proceso por archivo
Paradigma de base de datos
Niveles de automatización
Aplicaciones
4
Sobre los datos de la
empresa
En la medida de lo posible los datos en la
base deben cumplir con ser o estar :
Independientes entre si
Distribuidos
No redundantes
Reales
Compartidos
5
Definición
Base de Datos o BD
Colección de todos los datos operativos de una
Empresa de acuerdo a un modelo específico que son
accesibles desde cualquier lugar físico y nivel de la
empresa (Estratégico, Táctico, Operativo)
Unicidad Consistencia
Seguridad Privacía
Disponibilidad Integridad 6
Comparación entre
Archivos y Base de Datos
8
2. El ambiente tecnológico
de las BD
Contexto informático
Actividades del modelador de bases de datos
Breve cronología de las bases de datos
Evolución de la noción de BDs
Modelos de datos
Esquema e instancia
Modelado
Modelo de empresa
Modelo de datos
Modelo de implementación
9
Diversos Modelos de una BD
En realidad han existido diversos modelos para
modelar la realidad, aquí presentamos algunos de ellos
11
Entorno de operación
12
EXTRANET / INTRANET:
El entorno actual
Interacción actual entre el WWW y la BD
13
Niveles de Instrumentación
14
Niveles de Instrumentación (2)
15
3. El Modelo Relacional
16
Modelo de Datos
Un modelo es un conjunto de conceptos para describir los
datos y la relación semántica entre ellos, dentro de las
restricciones que apliquen en la empresa
La triada MD { G, O, R }
G Reglas de generación de objetos
0 Operaciones, elementos de manipulación
R Restricciones inherentes y explícitas
MD Notación formal matemática para expresar datos y
relaciones
Esquema del MD Es un plano de la BD
Vista del MD es un subesquema del MD
17
Modelado
18
Definición del Modelo
El modelo relacional es una estructura basada en colecciones de tablas en 2
dimensiones con propiedades especiales, que permiten representar
distintos tipos de asociaciones
Las tablas se denominan entidades y están formadas por un conjunto de tuplas
o instancias de cada relación de datos atómicos, llamados dominios.
El modelo fue desarrollado por F. Codd en los 70’s y parte de la definición matemática
de que un entidad es un subconjunto del producto cartesiano entre los dominios
de la realidad a modelar:
Sean los dominios D1 : { d1a, d1b … d1n }, D2 : { d2a, d2b … d2n }, D3 : { d3a, d3b … d3n }
Entonces el producto cartesiano D1 x D2 x D3 esta dado por las tuplas
< d1a, d2a,d3a > ……. < d1a, d2a,d3b > hasta ….. < d1n, d2n,d3n >
Tópicos de instrumentación de BD
Esquema con dos entidades
Esquema con dos entidades y repeticiones
Esquema con dos entidades, repeticiones y
colector de apuntadores
Índice colector
24
Inicial
25
I
n
t
e
r
m
e
d
i
o
s 26
I
n
t
e
r
m
e
d
i
o
s 27
I
n
t
e
r
m
e
d
i
o
s 28
I
n
t
e
r
m
e
d
i
o
s 29
C
o
l
e
c
t
o
r
30
Completo
31
Colector Completo
32
Diagrama
de la BD
33
Instrumentación dinámica de
los índices en una BD
Acceso Directo por HASHING (Revoltura)
Acceso por índices con reordenamiento en lote
Este fue un mecanismo muy utilizado, actualmente se
encuentra en muchos manejadores de archivos en
los años 70's
Manejo de Árboles B y B *
Este es el algoritmo más utilizado actualmente en el
desarrollo de bases de datos, ya que permite una inserción
ordenada en árboles balanceados en los índices.
34
Instrumentación actual de un BD
Por su parte los mecanismos descritos pueden presentan
Todavía problemas de eficiencia, por lo que el manejo de
dominios se efectúa a través de Entidades Independientes,
por medio de un archivo colector de repeticiones o sinónimos
como se muestra:
Entidades en 3FN
Ent 1 Nombre Antig Dire ccione s
a reducirse.
Ent 2 Nombre Producto Cant
Entidad sin normalizar tupla
tupla
1
2
TASA
TASA
clavos
tornillos
400
200
tupla 3 TASA tuercas 100
Nombre Antig Direcciones Ciudad Producto tupla 4 TASA tachuelas 50
tupla 5 MESA tuercas 30
reg 1 TASA 25 a–os Reforma 23 Puebla clavos tupla 6 MESA tachuelas 20
tornillos
tuercas tupla 7 TASA clavos 20
tachuelas tupla 8 GISA tornillos 50
reg 2 MESA 15 a–os Juarez 15 Cholula tuercas tupla 9 GISA tuercas 40
tachuelas
reg 3 GISA 20 a–os Sur 322 Puebla clavos
tornillos
tuercas Ent 3 Direcciones Ciudad
a 43
(2)
Guía de Normalización
1. Defina los Dominios ( Atomice lo mínimo necesario )
2. Defina los Formatos ( Defina formatos comunes )
3. Escriba todas las suposiciones semánticas iniciales
4. Obtenga la Tabla de Dependencias (conectando todos los dominios)
5.Determine las dependencias funcionales ( sentido de la fecha,
dominios independientes conjuntos )
6. Elimine las dependencias transitivas
7. Partiendo de la Tabla de Dependencias obtenga: las entidades mínimas
necesarias, tomando cada dominio(s) independiente para entablar a
la entidad.
8. Complete la lista de suposiciones semánticas
9. Presente los resultados: Dominios, Entidades, Suposiciones
10. Obtenga aprobación firmada de la definición ó en caso necesario efectúe
las modificaciones requeridas (un buen diseño debe no contener más
de 100 dominios y 40 entidades por sistema )
44
1. Mueble: Integer Ejemplo : 32
2. Descripción Mueble: String ( 40 ) Ejemplo : "Librero Grande"
D 3. Dirección: String ( 40 ) Ejemplo : "Juárez 34, Toluca, Méx."
o
4. Herraje: Integer Ejemplo : 45
5. Número: Integer Ejemplo : 12
m
6. Descripción Herraje: String ( 40 ) Ejemplo :"horquilla mediana”
7. Calidad: String ( 10 ) Ejemplo : "cromo"
i 8. Folio: Integer Ejemplo : 1234
n
9. Fecha: Date long Ejemplo : 12/12/1997
10. Línea Detalle: Integer Ejemplo : 13
i
11. Cantidad: Integer Ejemplo : 80
12. Planta: Integer Ejemplo : 12
s
14. Descripción Planta: String (30) Ejemplo : "automatizada grande"
15. Volumen: Integer Ejemplo : 500
16. % de Descuento: Integer Ejemplo : 25
17. Precio: Real Ejemplo : $ 0.50
45
Realidad Informacional
46
1. Muebles : ( Mueble, Descripción Mueble )
E 2. Direcciones : ( Dirección, Cliente )
n 3. Ensambles :
4. Herrajes :
( Herraje, Mueble, Número )
( Herraje, Descripción Herraje, Calidad, Precio )
t 5. Ordenes : ( Folio, Dirección, Fecha )
d
7. Inventarios : ( Planta, Herraje, Inventario )
8. Plantas : ( Planta, Descripción Planta )
d Suposiciones
e
En cada se planta se producen diversos herrajes
Herrajes iguales se producen en plantas distintas
s
El descuento depende del volumen y del herraje
El cliente tiene distintas direcciones de envío
Un mismo herraje se utiliza en varios muebles
Muebles distintos usan herrajes similares 47
¿Podría UD. plantear un esquema de bases de datos relacional para esta información?
49
Conversión entre Modelos
de Relacional
a Entidad - Relación
50
Elementos del modelo
Entidad Relación
Elementos
Rectángulo
Representa entidades básicas
Doble Rectángulo
Representa entidades débiles que
no tienen llaves primarias
Diamante
identificador de relaciones
Elipse
Atributos de la entidad, si esta subrayado es llave primaria
Línea
Ligas 51
Modelo Entidad Relación
52
6. Integridad y seguridad:
Directorio de Datos
Las bitácoras modelan y registran los procesos que se
efectúan dentro de la base de datos
Se logra por medio de almacenar los datos asociados con la ejecución de los
comandos del SQL de la base de datos (altas bajas cambios, perdidas) . 53
Contienen el QUE, QUIEN, COMO, DONDE y CUANDO de la BD
BITACORAS:
QUE, QUIEN, COMO, DONDE y CUANDO
Bitácora de Usuarios:
Usuario, Password, depto, sistema, archivos, terminal, permisos
Bitácora de Archivos:
Password, Dueño, sistema que los usan, dominos, formatos, ubicación,
usuarios
Catálogo de Sistemas:
Depto, sistema, archivos, terminal, programas, responsable
Bitácora de Errores:
Tipo, programa, descripción, hora, lugar, usuario, fecha, archivo, sistema
Bitácora de Uso:
Fecha, Usuario, Sistema, Permiso, Terminal, Registro, tipo de a,cceso
Imagen Vieja, Imagen Nueva
Manuales del Sistema:
Sistema, depto, archivos, procedimiento de uso, nivel de
sistematización/automatización
54
Normalización del Directorio
Ejemplo de las dependencias funcionales
de la bitácora de uso
55
Uso de la Bitácora
Ante estas
actualizaciones en las
Entidades TAM y ABC
la bitácora refleja la
siguiente actividad
56
Recuperación
57
Arranque en Frío
• Determinación de la Entidad (Archivo) perdido
• Cargado del último respaldo
• Ordenamiento de la bitácora según el archivo
perdido
• Lectura de Imágenes nuevas de cada registro de la
entidad en cuestión
• Lectura de Imágenes viejas de la bitácora y
corroboración con la imagen en el respaldo
• Actualización correspondiente de más antiguo a más
reciente
58
Respaldos
• Respaldar la base de datos BD cuando se llene la
bitácora de uso
• Respaldar la bitácora de uso y limpiarla la copia
actual
• Se deben mantener copias de la BD y la bitácora en el
sitio
• Es recomendable tener una copia adicional en un
lugar ajeno físicamente de la instalación
• El tamaño de la bitácora es función del número de
actualizaciones que tenga la base de datos
59
Arranque en Caliente
• Determinación del último punto estable
• Lectura de imágenes viejas de los archivos
modificados en el período de inestabilidad del
proceso usando la bitácora de uso
• Lectura de imágenes nuevas de la bitácora y
corroboración con la imagen en el archivo
• Desactualización de los archivos por medio del
reemplazo de imágenes viejas por nuevas
• Aviso a los usuarios para que repitan las
actualizaciones efectuadas durante el período de
inestabilidad
60
Camino al cambio de las TI
SER == > Existencia de Carencias
Sistema caótico, dependiente y limitado
Querer Ser == > Convencimiento
Unificación y Confianza
Saber Ser == > Compromiso
Preparación, Selección, Capacitación
Poder Ser == > Costo
Inversión Adecuada en tecnología
DEBER SER == > Crecimiento e Innovación
Libertad, Eficiencia, Confiabilidad e Independencia
61
Estrategias en Base de Datos
Para convencer
Simulaciones en Hoja de Cálculo
Para unificar y generar confianza
Llevar a Base de Datos las aplicaciones
nuevas
Para promover la cooperación
Primero llevar a Base de Datos los procesos
externos
62
7. Lenguajes para BD:
álgebra y cálculo relacional
El LDD es el Lenguaje de Definición de los Datos
El LMD es el Lenguaje de Manipulación de los Datos
Existen dos grandes clases de lenguajes de consulta y acceso
relacional:
Basados en álgebra relacional
El prototipo de esta clase es el denominado
SQL (Structured Query Language)
Select PROV.PROV#
From PROV
Where PROV.CIUDAD = “Puebla”
64
Solución del SQL
65
Ejemplos de SQL (2)
Asumiendo la existencia de los siguientes archivos (entidades)
66
Solución del SQL (2)
67
Ejemplo Numérico
Se obtienen las siguientes tuplas
Asumiendo estos datos
en las entidades
68
8. Manejo de Transacciones
Transacciones, Serialización
Enfoques de solución
Protocolo de bloque en dos fases
Transacciones
Consistencia
Estado de transacciones
Diagrama de estado en una transacción
Recuperación de falla
69
Criterios en una Transacción
En su diseño
Correctitud
Una transacción debe mantener la consistencia de la BD
Atomicidad
Una transacción debe manejarse como un objeto
atómico, esto es no puede ejecutarse un pedazo del
mismo únicamente, o se completa toda o no se completa
En su ejecución
Activa: SI se encuentra en proceso de ejecución
Parcialmente Comprometida: se ha ejecutado parte de ella
(es estado temporal)
Fallida: NO puede ser completada (requiere ser terminada)
Terminada: Se efectúa un ROLLBACK para deshacer el
proceso
Comprometida: Se efectúa un COMMIT para completarla 70
Ejemplo de transacción
71
Bibliografía
Date C. J. Data Base Systems
72