Professional Documents
Culture Documents
Capitulo 1
Instructor: Maria Hallo
A Database Management System (DBMS) es un software diseado para manejar bases de datos
Aplicaciones de BD
Banca Universidades Finanzas Telecomunicaciones Produccin Recursos Humanos Salud Lineas areas etc
Independencia de datos y acceso eficiente Reducido tiempo para desarrollo de aplicaciones. Integridad y seguridad de datos Administracin uniforme de datos. Acceso concurrente, recuperacin de fallos
Conceptos
Integridad de datos. Cumplimiento de restricciones predefinidas en datos almacenados en la Base de Datos Consistencia de datos. No deben existir dos copias de un mismo dato con diferentes valores
Niveles de Abstraccin
Niveles de abstraccin
Externo: Coleccin de vistas que definen como los usuarios ven los datos Conceptual : Describe qu datos son almacenados y sus relaciones Fsico :Define como se almacenan los datos y el detalle de las estructuras, archivos e indices
Vista 1
Vista 2
Vista 3
Nivel Conceptual
Nivel fsico
Modelos de datos
Un modelo de datos es una coleccin de conceptos para describir datos
Un esquema es una descripcin de una coleccin particular de datos usando un modelo de datos dado. El modelo relacional es el mas ampliamente usado.
Concepto principal: relacion, basicamente una tabla con filas y columnas. Cada relacin tiene un esquema que describe las columnas o campos
ESQUEMAS
Esquema: Diseo de la base de datos Los esquemas son definidos usando DDL, los datos son consultados y modificados usando DML. Esquema conceptual (Diseo conceptual) Ej
Students(sid: string, name: string, login: string, age: integer, gpa:real) Courses(cid: string, cname:string, credits:integer) Enrolled(sid:string, cid:string, grade:string) Course_info(cid:string,enrollment:integer)
ESQUEMAS
Esquema fsico (Diseo fsico):Ej,
Independencia de datos
Las aplicaciones son aisladas de cmo los datos son estructurados y almacenados Independencia lgica de datos Capacidad de modificar el esquema lgico sin afectar los prgs de aplicacin Independencia fsica de datos: Capacidad de modificar el esquema fsico sin alterar el esquema lgico
USUARIOS DE UN DBMS...
Usuarios especializados, vendedores Programadores de aplicaciones Administrator de la base de datos(DBA)
Disea los esquemas lgico y fsico Maneja seguridades Obtiene repaldos y es encargado de recuperar los datos en caso de fallos Se encarga del afinamiento de la base de datos
Transaccion:
Es una secuencia atmica de acciones(read/writes) sobre la base de datos Cada transaccin ejecutada completamente debe dejar a la base de datos en un estado consistente si la BD estuvo consistente cuando se inicia la transaccin.
Los usuarios pueden especificar algunas restricciones de integridad sobre los datos y el DBMS controla esas restricciones.
Control de Concurrencia
La ejecucin concurrente en un DBMS es esencial para obtener un buen rendimiento de DBMSs . El intercalar acciones de diferentes usuarios puede producir inconsistencias. DBMS asegura que no ocurra esos problemas dando la sensacin a cada usuario de que acta solo en el sistema
Antes de usar un objeto para lectura o escritura una transaccin solicita el bloqueo del mismo. Todos los bloqueos son liberados al finalizar la transaccin. (Protocolo de bloqueo en dos fases) Si una transaccin espera un objeto usado por otra transaccin y esta a su vez espera el objeto de la primera transaccin se produce una espera infinita (Deadlock!). En ese caso una de las transacciones debe ser abortada o reiniciada
Atomicidad
Los DBMS aseguran atomicidad Idea: Mantener una historia de todas las transacciones que ejecuta el DBMS:
Antes a que se produzca un cambio a la base de datos los datos del log se guardan en disco (WAL protocol a nivel de DBMS;El soporte del sistema operativo es a menudo inadecuado. Despues de una caida el efecto de transacciones partcialmente ejecutadas se deshace usando usando protocolos como WAL, si los registros del log no han sido salvados antes de la caida los cambios no se aplican a la base de datos
EL LOG
Las siguientes acciones se graban en el LOG por cada transaccin:
Escrituras de Ti a un objeto: El antiguo y el nuevo valor Ti commits/aborts: Se graba un registro de log indicando que se ha realizado esta accin
Todas las actividades relacionadas con el log, bloqueos,desbloqueos, deadlocks etc.) son manejados por el DBMS.
Estructura de un DBMS
Resumen
DBMS se usan para mantener grandes conjuntos de datos Los beneficios incluyen recuperacin de caidas,control de acceso concurrente, desarrollo rpido de aplicaciones,control de integridad de datos, seguridad, optimizacin de consultas, recuperacin en caso de fallos. Los niveles de abstraccin dan independencia de datos. A DBMS tiene una arquitectura en capas DBAs mantienen proyectos responsables