Vous êtes sur la page 1sur 24

Database Management Systems, R. Ramakrishnan and J.

Gehrke 1
Introduccin a sistemas de bases de
datos
Capitulo 1
Instructor: Maria Hallo
Database Management Systems, R. Ramakrishnan and J. Gehrke 2
Que es una Base de Datos/DBMS?
Una coleccin de datos muy grande e
integrada.
Modela el mundo real.
Entidades (ej estudiantes, cursos)
Relaciones (e.j asignacion de estudiantes a cursos)
A Database Management System (DBMS) es un
software diseado para manejar bases de
datos
Database Management Systems, R. Ramakrishnan and J. Gehrke 3
Aplicaciones de BD
Banca
Universidades
Finanzas
Telecomunicaciones
Produccin
Recursos Humanos
Salud
Lineas areas etc
Database Management Systems, R. Ramakrishnan and J. Gehrke 4
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, recuperacinde fallos
Database Management Systems, R. Ramakrishnan and J. Gehrke 5
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
?
Database Management Systems, R. Ramakrishnan and J. Gehrke 6
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
Database Management Systems, R. Ramakrishnan and J. Gehrke 7
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
Database Management Systems, R. Ramakrishnan and J. Gehrke 8
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

Nivel fsico
Nivel Conceptual
Vista 1 Vista 2 Vista 3
Database Management Systems, R. Ramakrishnan and J. Gehrke 9
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
Database Management Systems, R. Ramakrishnan and J. Gehrke 10
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)
Database Management Systems, R. Ramakrishnan and J. Gehrke 11
ESQUEMAS
Esquema fsico (Diseo fsico):Ej,
Relaciones almacenadas como archivos no
ordenados.
Indice en la primera columna de estudiantes
Esquema externo(View)(Nivel externo):
Course_info(cid:string,enrollment:integer)
Database Management Systems, R. Ramakrishnan and J. Gehrke 12
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
Database Management Systems, R. Ramakrishnan and J. Gehrke 13
Lenguajes de Bases de Datos
Lenguaje de definicin
Lenguaje de manipulacin de datos
Database Management Systems, R. Ramakrishnan and J. Gehrke 14
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
Database Management Systems, R. Ramakrishnan and J. Gehrke 15
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
Database Management Systems, R. Ramakrishnan and J. Gehrke 16
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.
Database Management Systems, R. Ramakrishnan and J. Gehrke 17
Propiedades de las transacciones
Atomicidad
Durabilidad
Consistencia
Aislamiento
Database Management Systems, R. Ramakrishnan and J. Gehrke 18
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
Database Management Systems, R. Ramakrishnan and J. Gehrke 19
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
Database Management Systems, R. Ramakrishnan and J. Gehrke 20
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
Database Management Systems, R. Ramakrishnan and J. Gehrke 21
Recuperacin en caso de fallos
Un DBMS usa un log o registro de
actividades de transacciones para
recuperacin en caso de fallos
Database Management Systems, R. Ramakrishnan and J. Gehrke 22
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.
Database Management Systems, R. Ramakrishnan and J. Gehrke 23
Estructura de un DBMS
Database Management Systems, R. Ramakrishnan and J. Gehrke 24
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

Vous aimerez peut-être aussi