Vous êtes sur la page 1sur 32

BASES DE DATOS

CAPITULO I
Evolución de las B.D.
 BD: Definición:

1. Colección de información que existe


durante un periodo largo.

2. Colección de datos que es


administrada por un DBMS( Data Base
Management System).
Evolución de las B.D.
 Este sistema debe:

1. Permitir a los usuarios crear otras BD


y especificar su esquema (Estructura
Lógica de los datos) por medio de un
lenguaje especializado llamado DDL.

2. Ofrecer capacidad de consultar los


datos y modificarlos, usando un lenguaje
llamado DML o lenguaje de consulta.
Evolución de las B.D.

3. Soportar almacenamiento de gran


cantidad de datos –Gygabytes o más
(Terabytes), durante un largo periodo,
protegiéndolos contra accidentes o
utilización no autorizada, además de
permitir un acceso eficiente a consultas y
modificaciones de la BD.

4. Controlar acceso concurrente a datos.


Primeros DBMS
 Nacieron de los sistemas de archivos

 Los sistemas de archivos tenían los


siguientes problemas:

 No garantizaban que los datos no se perdieran,


sino tenían respaldo.
 No soportaban el acceso eficiente a los datos
cuya ubicación en un archivo no se conociera.
 No soporta la función de un Lenguaje de
consulta que facilite el acceso a datos.
Primeros DBMS
 No podían especificar el esquema de los datos,
se limitaba a crear estructuras de directorios de
los archivos.
 No permiten el acceso concurrente.

Primeras aplicaciones importantes de los


DBMS.

• Sistemas de reservación de líneas aéreas.


• Sistemas bancarios.
• Registros de las empresas.
Modelos de datos
 Describen la estructura de la información
contenida en la BD.

 Primeros modelos:
 Modelo Jerárquico o basado en árboles.
 Modelo de redes basado en gráficas.

El problema de estos es que no soportaban


los lenguajes de consultas de alto nivel.
Sistemas Relacionales de BD

 Cambiaron en forma radical por influencia de


Ted Codd.

 Este propuso que los sist deberían presentar


al usuario una vista de los datos organizados
como tablas llamadas relaciones.

 SQL (Structured Query Language – Lenguaje


de consulta estructurado), es el más
importante de los lenguajes de consultas
basados en el modelo relacional.
Sistemas Relacionales de BD
 Las relaciones son tablas.
Tabla Cuenta
Atributos

NoCuenta saldo tipo


Tupla 1234 1000,00 Ahorros
5678 2846,92 Crédito
Sistemas Relacionales de BD
 Supongamos que queremos
averiguar el saldo de la cuenta
5678. Podríamos hacerlo mediante
SQL:

 SELECT saldo
 FROM cuenta
 WHERE NoCuenta = 5678;
Sistemas Relacionales de BD
 Pedir las cuentas de ahorros con saldo
negativo.

 SELECT NoCuenta
 FROM cuenta
 WHERE tipo = ´ahorros´AND saldo < 0;
Sistemas cada ves más pequeños

 Los DBMS en un principio eran grandes


y costosos y se ejecutaban en
computadoras de gran tamaño.

 Ahora los DBMS basados en el modelo


relacional pueden ejecutarse en
máquinas más pequeñas con mayor
almacenamiento.
Sistemas cada ves más grandes

 Las bases de datos de una empresa


frecuentemente ocupan cientos de Gb.

 Cuando el almacenamiento se hace más barato,


las empresas tienen más razones para almacenar
mas cosas.

 Por ejm una cadena de tiendas pueden guardar 1


terabyte (1000 Gb), registrando historia de
ventas.

 Ahora alojan imágenes, audio, video y otra


información que ocupa un espacio enorme.
Arquitectura de un DBMS
Principales componentes
Modificaciones Modificaciones
Consultas
del esquema del esquema

Procesador
de “consultas”
Administrador
de almacenamiento
Administrador
De transacciones

Datos
Metadatos
Componentes
 Representación del lugar donde se
guardan los datos.

 Por convención, los componentes en


forma de disco indican un lugar para
almacenar.

 Metadatos: Información referente a la


estructura de los datos. Ej Sist.
Relacional: contienen nombres de las
relaciones, atributos y los tipos de datos
de los atributos.
Componentes
Manejador de almacenamiento
 Obtienen del almacenamiento de datos
la información solicitada y la modifican
allí cuando se lo pidan los niveles
superiores.

 Quizá no sea otra cosa que el sistema


de archivos del Sistema Operativo
subyacente.
Componentes
Procesador de consultas
 No solo maneja consultas, sino también
peticiones de modificaciones de datos o los
metadatos.

 Función: Encuentra la mejor manera de


llevar a cabo una operación solicitada y
emitir comandos al administrador de
almacenamiento que los ejecutará.
Componentes
Administrador de transacciones
 Función: Encargado de conservar la integridad del
sistema.

 Debe asegurarse que las consultas que se


ejecutan al mismo tiempo no interfirieran entre
ellas.

 Asegurarse que el sistema no pierda información


cuando sobrevenga una falla.

 Interactúa con el Administrador de Consultas pues


debe saber sobre que datos están operando las
consultas actuales.
Entradas al DBMS
 Consultas: Son las preguntas
concernientes a los datos. Se generan de
dos formas:

 Mediante una interfaz de consultas genéricas:


Ejm Consultas SQL.

 Mediante interfaces de programas de


aplicación: Ejm programas de aplicación; que
por medio de llamadas a él, consulten la BD.
Entradas al DBMS
 Modificaciones: Operaciones que
modifican los datos.

 Modificaciones del esquema: Son


comandos que suelen ser emitidos
por personal autorizado (DBA),
personas autorizadas para cambiar
el esquema de la BD o crear otra
nueva.
Administrador de transacciones
 Transacción: Conjunto de operaciones
que deben aparecer como si hubieran
sido ejecutadas juntas secuencialmente
como una unidad.

 La ejecución apropiada de las


transacciones requiere de las
propiedades ACID
Atomicity
atomicidad

Consistency
consistencia

Insolation
aislamiento

Requisitos de Durability
ejecución de Durabilidad
transacciones
Atomicidad
 Se realiza la transacción completa o
nada de ella.

 Ejm. Retiro de dinero de un cajero


automático y el cargo correspondiente
a la cuenta del cliente debe ser una
transacción atómica individual.
Consistencia
 En una BD se habla de un estado
“coherente”, en el cual la información
cumple las espectativas que podamos
tener.

 Ejm. Una situación coherente de una BD


de una línea aérea es que un mismo
asiento no sea asignado a dos pasajeros.
Aislamiento
 Cuando dos o más transacciones son ejecutadas
al mismo tiempo, es preciso aislar sus efectos.

 En otras palabras no deberemos ver los efectos


causados por dos operaciones realizadas al
mismo tiempo que no habrían ocurrido si una
fuera ejecutada antes que la otra.

 Ejm: Dos agentes de viaje venden los boletos de


un mismo vuelo y solo queda disponible un
asiento, una petición será concedida y la otra
rechazada.
Durabilidad

 Si la transacción ha cumplido su
función, su efecto no debería perderse
en caso de una falla del sistema,
incluso si la falla sobreviene apenas
concluida la transacción.
Conceptos
Candados: El administrador de
transacciones casi siempre puede
cerrar con candado los elementos a
que accede la transacción.

Mientras una transacción tenga


puesto el candado , las otras no
tendrían acceso a esos elementos.
Bitácora

 El administrador de transacciones
registra una bitácora de todas las
transacciones iniciadas, de los cambios
que causan en la base de datos y la
conclusión de cada una.
Compromiso de las transacciones
 Por razones de durabilidad y atomicidad
las transacciones suelen realizarse de
modo “tentativo”: los cambios de la BD
se calculan pero en realidad no se efctúan
en ella. Cuando todo esta listo para
concluir o comprometer la transacción los
cambios se copian en una bitácora.

 Si el sistema falla en medio de ambos


pasos, recurrimos a la bitácora.
Arquitectura cliente/Servidor
 Las peticiones hechas por un proceso
(cliente) son enviadas a otro proceso
(servidor) para que sean ejecutadas.

 En la arquitectura C/S más simple, todo


el DBMS en un servidor, exceptuadas las
interfases de consulta que interactúan
con el usuario y envían consultas o
comandos al servidor.
Restricciones
 Funciones con valores booleanos
cuyo valor debe ser verdadero.

 Ejm en un banco podríamos incluir


la restricción que el saldo no puede
ser menor que cero.
Disparadores
 Es una parte de un código que espera que
ocurra un evento; los eventos posibles
son la inserción o eliminación de cierta
clase de elemento de dato.

 Ejm. En un sistema de inventario, cuando


un producto alcanza el mínimo, se dispara
un mensaje.

Vous aimerez peut-être aussi