Documentos de Académico
Documentos de Profesional
Documentos de Cultura
y Diseño de
Base de Datos
Introducción a los SGBD
Área Ingeniería de Software
Departamento de Ciencias de la Computación
Facultad de Economía y Administración
Universidad Nacional del Comahue
Temas a Desarrollar
Sistemas de Archivos
Sistemas Gestores de BD
Lenguajes de Bases de Datos
Gestión de Transacciones
Gestión de Almacenamiento
Administrador y Usuarios de Bases de Datos
Estructura General del Sistema
Teoría y Diseño de BD 2
Temas a Desarrollar
Sistemas de Archivos
Sistemas Gestores de BD
Lenguajes de Bases de Datos
Gestión de Transacciones
Gestión de Almacenamiento
Administrador y Usuarios de Bases de Datos
Estructura General del Sistema
Teoría y Diseño de BD 3
Archivos
Son una colección de información, localizada
colección de información
o almacenada como una unidad en alguna parte
unidad
de la computadora.
Sirven para la entrada y salida a la computadora
Son manejados por programas
Teoría y Diseño de BD 4
Archivos
Las principales características de los archivos
son:
Independencia de la información respecto de los
programas
La información se almacena en forma permanente
Un archivo puede ser accedido por distintos
programas en distintos momentos
Gran capacidad de almacenamiento
Teoría y Diseño de BD 5
Archivos
¿Qué sistemas surgen a partir de la creación del
concepto de archivos?
archivos
Administradores de Archivos
Sistemas de archivos
Teoría y Diseño de BD 6
Administradores de Archivos
Es una aplicación que provee acceso a
archivos y facilita
archivos realizar operaciones con
realizar operaciones
ellos (copiar, mover o eliminar archivos)
Norton Commander (DOS)
Windows Explorer (Windows)
Nautilus (GNOME)
Konqueror (KDE)
Teoría y Diseño de BD 7
Sistemas de Archivos
Estructuran la información guardada en una unidad de
Estructuran la información
almacenamiento (normalmente un disco duro) de una
computadora
Teoría y Diseño de BD 8
Sistemas de Archivos
Esta estructura será luego representada (textual o
gráficamente) utilizando un administrador de archivos
La mayoría de los sistemas operativos (SO's) poseen su
propio sistema de archivos
propio
El administrador de archivos utiliza el sistema de
utiliza
archivos que provee el SO para realizar las operaciones
(almacenar, crear, borrar, etc.)
Teoría y Diseño de BD 9
Sistemas de Archivos
quiero copiar un Sistema de Archivos
archivo
Administrador de Archivos (SO)
Teoría y Diseño de BD 10
Archivos ¿sirve siempre?
Teoría y Diseño de BD 11
Archivos – ¿y en una biblioteca?
Teoría y Diseño de BD 12
Archivos ¿y en una biblioteca?
Necesito todos los
autores que hayan
nacido antes del 1948
Necesito todos los
libros que tienen mas de
200 páginas
Necesito todos los
Necesito todos los prestamos de este
libros que escribió mes
“Isabel Allende”
Necesito todos los
autores que escribieron
dramas
Teoría y Diseño de BD 13
Archivos ¿y entonces?
Teoría y Diseño de BD 14
Temas a Desarrollar
Sistemas de Archivos
Sistemas Gestores de BD
Lenguajes de Bases de Datos
Gestión de Transacciones
Gestión de Almacenamiento
Administrador y Usuarios de Bases de Datos
Estructura General del Sistema
Teoría y Diseño de BD 15
Sistemas Gestores de BD
Un Sistema Gestor de Base de Datos (SGBD)
consiste de
una colección organizada de elementos de datos
interrelacionados (BD) y un conjunto de programas
para almacenar, acceder y modificar a dichos
elementos de datos
Teoría y Diseño de BD 16
Sistemas Gestores de BD
Una Base de Datos (BD), contiene información acerca
Base de Datos
de un dominio particular (organización, negocio,
empresa,...)
Teoría y Diseño de BD 17
Sistemas Gestores de BD
Un SGBD debe:
SGBD
Definir estructuras para almacenar la información
Proveer mecanismos para la manipulación de la
información
Asegurar la fiabilidad de la información almacenada
ante caídas del sistema o intentos de acceso sin
autorización
Evitar resultados anómalos si la información va a ser
compartida entre varios usuarios
Teoría y Diseño de BD 18
SGBD vs. Archivos (I)
Ventajas del SGBD:
• Evitan Redundancia e Inconsistencia de Datos
Archivos Los diferentes archivos pueden
posee información duplicada
Las diferentes copias de los
Genera un alto COSTO de
mismos DATOS pueden no
ALMACENAMIENTO y
coincidir.
de ACCESO
Teoría y Diseño de BD 19
SGBD vs. Archivos (II)
Ventajas del SGBD:
• Permiten un acceso eficiente a los Datos
Los sistemas de archivos no permiten
Archivos
un manejo EFICIENTE y PRACTICO
de la información
Las necesidades nuevas de
recuperación de DATOS requieren el
Genera un alto COSTO de
desarrollo de nuevos PROGRAMAS
PROGRAMACIÓN y
de APLICACION
de TIEMPO Teoría y Diseño de BD 20
SGBD vs. Archivos (III)
Ventajas del SGBD:
• Aislamiento de Datos (aislan los datos de las
aplicaciones)
Archivos Las APLICACIONES y los DATOS
estan totalmente ligados
Grandes dificultades y altos COSTOS Las diferentes APLICACIONES
escribir nuevos PROGRAMAS de pueden estar escritas en diferentes
APLICACION para recuperar los LENGUAJES de programación
datos de manera apropiada. Teoría y Diseño de BD 21
SGBD vs. Archivos (IV)
Ventajas del SGBD:
• Mantienen la Integridad
Los DATOS deben cumplir con
ciertas restricciones de integridad
Archivos
(un socio no puede retirar mas de 4
libros al = tiempo)
Agregar nuevas restricciones
Las restricciones se hacen cumplir involucra entrar a modificar uno o
agregando código dentro de los más ARCHIVOS y los
PROGRAMAS DE APLICACION PROGRAMAS DE APLICACION
Teoría y Diseño de BD 22
SGBD vs. Archivos (V)
Ventajas del SGBD:
• Las transacciones se ejecutan con el Principio de
Atomicidad
Este principio debe ser también
Archivos controlado mediante más código en
los PROGRAMAS DE APLICACION
¿Qué pasa si ocurre un fallo en el
Deben poseer APLICACIONES de
medio de varias instrucciones de
recuperación para garantizar que una operación
actualizacion de los archivos?
se ejecuta completa o no se ejecuta Teoría y Diseño de BD 23
SGBD vs. Archivos (VI)
Ventajas del SGBD:
• Controlan el Acceso Concurrente
La CONCURRENCIA puede generar
Archivos inconsistencias. Debe controlarse
mediante más código.
Deben poseer APLICACIONES que controlen
el acceso de varios usuario a diferentes
archivos en un mismo momento Teoría y Diseño de BD 24
SGBD vs. Archivos (VII)
Ventajas del SGBD:
• Permiten controlar aspectos de Seguridad
¿Todos los usuarios pueden consultar,
Archivos insertar y modificar TODOS los
datos?
Otra vez debemos agregar
Deben poseer APLICACIONES que controlen MAS CODIGO
el acceso incluso a diferentes parte de la
información contenida en un mismo archivo
Teoría y Diseño de BD 25
Propósito de los SGBD
El propósito principal de un SGBD es proporcionar a sus
USUARIOS una VISION ABSTRACTA de los DATOS
El sistema esconde ciertos detalles de cómo se almacenan y
mantienen los DATOS.
A los efectos de esconder la complejidad y facilitar a los
USUARIOS la interacción con un SGBD, los desarrolladores
interponen NIVELES de ABSTRACCION, sobre la realidad
NIVELES de ABSTRACCION
física de los DATOS.
Teoría y Diseño de BD 26
Estructura de los SGBD
Nivel Físico
Describe la ESTRUCTURA FISICA de la BD explicitando
ESTRUCTURA FISICA
CÓMO se almacenan realmente los DATOS .
CÓMO
Se describen en detalle las estructuras de DATOS
complejas de bajo nivel y la forma en que se ACCEDE a
estos DATOS.
Normalmente depende fuertemente de la MAQUINA que
subyace.
Teoría y Diseño de BD 27
Estructura de los SGBD
Nivel Lógico
Describe la ESTRUCTURA LOGICA de la BD explicitando
ESTRUCTURA LOGICA
qué datos se almacenan en la BD y qué relaciones existen
entre esos DATOS.
Los administradores de BD, que deben decidir que DATOS
se mantienen en la BD, usan el NIVEL LOGICO.
Normalmente esta basado en el MODELO de DATOS.
Teoría y Diseño de BD 28
Estructura de los SGBD
Nivel de Vistas
Describe un NIVEL de VISTA que simplifica la interacción
NIVEL de VISTA
de los USUARIOS con la BD.
Corresponde a los GRUPOS de USUARIOS o a los
PROGRAMAS de APLICACION.
El SGBD puede ofrecer muchas VISTAS para la misma
BD.
Teoría y Diseño de BD 29
Estructura de los SGBD
Corresponde a grupos de
Nivel de Vistas usuarios o a programas
de aplicación
Corresponde a los datos y
las relaciones entre
los datos
Nivel Lógico
Corresponde a la información
de cómo se almacenan
realmente los datos
Nivel Físico
Teoría y Diseño de BD 30
Estructura de los SGBD
Corresponde a grupos de
Nivel de Vistas usuarios o a programas
de aplicación
Contiene información del nivel
de vista que simplifica la
Nivel Lógico interacción de los
USUARIOS con la BD.
El SGBD puede ofrecer
muchas vistas para la
Nivel Físico misma BD.
Teoría y Diseño de BD 31
Estructura de los SGBD
Corresponde a los datos y
Nivel de Vistas las relaciones entre
los datos
Contiene información
normalmente basada en un
Nivel Lógico MODELO de DATOS.
Nivel Físico
Teoría y Diseño de BD 32
Estructura de los SGBD
Corresponde a la información
Nivel de Vistas de cómo se almacenan
realmente los datos
Contiene información de las
ESTRUCTURA de DATOS
Nivel Lógico de bajo nivel y la forma en
que se ACCEDE a los
datos.
Nivel Físico
Teoría y Diseño de BD 33
Estructura de los SGBD
La BD va cambiando a lo largo del tiempo conforme los
DATOS se insertan, modifican y borran.
La colección de información contenida en la BD en un
momento en particular se denomina: INSTANCIA de
BASE de DATOS
El diseño completo de la BD se denomina: ESQUEMA
de BASE de DATOS
Teoría y Diseño de BD 34
Estructura de los SGBD
Los ESQUEMAS de la BD raramente se modifican
ESQUEMAS de la BD
Los SGBD tienen varios esquemas de acuerdo con los
NIVELES de ABSTRACCION ya discutidos
un Esquema Físico
un Esquema Lógico y
varios Esquemas de Vistas o SUBESQUEMAS.
Teoría y Diseño de BD 35
Independencia de Datos
Es la facilidad para modificar una definición de
ESQUEMA en un
ESQUEMA NIVEL de ABSTRACCION
NIVEL de ABSTRACCION
determinado sin que esto afecte su respectiva definición
en el NIVEL de ABSTRACCION superior inmediato
NIVEL de ABSTRACCION
• Independencia Física de los Datos
• Independencia Lógica de los Datos
Teoría y Diseño de BD 36
Independencia Física de Datos
Un sistema proporciona esta INDEPENDENCIA si los
INDEPENDENCIA
USUARIOS y los PROGRAMAS de APLICACIONES son
inmunes a los cambios en el ESQUEMA FISICO de la
ESQUEMA FISICO
BD almacenada.
Estas modificaciones son en ocasiones necesarias para
mejorar el funcionamiento y la performance de la BD.
Teoría y Diseño de BD 37
Independencia Lógica de Datos
Un sistema proporciona esta INDEPENDENCIA si los
INDEPENDENCIA
USUARIOS y los PROGRAMAS de APLICACIONES
también son inmunes a los cambios en el ESQUEMA
LOGICO de la BD
LOGICO
Estas modificaciones son en ocasiones necesarias para
reflejar mejor las Reglas del Negocio o Transacciones
Es más difícil de lograr que la INDEPENDENCIA FÍSICA,
INDEPENDENCIA FÍSICA
porque los programas de aplicaciones dependen en alto
grado de la estructura lógica de los datos a los que tienen
acceso
Teoría y Diseño de BD 38
Temas a Desarrollar
Sistemas de Archivos
Sistemas Gestores de BD
Lenguajes de Bases de Datos
Gestión de Transacciones
Gestión de Almacenamiento
Administrador y Usuarios de Bases de Datos
Estructura General del Sistema
Teoría y Diseño de BD 39
Lenguajes de BDs
Cualquier SGBD proporciona dos lenguajes:
Lenguaje de Definición de Datos (LDD)
Permite especificar mediante un conjunto de sentencias
el ESQUEMA DE BD.
Lenguaje de Manipulación de Datos (LMD)
Permite manipular mediante un conjunto de sentencias
los datos (insertar, borrar, actualizar) almacenada en un
base de datos.
Permite consultar la BD.
Diseño y Conceptos de BD 40
Lenguaje de Definición
de Datos LDD
Permite especificar mediante un conjunto de sentencias el
ESQUEMA DE BD.
Catalogo ó Diccionario nombre saldo tipo
Cuentas …
Titulares …
CREATE TABLE Cuentas
(Nombre ….,
Saldo ….,
Tipo…. );
Diseño y Conceptos de BD 41
Lenguaje de Definición
de Datos LDD
El resultado de compilar un conjunto de sentencias en
LDD es un conjunto de tablas que se almacenan en un
archivo denominado:
Catálogo o Diccionario de Datos
Contiene información sobre la información contenida en una
BD.
Contiene las restricciones de integridad, claves,
información sobre la seguridad, etc. También esquemas y
transformaciones
Contiene detalles de implementación de los esquemas
y métodos de acceso.
Diseño y Conceptos de BD 42
Lenguaje de Manipulación
de Datos LDD
Permite realizar acciones como:
Recuperar información almacenada (consultas) >
Lenguaje de Consulta
Insertar información de la BD
Borrar información de la BD
Modificar información de la BD
Una Consulta es una sentencia o instrucción de
Consulta
solicitud para recuperar información
Diseño y Conceptos de BD 43
Lenguaje de Manipulación
de Datos LDD
Hay dos tipos de LMD:
Procedurales u operacionales
• Requiere que el Usuario especifique qué Datos se
necesitan y cómo obtenerlos.
No procedurales o declarativos
• Requiere que el Usuario especifique qué Datos se
necesitan, sin especificar cómo obtenerlos.
Diseño y Conceptos de BD 44
Lenguaje de Manipulación
de Datos – LDD Ejemplos
nombre saldo tipo
Pablo 30 CA
Maria 30 CC
Juan 134 CA
nombre saldo tipo
Pablo 30 CA
Maria 30 CC
nombre saldo tipo
Julio 134 CA
Pablo 30 CA
Maria 30 CC
Diseño y Conceptos de BD 45
Temas a Desarrollar
Sistemas de Archivos
Sistemas Gestores de BD
Lenguajes de Bases de Datos
Gestión de Transacciones
Gestión de Almacenamiento
Administrador y Usuarios de Bases de Datos
Estructura General del Sistema
Teoría y Diseño de BD 46
Transacciones (I)
Una transacción es un conjunto de operaciones que
realiza una única función lógica sobre una BD
Ejemplos de transacciones:
Transferir dinero entre dos cuentas.
Cambiar la titularidad de un inmueble.
Devolver (o solicitar) un libro en una biblioteca.
Pensemos cuales son ese conjunto de operaciones?
Diseño y Conceptos de BD 47
Transacciones (I)
Las propiedades de las transacciones:
Atomicidad
Consistencia
Aislación (Isolation)
Durabilidad A
C
I
D
Diseño y Conceptos de BD 48
Transacciones (II)
Atomicidad
Se ejecutan TODAS las operaciones dentro de una
misma transacción o ninguna.
Ejemplo:Transferir 200$ de la cuenta A a la B
• Esta transacción es exitosa, si se lleva a cabo
completamente, es decir el débito de A y el crédito
de B.
Se puede realizar una sola?
Qué sucede si hay un fallo?
Diseño y Conceptos de BD 49
Transacciones (III)
Consistencia
Luego de la ejecución de una transacción la BD debe
quedar en una estado consistente.
Ejemplo: en el mismo ejemplo de transferencia, el valor de
A+B debe preservarse.
Qué sucede si hay un fallo?
Qué sucede cuando hay concurrencia?
Diseño y Conceptos de BD 50
Transacciones (IV)
Aislación
Aunque las transacciones se ejecuten concurrentemente,
su ejecución debe ser equivalente a una ejecución en
serie.
Ejemplo: las operaciones de una transacción y otra pueden
intercalar su ejecución en el SGBD, pero su aplicación debe ser
equivalente a ejecutar estas transacciones individualmente en
orden
Existen mecanismos para garantizar
la Aislación... Control de Concurrencia
Diseño y Conceptos de BD 51
Transacciones (V)
Durabilidad
Después de que una transacción se ejecutó con éxito,
los datos en la BD deben persistir, mas allá de los fallos
del sistema.
Ejemplo: Una vez completada la transacción los nuevos
valores de las cuentas A y B deben contener los nuevos
valores.
Es el concepto de Persistencia
Diseño y Conceptos de BD 52
Transacciones (VI)
Una Transacción es una unidad de atomicidad y
consistencia, y no debe violar ninguna ligadura de
consistencia o restricción de integridad de la BD
Es Responsabilidad del PROGRAMADOR:
• definir las diferentes Transacciones apropiadamente,
de manera que cada una preserve la consistencia de
la BD
Diseño y Conceptos de BD 53
Transacciones (VI)
Es Responsabilidad del SGBD:
• asegurar la atomicidad y durabilidad
•Gestor de Transacciones
• controlar la interacción entre Transacciones
concurrentes para asegurar la consistencia de la BD
(ya que si varias Transacciones actualizan la BD concurrentemente, la
consistencia de datos puede no ser preservada, aun cuando cada
transacción individualmente sea correcta)
•Gestor de Concurrencia
Diseño y Conceptos de BD 54
Temas a Desarrollar
Sistemas de Archivos
Sistemas Gestores de BD
Lenguajes de Bases de Datos
Gestión de Transacciones
Gestión de Almacenamiento
Administrador y Usuarios de Bases de Datos
Estructura General del Sistema
Teoría y Diseño de BD 55
Gestor de Almacenamiento
Las BDs normalmente requieren una gran cantidad de
espacio de almacenamiento (Gbytes Tbytes ).
Los Datos deben ser movidos entre el Disco y la
Disco
Memoria Principal cuando se necesitan
Memoria Principal
La transferencia de Datos desde y hacia el Disco es
transferencia de Datos desde y hacia el Disco
muy lenta con respecto a la velocidad de la CPU
• Es fundamental que el SGBD estructure los Datos para
minimizar la necesidad de movimiento de datos entre el
Disco y la Memoria Principal.
Diseño y Conceptos de BD 56
Gestor de Almacenamiento
El Gestor de Almacenamiento es un módulo de
Gestor de Almacenamiento
programa que proporciona la interfaz entre los datos de
bajo nivel en la BD y los programas de aplicación y
consultas suministradas al SGBD.
Los datos se almacenan en Disco usando un Sistema
de Archivos convencional, habitualmente
proporcionado por un Sistema Operativo.
Diseño y Conceptos de BD 57
Gestor de Almacenamiento
Transforma las diferentes instrucciones del
LMD a operaciones de un Sistema de Archivos,
siendo así el responsable del Almacenamiento,
Almacenamiento
la Recuperación y la
Recuperación Actualización de los Datos
Actualización
en la BD
Diseño y Conceptos de BD 58
Temas a Desarrollar
Sistemas de Archivos
Sistemas Gestores de BD
Lenguajes de Bases de Datos
Gestión de Transacciones
Gestión de Almacenamiento
Administrador y Usuarios de Bases de Datos
Estructura General del Sistema
Teoría y Diseño de BD 59
Usuarios de un SGBD (I)
Administrador de BD:
Definir el esquema original de BD
Crear estructuras de almacenamiento
Modificar el esquema y la organización física de la
BD
Conceder autorización a los Usuarios para el acceso
a los datos
Especificar restricciones de integridad
Diseño y Conceptos de BD 60
Usuarios de un SGBD (II)
Programadores de Aplicaciones:
Profesionales informáticos que interactúan con el
SGBD a través de un LMD incrustado en un lenguaje
de programación anfitrión (java, pascal, etc)
Desarrollan programas de Aplicación
Diseño y Conceptos de BD 61
Usuarios de un SGBD (III)
Usuarios Sofisticados:
Interactúan con el SGBD sin escribir programas de
aplicación, utilizan un lenguaje de consulta para
especificar sus solicitudes.
Diseño y Conceptos de BD 62
Usuarios de un SGBD (IV)
Usuarios Normales:
Interactúan con el SGBD mediante la invocación de
alguno de los programas de aplicación permanentes
que han sido desarrolladas por los programadores
de aplicaciones (transacciones programadas).
Diseño y Conceptos de BD 63
Usuarios de un SGBD (V)
Usuarios Especializados:
Escriben aplicaciones especializadas que no
responden al procesamiento de datos convencional,
como sistemas expertos, sistemas de Diseño
asistido por computadora (CAD).
Diseño y Conceptos de BD 64
Temas a Desarrollar
Sistemas de Archivos
Sistemas Gestores de BD
Lenguajes de Bases de Datos
Gestión de Transacciones
Gestión de Almacenamiento
Administrador y Usuarios de Bases de Datos
Estructura General del Sistema
Teoría y Diseño de BD 65
12 USUARIOS n2
NIVEL de VISTAS NIVEL EXTERNO
ESQUEMA
de
VISTAS VISTA 2 … VISTA n
VISTA 1
EXTERNO
SUBESQUEMAS
1, 2 .. n
transformación Externa / Conceptual
SGBD
Esquemas y Sistema de
ESQUEMA LOGICO
transformaciones CONCEPTUAL NIVEL LOGICO Gestión de Base
NIVEL CONCEPTUAL de Datos
generados y
mantenidos por el transformación Conceptual / Interna
ABD
Administrador de
Base de Datos
ESQUEMA FISICO
INTERNO
Definición de la
Estructura de
Base de Datos almacenada
Almacenamiento
NIVEL FISICO NIVEL INTERNO
Teoría y Diseño de BD 66
usuarios programadores usuarios administrador usuarios
normales de aplicación sofisticados de base de datos
precompilador compilador del
interprete del LDD
embebido del LMD LMD
Sistema
código objeto de los motor de evaluación procesador de
prog. de aplicación de consultas
de
consultas
Gestión
de
gestor de memoria
intermedia gestor Base
gestor de
de De
transacciones
gestor de almacenamiento Datos
archivos
almacenamiento
índices datos estadísticos
en
disco diccionarios de datos
archivos de datos
Teoría y Diseño de BD 67