Sistemas de Informacin II
Tema 2. Sistemas gestores de bases de datos
Carlos Castillo
UPF 2007
Bibliografa:
Elmasri y Navathe: Fundamentos de Sistemas de Bases de Datos
3 edicin, 2002 (Captulo 2).
Garcia-Molina, Ullman y Widom: Database systems: the complete book. Prentice-Hall (Captulo 1).
Agenda
Tipos de DBMS
Arquitectura de tres esquemas
Independencia de datos
Resolucin de consultas
Transacciones
Interfaces de usuario
Tipos de DBMS
Segn modelo de datos
Sistemas gestores de datos relacionales
Sistemas gestores de datos orientados a objetos
Sistemas gestores de datos objeto-relacionales
Segn nmero de usuarios
Monousuario
Multiusuario
Segn nmero de sitios
Centralizado
Distribudo
Modelo general
Cliente-servidor
Servidor: gestiona la base de datos
Cliente: permite enviar comandos al servidor
Otras arquitecturas
Mltiples capas para llegar al servidor
Distribuda
Paralela
etc.
Arquitectura general
Nivel fsicoNivel conceptualNivel de vistas
Mayor abstraccin
Arquitectura detallada
Usuario 1Usuario 2Vista 1Esquema externoVista 2Esquema externoEsquema conceptualEsquema interno
Nivel interno
Estructura fsica de almacenamiento
Todos los detalles de cmo el DBMS utiliza
el disco duro
la memoria, etc.
Tema principal
El sistema debe ser rpido en responder y eficiente en el uso de espacio
Administrador de la base de datos
Nivel conceptual
Estructura lgica de almacenamiento
Diseo conceptual de la base de datos
Tablas, columnas, etc.
Tema principal
El diseo debe reflejar conceptualmente el problema a modelar
Administradores de datos
Nivel externo
Vistas sobre las tablas
Requiere slo acceso parcial a los datos
Pblico objetivo
Desarrolladores de aplicaciones
Usuarios finales
Tema principal
Cada vista debe reflejar adecuadamente la parte de los datos que interesa a cada uno
Definicin: Esquema de la base de datos
Descripcin de la estructura de la base de datos.
Definicin: Esquema interno
Descripcin de la organizacin fsica de los datos: estructuras de datos en disco y rutas de acceso.
Definicin: Esquema conceptual
Descripcin de la estructura lgica de la base de datos completa (ej.: a travs de diagramas entidad-relacin). Se omiten los detalles del almacenamiento fsico.
Definicin: Esquema externo
Descripcin de la estructura lgica de una parte de la base de datos que es de inters a un grupo particular.
Tarea de la base de datos
Mantener la coherencia entre estos esquemas
Mantener independencia de los datos
Definicin: Independencia fsica de datos
El esquema conceptual no es afectado por cambios al esquema fsico de datos.
Definicin: Independencia lgica de datos
Algunos elementos del esquema externo no son afectados por cambios al esquema conceptual.
Independencia de datos
Independencia lgica de datos
Agregar ms columnas no afecta las vistas
Modificar columnas slo afecta las vistas que incluyen esas columnas
Independencia fsica de datos
Si el DBMS modifica su organizacin interna de ficheros, no pasa nada con el esquema conceptual (sucede cuando hay un cambio de versin, o al migrar a otro DBMS)
Consultas a bases de datos
Lenguajes
Segn nivel
Alto nivel: no procedimientos
Bajo nivel: procedimientos
Segn rea
Vistas, definicin de datos, manipulacin de datos, etc..
Lenguajes para interactuar con bases de datos
Lenguaje para definir vistas
Ej.: lenguaje de reportes
Lenguaje para definir datos
CREATE ...
Lenguaje para definir almacenamiento
Para escoger un cierto esquema interno
Lenguaje para manipulacin de datos
SELECT, UPDATE, ...
Lenguajes en la prctica
Lenguaje para definir vistas
SQL
O algn lenguaje propietario para reportes
Lenguaje para definir datos
SQL
Lenguaje para definir almacenamiento
Extensiones propietarias de SQL
Lenguaje para manipulacin de datos
SQL
Resolucin de
consultas
IntrpreteconsultasSolucin de laconsultaAdministradoralmacenamientoAlmacenamientoFicheros o LogGestor detransaccionesRegistro y recuperacinBuffers oalmacenamientotemporal
Usuarios, aplicaciones
Ejecucin de una consulta
Consulta en SQL -> compilador
Plan de ejecucin de la consulta
Se puede recuperar usando explain QUERY
Ejemplo explain en postgres:
EXPLAIN SELECT * FROM agenda;
Seq scan on agenda (cost=5, rows=5)
EXPLAIN SELECT * FROM agenda
WHERE nacimiento > 1985;
Idx scan on agenda (cost=2, rows=5)
Planificador de consultas
Buscar el mejor orden
Puede ser difcil en consultas complejas
Ej.: nombre de las sucursales en Madrid en que trabajen empleados de ms de 64 aos
Conviene primero filtrar lo ms restrictivo
Pasar pocos datos de una etapa a otra
Recorrer columnas indexadas primero
Optimizacin de consultas
Consultas y buffers
Procesador de consultas
Solicita fragmentos al administrador de buffers
Fragmentos son ndices, filas, etc.
Administrador de buffers
Usar la memoria apropiadamente
Procesamiento de transacciones
Control de concurrencia
Hasta qu punto podemos admitir dos usuarios haciendo algo al mismo tiempo
Registro y recuperacin en caso de fallas
Transacciones
Ejemplo: mover dinero de una cuenta bancaria a otra, se quita a una cuenta primero o se agrega a la otra?
BEGIN TRANSACTION y END TRANSACTION
Registro y recuperacin en caso de fallas
Cada cambio es almacenado separadamente
Se deshacen los cambios de las transacciones que quedaron a medias
Control de concurrencia
Bloquear y desbloquear tablas
Ejemplo transacciones
BEGIN
x.saldo=x.saldo - 10
y.saldo=y.saldo + 10
END
BEGIN
z=y.saldo
y.saldo=z + 40
END
Falla 1: transaccin a medias
BEGIN
x.saldo=x.saldo - 10
---falla de energa---
Recuperacin (rollback):
x.saldo=x.saldo + 10
Falla 2: traslape de transacciones
ORDEN DE EJECUCIN
x.saldo=x.saldo 10
z=y.saldo
y.saldo=y.saldo + 10
y.saldo=z+40 ---ERROR---
Transacciones (A.C.I.D.)
Atomicidad
Se ejecuta toda la transaccin o nada
Consistencia
Antes y despus de la transaccin la base de datos est consistente
Isolation (aislamiento)
Cada transaccin debe aparecer como algo separado de otras transacciones
Durabilidad
Una vez hecha la transaccin sta es durable
Interfaces de usuario
Intrprete de comandos
Formularios
Interfaces grficas
Interfaces parametrizadas
Web
Interfaces en lenguaje natural
MySQLadmin (Web)
MySQLadmin (cliente)
Utilidades adicionales de un DBMS
Importar-exportar datos
Copia de respaldo
Reorganizacin de ficheros
Control de rendimiento
Ej.: creacin de nuevos ndices
Resumen
Niveles interno-conceptual-externo
Interpretacin de consultas pasa por varios procesos
Lo ms complejo es el procesamiento de transacciones
Sistemas de Informacin II
Dr. Carlos CastilloUniversitat Pompeu Fabra - 2005
Click to edit the title text format
Click to edit the outline text format
Second Outline Level
Third Outline Level
Fourth Outline Level
Fifth Outline Level
Sixth Outline Level
Seventh Outline Level
Eighth Outline Level
Ninth Outline Level