SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Tecnología de
  Bases de Datos
 Apreciación Global



Una apreciación global de los problemas, técnicas
 y terminología usados en tecnología de bases de
                       datos


                                                    1
¿Qué es un sistema de Base de Datos?


V Una colección muy grande, integrada de datos.
V Modelos ( = representa) una empresa del
  mundo real.
   W Entidades (como ser, estudiantes, cursos), y sus

   W Relaciones (como ser, Nastasja toma CS564)

V Un Sistema de manejo de Base de Datos (DBMS) es un
  paquete computacional diseñado para almacenar y
  administrar sistemas de bases de datos.



                                                        2
¿Porqué usar un DBMS?

V Independencia de datos y acceso eficiente.
V Tiempo reducido para el desarrollo de aplicaciones.
V Integridad de datos y Seguridad.
V Administración uniforme de datos.
V Acceso concurrente, recuperación de caídas del
  sistema.




                                                        1
¿Porqué estudiar Bases de Datos?
V Cambio de computación a información
   W en el ‘extremo inferior’: esfuerzo para organizar
     datos como para un sitio de internet (actualmente un
     desorden!)
   W en el ‘extremo superior’: aplicaciones científicas

V Los juegos de datos aumentan en diversidad y en
  volumen.
   W Bibliotecas digitales, video interactivo, proyecto de

     Genoma Humano, proyecto EOS
   W ... la necesidad de DBMS está explotando

V DBMS comprende la mayor parte de Ciencias de
  Informática
   W OS, idiomas, teoría, “A”I, multimedia, lógica
                                                             1
Modelos de Datos
V Un modelo es una colección de conceptos para
  describir datos.
V Un esquema de base de datos es una descripción de una
  colección particular de datos, usando el modelo de
  datos dado.
V El modelo relacional de datos es el modelo de uso mas
  difundido hoy en día.
   W Concepto principal: relación, básicamente una

     tabla con filas y columnas.
   W Toda relación tiene un esquema, que describe las

     columnas, o campos.
                                                      5
Modelos de Datos
 V Un modelo de datos es un lenguaje formal que nos
     permite definir el tipo de información y de
     procesamiento de la información que ocurre en una
     aplicación de base de datos. Soporta:
      W Definición de estructuras de datos para

        almacenamiento.
      W Definición de reglas que los datos almacenados

        deben obedecer.
      W Definición de operaciones en los datos, de tal

        manera que los cambios en el mundo real se
        puedan contabilizar.
Julio de 2009
                                                         6
Diseño de Base de Datos

V El diseño de Bases de Datos tradicionalmente se
  concentra en el primero de los puntos anteriormente
  mencionados: el diseño de estructuras de
  almacenamiento. Razón: reglas y operaciones se
  definen en términos de la estructura elegida.
V ¡El diseño de reglas y operaciones es importante
  también! Y afectará la elección de estructura de datos
  también.




                                                           1
Diseño de Bases de Datos

V Es un proceso difícil, con tendencia a errores: los
  errores cometidos temprano en el diseño se pagan en
  etapas posteriores.
V Fases a acomodar separación de preocupaciones:




                                                        8
Niveles de Abstracción
V Varias vistas, el único esquema
   conceptual (lógico) y esquema        Vista 1    Vista 2     Vista 3
   físico.
      W Las vistas describen cómo
                                           Esquema Conceptual
         el usuario ve a los datos.
                                              Esquema Físico
    W   El esquema conceptual
        define la estructura
        integrada, lógica                           Base de
    W   El esquema físico describe                   datos
        los archivos e índices
        usados.
 Los esquemas se definen usando DDL; los datos se modifican/inspeccionan
usando DML.
                                                                     9
El modelo de datos relacional

V Informalmente:
   W relación: una tabla con filas y columnas; definida por un

     esquema de relación.
   W Cada columna tiene un encabezado, denominado

     atributo
   W una fila se denomina tupla; representa un hecho en el

     mundo real que se desea registrar
   W Como el mundo real cambia en el tiempo, se desea

     agregar hechos (insertar tuplas), retirar hechos
     (eliminar tuplas), o cambiar hechos (actualizar tuplas).

 ¡Varios ejemplos mas tarde!

                                                             1
Ejemplo de Base de Datos del Curso

V Esquema externo (Vista del Rector):
   W   Info_Curso ( cid:string, matriculación:integer )
V Esquema conceptual:
   W   Estudiante ( eid:string, nombre:string, login:string,
                 edad:integer, pgn:real )
   W   Curso ( cid: string, cnombre:string, créditos:integer )
   W   Matriculado ( eid:string, cid:string, nota:string )
V Esquema físico:
   W   Relaciones almacenadas como archivos sin orden
   W   Indice en la primera columna de Estudiante

                                                                 11
Independencia de Datos

 V Aplicaciones aisladas de cómo se estructuran y
   almacenan los datos.
 V Independencia de Datos lógicos:* Protección de cambios
   en la estructura lógica de datos.
 V Independencia Física de Datos:* Protección de cambios
   en la estructura física de los datos.


  ¡Uno de los beneficios mas importantes de usar un DBMS



            * Dos nociones de encapsulamiento que existen desde hace tiempo   12
Control de Concurrencia
V La ejecución concurrente de programas de usuarios es esencial
  para un buen desempeño DBMS: ¡podemos esperar varios
  usuarios simultáneos!
   W Debido a que los accesos al disco son frecuentes, y

     relativamente lentos, es importante mantener al CPU
     zumbando al trabajar con varios programas de usuarios de
     forma concurrente.
V Acciones entrelazadas de diferentes programas de usuarios
  pueden llevar a la inconsistencia: como por ej., un cheque del
  banco es anulado mientras que el balance de cuenta está siendo
  calculado.
V El DBMS garantiza que tales problemas no ocurran: los usuarios
  pueden pretender que están usando un sistema de un solo
  usuario.                                                       13
Ejecución de Programas de Bases de
 Datos
V El concepto clave es transacción, lo que significa una secuencia
  atómica de acciones de bases de datos (lee/escribe).
V Cada transacción, completamente ejecutada, debe dejar la base
  de datos en un estado consistente si la base de datos es
  consistente cuando comienza la transacción.
   W   Los usuarios pueden especificar algunas restricciones de integridad
       simples en los datos, y el DBMS pondrá en vigor estas
       restricciones.
   W   Más allá de esto, el DBMS no entiende en realidad la semántica
       de los datos (es decir, por ej., no entiende cómo se calcula el
       interés en una cuenta bancaria).
   W   ¡Así, se asegura de que el hecho de que una transacción (corre
       exclusivamente) preserve consistencia sea la responsabilidad
       final del usuario!
                                                                      14
Transacciones Concurrentes
V El DBMS asegura que la ejecución de un juego de
  transacciones concurrentes {T1, ... , Tn} es equivalente a
  alguna ejecución en serie de las transacciones T1’ , …, Tn’.


V Principio: ya que a los usuarios se les permite estar activos
  en forma simultánea, sus transacciones pueden ejecutarse
  en cualquier orden. El DBMS encontrará algún orden
  (silenciosamente): serialización.
V El truco principal es un data lock: una prohibición temporal
  de leer (o escribir) algunos datos específicos, porque alguna
  otra transacción los está usando.
                                                               15
¿Cómo se logra la Concurrencia?
V Antes de leer/escribir un objeto, una transacción requiere
  un bloqueo en el objeto, y espera hasta que el DBMS le de el
  bloqueo. Todos los bloqueos obtenidos son soltados al
  finalizar la transacción. (Strict 2PL protocolo.)
V Idea: Si una acción de Ti (digamos, escribiendo X) afecta Tk

  (que talvez lee X), uno de ellos, digamos Ti, obtendrá el
  bloqueo en X primero Tk tiene que esperar hasta que Ti se
  complete; esto ordena efectivamente las transacciones.
V Que si Tk ya tiene un bloqueo en Y y Ti luego solicita un

  bloqueo en Y? (Deadlock!) Ti o Tk es abortada y
                                                              16
  recomenzada!
Atomicidad de Transacciones
V El DBMS garantiza atomicidad (propiedad total o nada) aún si
  el sistema se cae en plena transacción.
V Idea: Mantener un registro (historial) de todas las
  transacciones ejecutadas por el DBMS mientras que ejecuta un
  juego de transacciones:
   W Antes de realizar un cambio a la base de datos, el ingreso

      del registro correspondiente es forzado hacia una
      ubicación segura. (protocolo WAL*; el soporte del SO para
      esto es a menudo inadecuado.)
   W Después de una caida, los efectos de transacciones

      parcialmente ejecutadas son deshechos usando el registro.
      (Gracias a WAL, si el ingreso de registro no ha sido
      salvado antes de la caída, ¡los cambios correspondientes
      no se han aplicado a la base de datos!)
                                             * Write-Ahead Logging
                                                                 17
El Registro de la Base de Datos
V Las siguientes acciones se graban en el registro:
    W   Ti escribe un objeto: el valor antiguo y el valor nuevo.
         T  La tupla del registro debe grabarse al disco antes que la
            página cambiada! (atomicidad!)
    W   Ti compromete/aborta: una tupla de registro indicando esta
        acción.
         T Se asegura de que todos las tuplas de registros de la

            transacción sean escritos en el registro antes de perpetrar
            (durabilidad!).

V Las tuplas de registros se ordenan, se ligan entre si por medio de
   un identificador de transacción, de modo que es fácil deshacer
   una transacción específica (por ej. resolver un bloqueo).

                                                                          18
El Registro de la Base de Datos

V El registro es a menudo duplicado y archivado en
  almacenamiento ‘estable’.

V Todas las actividades relacionadas al registro (y de hecho,
  todas las actividades relacionadas con la concurrencia tales
  como bloqueo/desbloqueo, que tienen que ver con
  deadlocks, etc.) tienen un manejo transparente por el
  DBMS. Los usuarios finales ni se dan cuenta …




                                                                 19
Las Bases de Datos Alegra la Vida de
Estas Personas …
 V Usuarios finales y vendedores de DBMS
 V Programadores de aplicaciones de bases de datos
    W Como ser, webmasters inteligentes
 V Administradores de bases de datos (DBA)
    W Diseña esquemas lógicos/físicos

    W Maneja la seguridad y autorizaciones

    W Asegura la disponibilidad de datos, recuperación de

      efectivo
    W Ejecuta ajustes de la base de datos a medida que

      evolucionan los requerimientos
    ¡Debe entender cómo funciona un DBMS!
                                                            20
Estas capas
 Arquitectura DBMS                                        deben considerar
                                                          control de
                                                          concurrencia y
V Un DBMS típico tiene una                                recuperación
  arquitectura por capas.          Optimización de consultas
V La figura no muestra los                y Ejecución
  componentes de control de
  concurrencia y de                Operadores relacionales
  recuperación.                  Archivos y Métodos de Acceso
V Esta es una de las muchas
  arquitecturas posibles, cada        Manejo de buffers
  sistema tiene sus propias
                                  Manejo de Espacio de Disco
  variaciones.


                                               DB

                                                                 21
Resumen
V El DBMS se usa para mantener y consultar grandes juegos de
    datos.
V   Los beneficios incluyen recuperación de caídas del sistema,
    acceso concurrente, desarrollo de aplicaciones veloz,
    integridad y seguridad de datos.
V   Los niveles de abstracción dan independencia de datos.
V   Típicamente, un DBMS tiene una arquitectura por capas.
V   Los DBAs tienen trabajos de responsabilidad y son bien
    pagados!
V   DBMS RD es uno de las áreas,
    más amplias e interesantes en CS.


                                                                  22

Weitere ähnliche Inhalte

Was ist angesagt?

Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQLjosecuartas
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQLCycle-IT
 
Arquitectura de base de datos xpo
Arquitectura de base de datos  xpoArquitectura de base de datos  xpo
Arquitectura de base de datos xpodoc-92
 
Lina rojas base de datos
Lina rojas base de datosLina rojas base de datos
Lina rojas base de datoslinamercela97
 
Que es una base de datos power 2
Que es una base de datos power 2Que es una base de datos power 2
Que es una base de datos power 2lulu-fer
 
12 reglas de codd
12 reglas de codd12 reglas de codd
12 reglas de coddenriquesyso
 
Optimización de base de datos ACCESS - Metodología de la Investigación
Optimización de base de datos ACCESS - Metodología de la InvestigaciónOptimización de base de datos ACCESS - Metodología de la Investigación
Optimización de base de datos ACCESS - Metodología de la InvestigaciónAlfredo Humberto Escalante Godinez
 
Proyecto final "publisher, access y bases de datos"
Proyecto final "publisher, access y bases de datos"Proyecto final "publisher, access y bases de datos"
Proyecto final "publisher, access y bases de datos"Paulinalopezb
 
NoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraWladimir Cabarcas
 

Was ist angesagt? (20)

Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQL
 
Access
AccessAccess
Access
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
 
201011 tema 01 introducción
201011 tema 01 introducción201011 tema 01 introducción
201011 tema 01 introducción
 
Introduccion base de datos
Introduccion base de datosIntroduccion base de datos
Introduccion base de datos
 
TRABAJO FINAL DE ACCESS 2010
TRABAJO FINAL DE ACCESS 2010TRABAJO FINAL DE ACCESS 2010
TRABAJO FINAL DE ACCESS 2010
 
Arquitectura de base de datos xpo
Arquitectura de base de datos  xpoArquitectura de base de datos  xpo
Arquitectura de base de datos xpo
 
CONOCIENDO BASE DE DATOS
CONOCIENDO BASE DE DATOSCONOCIENDO BASE DE DATOS
CONOCIENDO BASE DE DATOS
 
Lina rojas base de datos
Lina rojas base de datosLina rojas base de datos
Lina rojas base de datos
 
Que es una base de datos power 2
Que es una base de datos power 2Que es una base de datos power 2
Que es una base de datos power 2
 
12 reglas de codd
12 reglas de codd12 reglas de codd
12 reglas de codd
 
Optimización de base de datos ACCESS - Metodología de la Investigación
Optimización de base de datos ACCESS - Metodología de la InvestigaciónOptimización de base de datos ACCESS - Metodología de la Investigación
Optimización de base de datos ACCESS - Metodología de la Investigación
 
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 
Proyecto final "publisher, access y bases de datos"
Proyecto final "publisher, access y bases de datos"Proyecto final "publisher, access y bases de datos"
Proyecto final "publisher, access y bases de datos"
 
Mongodb vs couchdb
Mongodb vs couchdb Mongodb vs couchdb
Mongodb vs couchdb
 
Historia de las bases de datos
Historia de las bases de datosHistoria de las bases de datos
Historia de las bases de datos
 
NoSQL - MongoDB
NoSQL - MongoDBNoSQL - MongoDB
NoSQL - MongoDB
 
Recuperacion de bd
Recuperacion de bdRecuperacion de bd
Recuperacion de bd
 
Introducción a las bases de datos UOC
Introducción a las bases de datos UOCIntroducción a las bases de datos UOC
Introducción a las bases de datos UOC
 
NoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache Cassandra
 

Andere mochten auch

Acid base chemistry
Acid base chemistryAcid base chemistry
Acid base chemistryAMIN BUHARI
 
Investigación y comparativa cms
Investigación y comparativa cmsInvestigación y comparativa cms
Investigación y comparativa cmspsvasir
 
Drupal Camp2010 Bcn Cmis Drupal Alfresco V1 1
Drupal Camp2010 Bcn Cmis Drupal Alfresco V1 1Drupal Camp2010 Bcn Cmis Drupal Alfresco V1 1
Drupal Camp2010 Bcn Cmis Drupal Alfresco V1 1Roger CARHUATOCTO
 
Creacion de sitios web a medida con CMS
Creacion de sitios web a medida con CMSCreacion de sitios web a medida con CMS
Creacion de sitios web a medida con CMSzarmath
 
Sistemas de gestores de base de datos
Sistemas de gestores de base de datosSistemas de gestores de base de datos
Sistemas de gestores de base de datosHernan Okamura
 
Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Henry Cumbicus Rivera
 

Andere mochten auch (8)

Acid base chemistry
Acid base chemistryAcid base chemistry
Acid base chemistry
 
Investigación y comparativa cms
Investigación y comparativa cmsInvestigación y comparativa cms
Investigación y comparativa cms
 
CMS
CMSCMS
CMS
 
Drupal Camp2010 Bcn Cmis Drupal Alfresco V1 1
Drupal Camp2010 Bcn Cmis Drupal Alfresco V1 1Drupal Camp2010 Bcn Cmis Drupal Alfresco V1 1
Drupal Camp2010 Bcn Cmis Drupal Alfresco V1 1
 
Prestashop vs Magento
Prestashop vs MagentoPrestashop vs Magento
Prestashop vs Magento
 
Creacion de sitios web a medida con CMS
Creacion de sitios web a medida con CMSCreacion de sitios web a medida con CMS
Creacion de sitios web a medida con CMS
 
Sistemas de gestores de base de datos
Sistemas de gestores de base de datosSistemas de gestores de base de datos
Sistemas de gestores de base de datos
 
Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)
 

Ähnlich wie taller de bd (20)

Trabajo de base de datos
Trabajo de base de datosTrabajo de base de datos
Trabajo de base de datos
 
Base de datos 11-6
Base de datos 11-6Base de datos 11-6
Base de datos 11-6
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
DB4O + BIRT
DB4O + BIRTDB4O + BIRT
DB4O + BIRT
 
Conceptos Básicos de Bases de Datos
Conceptos Básicos de Bases de DatosConceptos Básicos de Bases de Datos
Conceptos Básicos de Bases de Datos
 
Presentacion base de datos
Presentacion base de datosPresentacion base de datos
Presentacion base de datos
 
Concepto de bd
Concepto de bdConcepto de bd
Concepto de bd
 
Base de datos
Base de datosBase de datos
Base de datos
 
Tutorial LibreOffice Base 6.3.4
Tutorial LibreOffice Base 6.3.4Tutorial LibreOffice Base 6.3.4
Tutorial LibreOffice Base 6.3.4
 
Gestor de Base de Datos.
Gestor de Base de Datos.Gestor de Base de Datos.
Gestor de Base de Datos.
 
Base de Datos, información sobre ellas, etc.
Base de Datos, información sobre ellas, etc.Base de Datos, información sobre ellas, etc.
Base de Datos, información sobre ellas, etc.
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de Datos II (II Bimestre)
Bases de Datos II (II Bimestre)Bases de Datos II (II Bimestre)
Bases de Datos II (II Bimestre)
 
Balotario oficial de bd
Balotario oficial de bdBalotario oficial de bd
Balotario oficial de bd
 
1 caracteristicas y_tipos_de_bases_de_datos
1 caracteristicas y_tipos_de_bases_de_datos1 caracteristicas y_tipos_de_bases_de_datos
1 caracteristicas y_tipos_de_bases_de_datos
 
1 caracteristicas y_tipos_de_bases_de_datos
1 caracteristicas y_tipos_de_bases_de_datos1 caracteristicas y_tipos_de_bases_de_datos
1 caracteristicas y_tipos_de_bases_de_datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 

taller de bd

  • 1. Tecnología de Bases de Datos Apreciación Global Una apreciación global de los problemas, técnicas y terminología usados en tecnología de bases de datos 1
  • 2. ¿Qué es un sistema de Base de Datos? V Una colección muy grande, integrada de datos. V Modelos ( = representa) una empresa del mundo real. W Entidades (como ser, estudiantes, cursos), y sus W Relaciones (como ser, Nastasja toma CS564) V Un Sistema de manejo de Base de Datos (DBMS) es un paquete computacional diseñado para almacenar y administrar sistemas de bases de datos. 2
  • 3. ¿Porqué usar un DBMS? V Independencia de datos y acceso eficiente. V Tiempo reducido para el desarrollo de aplicaciones. V Integridad de datos y Seguridad. V Administración uniforme de datos. V Acceso concurrente, recuperación de caídas del sistema. 1
  • 4. ¿Porqué estudiar Bases de Datos? V Cambio de computación a información W en el ‘extremo inferior’: esfuerzo para organizar datos como para un sitio de internet (actualmente un desorden!) W en el ‘extremo superior’: aplicaciones científicas V Los juegos de datos aumentan en diversidad y en volumen. W Bibliotecas digitales, video interactivo, proyecto de Genoma Humano, proyecto EOS W ... la necesidad de DBMS está explotando V DBMS comprende la mayor parte de Ciencias de Informática W OS, idiomas, teoría, “A”I, multimedia, lógica 1
  • 5. Modelos de Datos V Un modelo es una colección de conceptos para describir datos. V Un esquema de base de datos es una descripción de una colección particular de datos, usando el modelo de datos dado. V El modelo relacional de datos es el modelo de uso mas difundido hoy en día. W Concepto principal: relación, básicamente una tabla con filas y columnas. W Toda relación tiene un esquema, que describe las columnas, o campos. 5
  • 6. Modelos de Datos V Un modelo de datos es un lenguaje formal que nos permite definir el tipo de información y de procesamiento de la información que ocurre en una aplicación de base de datos. Soporta: W Definición de estructuras de datos para almacenamiento. W Definición de reglas que los datos almacenados deben obedecer. W Definición de operaciones en los datos, de tal manera que los cambios en el mundo real se puedan contabilizar. Julio de 2009 6
  • 7. Diseño de Base de Datos V El diseño de Bases de Datos tradicionalmente se concentra en el primero de los puntos anteriormente mencionados: el diseño de estructuras de almacenamiento. Razón: reglas y operaciones se definen en términos de la estructura elegida. V ¡El diseño de reglas y operaciones es importante también! Y afectará la elección de estructura de datos también. 1
  • 8. Diseño de Bases de Datos V Es un proceso difícil, con tendencia a errores: los errores cometidos temprano en el diseño se pagan en etapas posteriores. V Fases a acomodar separación de preocupaciones: 8
  • 9. Niveles de Abstracción V Varias vistas, el único esquema conceptual (lógico) y esquema Vista 1 Vista 2 Vista 3 físico. W Las vistas describen cómo Esquema Conceptual el usuario ve a los datos. Esquema Físico W El esquema conceptual define la estructura integrada, lógica Base de W El esquema físico describe datos los archivos e índices usados. Los esquemas se definen usando DDL; los datos se modifican/inspeccionan usando DML. 9
  • 10. El modelo de datos relacional V Informalmente: W relación: una tabla con filas y columnas; definida por un esquema de relación. W Cada columna tiene un encabezado, denominado atributo W una fila se denomina tupla; representa un hecho en el mundo real que se desea registrar W Como el mundo real cambia en el tiempo, se desea agregar hechos (insertar tuplas), retirar hechos (eliminar tuplas), o cambiar hechos (actualizar tuplas). ¡Varios ejemplos mas tarde! 1
  • 11. Ejemplo de Base de Datos del Curso V Esquema externo (Vista del Rector): W Info_Curso ( cid:string, matriculación:integer ) V Esquema conceptual: W Estudiante ( eid:string, nombre:string, login:string, edad:integer, pgn:real ) W Curso ( cid: string, cnombre:string, créditos:integer ) W Matriculado ( eid:string, cid:string, nota:string ) V Esquema físico: W Relaciones almacenadas como archivos sin orden W Indice en la primera columna de Estudiante 11
  • 12. Independencia de Datos V Aplicaciones aisladas de cómo se estructuran y almacenan los datos. V Independencia de Datos lógicos:* Protección de cambios en la estructura lógica de datos. V Independencia Física de Datos:* Protección de cambios en la estructura física de los datos. ¡Uno de los beneficios mas importantes de usar un DBMS * Dos nociones de encapsulamiento que existen desde hace tiempo 12
  • 13. Control de Concurrencia V La ejecución concurrente de programas de usuarios es esencial para un buen desempeño DBMS: ¡podemos esperar varios usuarios simultáneos! W Debido a que los accesos al disco son frecuentes, y relativamente lentos, es importante mantener al CPU zumbando al trabajar con varios programas de usuarios de forma concurrente. V Acciones entrelazadas de diferentes programas de usuarios pueden llevar a la inconsistencia: como por ej., un cheque del banco es anulado mientras que el balance de cuenta está siendo calculado. V El DBMS garantiza que tales problemas no ocurran: los usuarios pueden pretender que están usando un sistema de un solo usuario. 13
  • 14. Ejecución de Programas de Bases de Datos V El concepto clave es transacción, lo que significa una secuencia atómica de acciones de bases de datos (lee/escribe). V Cada transacción, completamente ejecutada, debe dejar la base de datos en un estado consistente si la base de datos es consistente cuando comienza la transacción. W Los usuarios pueden especificar algunas restricciones de integridad simples en los datos, y el DBMS pondrá en vigor estas restricciones. W Más allá de esto, el DBMS no entiende en realidad la semántica de los datos (es decir, por ej., no entiende cómo se calcula el interés en una cuenta bancaria). W ¡Así, se asegura de que el hecho de que una transacción (corre exclusivamente) preserve consistencia sea la responsabilidad final del usuario! 14
  • 15. Transacciones Concurrentes V El DBMS asegura que la ejecución de un juego de transacciones concurrentes {T1, ... , Tn} es equivalente a alguna ejecución en serie de las transacciones T1’ , …, Tn’. V Principio: ya que a los usuarios se les permite estar activos en forma simultánea, sus transacciones pueden ejecutarse en cualquier orden. El DBMS encontrará algún orden (silenciosamente): serialización. V El truco principal es un data lock: una prohibición temporal de leer (o escribir) algunos datos específicos, porque alguna otra transacción los está usando. 15
  • 16. ¿Cómo se logra la Concurrencia? V Antes de leer/escribir un objeto, una transacción requiere un bloqueo en el objeto, y espera hasta que el DBMS le de el bloqueo. Todos los bloqueos obtenidos son soltados al finalizar la transacción. (Strict 2PL protocolo.) V Idea: Si una acción de Ti (digamos, escribiendo X) afecta Tk (que talvez lee X), uno de ellos, digamos Ti, obtendrá el bloqueo en X primero Tk tiene que esperar hasta que Ti se complete; esto ordena efectivamente las transacciones. V Que si Tk ya tiene un bloqueo en Y y Ti luego solicita un bloqueo en Y? (Deadlock!) Ti o Tk es abortada y 16 recomenzada!
  • 17. Atomicidad de Transacciones V El DBMS garantiza atomicidad (propiedad total o nada) aún si el sistema se cae en plena transacción. V Idea: Mantener un registro (historial) de todas las transacciones ejecutadas por el DBMS mientras que ejecuta un juego de transacciones: W Antes de realizar un cambio a la base de datos, el ingreso del registro correspondiente es forzado hacia una ubicación segura. (protocolo WAL*; el soporte del SO para esto es a menudo inadecuado.) W Después de una caida, los efectos de transacciones parcialmente ejecutadas son deshechos usando el registro. (Gracias a WAL, si el ingreso de registro no ha sido salvado antes de la caída, ¡los cambios correspondientes no se han aplicado a la base de datos!) * Write-Ahead Logging 17
  • 18. El Registro de la Base de Datos V Las siguientes acciones se graban en el registro: W Ti escribe un objeto: el valor antiguo y el valor nuevo. T La tupla del registro debe grabarse al disco antes que la página cambiada! (atomicidad!) W Ti compromete/aborta: una tupla de registro indicando esta acción. T Se asegura de que todos las tuplas de registros de la transacción sean escritos en el registro antes de perpetrar (durabilidad!). V Las tuplas de registros se ordenan, se ligan entre si por medio de un identificador de transacción, de modo que es fácil deshacer una transacción específica (por ej. resolver un bloqueo). 18
  • 19. El Registro de la Base de Datos V El registro es a menudo duplicado y archivado en almacenamiento ‘estable’. V Todas las actividades relacionadas al registro (y de hecho, todas las actividades relacionadas con la concurrencia tales como bloqueo/desbloqueo, que tienen que ver con deadlocks, etc.) tienen un manejo transparente por el DBMS. Los usuarios finales ni se dan cuenta … 19
  • 20. Las Bases de Datos Alegra la Vida de Estas Personas … V Usuarios finales y vendedores de DBMS V Programadores de aplicaciones de bases de datos W Como ser, webmasters inteligentes V Administradores de bases de datos (DBA) W Diseña esquemas lógicos/físicos W Maneja la seguridad y autorizaciones W Asegura la disponibilidad de datos, recuperación de efectivo W Ejecuta ajustes de la base de datos a medida que evolucionan los requerimientos ¡Debe entender cómo funciona un DBMS! 20
  • 21. Estas capas Arquitectura DBMS deben considerar control de concurrencia y V Un DBMS típico tiene una recuperación arquitectura por capas. Optimización de consultas V La figura no muestra los y Ejecución componentes de control de concurrencia y de Operadores relacionales recuperación. Archivos y Métodos de Acceso V Esta es una de las muchas arquitecturas posibles, cada Manejo de buffers sistema tiene sus propias Manejo de Espacio de Disco variaciones. DB 21
  • 22. Resumen V El DBMS se usa para mantener y consultar grandes juegos de datos. V Los beneficios incluyen recuperación de caídas del sistema, acceso concurrente, desarrollo de aplicaciones veloz, integridad y seguridad de datos. V Los niveles de abstracción dan independencia de datos. V Típicamente, un DBMS tiene una arquitectura por capas. V Los DBAs tienen trabajos de responsabilidad y son bien pagados! V DBMS RD es uno de las áreas, más amplias e interesantes en CS. 22