El documento describe los conceptos fundamentales de los sistemas gestores de bases de datos, incluyendo los tres esquemas (interno, conceptual y externo), la independencia de datos, los lenguajes de consultas, la resolución de consultas, las transacciones y las interfaces de usuario. Explica que un DBMS mantiene la coherencia entre los esquemas y la independencia de los datos al nivel físico y lógico.
Transact-SQL es un potente lenguaje que permite definir tareas sobre la base de datos, incluyendo características de programación. Contiene instrucciones DDL para definir la estructura, DML para manipular datos, y DCL para controlar datos. Las instrucciones incluyen CREATE, ALTER, DROP, INSERT, UPDATE, DELETE y SELECT para agregar, modificar y recuperar datos de la base de datos.
SQL (Structured Query Language): Informe de Lectura Unidad 3JuanMiguelCustodioMo
Este documento presenta una introducción a SQL, incluyendo una breve historia, las principales características y estructuras del lenguaje como comandos, cláusulas, funciones y tipos de datos. También explica cómo crear y gestionar tablas en SQL mediante comandos como CREATE, ALTER, DROP, así como índices y restricciones.
Fundamentos microsoft sql server (T-Sql) (Parte I) – conceptos básicos sql e...JOSE AHIAS LOPEZ PORTILLO
Este documento presenta conceptos básicos de SQL estándar y T-SQL, incluyendo las sentencias DDL para definir objetos de base de datos, las sentencias DML para manipular datos, y la evolución del estándar SQL a través de los años. También recomienda recursos adicionales sobre bases de datos y BI.
Este documento proporciona una introducción al lenguaje SQL sobre Oracle. Explica las características principales de SQL, incluyendo sus diferentes tipos de sentencias (DDL, DML, etc.). También describe SQL*Plus de Oracle, la interfaz que permite ejecutar sentencias SQL y comandos. Por último, resume los principales tipos de datos que se pueden utilizar en las columnas de una tabla SQL.
Este documento presenta los principales comandos del lenguaje Transact SQL. T-SQL es una extensión de SQL que permite definir tareas al trabajar con bases de datos. Se explican las instrucciones de los lenguajes DDL, DML, DCL y control de flujo y transacciones. T-SQL se usa comúnmente para crear procedimientos almacenados, funciones y triggers debido a sus capacidades de programación procedural.
Este documento presenta un manual práctico de SQL orientado a SQL 7.0. Incluye información sobre cómo implementar una base de datos, crear una base de datos y tablas, sentencias SQL como CREATE, ALTER y DROP, consultas simples y a múltiples tablas, condiciones de búsqueda, ordenación de resultados y resúmenes. El manual también cubre conceptos como lenguajes DDL, DML y DCL de SQL y cómo definir ligaduras de integridad.
Este manual proporciona instrucciones sobre el lenguaje SQL para crear y manipular bases de datos. Explica los pasos para implementar una base de datos, incluida la creación de tablas y ligaduras. Luego cubre consultas, uniones, ordenación de resultados y resúmenes. El objetivo es servir como una guía práctica de SQL para principiantes.
El documento describe los diferentes tipos de lenguajes SQL (DDL, DCL, DML) y sus instrucciones principales para crear, modificar y manipular datos. También describe los tipos de datos principales como numéricos, fecha/hora, caracteres y binarios, e implementa la integridad de datos a través de restricciones como PRIMARY KEY, FOREIGN KEY y CHECK. Finalmente, cubre índices, vistas y procedimientos almacenados y sus ventajas.
Transact-SQL es un potente lenguaje que permite definir tareas sobre la base de datos, incluyendo características de programación. Contiene instrucciones DDL para definir la estructura, DML para manipular datos, y DCL para controlar datos. Las instrucciones incluyen CREATE, ALTER, DROP, INSERT, UPDATE, DELETE y SELECT para agregar, modificar y recuperar datos de la base de datos.
SQL (Structured Query Language): Informe de Lectura Unidad 3JuanMiguelCustodioMo
Este documento presenta una introducción a SQL, incluyendo una breve historia, las principales características y estructuras del lenguaje como comandos, cláusulas, funciones y tipos de datos. También explica cómo crear y gestionar tablas en SQL mediante comandos como CREATE, ALTER, DROP, así como índices y restricciones.
Fundamentos microsoft sql server (T-Sql) (Parte I) – conceptos básicos sql e...JOSE AHIAS LOPEZ PORTILLO
Este documento presenta conceptos básicos de SQL estándar y T-SQL, incluyendo las sentencias DDL para definir objetos de base de datos, las sentencias DML para manipular datos, y la evolución del estándar SQL a través de los años. También recomienda recursos adicionales sobre bases de datos y BI.
Este documento proporciona una introducción al lenguaje SQL sobre Oracle. Explica las características principales de SQL, incluyendo sus diferentes tipos de sentencias (DDL, DML, etc.). También describe SQL*Plus de Oracle, la interfaz que permite ejecutar sentencias SQL y comandos. Por último, resume los principales tipos de datos que se pueden utilizar en las columnas de una tabla SQL.
Este documento presenta los principales comandos del lenguaje Transact SQL. T-SQL es una extensión de SQL que permite definir tareas al trabajar con bases de datos. Se explican las instrucciones de los lenguajes DDL, DML, DCL y control de flujo y transacciones. T-SQL se usa comúnmente para crear procedimientos almacenados, funciones y triggers debido a sus capacidades de programación procedural.
Este documento presenta un manual práctico de SQL orientado a SQL 7.0. Incluye información sobre cómo implementar una base de datos, crear una base de datos y tablas, sentencias SQL como CREATE, ALTER y DROP, consultas simples y a múltiples tablas, condiciones de búsqueda, ordenación de resultados y resúmenes. El manual también cubre conceptos como lenguajes DDL, DML y DCL de SQL y cómo definir ligaduras de integridad.
Este manual proporciona instrucciones sobre el lenguaje SQL para crear y manipular bases de datos. Explica los pasos para implementar una base de datos, incluida la creación de tablas y ligaduras. Luego cubre consultas, uniones, ordenación de resultados y resúmenes. El objetivo es servir como una guía práctica de SQL para principiantes.
El documento describe los diferentes tipos de lenguajes SQL (DDL, DCL, DML) y sus instrucciones principales para crear, modificar y manipular datos. También describe los tipos de datos principales como numéricos, fecha/hora, caracteres y binarios, e implementa la integridad de datos a través de restricciones como PRIMARY KEY, FOREIGN KEY y CHECK. Finalmente, cubre índices, vistas y procedimientos almacenados y sus ventajas.
El documento describe las características del lenguaje SQL, incluyendo sus tres lenguajes específicos (DDL, DML y DCL), sus tipos de datos como CHAR, VARCHAR2, DATE y NUMBER, y sus constantes como cadenas de texto y números. Explica que SQL es un lenguaje declarativo que permite especificar qué datos se quieren obtener sin decir cómo conseguirlos.
Este documento describe el lenguaje de consulta estructurado o SQL. Explica que SQL permite especificar diversos tipos de operaciones en bases de datos relacionales. Detalla los diferentes tipos de sentencias SQL como las de definición, manipulación y control de datos. Finalmente, explica cómo utilizar cada tipo de sentencia para crear, modificar y consultar los datos almacenados en las tablas de una base de datos.
Este documento describe el lenguaje de consulta estructurado o SQL. Explica que SQL permite especificar diversos tipos de operaciones en bases de datos relacionales. Detalla los diferentes tipos de sentencias SQL como las de definición, manipulación y control de datos. También describe cómo crear, modificar y consultar tablas en una base de datos relacional usando sentencias SQL como CREATE TABLE, INSERT, UPDATE, DELETE y SELECT.
Los tablespaces en Oracle son espacios de almacenamiento donde se guardan los objetos de la base de datos como tablas e índices. Existen diferentes tipos de tablespaces como los temporales, de solo lectura y de deshacer cambios. Los tablespaces se pueden manipular creando, eliminando o cambiando su tamaño y estado entre online y offline.
Oracle es un sistema gestor de base de datos objeto-relacional que permite el almacenamiento y gestión de grandes volúmenes de datos de forma organizada. Las tablas son la unidad básica de almacenamiento de datos en Oracle, donde los datos se almacenan en filas y columnas. PL/SQL es un lenguaje de programación incorporado a Oracle que permite realizar operaciones complejas sobre los datos almacenados.
Este documento describe cómo crear bases de datos utilizando MySQL. Explica brevemente qué es un sistema de gestión de bases de datos y menciona algunos ejemplos de sistemas libres y no libres. Luego, detalla los pasos a seguir para crear una base de datos en MySQL, incluida la creación de tablas e inserción de registros. Finalmente, proporciona un ejemplo completo de cómo crear una base de datos simple con una tabla de personas y realizar operaciones básicas como seleccionar, insertar, actualizar y eliminar registros.
El documento describe las características y componentes básicos de Microsoft SQL Server. Explica que SQL Server es un sistema de gestión de bases de datos relacional desarrollado por Microsoft que utiliza el lenguaje Transact-SQL. También describe los tipos de archivos de base de datos, como los archivos de datos primarios y secundarios, y comandos como CREATE, ALTER y DROP para crear, modificar y eliminar bases de datos.
El documento describe los conceptos fundamentales de los sistemas gestores de bases de datos, incluyendo los tres esquemas (interno, conceptual y externo), la independencia de datos, el procesamiento de consultas y transacciones. Explica que un DBMS mantiene la coherencia entre los esquemas y la independencia de los datos al nivel físico y lógico. También resume los pasos clave en la ejecución de consultas y transacciones, como la compilación, planificación, buffers y control de concurrencia.
El documento describe la arquitectura de tres niveles para sistemas de bases de datos. Esta arquitectura separa la representación física de los datos del nivel conceptual y las vistas de los usuarios para lograr independencia lógica y física. El nivel interno contiene la representación física, el nivel conceptual describe las entidades y relaciones independientemente de la implementación física, y el nivel externo presenta vistas personalizadas de la base de datos para diferentes usuarios y grupos.
Este manual proporciona instrucciones sobre el lenguaje SQL para crear y manipular bases de datos. Explica los pasos para implementar una base de datos, incluida la creación de tablas y la inserción, actualización y eliminación de datos. También cubre consultas, vistas, índices y ligaduras para garantizar la integridad de los datos. El manual es una guía práctica para aprender y aplicar SQL.
Este documento presenta información sobre programación orientada a objetos aplicada a bases de datos. Explica conceptos básicos de SQL como lenguaje de consultas estructurado y sus tipos DML y DDL. Luego, detalla las sentencias SQL-DDL CREATE, ALTER, RENAME y DROP y cómo aplicarlas para crear y modificar tablas y vistas en una base de datos relacional. Finalmente, provee un ejemplo práctico utilizando estas sentencias con una base de datos de una escuela.
El documento define una base de datos, describe sus características principales como la organización y relación de datos, y menciona algunas de las bases de datos más populares como Microsoft SQL Server, Oracle, MongoDB, Oracle NoSQL y Cassandra. Explica brevemente el modelo de datos, escalabilidad y otras propiedades de las bases de datos relacionales frente a las bases de datos NoSQL.
El documento describe los pasos para crear una base de datos en Microsoft Access, incluyendo cómo crear tablas, campos, formularios e informes. También resume los tipos principales de bases de datos y los componentes clave de un sistema de base de datos como archivos, memoria y procesos.
Las bases de datos SQL y NoSQL son dos tipos de bases de datos. Las bases de datos SQL como Oracle y SQL Server usan un modelo relacional y lenguaje SQL, mientras que las bases de datos NoSQL como MongoDB almacenan datos en documentos y no requieren un esquema fijo.
MySQL 5.x introduce nuevas características como tipos de datos mejorados como VARCHAR y BIT, soporte para INFORMATION_SCHEMA, matemáticas de precisión mejoradas, cursores simples, procedimientos y funciones almacenadas, y soporte básico para disparadores. Estas características proporcionan mayor cumplimiento de estándares SQL, rendimiento mejorado y nuevas posibilidades para el desarrollo de aplicaciones.
Este documento resume tres gestores de bases de datos: PostgreSQL, MySQL y SQL Server. Para PostgreSQL, describe sus características como la implementación de SQL92/99, tipos de datos, funciones, herencia y componentes como requisitos de software. Para MySQL, describe sus características como soporte multiprocesador, tipos de datos, APIs de lenguajes de programación y componentes como requisitos de hardware. Para SQL Server, describe sus características como facilidad de instalación y uso, y componentes como requisitos mínimos de procesador, memoria y sistema operativo.
sxadasdasdassdsadsadasdsadsadsadasdadsaadsasdasdfewfweewfewfwfweccdscdscdefewcdwjicijsoijwqqwjqwifwifwehfuiqwhfoiuwuhfiuhsoihoqwhfoiwhfihwqfhwefhuewiufhowqehfowehfui3ehoiun32iuhefoiuefuihefoiuqwefuweoucneincyrbcyrbtcbwbcwbobwockjobscjobqonownjosncoinicuonewiuoiewbuybwcuybrbuqbuibweiucbiewbcbqewybwuqebcqbwcubwqcnosanpmswmxowsmpmwwpowmpswlsmlmwskcmwkdmcemonejonvjejv erj vje vhe hqw h hwe dow eowebdhbwendwendoewnn
n jndj ndndndws d d dsndwnodnwenfeinfiebfnybowenwpqfbnwqinbn3fib3nf8yib34fun3fbnfniununndasxaeweweewfewfewfwefewfewfewfewfewfewfewfewfewfwefwef3efrfrefewfewfewfewfewwefwfwqfqwefwqefwfqwfqfqwfweewfefwefewfwefwefewfqwfqwfqwfqwfewfewfqwfweqfeqwfwefweffqwqfqwfqfweqffewwfewfewfwefwefwfewfwefwefewfwefwqwfwqfwefwefwefwfwefewfe
Este documento proporciona una introducción al lenguaje de consultas estructurado (SQL). Explica que SQL se utiliza para realizar operaciones en bases de datos relacionales y está compuesto de comandos para crear, actualizar y manipular datos. Luego resume los componentes clave de SQL como DDL para definir bases de datos y tablas, DML para consultas, y ejemplos de comandos como CREATE, INSERT, UPDATE y DELETE.
El documento describe las características del lenguaje SQL, incluyendo sus tres lenguajes específicos (DDL, DML y DCL), sus tipos de datos como CHAR, VARCHAR2, DATE y NUMBER, y sus constantes como cadenas de texto y números. Explica que SQL es un lenguaje declarativo que permite especificar qué datos se quieren obtener sin decir cómo conseguirlos.
Este documento describe el lenguaje de consulta estructurado o SQL. Explica que SQL permite especificar diversos tipos de operaciones en bases de datos relacionales. Detalla los diferentes tipos de sentencias SQL como las de definición, manipulación y control de datos. Finalmente, explica cómo utilizar cada tipo de sentencia para crear, modificar y consultar los datos almacenados en las tablas de una base de datos.
Este documento describe el lenguaje de consulta estructurado o SQL. Explica que SQL permite especificar diversos tipos de operaciones en bases de datos relacionales. Detalla los diferentes tipos de sentencias SQL como las de definición, manipulación y control de datos. También describe cómo crear, modificar y consultar tablas en una base de datos relacional usando sentencias SQL como CREATE TABLE, INSERT, UPDATE, DELETE y SELECT.
Los tablespaces en Oracle son espacios de almacenamiento donde se guardan los objetos de la base de datos como tablas e índices. Existen diferentes tipos de tablespaces como los temporales, de solo lectura y de deshacer cambios. Los tablespaces se pueden manipular creando, eliminando o cambiando su tamaño y estado entre online y offline.
Oracle es un sistema gestor de base de datos objeto-relacional que permite el almacenamiento y gestión de grandes volúmenes de datos de forma organizada. Las tablas son la unidad básica de almacenamiento de datos en Oracle, donde los datos se almacenan en filas y columnas. PL/SQL es un lenguaje de programación incorporado a Oracle que permite realizar operaciones complejas sobre los datos almacenados.
Este documento describe cómo crear bases de datos utilizando MySQL. Explica brevemente qué es un sistema de gestión de bases de datos y menciona algunos ejemplos de sistemas libres y no libres. Luego, detalla los pasos a seguir para crear una base de datos en MySQL, incluida la creación de tablas e inserción de registros. Finalmente, proporciona un ejemplo completo de cómo crear una base de datos simple con una tabla de personas y realizar operaciones básicas como seleccionar, insertar, actualizar y eliminar registros.
El documento describe las características y componentes básicos de Microsoft SQL Server. Explica que SQL Server es un sistema de gestión de bases de datos relacional desarrollado por Microsoft que utiliza el lenguaje Transact-SQL. También describe los tipos de archivos de base de datos, como los archivos de datos primarios y secundarios, y comandos como CREATE, ALTER y DROP para crear, modificar y eliminar bases de datos.
El documento describe los conceptos fundamentales de los sistemas gestores de bases de datos, incluyendo los tres esquemas (interno, conceptual y externo), la independencia de datos, el procesamiento de consultas y transacciones. Explica que un DBMS mantiene la coherencia entre los esquemas y la independencia de los datos al nivel físico y lógico. También resume los pasos clave en la ejecución de consultas y transacciones, como la compilación, planificación, buffers y control de concurrencia.
El documento describe la arquitectura de tres niveles para sistemas de bases de datos. Esta arquitectura separa la representación física de los datos del nivel conceptual y las vistas de los usuarios para lograr independencia lógica y física. El nivel interno contiene la representación física, el nivel conceptual describe las entidades y relaciones independientemente de la implementación física, y el nivel externo presenta vistas personalizadas de la base de datos para diferentes usuarios y grupos.
Este manual proporciona instrucciones sobre el lenguaje SQL para crear y manipular bases de datos. Explica los pasos para implementar una base de datos, incluida la creación de tablas y la inserción, actualización y eliminación de datos. También cubre consultas, vistas, índices y ligaduras para garantizar la integridad de los datos. El manual es una guía práctica para aprender y aplicar SQL.
Este documento presenta información sobre programación orientada a objetos aplicada a bases de datos. Explica conceptos básicos de SQL como lenguaje de consultas estructurado y sus tipos DML y DDL. Luego, detalla las sentencias SQL-DDL CREATE, ALTER, RENAME y DROP y cómo aplicarlas para crear y modificar tablas y vistas en una base de datos relacional. Finalmente, provee un ejemplo práctico utilizando estas sentencias con una base de datos de una escuela.
El documento define una base de datos, describe sus características principales como la organización y relación de datos, y menciona algunas de las bases de datos más populares como Microsoft SQL Server, Oracle, MongoDB, Oracle NoSQL y Cassandra. Explica brevemente el modelo de datos, escalabilidad y otras propiedades de las bases de datos relacionales frente a las bases de datos NoSQL.
El documento describe los pasos para crear una base de datos en Microsoft Access, incluyendo cómo crear tablas, campos, formularios e informes. También resume los tipos principales de bases de datos y los componentes clave de un sistema de base de datos como archivos, memoria y procesos.
Las bases de datos SQL y NoSQL son dos tipos de bases de datos. Las bases de datos SQL como Oracle y SQL Server usan un modelo relacional y lenguaje SQL, mientras que las bases de datos NoSQL como MongoDB almacenan datos en documentos y no requieren un esquema fijo.
MySQL 5.x introduce nuevas características como tipos de datos mejorados como VARCHAR y BIT, soporte para INFORMATION_SCHEMA, matemáticas de precisión mejoradas, cursores simples, procedimientos y funciones almacenadas, y soporte básico para disparadores. Estas características proporcionan mayor cumplimiento de estándares SQL, rendimiento mejorado y nuevas posibilidades para el desarrollo de aplicaciones.
Este documento resume tres gestores de bases de datos: PostgreSQL, MySQL y SQL Server. Para PostgreSQL, describe sus características como la implementación de SQL92/99, tipos de datos, funciones, herencia y componentes como requisitos de software. Para MySQL, describe sus características como soporte multiprocesador, tipos de datos, APIs de lenguajes de programación y componentes como requisitos de hardware. Para SQL Server, describe sus características como facilidad de instalación y uso, y componentes como requisitos mínimos de procesador, memoria y sistema operativo.
sxadasdasdassdsadsadasdsadsadsadasdadsaadsasdasdfewfweewfewfwfweccdscdscdefewcdwjicijsoijwqqwjqwifwifwehfuiqwhfoiuwuhfiuhsoihoqwhfoiwhfihwqfhwefhuewiufhowqehfowehfui3ehoiun32iuhefoiuefuihefoiuqwefuweoucneincyrbcyrbtcbwbcwbobwockjobscjobqonownjosncoinicuonewiuoiewbuybwcuybrbuqbuibweiucbiewbcbqewybwuqebcqbwcubwqcnosanpmswmxowsmpmwwpowmpswlsmlmwskcmwkdmcemonejonvjejv erj vje vhe hqw h hwe dow eowebdhbwendwendoewnn
n jndj ndndndws d d dsndwnodnwenfeinfiebfnybowenwpqfbnwqinbn3fib3nf8yib34fun3fbnfniununndasxaeweweewfewfewfwefewfewfewfewfewfewfewfewfewfwefwef3efrfrefewfewfewfewfewwefwfwqfqwefwqefwfqwfqfqwfweewfefwefewfwefwefewfqwfqwfqwfqwfewfewfqwfweqfeqwfwefweffqwqfqwfqfweqffewwfewfewfwefwefwfewfwefwefewfwefwqwfwqfwefwefwefwfwefewfe
Este documento proporciona una introducción al lenguaje de consultas estructurado (SQL). Explica que SQL se utiliza para realizar operaciones en bases de datos relacionales y está compuesto de comandos para crear, actualizar y manipular datos. Luego resume los componentes clave de SQL como DDL para definir bases de datos y tablas, DML para consultas, y ejemplos de comandos como CREATE, INSERT, UPDATE y DELETE.
Este documento proporciona una introducción al lenguaje estructurado de consultas SQL. SQL permite el acceso y la manipulación de datos almacenados en bases de datos relacionales. Se define la sintaxis básica de SQL para consultar, actualizar y definir la estructura de datos en una base de datos.
El documento proporciona información sobre diferentes tipos de bases de datos, incluyendo SQL, NoSQL, MongoDB, Oracle NoSQL y Cassandra. Explica las características clave de cada uno, como su capacidad de escalabilidad, flexibilidad de esquemas, consistencia, distribución de datos, y habilidades para manejar grandes volúmenes de información de manera escalable.
El documento describe los fundamentos de las bases de datos, incluyendo la definición de modelo de datos, los tipos de modelos (basados en objetos y registros), y el modelo relacional en particular. Explica conceptos clave como entidades, atributos, relaciones, tablas, registros, columnas, claves primarias, claves foráneas, normalización y anomalías. También menciona a pioneros como Edgar Frank Codd y sus doce reglas para bases de datos relacionales.
Este documento presenta información sobre bases de datos. Explica que una base de datos es un conjunto de datos organizados para un uso determinado y que puede ser gestionado por un sistema gestor de bases de datos. Describe los tipos de bases de datos SQL y NoSQL, e identifica algunas de las bases de datos más populares como SQL Server, Oracle, MongoDB, Oracle NoSQL y Cassandra, detallando brevemente sus características.
Este documento proporciona una introducción a las bases de datos, incluyendo su definición, características, sistemas de gestión de bases de datos, motores de bases de datos, el modelo entidad-relación, la estructura de una base de datos, el lenguaje SQL y phpMyAdmin. Explica conceptos clave como tablas, campos, registros y cómo phpMyAdmin permite crear, modificar y consultar bases de datos de forma gráfica.
En la ciudad de Pasto, estamos revolucionando el acceso a microcréditos y la formalización de microempresarios informales con nuestra aplicación CrediAvanza. Nuestro objetivo es empoderar a los emprendedores locales proporcionándoles una plataforma integral que facilite el acceso a servicios financieros y asesoría profesional.
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
F:\basesdatos teo2 sistemas_db
1. Sistemas de Información II
Tema 2. Sistemas
gestores de bases de
datos
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).
Carlos Castillo
UPF – 2008
1
2. Agenda
Objetivos DBMS
Tipos de DBMS
Arquitectura de tres esquemas
Independencia de datos
Resolución de consultas
Transacciones
Interfaces de usuario
2
3. Objetivos DBMS
Software debe permitir:
Crear bases de datos y esquemas
Data-definition language
Preguntar sobre los datos
Query language
Almacenar los datos de forma persistente
Controlar el acceso de múltiples usuarios
3
4. 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
5. 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.
5
6. Arquitectura general
Mayor abstracción
Nivel de vistas
Nivel conceptual
Nivel físico
6
7. Arquitectura detallada
Usuario 1 Usuario 2
Vista 1 Vista 2
Esquema externo Esquema externo
Esquema conceptual
Esquema interno
7
8. 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
9. 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
10. 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
11. Definición: Esquema de la
base de datos
Descripción de la estructura de la base de
datos.
11
12. Definición: Esquema interno
Descripción de la organización física de los
datos: estructuras de datos en disco y rutas
de acceso.
[= descripción de bajo nivel]
12
13. Ejemplo de esquema interno
[root@machine mysql]# pwd
/var/lib/mysql
[root@machine mysql]# ls -lah
total 405M
drwxr-xr-x 14 mysql mysql 4.0K Dec 18 20:22 .
drwxr-xr-x 28 root root 4.0K Dec 22 2006 ..
drwx------ 2 mysql mysql 4.0K Apr 25 2007 test
drwx------ 2 mysql mysql 4.0K Jun 20 2006 mysql
[root@machine mysql]# ls -lah test/
-rw-rw---- 1 mysql mysql 8.4K 2008-01-07 21:37 comunitat.frm
-rw-rw---- 1 mysql mysql 452 2008-01-07 21:37 comunitat.MYD
-rw-rw---- 1 mysql mysql 1.0K 2008-01-07 22:42 comunitat.MYI
-rw-rw---- 1 mysql mysql 8.7K 2008-01-07 21:37 municipi.frm
-rw-rw---- 1 mysql mysql 379K 2008-01-07 21:37 municipi.MYD
-rw-rw---- 1 mysql mysql 1.0K 2008-01-07 22:42 municipi.MYI
13
14. MyISAM storage
[root@machine test]# file comunitat.*
comunitat.frm: MySQL table definition file Version 10
comunitat.MYD: DBase 3 data file (130048 records)
comunitat.MYI: MySQL MISAM compressed data file Version 1
[root@machine test]# myisamchk --verbose --description comunitat
MyISAM file: comunitat
Record format: Packed
Character set: latin1_swedish_ci (8)
File-version: 1
Creation time: 2008-01-07 20:37:40
Status: changed,sorted index pages
Data records: 19 Deleted blocks: 0
Datafile parts: 19 Deleted data: 0
Datafile pointer (bytes): 6 Keyfile pointer (bytes): 3
Datafile length: 452 Keyfile length: 1024
Max datafile length: 281474976710654 Max keyfile length: 17179868159
Recordlength: 57
table description:
Key Start Len Index Type Rec/key Root Blocksize
14
15. 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.
[= descripción general de alto nivel]
15
16. 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.
[= descripción específica de alto nivel]
16
17. Tarea de la base de datos
Mantener la coherencia entre estos
esquemas
Mantener independencia de los datos
17
18. Definición: Independencia
física de datos
El esquema conceptual no es afectado por
cambios al esquema físico de datos.
18
19. Definición: Independencia
lógica de datos
Algunos elementos del esquema externo no
son afectados por cambios al esquema
conceptual.
19
20. 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)
20
22. Lenguajes
Según área
Vistas, definición de datos, manipulación
de datos, etc..
Según nivel
Alto nivel: no procedimientos
Bajo nivel: procedimientos
22
23. 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, ...
23
24. 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
24
25. Dialectos de SQL -- Limit
MYSQL, PostgreSQL ORACLE
SELECT columns SELECT * FROM (
FROM tablename SELECT
ORDER BY key ASC ROW_NUMBER() OVER (ORDER BY key ASC) AS
LIMIT n rownumber, columns
FROM tablename
)
WHERE rownumber <= n
Fuente: http://troels.arvin.dk/db/rdbms/
25
26. Dialectos de SQL -- Limit/skip
MYSQL, PostgreSQL ORACLE
SELECT columns SELECT * FROM (
FROM tablename SELECT
ORDER BY key ASC ROW_NUMBER() OVER (ORDER BY key ASC) AS
LIMIT n OFFSET skip rownumber, columns
FROM tablename
)
WHERE rownumber > skip and rownumber <= (n+skip)
26
27. Dialectos de SQL - Multi-insert
INSERT INTO tablename
VALUES (0,'foo') , (1,'bar') , (2,'baz');
Sí: No:
PostgreSQL MSSQL
MySQL Oracle
DB2
27
28. Dialectos de SQL
Autoincrement (Oracle)
CREATE TABLE mytable (
mytable_id INTEGER PRIMARY KEY,
... -- (other columns)
);
CREATE SEQUENCE mytable_seq;
CREATE TRIGGER mytable_seq_trigger
BEFORE INSERT ON mytable FOR EACH ROW
BEGIN
IF (:new.mytable_id IS NULL) THEN
SELECT mytable_seq.nextval INTO :new.mytable_id
FROM DUAL;
END IF;
END;
28
29. Dialectos de SQL
Autoincrement
MySQL
CREATE TABLE tablename (
columnname INTEGER AUTO_INCREMENT PRIMARY KEY
...
)
DB2 / STANDARD
CREATE TABLE tablename (
tablename_id INTEGER GENERATED BY DEFAULT AS IDENTITY
...
)
PostgreSQL
CREATE TABLE tablename (
tablename_id SERIAL,
...
) 29
30. DBMS con procedimientos
(ejemplo de PL/SQL)
DECLARE
x NUMBER := 100;
BEGIN
FOR i IN 1..10 LOOP
IF MOD(i,2) = 0 THEN -- i is even
INSERT INTO temp VALUES (i, x, 'i is even');
ELSE
INSERT INTO temp VALUES (i, x, 'i is odd');
END IF;
x := x + 100;
END LOOP;
COMMIT;
END;
30
31. Interfaces de usuario
Intérprete de comandos
Formularios
Interfaces gráficas
Interfaces parametrizadas
Web
Interfaces en lenguaje natural
31
38. Usuarios, aplicaciones Resolución de
consultas
Intérprete Gestor de
consultas transacciones
Solución de la Registro y
consulta recuperación
Administrador Buffers o
almacenamiento almacenamiento
temporal
Almacenamiento
Ficheros o Log 38
39. 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)
39
40. Ejemplo en MS SQL Server
SELECT * FROM Employee e, Person c
WHERE e.ContactID = c.ContactID ORDER BY c.LastName
Sort(ORDER BY:([c].[LastName] ASC))
|-Nested Loops(Inner Join, OUTER REFERENCES:([e].[ContactID], [Expr1004])
WITH UNORDERED PREFETCH)
|--Clust Index Scan(OBJECT:([Employee].[PK_Employee_EmployeeID] AS [e]))
|--Clust Index Seek(OBJECT:([Person].[PK_Contact_ContactID] AS [c]),
SEEK:([c].[ContactID]=[Employee].[ContactID] as [e].[ContactID])
ORDERED FORWARD)
http://en.wikipedia.org/wiki/Query_plan
40
41. 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
41
42. 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
42
43. 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 43
45. Falla 1: transacción a medias
BEGIN
x.saldo=x.saldo - 10
---falla de energía---
Recuperación (rollback):
x.saldo=x.saldo + 10
45
46. Falla 2: interferencia de
transacciones
ORDEN DE EJECUCIÓN
x.saldo=x.saldo – 10
z=y.saldo
y.saldo=y.saldo + 10
y.saldo=z+40 ---ERROR---
46
47. 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 47
48. Utilidades adicionales de un
DBMS
Importar-exportar datos
Copia de respaldo
Reorganización de ficheros
Control de rendimiento
Ej.: creación de nuevos índices
48