Está en la página 1de 67

Teoría 

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
1­2 USUARIOS n­2

1­3 2­1 n­1


1­1

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

interfaces de  programas  esquema de 


consultas
aplicaciones de aplicación 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

También podría gustarte