Bases de Datos Relacionales I

72
1 Bases de Datos Bases de Datos Relacionales I Relacionales I M.C. LISSETHE GPE LAMADRID LOPEZ M.C. LISSETHE GPE LAMADRID LOPEZ FACULTAD DE INGENIERIA FACULTAD DE INGENIERIA UABC UABC 2005 2005

description

Apuntes didacticos que explican lo que son las bases de datos relacionales teoricamente y ejemplificando casos de estudio.

Transcript of Bases de Datos Relacionales I

Page 1: Bases de Datos Relacionales I

11

Bases de Datos Bases de Datos Relacionales IRelacionales I

M.C. LISSETHE GPE LAMADRID LOPEZM.C. LISSETHE GPE LAMADRID LOPEZFACULTAD DE INGENIERIAFACULTAD DE INGENIERIA

UABCUABC

20052005

Page 2: Bases de Datos Relacionales I

22

ObjetivosObjetivos

Proporcionar al participante los conceptos Proporcionar al participante los conceptos básicos de bases de datos y dar a conocer las básicos de bases de datos y dar a conocer las principales funcionalidades de los sistemas principales funcionalidades de los sistemas administradores de bases de datos.administradores de bases de datos.

Profundizar en el estudio del modelo Profundizar en el estudio del modelo relacional, su fundamento teórico y lenguajes relacional, su fundamento teórico y lenguajes de consulta. Efectuar prácticas con el lenguajede consulta. Efectuar prácticas con el lenguaje

Page 3: Bases de Datos Relacionales I

33

ContenidoContenido

1.1. Introducción Introducción (2 horas)(2 horas)

2.2. El ambiente tecnológico de las bases de datosEl ambiente tecnológico de las bases de datos(1 hora)(1 hora)

3.3. El modelo relacional El modelo relacional (2 horas)(2 horas)

4.4. Instrumentación de la base de datos Instrumentación de la base de datos (4 horas)(4 horas)

5.5. Normalización Normalización (5 horas)(5 horas)

6.6. Integridad y Seguridad Integridad y Seguridad (2 horas)(2 horas)

7. Lenguajes para bases de datos 7. Lenguajes para bases de datos (3 horas )(3 horas )

8. Manejo de Transacciones 8. Manejo de Transacciones (1 horas)(1 horas)

Page 4: Bases de Datos Relacionales I

44

1.1. Introducción Introducción

¿Qué es una Base de Datos?¿Qué es una Base de Datos?

Sistemas de Información y Bases de DatosSistemas de Información y Bases de Datos

Sistemas Manejadores de Bases de DatosSistemas Manejadores de Bases de Datos

El campo de las bases de datosEl campo de las bases de datos

Comparación con el proceso por archivoComparación con el proceso por archivo

Paradigma de base de datosParadigma de base de datos

Niveles de automatización Niveles de automatización

AplicacionesAplicaciones

Page 5: Bases de Datos Relacionales I

55

Sobre los datos de la Sobre los datos de la empresaempresa

En la medida de lo posible los datos en la En la medida de lo posible los datos en la base deben cumplir con ser o estar :base deben cumplir con ser o estar :

Independientes entre si Independientes entre si

Distribuidos Distribuidos

No redundantes No redundantes

Reales Reales CompartidosCompartidos

Page 6: Bases de Datos Relacionales I

66

DefiniciónDefinición

Base de Datos o BDBase de Datos o BDColección de todos los datos operativos de una Colección de todos los datos operativos de una Empresa de acuerdo a un modelo específico que son Empresa de acuerdo a un modelo específico que son accesibles desde cualquier lugar físico y nivel de la accesibles desde cualquier lugar físico y nivel de la empresa empresa (Estratégico, Táctico, Operativo)(Estratégico, Táctico, Operativo)

Una BD debe cumplir con las características de:Una BD debe cumplir con las características de:

Unicidad Unicidad ConsistenciaConsistencia SeguridadSeguridad PrivacíaPrivacía

DisponibilidadDisponibilidad IntegridadIntegridad

Page 7: Bases de Datos Relacionales I

77

Comparación entre Comparación entre Archivos y Base de DatosArchivos y Base de Datos

Dependencia de ligas externas a Dependencia de ligas externas a los datoslos datos

Datos sin compartir en toda la Datos sin compartir en toda la empresaempresa

Redundancia de los datosRedundancia de los datos

Archivos no relacionados Archivos no relacionados

entre síentre sí

Acceso limitado y con poca Acceso limitado y con poca flexibilidad, eficiencia y flexibilidad, eficiencia y seguridadseguridad

Independencia a ligas externas a los datosIndependencia a ligas externas a los datos

Datos compartidos y compatibles en la Datos compartidos y compatibles en la empresaempresa

Redundancia mínima y controladaRedundancia mínima y controlada

Datos relacionados de acuerdo a un modeloDatos relacionados de acuerdo a un modelo

Flexibilidad, Integridad, Eficiencia y Flexibilidad, Integridad, Eficiencia y seguridadseguridad

Page 8: Bases de Datos Relacionales I

88

El campo de las BDEl campo de las BD

EficienciaEficienciaAcceso y modificación de grandes volumenes de datosAcceso y modificación de grandes volumenes de datos

AdaptabilidadAdaptabilidadSupervivencia de datos bajo errores, reduciendo Supervivencia de datos bajo errores, reduciendo inconsistenciasinconsistencias

Control del accesoControl del accesoSimulataneidad de uso múltiple dentro de una congruencia Simulataneidad de uso múltiple dentro de una congruencia con control de concurrencia y seguridadcon control de concurrencia y seguridad

PersistenciaPersistenciaExistencia y mantenimiento de datos por largos períodos de Existencia y mantenimiento de datos por largos períodos de tiempo, independientemente del modo de accesotiempo, independientemente del modo de acceso

Page 9: Bases de Datos Relacionales I

99

2.2. El ambiente tecnológico El ambiente tecnológico de las BDde las BD

Contexto informáticoContexto informático

Actividades del modelador de bases de datosActividades del modelador de bases de datos

Breve cronología de las bases de datosBreve cronología de las bases de datos

Evolución de la noción de BDsEvolución de la noción de BDs

Modelos de datosModelos de datos

Esquema e instanciaEsquema e instancia

ModeladoModelado

Modelo de empresaModelo de empresa

Modelo de datosModelo de datos

Modelo de implementaciónModelo de implementación

Page 10: Bases de Datos Relacionales I

1010

Diversos Modelos de una BDDiversos Modelos de una BDEn realidad han existido diversos modelos paraEn realidad han existido diversos modelos para

modelar la realidad, aquí presentamos algunos de ellosmodelar la realidad, aquí presentamos algunos de ellos

Modelo JerárquicoModelo Jerárquico  Primer modelo de BD, IMS es la mas popular Primer modelo de BD, IMS es la mas popular

Modelo de RedesModelo de Redes Definido por C. Bachman, IDMS fue el producto comercialDefinido por C. Bachman, IDMS fue el producto comercial

Modelo Relacional FuncionalModelo Relacional Funcional  Diseño de Codd popularizado por Date Diseño de Codd popularizado por Date

(RDB, Oracle, Sybase, Informix )(RDB, Oracle, Sybase, Informix )

Modelo Entidad - RelaciónModelo Entidad - Relación   Concepción de Chen, muy usado aplicable a Concepción de Chen, muy usado aplicable a diversos modelos ( j,r,rel)diversos modelos ( j,r,rel)

Modelo SemánticoModelo Semántico Inicialmente de R. Quillian usado solo en investigaciónInicialmente de R. Quillian usado solo en investigación

Modelo BinarioModelo Binario Instrumentado por Stonebraker basado en el modelo de Codd Instrumentado por Stonebraker basado en el modelo de Codd (Ingres)(Ingres)

  Modelo Orientado a ObjetosModelo Orientado a Objetos  Popular al representar la tendencia actual  Popular al representar la tendencia actual (Ilustra, O2 )(Ilustra, O2 )

Modelo MutlirelacionalModelo Mutlirelacional Extensión al relacional con inversión totalExtensión al relacional con inversión total

Page 11: Bases de Datos Relacionales I

1111

Usos de una Base de DatosUsos de una Base de Datos

Page 12: Bases de Datos Relacionales I

1212

Entorno de operaciónEntorno de operación

Page 13: Bases de Datos Relacionales I

1313

EXTRANET / INTRANET: EXTRANET / INTRANET: El entorno actualEl entorno actual

Interacción actual entre el WWW y la BD

Page 14: Bases de Datos Relacionales I

1414

Niveles de InstrumentaciónNiveles de Instrumentación

Page 15: Bases de Datos Relacionales I

1515

Niveles de Instrumentación Niveles de Instrumentación (2)(2)

Page 16: Bases de Datos Relacionales I

1616

3.3. El Modelo Relacional El Modelo Relacional

Definición del modelo relacionalDefinición del modelo relacional

Esquema relacionalEsquema relacional

Propiedades estructuralesPropiedades estructurales

Definición de relaciónDefinición de relación

Identificación de tuplasIdentificación de tuplas

Almacenamiento de relacionesAlmacenamiento de relaciones

Page 17: Bases de Datos Relacionales I

1717

Modelo de DatosModelo de Datos

Un modelo es un conjunto de conceptos para describir los datos y Un modelo es un conjunto de conceptos para describir los datos y la relación semántica entre ellos, dentro de las restricciones que la relación semántica entre ellos, dentro de las restricciones que apliquen en la empresaapliquen en la empresa

La triada La triada MD { G, O, R }MD { G, O, R }

G G Reglas de generación de objetosReglas de generación de objetos

00 Operaciones, elementos de manipulaciónOperaciones, elementos de manipulación

RR Restricciones inherentes y explícitas Restricciones inherentes y explícitas

MDMD Notación formal matemática para expresar datos y relaciones Notación formal matemática para expresar datos y relaciones

Esquema del MDEsquema del MD Es un plano de la BD Es un plano de la BD

Vista del MDVista del MD es un subesquema del MDes un subesquema del MD

Page 18: Bases de Datos Relacionales I

1818

ModeladoModelado

Page 19: Bases de Datos Relacionales I

1919

Definición del ModeloDefinición del ModeloEl modelo relacional es una estructura basada en colecciones de El modelo relacional es una estructura basada en colecciones de tablas en 2 dimensionestablas en 2 dimensiones

con propiedades especiales, que permiten representar distintos tipos de asociacionescon propiedades especiales, que permiten representar distintos tipos de asociacionesLas tablas se denominan Las tablas se denominan entidadesentidades y están formadas por un conjunto de y están formadas por un conjunto de tuplas tuplas o o

instancias de cada relación de datos atómicos, llamados instancias de cada relación de datos atómicos, llamados dominiosdominios. .

Cada tupla representa un hecho elemental o aseveración de la realidad a modelar:Cada tupla representa un hecho elemental o aseveración de la realidad a modelar:

< Id objeto, propiedad 1, propiedad 2, … , propiedad n >< Id objeto, propiedad 1, propiedad 2, … , propiedad n >< Arbol, Altura, Color, … , Edad >< Arbol, Altura, Color, … , Edad >< Fresno, 10.30, café oscuro, … , 10 >< Fresno, 10.30, café oscuro, … , 10 >

El orden de cada tupla en la entidad y de cada dominio es irrelevante en la organización. 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, Aunque los valores de los dominios pueden repetirse, las asociaciones son únicas, por lo que no pueden existir dos instancias iguales.por lo que no pueden existir dos instancias iguales.

Page 20: Bases de Datos Relacionales I

2020

Operaciones con el ModeloOperaciones con el ModeloEl modelo relacional permiteEl modelo relacional permite

consultar las tablas: instancia por instanciaconsultar las tablas: instancia por instancia

insertar nuevas entidades: definición de archivos insertar nuevas entidades: definición de archivos insertar nuevas instancias: altasinsertar nuevas instancias: altaseliminar entidades: bajas de archivoseliminar entidades: bajas de archivoseliminar instancias: bajaseliminar instancias: bajasactualizar entidades: cambiosactualizar entidades: cambiosinterrelacionar entidades: a través de un dominiointerrelacionar entidades: a través de un dominio

El modelo asume la existencia de un lenguaje de interacción poderosoEl modelo asume la existencia de un lenguaje de interacción poderoso

El modelo fue desarrollado por F. Codd en los 70’s y parte de la definición matemática de que un 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:entidad es un subconjunto del producto cartesiano entre los dominios de la realidad a modelar:

Sean los dominios Sean los dominios D1 : { d1a, d1b … d1n }, D2 : { d2a, d2b … d2n }, D3 : { d3a, d3b … d3n }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 tuplasEntonces el producto cartesiano D1 x D2 x D3 esta dado por las tuplas

< d1a, d2a,d3a > ……. < d1a, d2a,d3b > hasta ….. < d1n, d2n,d3n >< d1a, d2a,d3a > ……. < d1a, d2a,d3b > hasta ….. < d1n, d2n,d3n >

El subconjunto de este producto es la realidad existente en un momento dado en la El subconjunto de este producto es la realidad existente en un momento dado en la empresaempresa

Page 21: Bases de Datos Relacionales I

2121

Ejemplos del ModeloEjemplos del Modelo

entidad: DireccionesNombre x Dirección x Teléfono

Nombre Dirección TeléfonoPedro Pino 67 229-3456Martín Encino 40 456-8907

Gonzalo Suace 34 345-6789

entidad: EdadesNombre x Edad x Estado Civil

Nombre Edad Estado CivilPedro 34 casadoMartín 45 soltero

Gonzalo 23 solteroTeresa 23 casada

Relación entre entidades

Nombre Edad Dirección TeléfonoPedro 34 Pino 67 229-3456Martín 45 Encino 40 456-8907

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

Page 22: Bases de Datos Relacionales I

2222

Identificación de tuplasIdentificación de tuplasTradicionalmente se conoce como Tradicionalmente se conoce como llave de accesollave de acceso a aquel a aquel campo o camposcampo o campos de de

un registro que nos dan permiten llegar directo a un dato, por ejemplo el 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.nombre de la persona me da su edad o su sexo.

En el modelo relacional se mantiene esta situación siendo este En el modelo relacional se mantiene esta situación siendo este dominio o dominio o conjunto de dominio la llave de accesoconjunto de dominio la llave de acceso. .

Para encontrar los indices principales, en el modelo buscaremos aquellos Para encontrar los indices principales, en el modelo buscaremos aquellos dominios que son dominios que son independientesindependientes, esto es aquellos de los que los , esto es aquellos de los que los demás demás dominios de la relación dependendominios de la relación dependen para generar una relación funcional. A para generar una relación funcional. A esto le llamaremos dependencias funcionales o DF. esto le llamaremos dependencias funcionales o DF.

Es común que el Es común que el dominio o los dominios independientesdominio o los dominios independientes correspondan a la correspondan a la llave de accesollave de acceso de un archivo de un archivo (igualmente al índice principal en un (igualmente al índice principal en un archivo indexado).archivo indexado).

Page 23: Bases de Datos Relacionales I

2323

Identificación de llavesIdentificación de llavesTradicionalmente existen las siguientes tipos de llaves de acceso a un archivo:Tradicionalmente existen las siguientes tipos de llaves de acceso a un archivo:Llave Primaria:Llave Primaria: Dominio(s) independientes en la entidad Dominio(s) independientes en la entidadLlave Compuesta:Llave Compuesta: Si la llave primaria es formada por varios dominios Si la llave primaria es formada por varios dominiosSuper Llave:Super Llave: Conjunto de llaves que satisfacen la identificación única. En el 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 modelo relacional es lo que se desea, para lo que se requiere el proceso de normalización de entidades en el modelado de la realidadnormalización de entidades en el modelado de la realidad

Atributo Primo:Atributo Primo: es aquel dominio independiente y que forma parte de la llave de es aquel dominio independiente y que forma parte de la llave de una entidad específica.una entidad específica.

Atributo No primo:Atributo No primo: es aquel dominio que dependa de una llave en una entidad, sin es aquel dominio que dependa de una llave en una entidad, sin participar en la llave.participar en la llave.

Llave Foránea:Llave Foránea: Aquel dominio que existiendo como dependiente en una entidad es Aquel dominio que existiendo como dependiente en una entidad es a su vez una llave (Atributo primo) en otra entidad de la BD. a su vez una llave (Atributo primo) en otra entidad de la BD.

Page 24: Bases de Datos Relacionales I

2424

4.4. Instrumentación de Instrumentación de la Base de Datos la Base de Datos

Tópicos de instrumentación de BDTópicos de instrumentación de BDEsquema con dos entidadesEsquema con dos entidadesEsquema con dos entidades y repeticiones Esquema con dos entidades y repeticiones Esquema con dos entidades, repeticiones yEsquema con dos entidades, repeticiones y

colector de apuntadorescolector de apuntadoresÍndice colectorÍndice colector

Page 25: Bases de Datos Relacionales I

2525

InicialInicial

Page 26: Bases de Datos Relacionales I

2626

IInntteerrmmeeddiiooss

Page 27: Bases de Datos Relacionales I

2727

IInntteerrmmeeddiiooss

Page 28: Bases de Datos Relacionales I

2828

IInntteerrmmeeddiiooss

Page 29: Bases de Datos Relacionales I

2929

IInntteerrmmeeddiiooss

Page 30: Bases de Datos Relacionales I

3030

CCoolleeccttoorr

Page 31: Bases de Datos Relacionales I

3131

CompletoCompleto

Page 32: Bases de Datos Relacionales I

3232

Colector CompletoColector Completo

Page 33: Bases de Datos Relacionales I

3333

Diagrama Diagrama de la BDde la BD

Page 34: Bases de Datos Relacionales I

3434

Instrumentación dinámica Instrumentación dinámica de de

los índices en una BDlos índices en una BDAcceso Directo por Acceso Directo por HASHINGHASHING (Revoltura) (Revoltura)

Acceso por índices con reordenamiento en loteAcceso por índices con reordenamiento en loteEste fue un mecanismo muy utilizado, actualmente se Este fue un mecanismo muy utilizado, actualmente se encuentra en muchos manejadores de archivos enencuentra en muchos manejadores de archivos enlos años 70'slos años 70's

Manejo de Árboles B y B *Manejo de Árboles B y B *Este es el algoritmo más utilizado actualmente en el Este es el algoritmo más utilizado actualmente en el

desarrollo de bases de datos, ya que permite una insercióndesarrollo de bases de datos, ya que permite una inserciónordenada en árboles balanceados en los índices.ordenada en árboles balanceados en los índices.

Page 35: Bases de Datos Relacionales I

3535

Instrumentación actual de Instrumentación actual de un BDun BD

Por su parte los mecanismos descritos pueden presentan Por su parte los mecanismos descritos pueden presentan Todavía problemas de eficiencia, por lo que el manejo deTodavía problemas de eficiencia, por lo que el manejo dedominios se efectúa a través dedominios se efectúa a través de Entidades Independientes, Entidades Independientes,por medio de un archivo colector de repeticiones opor medio de un archivo colector de repeticiones o sinónimos sinónimoscomo se muestra:como se muestra:

Dominio Dominio EntidadesEntidades SINONIMOSSINONIMOSaa ABC, TAMABC, TAM aprima, alphaaprima, alphabb ABC, MTUABC, MTU

Igualmente, se maneja una Igualmente, se maneja una inversión parcial inversión parcial de las de las

entidades; esto es únicamente se indexan aquellos dominios entidades; esto es únicamente se indexan aquellos dominios específicamente solicitados por el programador o específicamente solicitados por el programador o administrador de la base de datos.administrador de la base de datos.

Page 36: Bases de Datos Relacionales I

3636

5.5. Normalización NormalizaciónDiseño de esquemas relacionalesDiseño de esquemas relacionales

Relaciones libres de anomalíasRelaciones libres de anomalíasEjemplos de descomposiciónEjemplos de descomposiciónDescomposición sin pérdidaDescomposición sin pérdida

Dependencia funcionalDependencia funcionalEjemplos básicos Ejemplos básicos

Formas normales (anomalías)Formas normales (anomalías)1ª. Forma normal(1NF)1ª. Forma normal(1NF)2ª. Forma normal(2NF)2ª. Forma normal(2NF)3ª. Forma normal(3NF)3ª. Forma normal(3NF)

Guía para normalizar 3NFGuía para normalizar 3NFOtras formas normalesOtras formas normalesComparación con otros modelosComparación con otros modelos

Modelos de datosModelos de datos

Page 37: Bases de Datos Relacionales I

3737

Primera Forma Normal (1FN)Primera Forma Normal (1FN)

No esta normalizada No esta normalizada ya que no existen ya que no existen relaciones atómicas relaciones atómicas entre los dominios.entre los dominios.

AnomalíaAnomalía¿De qué tamaño es ¿De qué tamaño es un registro?un registro?

Nombre Antig Direcciones Ciudad Producto

reg 1 TASA 25 a–os Reforma 23 Puebla clavostornillostuercastachuelas

reg 2 MESA 15 a–os Juarez 15 Cholula tuercastachuelas

reg 3 GISA 20 a–os Sur 322 Puebla clavostornillostuercas

Nombre Antig Direcciones Ciudad Producto Cant

tupla 1 TASA 25 a–os Reforma 23 Puebla clavos 400tupla 2 TASA 25 a–os Reforma 23 Puebla tornillos 200tupla 3 TASA 25 a–os Reforma 23 Puebla tuercas 100tupla 4 TASA 25 a–os Reforma 23 Puebla tachuelas 50tupla 5 MESA 15 a–os Juarez 15 Cholula tuercas 30tupla 6 MESA 15 a–os Juarez 15 Cholula tachuelas 20tupla 7 TASA 20 a–os Sur 322 Puebla clavos 20tupla 8 GISA 20 a–os Sur 322 Puebla tornillos 50tupla 9 GISA 20 a–os Sur 322 Puebla tuercas 40

Entidad en 1FNEntidad en 1FN

En el producto cartesiano todos los dominios tienen valores atómicos

Page 38: Bases de Datos Relacionales I

3838

Segunda Forma Normal (2FN)Segunda Forma Normal (2FN)Sin embargo la 1FN tiene problemas cuando los atributos tienen Sin embargo la 1FN tiene problemas cuando los atributos tienen dependencia de varias llaves o dominios independiente. dependencia de varias llaves o dominios independiente.

AnomalíaAnomalía

¿Qué pasa cuando dejo de ¿Qué pasa cuando dejo de comprarle a TASA ?comprarle a TASA ?

Nombre Antig Direcciones Ciudad Producto Cant

tupla 1 TASA 25 a–os Reforma 23 Puebla clavos 400tupla 2 TASA 25 a–os Reforma 23 Puebla tornillos 200tupla 3 TASA 25 a–os Reforma 23 Puebla tuercas 100tupla 4 TASA 25 a–os Reforma 23 Puebla tachuelas 50tupla 5 MESA 15 a–os Juarez 15 Cholula tuercas 30tupla 6 MESA 15 a–os Juarez 15 Cholula tachuelas 20tupla 7 TASA 20 a–os Sur 322 Puebla clavos 20tupla 8 GISA 20 a–os Sur 322 Puebla tornillos 50tupla 9 GISA 20 a–os Sur 322 Puebla tuercas 40

Entidades en 2FNEntidades en 2FN

Las entidades están en 1FN y además cada dominio o atributo depende de un sola llave:

Ent 1 Ent 1 Nombre Nombre ==> Ant, Dir,Cd==> Ant, Dir,CdEnt 2 Ent 2 NombreNombre, , ProductoProducto ==> Cant==> Cant

Ent 2 Nombre Producto Cant

tupla 1 TASA clavos 400tupla 2 TASA tornillos 200tupla 3 TASA tuercas 100tupla 4 TASA tachuelas 50tupla 5 MESA tuercas 30tupla 6 MESA tachuelas 20tupla 7 TASA clavos 20tupla 8 GISA tornillos 50tupla 9 GISA tuercas 40

Ent 1 Nombre Antig Direcciones Ciudad

tupla 1 TASA 25 a–os Reforma 23 Pueblatupla 2 MESA 15 a–os Juarez 15 Cholulatupla 3 GISA 20 a–os Sur 322 Puebla

Page 39: Bases de Datos Relacionales I

3939

Tercera Forma Normal (3FN)Tercera Forma Normal (3FN)Sin embargo la 2FN tiene problemas cuando uno de los atributos tienen Sin embargo la 2FN tiene problemas cuando uno de los atributos tienen dependencia transitiva de los dominios o atributosdependencia transitiva de los dominios o atributos

AnomalíaAnomalía

¿Qué pasa cuando TASA ¿Qué pasa cuando TASA

de ser mi proveedor?de ser mi proveedor?

Entidades en 3FNEntidades en 3FN

Las entidades están en 2FN y además cada dominio o atributo depende NO transitivamente de un sola llave:

Ent 1 Ent 1 Nombre Nombre ==> Ant, ==> Ant, DireccionesDireccionesEnt 3Ent 3 DireccionesDirecciones ==> ==> CiudadCiudad

Ent 1 Nombre Antig Direcciones Ciudad

tupla 1 TASA 25 a–os Reforma 23 Pueblatupla 2 MESA 15 a–os Juarez 15 Cholulatupla 3 GISA 20 a–os Sur 322 Puebla

Ent 1 Nombre Antig Direcciones

tupla 1 TASA 25 a–os Reforma 23tupla 2 MESA 15 a–os Juarez 15tupla 3 GISA 20 a–os Sur 322

Ent 3 Direcciones Ciudad

tupla 1 Reforma 23 Pueblatupla 2 Juarez 15 Cholulatupla 3 Sur 322 Puebla

Page 40: Bases de Datos Relacionales I

4040

Normalización: Normalización: Redundancia controladaRedundancia controlada

La normalización genera más entidades, sin embargo esta La normalización genera más entidades, sin embargo esta redundancia aparente esta controlada por el manejador redundancia aparente esta controlada por el manejador de BD, siendo ajena para el usuario. de BD, siendo ajena para el usuario.

Por otro lado el tamaño de los archivos tiende a reducirse. Por otro lado el tamaño de los archivos tiende a reducirse.

Ent 1 Nombre Antig Direcciones

tupla 1 TASA 25 a–os Reforma 23tupla 2 MESA 15 a–os Juarez 15tupla 3 GISA 20 a–os Sur 322

Ent 3 Direcciones Ciudad

tupla 1 Reforma 23 Pueblatupla 2 Juarez 15 Cholulatupla 3 Sur 322 Puebla

Ent 2 Nombre Producto Cant

tupla 1 TASA clavos 400tupla 2 TASA tornillos 200tupla 3 TASA tuercas 100tupla 4 TASA tachuelas 50tupla 5 MESA tuercas 30tupla 6 MESA tachuelas 20tupla 7 TASA clavos 20tupla 8 GISA tornillos 50tupla 9 GISA tuercas 40

Nombre Antig Direcciones Ciudad Producto

reg 1 TASA 25 a–os Reforma 23 Puebla clavostornillostuercastachuelas

reg 2 MESA 15 a–os Juarez 15 Cholula tuercastachuelas

reg 3 GISA 20 a–os Sur 322 Puebla clavostornillostuercas

Entidad sin normalizarEntidad sin normalizar

Entidades normalizadasEntidades normalizadas

Page 41: Bases de Datos Relacionales I

4141

Normalización UlteriorNormalización UlteriorLa normalización puede ser continuada mas allá de la 3FN, existen argumentos académicos interesantes para la existencia La normalización puede ser continuada mas allá de la 3FN, existen argumentos académicos interesantes para la existencia dede

BCFN BCFN Forma Normal de Boyce y Codd Forma Normal de Boyce y Codd Las entidades están en 3FN y además todo dominio independiente es una llave candidato: Ent={A,B,C,D} y las 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==>Adepencias son A==> BCD y D==>Aaqui A y D son llavesaqui A y D son llaves

4FN 4FN Cuarta Forma NormalCuarta Forma Normal

Las entidades están en BCFN y además no se tienen dependencias multievaluadasLas entidades están en BCFN y además no se tienen dependencias multievaluadas

5FN 5FN Quinta Forma NormalQuinta Forma Normal

D/KFN D/KFN Forma Normal de Dominio y Llave Forma Normal de Dominio y Llave

Para los propósitos de una operación administrativa Para los propósitos de una operación administrativa la 3FN es suficientemente poderosa.la 3FN es suficientemente poderosa.

:

Page 42: Bases de Datos Relacionales I

4242

EEnnttrreevviissttaa

La empresa YAVASLa empresa YAVAS empresa dedicada a la fabricación empresa dedicada a la fabricaciónde herrajes para muebles de diversos tipos, hade herrajes para muebles de diversos tipos, ha

llamado al experto para que sistematice su operación llamado al experto para que sistematice su operación de pedidos. He aquí un registro de la entrevista:de pedidos. He aquí un registro de la entrevista:

Gerente --Gerente -- Mire ingeniero queremos que nos ponga un sistema Mire ingeniero queremos que nos ponga un sistema moderno con todas las ventajas de la computación, dígame que moderno con todas las ventajas de la computación, dígame que máquina comprar y que sistema de base de datos a usar.máquina comprar y que sistema de base de datos a usar.

Ingeniero Ingeniero ---- Con calma hombre, primero necesito conocer su realidad Con calma hombre, primero necesito conocer su realidad informacional, esto es sus reportes, sus formatos de entrada, en fin informacional, esto es sus reportes, sus formatos de entrada, en fin las relaciones del sistema de pedidos.las relaciones del sistema de pedidos.

GerenteGerente -- -- Mire yo no soy experto en la materia, precisamente por Mire yo no soy experto en la materia, precisamente por eso lo llame a UD. Esta compañía dedicada a la manufactura de 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 herrajes, que son los chunches que se le ponen a los muebles para armarlos hoy en día armarlos hoy en día (no clavos pues),(no clavos pues), para hacerlos modulares. El para hacerlos modulares. El éxito que hemos tenido es que nos piden diversos herrajes para éxito que hemos tenido es que nos piden diversos herrajes para diversos muebles. Así por ejemplo un mueble lleva distintos diversos muebles. Así por ejemplo un mueble lleva distintos herrajes, con una cantidad específica de cada herraje por cada herrajes, con una cantidad específica de cada herraje por cada mueble. Los mismos herrajes se usan en diversos muebles pero en mueble. Los mismos herrajes se usan en diversos muebles pero en cantidades distintas. cantidades distintas.

Page 43: Bases de Datos Relacionales I

4343

EEnnttrreevviisstta a (2)(2)

Gerente --Gerente -- Además por cada orden de compra llevamos información de la 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 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 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 (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 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 términos de los tipos y números de herrajes que requieren para usarse en pedidos futuros. pedidos futuros.

Gerente --Gerente -- Como los herrajes se adquieran de distintas plantas necesitamos Como los herrajes se adquieran de distintas plantas necesitamos conocer el nombre de la planta que lo manufactura y la cantidad en conocer el nombre de la planta que lo manufactura y la cantidad en inventario del mismo. Ciertamente cada planta nos entrega diversos inventario del mismo. Ciertamente cada planta nos entrega diversos herrajes. Por cada herraje conocemos su tipo, calidad y descripción; por herrajes. Por cada herraje conocemos su tipo, calidad y descripción; por cada cliente, sus direcciones. Los descuentos los manejamos únicamente cada cliente, sus direcciones. Los descuentos los manejamos únicamente por volumen de compra de cada artículo en cada orden.....por volumen de compra de cada artículo en cada orden.....

IngenieroIngeniero -- -- Muy bien déjeme trabajar un rato con esta información y le Muy bien déjeme trabajar un rato con esta información y le propongo una esquema de sistematizaciónpropongo una esquema de sistematización

Page 44: Bases de Datos Relacionales I

4444

Guía de NormalizaciónGuía de Normalización1. Defina los Dominios 1. Defina los Dominios ( Atomice lo mínimo necesario )( Atomice lo mínimo necesario )2. Defina los Formatos 2. Defina los Formatos ( Defina formatos comunes )( Defina formatos comunes )3. Escriba todas las suposiciones semánticas iniciales3. Escriba todas las suposiciones semánticas iniciales4. Obtenga la Tabla de Dependencias 4. Obtenga la Tabla de Dependencias (conectando todos los dominios)(conectando todos los dominios)  5.Determine las dependencias funcionales 5.Determine las dependencias funcionales ( sentido de la fecha, ( sentido de la fecha,

dominios independientes dominios independientes conjuntos )conjuntos )

6. Elimine las dependencias transitivas6. Elimine las dependencias transitivas7. Partiendo de la Tabla de Dependencias obtenga: 7. Partiendo de la Tabla de Dependencias obtenga: las entidades mínimas las entidades mínimas

necesarias, tomando cada dominio(s) independiente para entablar a necesarias, tomando cada dominio(s) independiente para entablar a la entidad.la entidad.

  8. Complete la lista de suposiciones semánticas 8. Complete la lista de suposiciones semánticas   9. Presente los resultados: 9. Presente los resultados: Dominios, Entidades, SuposicionesDominios, Entidades, Suposiciones10. Obtenga aprobación firmada de la definición ó en caso necesario efectúe 10. Obtenga aprobación firmada de la definición ó en caso necesario efectúe

las modificaciones requeridas las modificaciones requeridas (un buen diseño debe no contener más (un buen diseño debe no contener más de 100 dominios y 40 entidades por sistema )de 100 dominios y 40 entidades por sistema )

Page 45: Bases de Datos Relacionales I

4545

DDoommiinniiooss

1. Mueble:1. Mueble:   IntegerInteger   Ejemplo : 32Ejemplo : 32

2. Descripción Mueble:2. Descripción Mueble:   String ( 40 )String ( 40 )  Ejemplo : "Librero Grande" Ejemplo : "Librero Grande"

3. Dirección:3. Dirección:   String ( 40 )String ( 40 )   Ejemplo : "Juárez 34, Toluca, Méx."Ejemplo : "Juárez 34, Toluca, Méx."

4. Herraje:4. Herraje:   IntegerInteger  Ejemplo : 45 Ejemplo : 45

5. Número:5. Número:   IntegerInteger   Ejemplo : 12Ejemplo : 12

6. Descripción Herraje:6. Descripción Herraje:   String ( 40 )String ( 40 )  Ejemplo :"horquilla mediana” Ejemplo :"horquilla mediana”

7. Calidad:7. Calidad:   String ( 10 )String ( 10 )   Ejemplo : "cromo"Ejemplo : "cromo"

8. Folio:8. Folio:   IntegerInteger   Ejemplo : 1234Ejemplo : 1234

9. Fecha:9. Fecha:   Date longDate long Ejemplo : 12/12/1997Ejemplo : 12/12/1997

10. Línea Detalle:  10. Línea Detalle:  IntegerInteger Ejemplo : 13Ejemplo : 13

11. Cantidad:11. Cantidad:   IntegerInteger Ejemplo : 80Ejemplo : 80

12. Planta:12. Planta:   IntegerInteger Ejemplo : 12Ejemplo : 12

13. Inventario:13. Inventario:   IntegerInteger Ejemplo : 439Ejemplo : 439

14. Descripción Planta:14. Descripción Planta:   String (30)String (30) Ejemplo : "automatizada grande"Ejemplo : "automatizada grande"

15. Volumen:15. Volumen:   IntegerInteger Ejemplo : 500Ejemplo : 500

16. % de Descuento:16. % de Descuento:   IntegerInteger   Ejemplo : 25Ejemplo : 25

17. Precio:17. Precio:  Real Real    Ejemplo : $ 0.50Ejemplo : $ 0.50

Page 46: Bases de Datos Relacionales I

4646

Realidad InformacionalRealidad Informacional

Page 47: Bases de Datos Relacionales I

4747

EEnnttiiddaaddeess

1. 1. Muebles :Muebles :  ( ( MuebleMueble, Descripción Mueble ), Descripción Mueble )

2. 2. Direcciones :Direcciones :  (  ( DirecciónDirección, Cliente ), Cliente )

3.3. Ensambles : Ensambles :  (  ( Herraje, MuebleHerraje, Mueble,, Número ) Número )

4. 4. Herrajes :Herrajes :    ( ( Herraje,Herraje, Descripción Herraje, Calidad, Descripción Herraje, Calidad, Precio )Precio )

  5. 5. Ordenes :Ordenes :   ( ( FolioFolio,, Dirección, Fecha ) Dirección, Fecha )

  6. 6. Detalles :Detalles :    (( Folio, Línea DetalleFolio, Línea Detalle,, Cantidad, Herraje ) Cantidad, Herraje )

  7. 7. Inventarios :Inventarios : (( Planta, HerrajePlanta, Herraje,, Inventario ) Inventario )

  8.8. Plantas : Plantas :   (( Planta,Planta, Descripción Planta ) Descripción Planta )

  9. 9. Descuentos :Descuentos :  (  ( Herraje, VolumenHerraje, Volumen,, % Descuento ) % Descuento )

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

SuposicionesSuposiciones

Page 48: Bases de Datos Relacionales I

4848

Ejercicios de Normalización Ejercicios de Normalización (1)(1)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: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.

¿Podría UD. plantear un esquema de bases de datos relacional para esta información?¿Podría UD. plantear un esquema de bases de datos relacional para esta información?

Page 49: Bases de Datos Relacionales I

4949

Ejercicios de Normalización Ejercicios de Normalización (2)(2)Habiendo resuelto su base de datos de personal, ahora la empresa

ADELANTE desea reestructurar su sistema de ordenes y pedidos.

Actualmente maneja la siguiente información:

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.

¿Podría UD. plantear un esquema de bases de datos relacional para esta información?¿Podría UD. plantear un esquema de bases de datos relacional para esta información?

Page 50: Bases de Datos Relacionales I

5050

Conversión entre ModelosConversión entre Modelos

a Entidad - Relacióna Entidad - Relación

de Relacional

Page 51: Bases de Datos Relacionales I

5151

Elementos del modelo Elementos del modelo Entidad - RelaciónEntidad - Relación

ElementosElementosRectánguloRectángulo

Representa entidades básicasRepresenta entidades básicasDoble RectánguloDoble Rectángulo

   Representa entidades débiles queRepresenta entidades débiles queno tienen llaves primariasno tienen llaves primarias

DiamanteDiamante  identificador de relacionesidentificador de relaciones

Elipse Elipse    Atributos de la entidad, si esta subrayado es llave primariaAtributos de la entidad, si esta subrayado es llave primaria

LíneaLínea   LigasLigas

Page 52: Bases de Datos Relacionales I

5252

Modelo Modelo Entidad - RelaciónEntidad - Relación

Introduce elIntroduce el enfoque de Orientado a Objetos alenfoque de Orientado a Objetos al

definir tipos de datos que encapsulen a una entidaddefinir tipos de datos que encapsulen a una entidad

completa como un nuevo objetocompleta como un nuevo objeto

Permite analizar partes de una Base de Datos de Permite analizar partes de una Base de Datos de

mayor dimensión mayor dimensión (muchos dominios)(muchos dominios) a nivel entidades a nivel entidades

sin tener que estudiar todos los dominios específico que sin tener que estudiar todos los dominios específico que

se vuelven atributos de las mismas.se vuelven atributos de las mismas.

Page 53: Bases de Datos Relacionales I

5353

6.6. Integridad y seguridad Integridad y seguridad::Directorio de DatosDirectorio 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

Page 54: Bases de Datos Relacionales I

5454

BITACORAS:BITACORAS: QUE, QUIEN, COMO, DONDE y CUANDOQUE, 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

Page 55: Bases de Datos Relacionales I

5555

Normalización del DirectorioNormalización del DirectorioEjemplo de las dependencias funcionales

de la bitácora de uso

Page 56: Bases de Datos Relacionales I

5656

Uso de la BitácoraUso de la Bitácora

Ante estasactualizaciones en las

Entidades TAM y ABCla bitácora refleja la siguiente actividad

Page 57: Bases de Datos Relacionales I

5757

RecuperaciónRecuperación

Page 58: Bases de Datos Relacionales I

5858

Arranque en FríoArranque en Frío

11 Determinación de la Entidad Determinación de la Entidad (Archivo)(Archivo) perdido perdido

22 Cargado del último respaldoCargado del último respaldo

33 Ordenamiento de la bitácora según el archivo Ordenamiento de la bitácora según el archivo perdidoperdido

44 Lectura de Lectura de Imágenes nuevasImágenes nuevas de cada registro de la de cada registro de la entidad en cuestiónentidad en cuestión

55 Lectura de Lectura de Imágenes viejasImágenes viejas de la bitácora y de la bitácora y corroboración con la imagen en el respaldocorroboración con la imagen en el respaldo

66 Actualización correspondiente de más antiguo a más Actualización correspondiente de más antiguo a más recientereciente

Page 59: Bases de Datos Relacionales I

5959

RespaldosRespaldos

11 RespaldarRespaldar la base de datos BD cuando se llene la la base de datos BD cuando se llene la bitácora de usobitácora de uso

22 Respaldar la bitácora de uso y limpiarla la copia Respaldar la bitácora de uso y limpiarla la copia actualactual

33 Se deben mantener Se deben mantener copias de la BDcopias de la BD y la bitácora en el y la bitácora en el sitiositio

44 Es recomendable tener una copia adicional en un Es recomendable tener una copia adicional en un lugar lugar ajeno físicamente de la instalaciónajeno físicamente de la instalación

55 El El tamaño de la bitácoratamaño de la bitácora es función del número de es función del número de actualizaciones que tenga la base de datosactualizaciones que tenga la base de datos

Page 60: Bases de Datos Relacionales I

6060

Arranque en CalienteArranque en Caliente

11 Determinación del Determinación del último punto estableúltimo punto estable

22 Lectura de Lectura de imágenes viejasimágenes viejas de los archivos de los archivos modificados en el período de inestabilidad del modificados en el período de inestabilidad del proceso usando la bitácora de usoproceso usando la bitácora de uso

33 Lectura de Lectura de imágenes nuevasimágenes nuevas de la bitácora y de la bitácora y corroboración con la imagen en el archivocorroboración con la imagen en el archivo

44 Desactualización de los archivos por medio del Desactualización de los archivos por medio del reemplazo de imágenes viejas por nuevasreemplazo de imágenes viejas por nuevas

55 Aviso a los usuarios para que repitan las Aviso a los usuarios para que repitan las actualizaciones efectuadas durante el período de actualizaciones efectuadas durante el período de inestabilidadinestabilidad

Page 61: Bases de Datos Relacionales I

6161

Camino al cambio de las TICamino al cambio de las TI

SER == > SER == > Existencia de CarenciasExistencia de CarenciasSistema caótico, dependiente y limitadoSistema caótico, dependiente y limitado

Querer Ser == > Querer Ser == > ConvencimientoConvencimientoUnificación y ConfianzaUnificación y Confianza

Saber Ser == > Saber Ser == > CompromisoCompromisoPreparación, Selección, CapacitaciónPreparación, Selección, Capacitación

Poder Ser == > Poder Ser == > CostoCostoInversión Adecuada en tecnología Inversión Adecuada en tecnología

DEBER SER == >DEBER SER == > Crecimiento e InnovaciónCrecimiento e Innovación Libertad, Eficiencia, Confiabilidad e Independencia Libertad, Eficiencia, Confiabilidad e Independencia

Page 62: Bases de Datos Relacionales I

6262

Estrategias en Base de Estrategias en Base de DatosDatos

Para convencer Para convencer

Simulaciones en Hoja de CálculoSimulaciones en Hoja de Cálculo

Para unificar y generar confianzaPara unificar y generar confianza

Llevar a Base de Datos las aplicaciones Llevar a Base de Datos las aplicaciones nuevasnuevas

Para promover la cooperaciónPara promover la cooperación

Primero llevar a Base de Datos los procesos Primero llevar a Base de Datos los procesos externos externos

Page 63: Bases de Datos Relacionales I

6363

7.7. Lenguajes para BD: Lenguajes para BD: álgebra y cálculo relacionalálgebra y cálculo relacional

El El LDDLDD es el Lenguaje de Definición de los Datos es el Lenguaje de Definición de los DatosEl El LMDLMD es el Lenguaje de Manipulación de los Datos es el Lenguaje de Manipulación de los DatosExisten dos grandes clases de lenguajes de consulta y acceso Existen dos grandes clases de lenguajes de consulta y acceso

relacional:relacional:Basados en álgebra relacionalBasados en álgebra relacional

El prototipo de esta clase es el denominado El prototipo de esta clase es el denominado SQL (Structured Query Language)SQL (Structured Query Language)

SelectSelect PROV.PROV# PROV.PROV# FromFrom PROV PROV

WhereWhere PROV.CIUDAD = “Puebla” PROV.CIUDAD = “Puebla”

Basados en el cálculo de predicados.Basados en el cálculo de predicados.El prototipo de esta tipo de lenguajes es el El prototipo de esta tipo de lenguajes es el PROLOGPROLOG

Page 64: Bases de Datos Relacionales I

6464

Ejemplos de Ejemplos de SQLSQL

Asumiendo la existenciaAsumiendo la existenciade los siguientes archivosde los siguientes archivos (entidades)(entidades)

Muebles :Muebles :

  (( MuebleMueble, Descripción Mueble ), Descripción Mueble )

Direcciones : Direcciones : ( ( DirecciónDirección, Cliente ), Cliente )

Ensambles :Ensambles : (  ( Herraje, MuebleHerraje, Mueble,, Número ) Número )

Herrajes :Herrajes :( ( Herraje,Herraje, Descripción Herraje, Calidad, Precio ) Descripción Herraje, Calidad, Precio )

  Ordenes :Ordenes : (  ( FolioFolio,, Dirección, Fecha ) Dirección, Fecha )

Detalles :Detalles :

(( Folio, Línea DetalleFolio, Línea Detalle,, Cantidad, Herraje ) Cantidad, Herraje )

Inventarios :Inventarios :

(( Planta, HerrajePlanta, Herraje,, Inventario ) Inventario )

  Plantas :Plantas :   (( Planta,Planta, Descripción Planta ) Descripción Planta )

  Descuentos :Descuentos :

  ( ( Herraje, VolumenHerraje, Volumen,, % Descuento ) % Descuento )

Page 65: Bases de Datos Relacionales I

6565

Solución del SQLSolución del SQL

Page 66: Bases de Datos Relacionales I

6666

Ejemplos de SQL Ejemplos de SQL (2)(2)Asumiendo la existencia de los siguientes archivos Asumiendo la existencia de los siguientes archivos (entidades)(entidades)

Page 67: Bases de Datos Relacionales I

6767

Solución del SQL Solución del SQL (2)(2)

Page 68: Bases de Datos Relacionales I

6868

Ejemplo NuméricoEjemplo Numérico

Se obtienen las siguientes tuplas

Asumiendo estos datosen las entidades

Page 69: Bases de Datos Relacionales I

6969

8.8. Manejo de Transacciones Manejo de Transacciones

Transacciones, Serialización Transacciones, Serialización Enfoques de solución Enfoques de solución Protocolo de bloque en dos fasesProtocolo de bloque en dos fases TransaccionesTransacciones ConsistenciaConsistencia

Estado de transaccionesEstado de transacciones Diagrama de estado en una transacciónDiagrama de estado en una transacción Recuperación de fallaRecuperación de falla

Page 70: Bases de Datos Relacionales I

7070

Criterios en una TransacciónCriterios en una Transacción

CorrectitudCorrectitudUna transacción debe mantener la consistencia de la BDUna transacción debe mantener la consistencia de la BD

AtomicidadAtomicidadUna transacción debe manejarse como un objeto atómico, esto Una transacción debe manejarse como un objeto atómico, esto es no puede ejecutarse un pedazo del mismo únicamente, o se es no puede ejecutarse un pedazo del mismo únicamente, o se completa toda o no se completacompleta toda o no se completa

Activa:Activa: SI se encuentra en proceso de ejecución SI se encuentra en proceso de ejecuciónParcialmente Comprometida:Parcialmente Comprometida: se ha ejecutado parte de ella se ha ejecutado parte de ella

(es estado temporal)(es estado temporal) Fallida:Fallida: NO puede ser completada NO puede ser completada (requiere ser terminada)(requiere ser terminada)

Terminada:Terminada: Se efectúa un ROLLBACK para deshacer el Se efectúa un ROLLBACK para deshacer el procesoproceso

Comprometida:Comprometida: Se efectúa un COMMIT para completarla Se efectúa un COMMIT para completarla

En su ejecuciónEn su ejecución

En su diseñoEn su diseño

Page 71: Bases de Datos Relacionales I

7171

Ejemplo de transacciónEjemplo de transacción

Page 72: Bases de Datos Relacionales I

7272

BibliografíaBibliografíaDate C. J. Data Base SystemsDate C. J. Data Base Systems