Bases de Datos Relacionales I
Objetivos <ul><li>Proporcionar al participante los conceptos básicos de bases de datos y dar a conocer las principales fun...
Contenido <ul><ul><ul><li>1. Introducción  (2 horas) </li></ul></ul></ul><ul><ul><ul><li>2. El ambiente tecnológico de las...
Metodología y Evaluación <ul><li>Las sesiones de clase son usadas por el instructor para estimular la discusión y desarrol...
1.  Introducción <ul><ul><ul><li>¿Qué es una Base de Datos? </li></ul></ul></ul><ul><ul><ul><li>Sistemas de Información y ...
Sobre los datos de la empresa <ul><li>En la medida de lo posible los datos en la base deben cumplir con ser o estar : </li...
Definición <ul><li>Base de Datos o BD </li></ul><ul><li>Colección de todos los datos operativos de una Empresa de acuerdo ...
Comparación entre  Archivos y Base de Datos <ul><li>Dependencia de ligas externas a los datos </li></ul><ul><li>Datos sin ...
El campo de las BD <ul><li>Eficiencia </li></ul><ul><li>Acceso y modificación de grandes volumenes de datos </li></ul><ul>...
2.  El ambiente tecnológico  de las BD <ul><ul><ul><li>Contexto informático </li></ul></ul></ul><ul><ul><ul><li>Actividade...
Diversos Modelos de una BD <ul><li>En realidad han existido diversos modelos para </li></ul><ul><li>modelar la realidad, a...
Usos de una Base de Datos Base de datos
Entorno de operación
EXTRANET / INTRANET:  El entorno actual   Interacción actual entre el WWW y la BD
Niveles de Instrumentación
Niveles de Instrumentación  (2)
3.  El Modelo Relacional <ul><ul><ul><li>Definición del modelo relacional </li></ul></ul></ul><ul><ul><ul><li>Esquema rela...
Modelo de Datos <ul><li>Un modelo es un conjunto de conceptos para describir los datos y la relación semántica entre ellos...
Modelado
Definición del Modelo <ul><li>El modelo relacional es una estructura basada en colecciones de  tablas en 2 dimensiones  co...
Operaciones con el Modelo <ul><li>El modelo relacional permite </li></ul><ul><li>consultar las tablas:  instancia por inst...
Ejemplos del Modelo Entidades: archivos existentes (esquema) Vistas: relación temporal entre archivos (subesquema) Note qu...
Identificación de tuplas <ul><li>Tradicionalmente se conoce como  llave de acceso  a aquel  campo o campos  de un registro...
Identificación de llaves <ul><li>Tradicionalmente existen las siguientes tipos de llaves de acceso a un archivo: </li></ul...
4.  Instrumentación de  la Base de Datos <ul><ul><ul><li>Tópicos de instrumentación de BD </li></ul></ul></ul><ul><ul><ul>...
Inicial
I n t e r m e d i o s
I n t e r m e d i o s
I n t e r m e d i o s
I n t e r m e d i o s
C o l e c t o r
Completo
Colector Completo
Diagrama de la BD
Instrumentación dinámica de  los índices en una BD <ul><li>Acceso Directo por  HASHING  (Revoltura) </li></ul><ul><li>Acce...
Instrumentación actual de un BD <ul><li>Por su parte los mecanismos descritos pueden presentan  </li></ul><ul><li>Todavía ...
5.  Normalización <ul><ul><ul><li>Diseño de esquemas relacionales </li></ul></ul></ul><ul><ul><ul><li>Relaciones libres de...
Primera Forma Normal (1FN) <ul><ul><ul><li>No esta normalizada ya que no existen relaciones atómicas entre los dominios.  ...
Segunda Forma Normal (2FN) <ul><li>Sin embargo la 1FN tiene problemas cuando los atributos  tienen dependencia de varias l...
Tercera Forma Normal (3FN) <ul><li>Sin embargo la 2FN tiene problemas cuando uno de los atributos  tienen dependencia tran...
Normalización:  Redundancia controlada <ul><li>La normalización genera más entidades, sin embargo esta  redundancia aparen...
Normalización Ulterior <ul><li>La normalización puede ser continuada mas allá de la 3FN, existen argumentos académicos int...
Entrevista <ul><li>La empresa YAVAS  empresa dedicada a la fabricación </li></ul><ul><li>de herrajes para muebles de diver...
Entrevista  (2) <ul><li>Gerente --   Además por cada orden de compra llevamos información de la dirección de envío, el nom...
Guía de Normalización <ul><li>1. Defina los Dominios  ( Atomice lo mínimo necesario ) </li></ul><ul><li>2. Defina los Form...
Dominios <ul><li>1. Mueble:   Integer   Ejemplo : 32 </li></ul><ul><li>2. Descripción Mueble:   String ( 40 )  Ejemplo : &...
Realidad Informacional
Ent idades <ul><li>1.  Muebles :    (   Mueble , Descripción Mueble ) </li></ul><ul><li>2.  Direcciones :  (  Dirección , ...
Ejercicios de Normalización  (1) <ul><li>La empresa ADELANTE tiene una estructura jerárquica en su operación, además esta ...
Ejercicios de Normalización  (2) <ul><li>Habiendo resuelto su base de datos de personal, ahora la empresa </li></ul><ul><l...
Conversión entre Modelos a Entidad - Relación de Relacional
Elementos del modelo  Entidad - Relación <ul><li>Elementos </li></ul><ul><li>Rectángulo </li></ul><ul><li>Representa entid...
Modelo  Entidad - Relación <ul><li>Introduce el   enfoque de Orientado a Objetos al </li></ul><ul><li>definir tipos de dat...
6.  Integridad y seguridad : Directorio de Datos Se logra por medio de almacenar los datos asociados con la ejecución de l...
BITACORAS:   QUE, QUIEN, COMO, DONDE y CUANDO Bitácora de Usuarios: Usuario, Password, depto, sistema, archivos, terminal,...
Normalización del Directorio Ejemplo de las dependencias funcionales  de la bitácora de uso
Uso de la Bitácora Ante estas actualizaciones en las Entidades TAM y ABC la bitácora refleja la  siguiente actividad
Recuperación
Arranque en Frío <ul><li>Determinación de la Entidad  (Archivo)  perdido </li></ul><ul><li>Cargado del último respaldo </l...
Respaldos <ul><li>Respaldar  la base de datos BD cuando se llene la bitácora de uso </li></ul><ul><li>Respaldar la bitácor...
Arranque en Caliente <ul><li>Determinación del  último punto estable </li></ul><ul><li>Lectura de  imágenes viejas  de los...
Camino al cambio de las TI <ul><li>SER  == >  Existencia de Carencias </li></ul><ul><li>Sistema caótico, dependiente y lim...
Estrategias en Base de Datos <ul><li>Para convencer  </li></ul><ul><li>Simulaciones en Hoja de Cálculo </li></ul><ul><li>P...
7.  Lenguajes para BD:   álgebra y cálculo relacional <ul><li>El  LDD  es el Lenguaje de Definición de los Datos </li></ul...
Ejemplos de SQL <ul><li>Asumiendo la existencia </li></ul><ul><li>de los siguientes archivos   (entidades) </li></ul>Muebl...
Solución del SQL
Ejemplos de SQL  (2) <ul><ul><ul><li>Asumiendo la existencia de los siguientes archivos  (entidades) </li></ul></ul></ul>
Solución del SQL  (2)
Ejemplo Numérico Se obtienen las siguientes tuplas Asumiendo estos datos en las entidades
8.  Manejo de Transacciones <ul><ul><ul><li>Transacciones,  Serialización  </li></ul></ul></ul><ul><ul><ul><li>Enfoques de...
Criterios en una Transacción <ul><li>Correctitud </li></ul><ul><li>Una transacción debe mantener la consistencia de la BD ...
Ejemplo de transacción
Próxima SlideShare
Cargando en…5
×

Bases de Datos Relacionales

11.346 visualizaciones

Publicado el

Publicado en: Tecnología
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
11.346
En SlideShare
0
De insertados
0
Número de insertados
56
Acciones
Compartido
0
Descargas
322
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Bases de Datos Relacionales

  1. 1. Bases de Datos Relacionales I
  2. 2. Objetivos <ul><li>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. </li></ul><ul><li>Profundizar en el estudio del modelo relacional, su fundamento teórico y lenguajes de consulta. Efectuar prácticas con el lenguaje </li></ul>
  3. 3. Contenido <ul><ul><ul><li>1. Introducción (2 horas) </li></ul></ul></ul><ul><ul><ul><li>2. El ambiente tecnológico de las bases de datos (1 hora) </li></ul></ul></ul><ul><ul><ul><li>3. El modelo relacional (2 horas) </li></ul></ul></ul><ul><ul><ul><li>4. Instrumentación de la base de datos (4 horas) </li></ul></ul></ul><ul><ul><ul><li>5. Normalización (5 horas) </li></ul></ul></ul><ul><ul><ul><li>6. Integridad y Seguridad (2 horas) </li></ul></ul></ul><ul><ul><ul><li>7. Lenguajes para bases de datos (3 horas ) </li></ul></ul></ul><ul><ul><ul><li>8. Manejo de Transacciones (1 horas) </li></ul></ul></ul>
  4. 4. Metodología y Evaluación <ul><li>Las sesiones de clase son usadas por el instructor para estimular la discusión y desarrollar nuevas relaciones con el propósito de emitir  juicios e implicaciones que fundamenten los conocimientos que se desean obtener en el curso. </li></ul><ul><li>20 horas de clase con profesor titular y 28 horas de trabajo independiente, en el que se llevarán a cabo tareas y trabajos de desarrollo. </li></ul><ul><li>Asistencia y participación en clase 60% </li></ul><ul><li>Elaboración de tareas y trabajos individuales 40% </li></ul>
  5. 5. 1. Introducción <ul><ul><ul><li>¿Qué es una Base de Datos? </li></ul></ul></ul><ul><ul><ul><li>Sistemas de Información y Bases de Datos </li></ul></ul></ul><ul><ul><ul><li>Sistemas Manejadores de Bases de Datos </li></ul></ul></ul><ul><ul><ul><li>El campo de las bases de datos </li></ul></ul></ul><ul><ul><ul><li>Comparación con el proceso por archivo </li></ul></ul></ul><ul><ul><ul><li>Paradigma de base de datos </li></ul></ul></ul><ul><ul><ul><li>Niveles de automatización </li></ul></ul></ul><ul><ul><ul><li>Aplicaciones </li></ul></ul></ul>
  6. 6. Sobre los datos de la empresa <ul><li>En la medida de lo posible los datos en la base deben cumplir con ser o estar : </li></ul><ul><li>Independientes entre si </li></ul><ul><li>Distribuidos </li></ul><ul><li>No redundantes </li></ul><ul><li>Reales </li></ul><ul><li>Compartidos </li></ul>
  7. 7. Definición <ul><li>Base de Datos o BD </li></ul><ul><li>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) </li></ul><ul><li>Una BD debe cumplir con las características de: </li></ul><ul><li>Unicidad Consistencia </li></ul><ul><li> Seguridad Privacía </li></ul><ul><li> Disponibilidad Integridad </li></ul>
  8. 8. Comparación entre Archivos y Base de Datos <ul><li>Dependencia de ligas externas a los datos </li></ul><ul><li>Datos sin compartir en toda la empresa </li></ul><ul><li>Redundancia de los datos </li></ul><ul><li>Archivos no relacionados </li></ul><ul><li>entre sí </li></ul><ul><li>Acceso limitado y con poca flexibilidad, eficiencia y seguridad </li></ul>Independencia a ligas externas a los datos Datos compartidos y compatibles en la empresa Redundancia mínima y controlada Datos relacionados de acuerdo a un modelo Flexibilidad, Integridad, Eficiencia y seguridad
  9. 9. El campo de las BD <ul><li>Eficiencia </li></ul><ul><li>Acceso y modificación de grandes volumenes de datos </li></ul><ul><li>Adaptabilidad </li></ul><ul><li>Supervivencia de datos bajo errores, reduciendo inconsistencias </li></ul><ul><li>Control del acceso </li></ul><ul><li>Simulataneidad de uso múltiple dentro de una congruencia con control de concurrencia y seguridad </li></ul><ul><li>Persistencia </li></ul><ul><li>Existencia y mantenimiento de datos por largos períodos de tiempo, independientemente del modo de acceso </li></ul>
  10. 10. 2. El ambiente tecnológico de las BD <ul><ul><ul><li>Contexto informático </li></ul></ul></ul><ul><ul><ul><li>Actividades del modelador de bases de datos </li></ul></ul></ul><ul><ul><ul><li>Breve cronología de las bases de datos </li></ul></ul></ul><ul><ul><ul><li>Evolución de la noción de BDs </li></ul></ul></ul><ul><ul><ul><li>Modelos de datos </li></ul></ul></ul><ul><ul><ul><li>Esquema e instancia </li></ul></ul></ul><ul><ul><ul><li>Modelado </li></ul></ul></ul><ul><ul><ul><li>Modelo de empresa </li></ul></ul></ul><ul><ul><ul><li>Modelo de datos </li></ul></ul></ul><ul><ul><ul><li>Modelo de implementación </li></ul></ul></ul>
  11. 11. Diversos Modelos de una BD <ul><li>En realidad han existido diversos modelos para </li></ul><ul><li>modelar la realidad, aquí presentamos algunos de ellos </li></ul><ul><li>Modelo Jerárquico  Primer modelo de BD, IMS es la mas popular </li></ul><ul><li>Modelo de Redes Definido por C. Bachman, IDMS fue el producto comercial </li></ul><ul><li>Modelo Relacional Funcional   Diseño de Codd popularizado por Date </li></ul><ul><li>(RDB, Oracle, Sybase, Informix ) </li></ul><ul><li>Modelo Entidad - Relación   Concepción de Chen, muy usado aplicable a diversos modelos ( j,r,rel) </li></ul><ul><li>Modelo Semántico Inicialmente de R. Quillian usado solo en investigación </li></ul><ul><li>Modelo Binario Instrumentado por Stonebraker basado en el modelo de Codd (Ingres) </li></ul><ul><li>  Modelo Orientado a Objetos  Popular al representar la tendencia actual (Ilustra, O2 ) </li></ul><ul><li>Modelo Mutlirelacional Extensión al relacional con inversión total </li></ul>
  12. 12. Usos de una Base de Datos Base de datos
  13. 13. Entorno de operación
  14. 14. EXTRANET / INTRANET: El entorno actual Interacción actual entre el WWW y la BD
  15. 15. Niveles de Instrumentación
  16. 16. Niveles de Instrumentación (2)
  17. 17. 3. El Modelo Relacional <ul><ul><ul><li>Definición del modelo relacional </li></ul></ul></ul><ul><ul><ul><li>Esquema relacional </li></ul></ul></ul><ul><ul><ul><li>Propiedades estructurales </li></ul></ul></ul><ul><ul><ul><li>Definición de relación </li></ul></ul></ul><ul><ul><ul><li>Identificación de tuplas </li></ul></ul></ul><ul><ul><ul><li>Almacenamiento de relaciones </li></ul></ul></ul>
  18. 18. Modelo de Datos <ul><li>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 </li></ul><ul><li> La triada MD { G, O, R } </li></ul><ul><li>G Reglas de generación de objetos </li></ul><ul><li>0 Operaciones, elementos de manipulación </li></ul><ul><li>R Restricciones inherentes y explícitas </li></ul><ul><li>MD Notación formal matemática para expresar datos y relaciones </li></ul><ul><li>Esquema del MD Es un plano de la BD </li></ul><ul><li>Vista del MD es un subesquema del MD </li></ul>
  19. 19. Modelado
  20. 20. Definición del Modelo <ul><li>El modelo relacional es una estructura basada en colecciones de tablas en 2 dimensiones con propiedades especiales, que permiten representar distintos tipos de asociaciones </li></ul><ul><li>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 . </li></ul><ul><li>Cada tupla representa un hecho elemental o aseveración de la realidad a modelar: </li></ul><ul><li>< Id objeto, propiedad 1, propiedad 2, … , propiedad n > </li></ul><ul><li>< Arbol, Altura, Color, … , Edad > </li></ul><ul><li>< Fresno, 10.30, café oscuro, … , 10 > </li></ul><ul><li>El orden de cada tupla en la entidad y de cada dominio es irrelevante en la organización. Aunque los valores de los dominios pueden repetirse, las asociaciones son únicas, por lo que no pueden existir dos instancias iguales. </li></ul>
  21. 21. Operaciones con el Modelo <ul><li>El modelo relacional permite </li></ul><ul><li>consultar las tablas: instancia por instancia </li></ul><ul><li>insertar nuevas entidades: definición de archivos </li></ul><ul><li>insertar nuevas instancias: altas </li></ul><ul><li>eliminar entidades: bajas de archivos </li></ul><ul><li>eliminar instancias: bajas </li></ul><ul><li>actualizar entidades: cambios </li></ul><ul><li>interrelacionar entidades: a través de un dominio </li></ul><ul><li>El modelo asume la existencia de un lenguaje de interacción poderoso </li></ul><ul><li>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: </li></ul><ul><ul><li>Sean los dominios D1 : { d1a, d1b … d1n }, D2 : { d2a, d2b … d2n }, D3 : { d3a, d3b … d3n } </li></ul></ul><ul><ul><li>Entonces el producto cartesiano D1 x D2 x D3 esta dado por las tuplas </li></ul></ul><ul><ul><li>< d1a, d2a,d3a > ……. < d1a, d2a,d3b > hasta ….. < d1n, d2n,d3n > </li></ul></ul><ul><li>El subconjunto de este producto es la realidad existente en un momento dado en la empresa </li></ul>
  22. 22. Ejemplos del Modelo Entidades: archivos existentes (esquema) Vistas: relación temporal entre archivos (subesquema) Note que no todos las tuplas están relacionadas, igualmente los entidades son solo un subconjunto de todas las combinaciones posibles de los productos cartesianos
  23. 23. Identificación de tuplas <ul><li>Tradicionalmente se conoce como llave de acceso a aquel campo o campos de un registro que nos dan permiten llegar directo a un dato, por ejemplo el nombre de la persona me da su edad o su sexo. </li></ul><ul><li>En el modelo relacional se mantiene esta situación siendo este dominio o conjunto de dominio la llave de acceso . </li></ul><ul><li>Para encontrar los indices principales, en el modelo buscaremos aquellos dominios que son independientes , esto es aquellos de los que los demás dominios de la relación dependen para generar una relación funcional. A esto le llamaremos dependencias funcionales o DF. </li></ul><ul><li>Es común que el dominio o los dominios independientes correspondan a la llave de acceso de un archivo (igualmente al índice principal en un archivo indexado). </li></ul>
  24. 24. Identificación de llaves <ul><li>Tradicionalmente existen las siguientes tipos de llaves de acceso a un archivo: </li></ul><ul><li>Llave Primaria: Dominio(s) independientes en la entidad </li></ul><ul><li>Llave Compuesta: Si la llave primaria es formada por varios dominios </li></ul><ul><li>Super Llave: Conjunto de llaves que satisfacen la identificación única. En el modelo relacional es lo que se desea, para lo que se requiere el proceso de normalización de entidades en el modelado de la realidad </li></ul><ul><li>Atributo Primo: es aquel dominio independiente y que forma parte de la llave de una entidad específica. </li></ul><ul><li>Atributo No primo: es aquel dominio que dependa de una llave en una entidad, sin participar en la llave. </li></ul><ul><li>Llave Foránea: Aquel dominio que existiendo como dependiente en una entidad es a su vez una llave (Atributo primo) en otra entidad de la BD. </li></ul>
  25. 25. 4. Instrumentación de la Base de Datos <ul><ul><ul><li>Tópicos de instrumentación de BD </li></ul></ul></ul><ul><ul><ul><li>Esquema con dos entidades </li></ul></ul></ul><ul><ul><ul><li>Esquema con dos entidades y repeticiones </li></ul></ul></ul><ul><ul><ul><li>Esquema con dos entidades, repeticiones y </li></ul></ul></ul><ul><ul><ul><li>colector de apuntadores </li></ul></ul></ul><ul><ul><ul><li>Índice colector </li></ul></ul></ul>
  26. 26. Inicial
  27. 27. I n t e r m e d i o s
  28. 28. I n t e r m e d i o s
  29. 29. I n t e r m e d i o s
  30. 30. I n t e r m e d i o s
  31. 31. C o l e c t o r
  32. 32. Completo
  33. 33. Colector Completo
  34. 34. Diagrama de la BD
  35. 35. Instrumentación dinámica de los índices en una BD <ul><li>Acceso Directo por HASHING (Revoltura) </li></ul><ul><li>Acceso por índices con reordenamiento en lote </li></ul><ul><li>Este fue un mecanismo muy utilizado, actualmente se </li></ul><ul><li>encuentra en muchos manejadores de archivos en </li></ul><ul><li>los años 70's </li></ul><ul><li>Manejo de Árboles B y B * </li></ul><ul><li>Este es el algoritmo más utilizado actualmente en el </li></ul><ul><li>desarrollo de bases de datos, ya que permite una inserción </li></ul><ul><li>ordenada en árboles balanceados en los índices. </li></ul>
  36. 36. Instrumentación actual de un BD <ul><li>Por su parte los mecanismos descritos pueden presentan </li></ul><ul><li>Todavía problemas de eficiencia, por lo que el manejo de </li></ul><ul><li>dominios se efectúa a través de Entidades Independientes, </li></ul><ul><li>por medio de un archivo colector de repeticiones o sinónimos </li></ul><ul><li>como se muestra: </li></ul><ul><li>Dominio Entidades SINONIMOS </li></ul><ul><li>a ABC, TAM aprima, alpha </li></ul><ul><li>b ABC, MTU </li></ul><ul><li>Igualmente, se maneja una inversión parcial de las </li></ul><ul><li>entidades; esto es únicamente se indexan aquellos dominios </li></ul><ul><li>específicamente solicitados por el programador o </li></ul><ul><li>administrador de la base de datos. </li></ul>
  37. 37. 5. Normalización <ul><ul><ul><li>Diseño de esquemas relacionales </li></ul></ul></ul><ul><ul><ul><li>Relaciones libres de anomalías </li></ul></ul></ul><ul><ul><ul><li>Ejemplos de descomposición </li></ul></ul></ul><ul><ul><ul><li>Descomposición sin pérdida </li></ul></ul></ul><ul><ul><ul><li>Dependencia funcional </li></ul></ul></ul><ul><ul><ul><li>Ejemplos básicos </li></ul></ul></ul><ul><ul><ul><li>Formas normales (anomalías) </li></ul></ul></ul><ul><ul><ul><li>1ª. Forma normal(1NF) </li></ul></ul></ul><ul><ul><ul><li>2ª. Forma normal(2NF) </li></ul></ul></ul><ul><ul><ul><li>3ª. Forma normal(3NF) </li></ul></ul></ul><ul><ul><ul><li>Guía para normalizar 3NF </li></ul></ul></ul><ul><ul><ul><li>Otras formas normales </li></ul></ul></ul><ul><ul><ul><li>Comparación con otros modelos </li></ul></ul></ul><ul><ul><ul><li>Modelos de datos </li></ul></ul></ul>
  38. 38. Primera Forma Normal (1FN) <ul><ul><ul><li>No esta normalizada ya que no existen relaciones atómicas entre los dominios. </li></ul></ul></ul><ul><ul><ul><li>Anomalía </li></ul></ul></ul><ul><ul><ul><li>¿De qué tamaño es un registro? </li></ul></ul></ul>Entidad en 1FN En el producto cartesiano todos los dominios tienen valores atómicos
  39. 39. Segunda Forma Normal (2FN) <ul><li>Sin embargo la 1FN tiene problemas cuando los atributos tienen dependencia de varias llaves o dominios independiente. </li></ul><ul><ul><ul><li>Anomalía </li></ul></ul></ul><ul><li> ¿Qué pasa cuando dejo de comprarle a TASA ? </li></ul>Entidades en 2FN Las entidades están en 1FN y además cada dominio o atributo depende de un sola llave: Ent 1 Nombre ==> Ant, Dir,Cd Ent 2 Nombre , Producto ==> Cant
  40. 40. Tercera Forma Normal (3FN) <ul><li>Sin embargo la 2FN tiene problemas cuando uno de los atributos tienen dependencia transitiva de los dominios o atributos </li></ul><ul><ul><ul><li>Anomalía </li></ul></ul></ul><ul><li> ¿Qué pasa cuando TASA </li></ul><ul><li> de ser mi proveedor? </li></ul>Entidades en 3FN Las entidades están en 2FN y además cada dominio o atributo depende NO transitivamente de un sola llave: Ent 1 Nombre ==> Ant, Direcciones Ent 3 Direcciones ==> Ciudad
  41. 41. Normalización: Redundancia controlada <ul><li>La normalización genera más entidades, sin embargo esta redundancia aparente esta controlada por el manejador de BD, siendo ajena para el usuario. </li></ul><ul><li>Por otro lado el tamaño de los archivos tiende a reducirse. </li></ul>Entidad sin normalizar Entidades normalizadas
  42. 42. Normalización Ulterior <ul><li>La normalización puede ser continuada mas allá de la 3FN, existen argumentos académicos interesantes para la existencia de </li></ul><ul><li>BCFN Forma Normal de Boyce y Codd </li></ul><ul><li>Las entidades están en 3FN y además todo dominio independiente es una llave candidato: Ent={A,B,C,D} y las depencias son A==> BCD y D==>A </li></ul><ul><li>aqui A y D son llaves </li></ul><ul><li>4FN Cuarta Forma Normal </li></ul><ul><li>Las entidades están en BCFN y además no se tienen dependencias multievaluadas </li></ul><ul><li>5FN Quinta Forma Normal </li></ul><ul><li>D/KFN Forma Normal de Dominio y Llave </li></ul><ul><li>Para los propósitos de una operación administrativa </li></ul><ul><li>la 3FN es suficientemente poderosa. </li></ul><ul><li>: </li></ul>
  43. 43. Entrevista <ul><li>La empresa YAVAS empresa dedicada a la fabricación </li></ul><ul><li>de herrajes para muebles de diversos tipos, ha </li></ul><ul><li>llamado al experto para que sistematice su operación </li></ul><ul><li>de pedidos. He aquí un registro de la entrevista: </li></ul><ul><li>Gerente -- Mire ingeniero queremos que nos ponga un sistema moderno con todas las ventajas de la computación, dígame que máquina comprar y que sistema de base de datos a usar. </li></ul><ul><li>Ingeniero -- Con calma hombre, primero necesito conocer su realidad informacional, esto es sus reportes, sus formatos de entrada, en fin las relaciones del sistema de pedidos. </li></ul><ul><li>Gerente -- Mire yo no soy experto en la materia, precisamente por eso lo llame a UD. Esta compañía dedicada a la manufactura de herrajes, que son los chunches que se le ponen a los muebles para armarlos hoy en día (no clavos pues), para hacerlos modulares. El éxito que hemos tenido es que nos piden diversos herrajes para diversos muebles. Así por ejemplo un mueble lleva distintos herrajes, con una cantidad específica de cada herraje por cada mueble. Los mismos herrajes se usan en diversos muebles pero en cantidades distintas. </li></ul>
  44. 44. Entrevista (2) <ul><li>Gerente -- Además por cada orden de compra llevamos información de la dirección de envío, el nombre del cliente y la cantidad y tipo de herrajes de cada mueble en cuestión. Guardamos también el precio del artículo (herraje) por línea de detalle y la fecha de la orden de compra con su numero de folio. Conocemos también la información de cada mueble en términos de los tipos y números de herrajes que requieren para usarse en pedidos futuros. </li></ul><ul><li>Gerente -- Como los herrajes se adquieran de distintas plantas necesitamos conocer el nombre de la planta que lo manufactura y la cantidad en inventario del mismo. Ciertamente cada planta nos entrega diversos herrajes. Por cada herraje conocemos su tipo, calidad y descripción; por cada cliente, sus direcciones. Los descuentos los manejamos únicamente por volumen de compra de cada artículo en cada orden..... </li></ul><ul><li>Ingeniero -- Muy bien déjeme trabajar un rato con esta información y le propongo una esquema de sistematización </li></ul>
  45. 45. Guía de Normalización <ul><li>1. Defina los Dominios ( Atomice lo mínimo necesario ) </li></ul><ul><li>2. Defina los Formatos ( Defina formatos comunes ) </li></ul><ul><li>3. Escriba todas las suposiciones semánticas iniciales </li></ul><ul><li>4. Obtenga la Tabla de Dependencias (conectando todos los dominios) </li></ul><ul><li>  5.Determine las dependencias funcionales ( sentido de la fecha, dominios independientes conjuntos ) </li></ul><ul><li>6. Elimine las dependencias transitivas </li></ul><ul><li>7. Partiendo de la Tabla de Dependencias obtenga: las entidades mínimas necesarias, tomando cada dominio(s) independiente para entablar a la entidad. </li></ul><ul><li>  8. Complete la lista de suposiciones semánticas </li></ul><ul><li>  9. Presente los resultados: Dominios, Entidades, Suposiciones </li></ul><ul><li>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 ) </li></ul>
  46. 46. Dominios <ul><li>1. Mueble:   Integer   Ejemplo : 32 </li></ul><ul><li>2. Descripción Mueble:   String ( 40 )  Ejemplo : &quot;Librero Grande&quot; </li></ul><ul><li>3. Dirección:   String ( 40 )   Ejemplo : &quot;Juárez 34, Toluca, Méx.&quot; </li></ul><ul><li>4. Herraje:   Integer  Ejemplo : 45 </li></ul><ul><li>5. Número:   Integer   Ejemplo : 12 </li></ul><ul><li>6. Descripción Herraje:   String ( 40 )  Ejemplo :&quot;horquilla mediana” </li></ul><ul><li>7. Calidad:   String ( 10 )   Ejemplo : &quot;cromo&quot; </li></ul><ul><li>8. Folio:   Integer   Ejemplo : 1234 </li></ul><ul><li>9. Fecha:   Date long Ejemplo : 12/12/1997 </li></ul><ul><li>10. Línea Detalle:   Integer Ejemplo : 13 </li></ul><ul><li>11. Cantidad:   Integer Ejemplo : 80 </li></ul><ul><li>12. Planta:   Integer Ejemplo : 12 </li></ul><ul><li>13. Inventario:   Integer Ejemplo : 439 </li></ul><ul><li>14. Descripción Planta:   String (30) Ejemplo : &quot;automatizada grande&quot; </li></ul><ul><li>15. Volumen:   Integer Ejemplo : 500 </li></ul><ul><li>16. % de Descuento:   Integer   Ejemplo : 25 </li></ul><ul><li>17. Precio:  Real   Ejemplo : $ 0.50 </li></ul>
  47. 47. Realidad Informacional
  48. 48. Ent idades <ul><li>1. Muebles :  ( Mueble , Descripción Mueble ) </li></ul><ul><li>2. Direcciones :  ( Dirección , Cliente ) </li></ul><ul><li>3. Ensambles :  ( Herraje, Mueble , Número ) </li></ul><ul><li>4. Herrajes :   ( Herraje, Descripción Herraje, Calidad, Precio ) </li></ul><ul><li>  5. Ordenes :   ( Folio , Dirección, Fecha ) </li></ul><ul><li>  6. Detalles :   ( Folio, Línea Detalle , Cantidad, Herraje ) </li></ul><ul><li>  7. Inventarios : ( Planta, Herraje , Inventario ) </li></ul><ul><li>  8. Plantas :   ( Planta, Descripción Planta ) </li></ul><ul><li>  9. Descuentos :  ( Herraje, Volumen , % Descuento ) </li></ul>En cada se planta se producen diversos herrajes   Herrajes iguales se producen en plantas distintas   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   En una orden de compra puede tener varias líneas de detalle Suposiciones
  49. 49. Ejercicios de Normalización (1) <ul><li>La empresa ADELANTE tiene una estructura jerárquica en su operación, además esta convencida de la necesidad de cambiar sus sistemas de información a una base de datos relacional, que les de todas las flexibilidades y ventajas de que tanto habla un conferenciante un tanto loco llamado F.J. Codd y su ayudante C.J. Date. La información con la que cuenta es la siguiente: </li></ul><ul><li>Por cada departamento tiene un número individual , cada departamento es manejado por un jefe ( y solo uno ). Cada departamento tiene un presupuesto asignado , así como los proyectos que maneja. Por cada proyecto se tiene la información de los empleados que trabajan en el proyecto y el presupuesto del proyecto . Igualmente las oficinas asignadas a cada departamento y los teléfonos de cada oficina. Por cada empleado, la empresa conoce en que proyecto esta laborando y a que departamento pertenece, así como su teléfono y su historia salarial , consistente en los salarios y puestos que ha desempeñado en la empresa en diferentes fechas . Finalmente la empresa conoce el tamaño de cada oficina. </li></ul><ul><li>¿Podría UD. plantear un esquema de bases de datos relacional para esta información? </li></ul>
  50. 50. Ejercicios de Normalización (2) <ul><li>Habiendo resuelto su base de datos de personal, ahora la empresa </li></ul><ul><li>ADELANTE desea reestructurar su sistema de ordenes y pedidos. </li></ul><ul><li>Actualmente maneja la siguiente información: </li></ul><ul><li>Por cada cliente maneja su limite de crédito , su balance y las direcciones del mismo. Por cada orden de compra, el número del orden , la fecha , la dirección de envío . Por cada línea de detalle en la orden de compra maneja igualmente la cantidad de producto y el número del producto . Por cada producto la descripción del mismo y las plantas donde se produce y por cada planta los productos que produce y el nivel de inventario de cada producto. </li></ul><ul><li>¿Podría UD. plantear un esquema de bases de datos relacional para esta información? </li></ul>
  51. 51. Conversión entre Modelos a Entidad - Relación de Relacional
  52. 52. Elementos del modelo Entidad - Relación <ul><li>Elementos </li></ul><ul><li>Rectángulo </li></ul><ul><li>Representa entidades básicas </li></ul><ul><li>Doble Rectángulo </li></ul><ul><li>  Representa entidades débiles que </li></ul><ul><li>no tienen llaves primarias </li></ul><ul><li>Diamante </li></ul><ul><li>  identificador de relaciones </li></ul><ul><li>Elipse  </li></ul><ul><li>  Atributos de la entidad, si esta subrayado es llave primaria </li></ul><ul><li>Línea </li></ul><ul><li>  Ligas </li></ul>
  53. 53. Modelo Entidad - Relación <ul><li>Introduce el enfoque de Orientado a Objetos al </li></ul><ul><li>definir tipos de datos que encapsulen a una entidad </li></ul><ul><li>completa como un nuevo objeto </li></ul><ul><li>Permite analizar partes de una Base de Datos de </li></ul><ul><li>mayor dimensión (muchos dominios) a nivel entidades </li></ul><ul><li>sin tener que estudiar todos los dominios específico que </li></ul><ul><li>se vuelven atributos de las mismas. </li></ul>
  54. 54. 6. Integridad y seguridad : Directorio 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) . Contienen el QUE, QUIEN, COMO, DONDE y CUANDO de la BD Las bitácoras modelan y registran los procesos que se efectúan dentro de la base de datos
  55. 55. 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
  56. 56. Normalización del Directorio Ejemplo de las dependencias funcionales de la bitácora de uso
  57. 57. Uso de la Bitácora Ante estas actualizaciones en las Entidades TAM y ABC la bitácora refleja la siguiente actividad
  58. 58. Recuperación
  59. 59. Arranque en Frío <ul><li>Determinación de la Entidad (Archivo) perdido </li></ul><ul><li>Cargado del último respaldo </li></ul><ul><li>Ordenamiento de la bitácora según el archivo perdido </li></ul><ul><li>Lectura de Imágenes nuevas de cada registro de la entidad en cuestión </li></ul><ul><li>Lectura de Imágenes viejas de la bitácora y corroboración con la imagen en el respaldo </li></ul><ul><li>Actualización correspondiente de más antiguo a más reciente </li></ul>
  60. 60. Respaldos <ul><li>Respaldar la base de datos BD cuando se llene la bitácora de uso </li></ul><ul><li>Respaldar la bitácora de uso y limpiarla la copia actual </li></ul><ul><li>Se deben mantener copias de la BD y la bitácora en el sitio </li></ul><ul><li>Es recomendable tener una copia adicional en un lugar ajeno físicamente de la instalación </li></ul><ul><li>El tamaño de la bitácora es función del número de actualizaciones que tenga la base de datos </li></ul>
  61. 61. Arranque en Caliente <ul><li>Determinación del último punto estable </li></ul><ul><li>Lectura de imágenes viejas de los archivos modificados en el período de inestabilidad del proceso usando la bitácora de uso </li></ul><ul><li>Lectura de imágenes nuevas de la bitácora y corroboración con la imagen en el archivo </li></ul><ul><li>Desactualización de los archivos por medio del reemplazo de imágenes viejas por nuevas </li></ul><ul><li>Aviso a los usuarios para que repitan las actualizaciones efectuadas durante el período de inestabilidad </li></ul>
  62. 62. Camino al cambio de las TI <ul><li>SER == > Existencia de Carencias </li></ul><ul><li>Sistema caótico, dependiente y limitado </li></ul><ul><li>Querer Ser == > Convencimiento </li></ul><ul><li>Unificación y Confianza </li></ul><ul><li>Saber Ser == > Compromiso </li></ul><ul><li>Preparación, Selección, Capacitación </li></ul><ul><li>Poder Ser == > Costo </li></ul><ul><li>Inversión Adecuada en tecnología </li></ul><ul><li>DEBER SER == > Crecimiento e Innovación </li></ul><ul><li> Libertad, Eficiencia, Confiabilidad e Independencia </li></ul>
  63. 63. Estrategias en Base de Datos <ul><li>Para convencer </li></ul><ul><li>Simulaciones en Hoja de Cálculo </li></ul><ul><li>Para unificar y generar confianza </li></ul><ul><li>Llevar a Base de Datos las aplicaciones nuevas </li></ul><ul><li>Para promover la cooperación </li></ul><ul><li>Primero llevar a Base de Datos los procesos externos </li></ul>
  64. 64. 7. Lenguajes para BD: álgebra y cálculo relacional <ul><li>El LDD es el Lenguaje de Definición de los Datos </li></ul><ul><li>El LMD es el Lenguaje de Manipulación de los Datos </li></ul><ul><li>Existen dos grandes clases de lenguajes de consulta y acceso relacional: </li></ul><ul><li>Basados en álgebra relacional </li></ul><ul><li>El prototipo de esta clase es el denominado </li></ul><ul><li>SQL (Structured Query Language) </li></ul><ul><li> Select PROV.PROV# </li></ul><ul><li> From PROV </li></ul><ul><li> Where PROV.CIUDAD = “Puebla” </li></ul><ul><li>Basados en el cálculo de predicados. </li></ul><ul><li>El prototipo de esta tipo de lenguajes es el PROLOG </li></ul>
  65. 65. Ejemplos de SQL <ul><li>Asumiendo la existencia </li></ul><ul><li>de los siguientes archivos (entidades) </li></ul>Muebles :   ( Mueble , Descripción Mueble ) Direcciones : ( Dirección , Cliente ) Ensambles :  ( Herraje, Mueble , Número ) Herrajes : ( Herraje, Descripción Herraje, Calidad, Precio )   Ordenes :  ( Folio , Dirección, Fecha ) Detalles : ( Folio, Línea Detalle , Cantidad, Herraje ) Inventarios : ( Planta, Herraje , Inventario )   Plantas :   ( Planta, Descripción Planta )   Descuentos :   ( Herraje, Volumen , % Descuento )
  66. 66. Solución del SQL
  67. 67. Ejemplos de SQL (2) <ul><ul><ul><li>Asumiendo la existencia de los siguientes archivos (entidades) </li></ul></ul></ul>
  68. 68. Solución del SQL (2)
  69. 69. Ejemplo Numérico Se obtienen las siguientes tuplas Asumiendo estos datos en las entidades
  70. 70. 8. Manejo de Transacciones <ul><ul><ul><li>Transacciones, Serialización </li></ul></ul></ul><ul><ul><ul><li>Enfoques de solución </li></ul></ul></ul><ul><ul><ul><li>Protocolo de bloque en dos fases </li></ul></ul></ul><ul><ul><ul><li>Transacciones </li></ul></ul></ul><ul><ul><ul><li>Consistencia </li></ul></ul></ul><ul><ul><ul><li>Estado de transacciones </li></ul></ul></ul><ul><ul><ul><li>Diagrama de estado en una transacción </li></ul></ul></ul><ul><ul><ul><li>Recuperación de falla </li></ul></ul></ul>
  71. 71. Criterios en una Transacción <ul><li>Correctitud </li></ul><ul><li>Una transacción debe mantener la consistencia de la BD </li></ul><ul><li>Atomicidad </li></ul><ul><li>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 </li></ul><ul><li>Activa: SI se encuentra en proceso de ejecución </li></ul><ul><li>Parcialmente Comprometida: se ha ejecutado parte de ella (es estado temporal) </li></ul><ul><li>Fallida: NO puede ser completada (requiere ser terminada) </li></ul><ul><li>Terminada: Se efectúa un ROLLBACK para deshacer el proceso </li></ul><ul><li>Comprometida: Se efectúa un COMMIT para completarla </li></ul>En su ejecución En su diseño
  72. 72. Ejemplo de transacción

×