SlideShare una empresa de Scribd logo
Sistemas de Información II Tema 2. Sistemas gestores de  bases de datos Carlos Castillo UPF – 2007 Bibliografía: Elmasri y Navathe: “Fundamentos de Sistemas de Bases de Datos” 3ª edición, 2002 (Capítulo 2). Garcia-Molina, Ullman y Widom: “Database systems: the complete book”. Prentice-Hall (Capítulo 1).
Agenda Tipos de DBMS Arquitectura de tres esquemas Independencia de datos Resolución de consultas Transacciones Interfaces de usuario
Tipos de DBMS Según modelo de datos Sistemas gestores de datos relacionales Sistemas gestores de datos orientados a objetos Sistemas gestores de datos objeto-relacionales Según número de usuarios Monousuario Multiusuario Según número de sitios Centralizado Distribuído
Modelo general Cliente-servidor Servidor: gestiona la base de datos Cliente: permite enviar comandos al servidor Otras arquitecturas Múltiples capas para llegar al servidor Distribuída Paralela etc.
Arquitectura general Mayor abstracción
Arquitectura detallada
Nivel interno Estructura física de almacenamiento Todos los detalles de cómo el DBMS utiliza el disco duro la memoria, etc. Tema principal El sistema debe ser rápido en responder y eficiente en el uso de espacio Administrador de la base de datos
Nivel conceptual Estructura lógica de almacenamiento Diseño conceptual de la base de datos Tablas, columnas, etc. Tema principal El diseño debe reflejar conceptualmente el problema a modelar Administradores de datos
Nivel externo Vistas sobre las tablas Requiere sólo acceso parcial a los datos Público objetivo Desarrolladores de aplicaciones Usuarios finales Tema principal Cada vista debe reflejar adecuadamente la parte de los datos que interesa a cada uno
Definición: Esquema de la base de datos Descripción de la estructura de la base de datos.
Definición: Esquema interno Descripción de la organización física de los datos: estructuras de datos en disco y rutas de acceso.
Definición: Esquema conceptual Descripción de la estructura lógica de la base de datos completa (ej.: a través de diagramas entidad-relación). Se omiten los detalles del almacenamiento físico.
Definición: Esquema externo Descripción de la estructura lógica de una parte de la base de datos que es de interés a un grupo particular.
Tarea de la base de datos Mantener la coherencia entre estos esquemas Mantener  independencia  de los datos
Definición: Independencia física de datos El esquema conceptual no es afectado por cambios al esquema físico de datos.
Definición: Independencia lógica de datos Algunos elementos del esquema externo no son afectados por cambios al esquema conceptual.
Independencia de datos Independencia lógica de datos Agregar más columnas no afecta las vistas Modificar columnas sólo afecta las vistas que incluyen esas columnas Independencia física de datos Si el DBMS modifica su organización interna de ficheros, no pasa nada con el esquema conceptual (sucede cuando hay un cambio de versión, o al migrar a otro DBMS)
Consultas a bases de datos
Lenguajes Según nivel Alto nivel: no procedimientos Bajo nivel: procedimientos Según área Vistas, definición de datos, manipulación 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 manipulación de datos SELECT, UPDATE, ...
Lenguajes en la práctica Lenguaje para definir vistas SQL O algún lenguaje propietario para reportes Lenguaje para definir datos SQL Lenguaje para definir almacenamiento Extensiones propietarias de SQL Lenguaje para manipulación de datos SQL
Resolución de consultas Usuarios, aplicaciones
Ejecución de una consulta Consulta en SQL -> compilador Plan de ejecución 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 difícil en consultas complejas Ej.: nombre de las sucursales en Madrid en que trabajen empleados de más de 64 años Conviene primero filtrar lo más restrictivo Pasar pocos datos de una etapa a otra Recorrer columnas indexadas primero Optimización 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 recuperación 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 recuperación 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: transacción a medias BEGIN x.saldo=x.saldo - 10 ---falla de energía--- Recuperación (rollback): x.saldo=x.saldo + 10
Falla 2: traslape de transacciones ORDEN DE EJECUCIÓN 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 transacción o nada Consistencia Antes y después de la transacción la base de datos está consistente Isolation (aislamiento) Cada transacción debe aparecer como algo separado de otras transacciones Durabilidad Una vez hecha la transacción ésta es durable
Interfaces de usuario Intérprete de comandos Formularios Interfaces gráficas Interfaces parametrizadas Web Interfaces en lenguaje natural
MySQLadmin (Web)
MySQLadmin (cliente)
Utilidades adicionales de un DBMS Importar-exportar datos Copia de respaldo Reorganización de ficheros Control de rendimiento Ej.: creación de nuevos índices
Resumen Niveles interno-conceptual-externo Interpretación de consultas pasa por varios procesos Lo más complejo es el procesamiento de transacciones

Más contenido relacionado

PPTX
Modelos de datos y procesos
ODP
Bases de Datos - Parte 1/10 Introducción
PPT
Capitulo 1 Base de Datos
PDF
Base de datos slideshare
PPTX
Diccionario de Datos
PPT
Basen de Datos I
PPTX
Fundamentos de las bases de datos
PPTX
Capitulo 13 diseño de bases de datos - analisis y diseño de sistemas. Kendal...
Modelos de datos y procesos
Bases de Datos - Parte 1/10 Introducción
Capitulo 1 Base de Datos
Base de datos slideshare
Diccionario de Datos
Basen de Datos I
Fundamentos de las bases de datos
Capitulo 13 diseño de bases de datos - analisis y diseño de sistemas. Kendal...

La actualidad más candente (19)

PDF
POOABD (POO Aplicada a B Datos) - RDBMS parte 1
PPTX
Diseño de una base de datos
PDF
Diccionario de datos en los sistemas de información
PPTX
Conceptos básicos de base de datos
PDF
Arquitectura de las bases de datos
PDF
Bases De Datos Relacionales
PPTX
La estructura de una bd (base de
PPTX
PPTX
Estructura de una base de datos
PPT
Modelos de Datos y Modelado Conceptual
PPT
Conceptos Fundamentales de Base de Datos
PPTX
Base de datos
PDF
Modelo tipos de datos-sgbd-vison-lenguaje-schema
PPT
Diseño de interacciones_de_bases_de_datos
PDF
Modelo de datos
PDF
Fundamentos de Base de Datos
PPTX
Componentes de una base de datos
DOCX
Modelos de análisis estructurado
PPT
Introduccion a los sistemas de bases de datos
POOABD (POO Aplicada a B Datos) - RDBMS parte 1
Diseño de una base de datos
Diccionario de datos en los sistemas de información
Conceptos básicos de base de datos
Arquitectura de las bases de datos
Bases De Datos Relacionales
La estructura de una bd (base de
Estructura de una base de datos
Modelos de Datos y Modelado Conceptual
Conceptos Fundamentales de Base de Datos
Base de datos
Modelo tipos de datos-sgbd-vison-lenguaje-schema
Diseño de interacciones_de_bases_de_datos
Modelo de datos
Fundamentos de Base de Datos
Componentes de una base de datos
Modelos de análisis estructurado
Introduccion a los sistemas de bases de datos
Publicidad

Similar a Bases de Datos - Parte 2/10 Sistemas de bases de datos (20)

PDF
F:\basesdatos teo2 sistemas_db
PPT
119318
PDF
Diseno de bases de datos Capitulo 1.pdf
PPTX
Unidad1 introduccion base de datos
PPTX
Cuestiones de repaso
PDF
introduccion bases de datos
PPTX
Bases de datos
PPTX
Base de datos
PPTX
Introducción a las Bases de Datos
PPTX
Presentación de bases de datos. Quiroz, Jose, C.I.:30123092
PDF
Base de datos
DOCX
Base de datos
PDF
CLASE 3_ArquiteturaBD_UsuariosBD_IndependiciaLogFis_ModelosBD.pdf
PPTX
Presentacion base de datos. alexander benitez 28009324
PPTX
¿Qué es una base de datos?
F:\basesdatos teo2 sistemas_db
119318
Diseno de bases de datos Capitulo 1.pdf
Unidad1 introduccion base de datos
Cuestiones de repaso
introduccion bases de datos
Bases de datos
Base de datos
Introducción a las Bases de Datos
Presentación de bases de datos. Quiroz, Jose, C.I.:30123092
Base de datos
Base de datos
CLASE 3_ArquiteturaBD_UsuariosBD_IndependiciaLogFis_ModelosBD.pdf
Presentacion base de datos. alexander benitez 28009324
¿Qué es una base de datos?
Publicidad

Más de Carlos Castillo (ChaTo) (20)

PDF
Finding High Quality Content in Social Media
PDF
When no clicks are good news
PDF
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
PDF
Detecting Algorithmic Bias (keynote at DIR 2016)
PDF
Discrimination Discovery
PDF
Fairness-Aware Data Mining
PDF
Big Crisis Data for ISPC
PDF
Databeers: Big Crisis Data
PDF
Observational studies in social media
PDF
Natural experiments
PDF
Content-based link prediction
PDF
Link prediction
PDF
Recommender Systems
PDF
Graph Partitioning and Spectral Methods
PDF
Finding Dense Subgraphs
PDF
Graph Evolution Models
PDF
Link-Based Ranking
PDF
Text Indexing / Inverted Indices
PDF
Text Summarization
Finding High Quality Content in Social Media
When no clicks are good news
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
Detecting Algorithmic Bias (keynote at DIR 2016)
Discrimination Discovery
Fairness-Aware Data Mining
Big Crisis Data for ISPC
Databeers: Big Crisis Data
Observational studies in social media
Natural experiments
Content-based link prediction
Link prediction
Recommender Systems
Graph Partitioning and Spectral Methods
Finding Dense Subgraphs
Graph Evolution Models
Link-Based Ranking
Text Indexing / Inverted Indices
Text Summarization

Bases de Datos - Parte 2/10 Sistemas de bases de datos

  • 1. Sistemas de Información II Tema 2. Sistemas gestores de bases de datos Carlos Castillo UPF – 2007 Bibliografía: Elmasri y Navathe: “Fundamentos de Sistemas de Bases de Datos” 3ª edición, 2002 (Capítulo 2). Garcia-Molina, Ullman y Widom: “Database systems: the complete book”. Prentice-Hall (Capítulo 1).
  • 2. Agenda Tipos de DBMS Arquitectura de tres esquemas Independencia de datos Resolución de consultas Transacciones Interfaces de usuario
  • 3. Tipos de DBMS Según modelo de datos Sistemas gestores de datos relacionales Sistemas gestores de datos orientados a objetos Sistemas gestores de datos objeto-relacionales Según número de usuarios Monousuario Multiusuario Según número de sitios Centralizado Distribuído
  • 4. Modelo general Cliente-servidor Servidor: gestiona la base de datos Cliente: permite enviar comandos al servidor Otras arquitecturas Múltiples capas para llegar al servidor Distribuída Paralela etc.
  • 7. Nivel interno Estructura física de almacenamiento Todos los detalles de cómo el DBMS utiliza el disco duro la memoria, etc. Tema principal El sistema debe ser rápido en responder y eficiente en el uso de espacio Administrador de la base de datos
  • 8. Nivel conceptual Estructura lógica de almacenamiento Diseño conceptual de la base de datos Tablas, columnas, etc. Tema principal El diseño debe reflejar conceptualmente el problema a modelar Administradores de datos
  • 9. Nivel externo Vistas sobre las tablas Requiere sólo acceso parcial a los datos Público objetivo Desarrolladores de aplicaciones Usuarios finales Tema principal Cada vista debe reflejar adecuadamente la parte de los datos que interesa a cada uno
  • 10. Definición: Esquema de la base de datos Descripción de la estructura de la base de datos.
  • 11. Definición: Esquema interno Descripción de la organización física de los datos: estructuras de datos en disco y rutas de acceso.
  • 12. Definición: Esquema conceptual Descripción de la estructura lógica de la base de datos completa (ej.: a través de diagramas entidad-relación). Se omiten los detalles del almacenamiento físico.
  • 13. Definición: Esquema externo Descripción de la estructura lógica de una parte de la base de datos que es de interés a un grupo particular.
  • 14. Tarea de la base de datos Mantener la coherencia entre estos esquemas Mantener independencia de los datos
  • 15. Definición: Independencia física de datos El esquema conceptual no es afectado por cambios al esquema físico de datos.
  • 16. Definición: Independencia lógica de datos Algunos elementos del esquema externo no son afectados por cambios al esquema conceptual.
  • 17. Independencia de datos Independencia lógica de datos Agregar más columnas no afecta las vistas Modificar columnas sólo afecta las vistas que incluyen esas columnas Independencia física de datos Si el DBMS modifica su organización interna de ficheros, no pasa nada con el esquema conceptual (sucede cuando hay un cambio de versión, o al migrar a otro DBMS)
  • 18. Consultas a bases de datos
  • 19. Lenguajes Según nivel Alto nivel: no procedimientos Bajo nivel: procedimientos Según área Vistas, definición de datos, manipulación de datos, etc..
  • 20. 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 manipulación de datos SELECT, UPDATE, ...
  • 21. Lenguajes en la práctica Lenguaje para definir vistas SQL O algún lenguaje propietario para reportes Lenguaje para definir datos SQL Lenguaje para definir almacenamiento Extensiones propietarias de SQL Lenguaje para manipulación de datos SQL
  • 22. Resolución de consultas Usuarios, aplicaciones
  • 23. Ejecución de una consulta Consulta en SQL -> compilador Plan de ejecución 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)
  • 24. Planificador de consultas Buscar el mejor orden Puede ser difícil en consultas complejas Ej.: nombre de las sucursales en Madrid en que trabajen empleados de más de 64 años Conviene primero filtrar lo más restrictivo Pasar pocos datos de una etapa a otra Recorrer columnas indexadas primero Optimización de consultas
  • 25. 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 recuperación en caso de fallas
  • 26. 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 recuperación 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
  • 27. Ejemplo transacciones BEGIN x.saldo=x.saldo - 10 y.saldo=y.saldo + 10 END BEGIN z=y.saldo y.saldo=z + 40 END
  • 28. Falla 1: transacción a medias BEGIN x.saldo=x.saldo - 10 ---falla de energía--- Recuperación (rollback): x.saldo=x.saldo + 10
  • 29. Falla 2: traslape de transacciones ORDEN DE EJECUCIÓN x.saldo=x.saldo – 10 z=y.saldo y.saldo=y.saldo + 10 y.saldo=z+40 ---ERROR---
  • 30. Transacciones ( A.C.I.D .) Atomicidad Se ejecuta toda la transacción o nada Consistencia Antes y después de la transacción la base de datos está consistente Isolation (aislamiento) Cada transacción debe aparecer como algo separado de otras transacciones Durabilidad Una vez hecha la transacción ésta es durable
  • 31. Interfaces de usuario Intérprete de comandos Formularios Interfaces gráficas Interfaces parametrizadas Web Interfaces en lenguaje natural
  • 34. Utilidades adicionales de un DBMS Importar-exportar datos Copia de respaldo Reorganización de ficheros Control de rendimiento Ej.: creación de nuevos índices
  • 35. Resumen Niveles interno-conceptual-externo Interpretación de consultas pasa por varios procesos Lo más complejo es el procesamiento de transacciones