Este documento presenta los objetivos y contenido de la asignatura Bases de Datos II. Los objetivos generales son aprender sobre bases de datos distribuidas, almacenamiento y respaldo de datos, transacciones y concurrencia. El contenido incluye administración de bases de datos, sistemas de bases de datos distribuidas, SQL y bases de datos no relacionales.
Avances tecnológicos del siglo XXI y ejemplos de estos
Bd uni 1_2
1. Ingeniero Luis Castr
Bases de Datos II
UNIVERSIDAD ALONSO DE OJEDA
FACULTAD DE INGENIERÍA
ESCUELA DE COMPUTACIÓN
http://Lucasprog.wordpress.com
2. Objetivos de la Asignatura
OBJETIVOS GENERALES:
Aprender los aspectos fundamentales de diseño
y gestión de bases de datos distribuidas.
Conocer el almacenamiento y respaldo de las
Bases de Datos desde un punto de vista físico y
virtual.
Distinguir y relacionar los conceptos de
transacción, bloqueos y el control de
concurrencia.
Comprender el funcionamiento de las bases de
datos en la web y las bases de datos no
relacionales
3. CONTENIDO PROGRAMÁTICO
UNIDAD I: Administración de las Base de Datos
UNIDAD II: Sistema de Gestión de Base de Datos
Distribuidas
UNIDAD III: Lenguaje Estructurado de Consulta
(SQL)
UNIDAD IV: Filosofía de Software Libre
UNIDAD V: Bases de Datos en la Web y Bases de
Datos No Relacionales
4. UNIDAD I: ADMINISTRACIÓN DE
LAS BASE DE DATOS
Estructura general de los sistemas manejadores de
bases de datos.
Necesidad de administración de sistemas.
Funciones de la administración de las bases de
datos.
Características del procesamiento multiusuario.
5. UNIDAD II: SISTEMA Y GESTIÓN DE
BASE DE DATOS DISTRIBUIDAS
Sistemas manejadores de base de datos
distribuidos.
Componentes y objetivos de un DDBMS.
Técnicas de fragmentación.
Replicación y concurrencia de datos.
Técnicas de Minería de datos.
Datawarehouse. OLAP. Conceptoe ACID.
6. UNIDAD III: LENGUAJE ESTRUCTURADO DE
CONSULTA (SQL)
Consultas multitablas.
Consultas de unión externas e
internas.
Transacciones y Bloqueos.
7. LA ARQUITECTURA DEL
DBMS
En 1975, el comité ANSI-SPARC, propuso una
arquitectura de tres niveles para los Sistemas de
Gestión de Base de Datos, cuyo objetivo principal era
el de separar los programas de aplicación de la Base
de datos física. En esta arquitectura el esquema de
una base de datos se define en tres Niveles de
abstracción distintos:
Nivel interno o físico: describe la estructura física de
la base de datos mediante un esquema interno. Este
esquema se especifica con un modelo físico y
describe los detalles de cómo se almacenan
físicamente los datos: los archivos que contienen la
información, su organización, los métodos de acceso
a los registros, los tipos de registros, la longitud, los
8. LA ARQUITECTURA DEL
DBMS
Nivel externo o de visión: es el más cercano al
usuario, se describen varios esquemas externos o
vistas de estos. Cada esquema externo describe la
parte de la base de datos que interesa a un grupo de
usuarios determinados y ocultos a ese grupo el resto
de la base de datos. En este nivel se puede utilizar un
modelo conceptual o un modelo lógico para
especificar los esquemas.
Nivel conceptual: describe la estructura de toda la
base de datos para un grupo determinado de
usuarios mediante un esquema conceptual. Este
esquema describe las entidades, atributos,
relaciones, operaciones de los usuarios y
restricciones, ocultando los detalles de las estructuras
9. Sistema Gestor de Bases de Datos
(SGBD)
11/07/2017Universidad Alonso de Ojeda9
Es un software de sistemas que tiene como propósito
general facilitar el proceso de definir, construir y manipular
bases de datos que se utilizan para diferentes tipos de
aplicaciones.
Clic para
Ir a la Fuente
10. Sistema Gestor de Bases de Datos
(SGBD)
11/07/2017Universidad Alonso de Ojeda10
Un sistema gestor de bases de datos (SGBD) consiste en
una colección de datos interrelacionados y un conjunto de
programas para acceder a dichos datos.
Hacer Clic para
Ver Fuente en Internet
11. Estructura general de los sistemas
manejadores de bases de datos
11/07/2017Universidad Alonso de Ojeda11
Gestores de almacenamiento
Gestor de autorización e integridad.
Gestor de transacciones.
Gestor de memoria Intermedia
Gestor de Archivos
Procesadores de consultas.
Intérprete del LDD,
Compilador del LMD y organizador
Motor de evaluación de consultas
Un sistema de bases de datos se divide en
módulos Gestores de almacenamiento y módulos
Procesadores de consultas.
12. Sistema Gestor de Bases de Datos
(SGBD)
11/07/2017Universidad Alonso de Ojeda12
El objetivo principal de un SGBD: es
proporcionar una forma de almacenar y
recuperar la información de una base de
datos de manera que sea tanto práctica como
eficiente.
Administrador de la base de datos (ABD) es la
persona que tiene este control sobre el SGBD y
tiene el control centralizado tanto de los datos
como de los programas que acceden a esos
datos.
13. Funciones del Administrador de las
bases de datos
11/07/2017Universidad Alonso de Ojeda13
Definición del esquema. El ABD crea el
esquema original de la base de datos el LDD.
Definición de la estructura y del método de
acceso.
Modificación del esquema y de la
organización física.
Concesión de autorización para el acceso a
los datos.
Mantenimiento rutinario.
Copia de seguridad periódica de la base de datos
No Confundir las Funciones de Administración con las funciones del
Administrador.
14. Necesidad de administración de sistemas
11/07/2017Universidad Alonso de Ojeda14
Banca.
Líneas aéreas.
Universidades.
Transacciones de
TDC.
Telecomunicaciones.
Finanzas.
Ventas.
Producción.
Recursos humanos.
Gobierno en Línea.
Facturación Telefonía .
Investigaciones Penales.
Correo Electrónico.
Cobro de Impuestos.
Identificación y
Extranjería.
Seguridad Social.
Investigaciones
Científicas.
Consejos Electorales.
Las bases de datos forman una parte
esencial de casi todas las empresas
actuales.
15. Necesidad de administración de sistemas
CAPACIDADES QUE DEBE OFRECER UN SMBD:
• Control de redundancias.
• Restricción de accesos no autorizados
• Proporcionar múltiples interfaces de usuario.
• Representar relaciones complejas entre datos.
• Forzar el uso de restricciones de integridad.
• Proporcionar métodos de respaldos y recuperación.
CUANDO NO UTILIZAR UN SMBD
La base de datos y aplicaciones son simples, bien definidas y se
requieren pocos cambios.
No es necesario el acceso de múltiples usuarios a los datos.
16. Características del procesamiento
multiusuario.
La palabra multiusuario se refiere a un concepto
de sistemas operativos, pero también puede
aplicarse a programas de aplicaciones de base
de datos; El procesamiento multiusuario es la
característica que permite proveer servicio y
procesamiento a múltiples usuarios
simultáneamente, estrictamente es pseudo-
simultáneo.
17. Usuarios de las Bases de Datos
Naive users: Usuarios que no necesitan conocer
la presencia de la base de datos, el usuario es
instruido acerca de cómo operar una transacción,
sus operaciones son muy limitadas. También se
consideran los usuarios finales que trabajan
con un programa de aplicación de formularios
tipo menú.
On line users: Usuarios que se pueden
comunicar directamente via computadora en
línea o indirectamente via interface del usuario y
programas de aplicación, conocen el sistema de
base de datos y han adquirido un monto de
experiencia.
18. Usuarios de las Bases de Datos
Application Programmer: Programadores
profesionales quienes son responsables de
desarrollar los programas de aplicación que utilizarán
los usuarios naive y en línea, los programas de
aplicación pueden ser escritos en lenguajes como
Assembler,C, COBOL, Pascal, Java, …
Data Base Administrator(DBA): El control
centralizado de la base de datos es ejercido por una
persona o grupo de personas bajo la supervisión de
un administrador de alto nivel . Esta persona o grupo
se conocen como DBA, son responsables de crear,
modificar y mantener los tres niveles del DBMS. El
DBA es el custodio de los datos y controla la
estructura de la base de datos.
21. UNIDAD II: SISTEMA Y GESTIÓN DE
BASE DE DATOS DISTRIBUIDAS
Sistemas manejadores de base de datos
distribuidos.
Componentes y objetivos de un DDBMS.
Técnicas de fragmentación.
Replicación y concurrencia de datos.
Técnicas de Minería de datos.
Datawarehouse. OLAP. Concepto de ACID.
22. Transacciones y Bloqueos
11/07/2017Universidad Alonso de Ojeda22
Una transacción es la ejecución, por parte de una
aplicación de bases de datos, de varias operaciones
como una única función lógica que debe cumplir los
requisitos de atomicidad, consistencia y durabilidad.
Atomicidad: significa que si no se ejecuta alguna de
las operaciones de la transacción entonces no se
ejecuta ninguna.
Consistencia: Es el requisito que restringe la
ejecución de operaciones absurdas. Es decir que
cada operación debe ser correcta.
Aislamiento: Esta propiedad asegura que una
operación no puede afectar a otras
Durabilidad: Es el requisito que asegura que la base
es consistente antes, durante y después de la
transacción que termina con éxito.
23. Transacciones y Bloqueos
Concurrencia : Transacciones y Bloqueos
Este bloqueo puede ser Compartido (Share) o
Exclusivo
(Exclusive), estos son administrador por un “Lock
Manager”.
Existen varios tipos de bloqueos :
Si un bloqueo toma mucho tiempo en ejecutarse
entonces se produce un Dead lock, el sistema lo
muestra como un Timeout.
Un bloqueo puede darse a una tupla, una página o
una tabla completa.
Existe una tabla de locks, antes de ejecutar uno
nuevo se consulta esta tabla.
24. UNIDAD III: LENGUAJE ESTRUCTURADO DE
CONSULTA (SQL)
Consultas multitablas.
Consultas de unión externas e
internas.
Transacciones y Bloqueos.
25. LENGUAJE ESTRUCTURADO DE
CONSULTA
SQL (Structured Query
Language)
Es un Lenguaje de programación que
permite:
•Obtener información de una base de datos y
•Actualizar La Base de Datos.
Es ANSI e ISO y es soportado por muchos
Productos.American National Standards Institute: (ANSI)
International Organization for Standardization:
RECORDAR:
26. Tabla: Estructura con nombre único que almacena registros
o filas de datos en la BD.
Registro: Cada una de las filas de una tabla.
Campo: Cada “Celda” de un registro que tiene un nombre
único en la tabla. Además es de un tipo determinado.
RECORDAR:
Por el momento estas son las definiciones necesaria, para
aprender SQL
27. UNIDAD III: LENGUAJE ESTRUCTURADO DE
CONSULTA (SQL)
Consultas multitablas.
SQL soporta dos grupos de consultas
multitabla:
1. La unión de tablas
2. La composición de tablas
La UNIÓN se utiliza cuando de existen
dos tablas con las mismas columnas y
se desea obtener una nueva tabla con
las filas de la primera y las filas de la
segunda.
28. UNIDAD III: LENGUAJE ESTRUCTURADO DE
CONSULTA (SQL)
UNIÓN
SELECT * From Tabla1 UNION SELECT * From
Tabla2;
Instrucción SQL
29. La COMPOSICIÓN se utiliza cuando
deseamos concatenar filas de una tabla con
filas de otra.
SELECT CEDULA, APELLIDO, NOMBRE, F_PAGO, MONTO
FROM Tabla3 INNER JOIN Tabla1 ON Tabla3.ID_EMPLEADO =
Tabla1.ID_EMPLEADO;
Instrucción
SQL
30. UNIDAD III: LENGUAJE ESTRUCTURADO DE
CONSULTA (SQL)
Consultas multitablas.
En La Asignatura se verán y utilizaran todos
y se aprensara a elegir el tipo más apropiado
a cada caso.
Los tipos de composición de tablas son:
1. . El producto cartesiano
2. . El INNER JOIN
3. . El LEFT JOIN
4. . El RIGHT JOIN
38. delete from libros_innodb where `titulo_id` =
1;
delete from libros_innodb where `titulo_id` =
2;
Eliminar Registros
Seleccionar la Tabla y Examinar
39. INSERT INTO `libros_innodb`(`titulo_id`,
`titulo`, `paginas`) VALUES (1, 'Linux in a
Nutshell', 476), (2, 'Classic Shell Scripting',
558);SELECT * FROM `libros_innodb`
WHERE 1
Insertar Registros
Seleccionar la Tabla y Examinar
40. start transaction;
delete from libros_innodb where `titulo_id` =
1;
delete from libros_innodb where `titulo_id` =
2;
ROLLBACK;
Insertar Registros
45. BEGIN
INSERT INTO log_updates (idusuario,
descripcion)
VALUES
(user(), CONCAT('Se modificó el registro ','(',
OLD.iddetalle,',',
OLD.idfactura,',',OLD.idproducto,',', OLD.precio,',',
OLD.unidades,') por ', '(', NEW.iddetalle,',',
NEW.idfactura,',',NEW.idproducto,',',
NEW.precio,',', NEW.unidades,')'));
Disparadores
46. Revisión
Que es SQL.
Que es Una Tabla.
Que es Un Registro.
Que es un Campo.
Mencione los Tipos de Consulta Multitabl
Cuando se desea Concatenar Campos d
Tablas se debe usarse:
UNIÓN o COMPOSICIÓN