You are on page 1of 24

Introduccin a sistemas de bases de datos

Capitulo 1
Instructor: Maria Hallo

Que es una Base de Datos/DBMS?

Una coleccin de datos muy grande e integrada. Modela el mundo real.

Entidades (ej. estudiantes, cursos) Relaciones (ej. asignacin de estudiantes a cursos)

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

Porqu usar un DBMS?

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

Porqu estudiar bases de datos??


Salto de computacin a informacin Conjuntos de datos crecen en diversidad y volumen. Libreras digitales,video interactivo DBMS usa muchos tpicos de ciencias de computacin

SO,lenguajes, , AI, multimedia, logica

Sistemas de Bases de Datos vs Sistemas de Archivos


Mantener datos en archivos origina: Redundancia e inconsistencia de datos Dificultad de acceso a los datos Aislamiento de datos Problemas de seguridad Problemas de atomicidad Problemas de integridad

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,

Relaciones almacenadas como archivos no ordenados. Indice en la primera columna de estudiantes


Course_info(cid:string,enrollment:integer)

Esquema externo(View)(Nivel externo):

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

Es uno delos ms importantes beneficios de usar DBMSs

Lenguajes de Bases de Datos


Lenguaje de definicin Lenguaje de manipulacin de datos

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

Deben entender como trabaja un DBMS

Funciones del administrador de la base de datos


Definicin del esquema Definicin de la estructura y mtodo de acceso Modificacin del esquema y organizacin fsica Concesin de la autorizacin de acceso Mantenimiento rutinario

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.

Propiedades de las transacciones


Atomicidad Durabilidad Consistencia Aislamiento

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

Calendarizacin de transacciones concurrentes


DBMS asegura que la ejecucin concurrente de varias transacciones sea equivalente a alguna ejecucin serial.

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

Recuperacin en caso de fallos


Un DBMS usa un log o registro de actividades de transacciones para recuperacin en caso de fallos

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

You might also like