You are on page 1of 57

Bases de Datos

Introduccin
LC Sonia Valery

SGBD?

Un sistema gestor de bases de datos consiste


en una coleccin de datos interrelacionados y
un conjunto de programas para acceder a
dichos datos.

BD?

Una coleccin de datos, relevante para alguien.

Objetivo de un SGBD?

Proporcionar una forma de almacenar y


recuperar los datos, de una BD, de una forma
que sea tanto prctica como eficiente.

Son necesarios los SGBD?

Se disean para gestionar grandes cantidades


de datos que pueden encontrarse almacenados
de forma centralizada o distribuida.

Qu implica la gestin de datos?

Implica tanto la definicin de estructuras para


almacenar los datos, como la provisin de
mecanismos para la manipulacin de stos.

Qu implica la gestin de datos?

Proporcionar fiabilidad de la informacin


almacenada a pesar de las cadas del sistema o
los intentos de acceso sin autorizacin.
Si los datos van a ser compartidos entre
diversos usuarios, el sistema debe evitar
posibles resultados anmalos.

Aplicaciones de los SGBD


Lneas areas

Universidades

Banca

Transacciones de
tarjetas de crdito
Telecomunicaciones

Aplicaciones de los SGBD


Ventas

Produccin

Finanzas

Recursos Humano
?

Caso de Estudio:

Considrese parte de una empresa


de caja de ahorros que mantiene
informacin acerca de todos los
clientes y cuentas de ahorros.

Requerimientos:

Un programa para efectuar


cargos o abonos en una cuenta.
Un programa para aadir una
cuenta nueva.
Un programa para calcular el
saldo de una cuenta .
Un programa para generar las
operaciones mensuales.

Una manera de mantener la informacin en


el computador, es almacenarla en archivos
del sistema operativo.

Consecuencias

Cada programador define su propio formato de


archivo(s) para un programa particular.

Si surgen nuevas necesidades, es muy probable


que se requiera agregar nuevos archivos y
nuevos programas sobre la marcha.
Los programas son dependientes de los
archivos.

Los archivos son independientes.

RFC saldo inters direccin

RFC nombre sueldo direccin

Empleados

RFC saldo perodo

Tarjetas

CuentasAhorro

Programa 1

Programa 2

Programa n

Sistema de bases de datos Vs


Sistema de archivos

Inconvenientes importantes
con archivos:

Redundancia e inconsistencia en los


datos

Dificultad para el acceso a los datos


Aislamiento de datos
Problemas de integridad
Problema de atomicidad
Anomalas en el acceso concurrente

Redundancia e inconsistencia en los datos

La misma informacin duplicada en diferentes


lugares: telfono y direccin en CuentasAhorro y
en CuentasCheque.

Un cambio puede verse reflejado en un archivo


particular y no en el resto del sistema.

Dificultad en el acceso a los datos

EL entorno de procesamiento de archivos convencional


no permite que datos necesarios sean obtenidos de una
forma prctica y eficiente.

Generalmente se requieren listados filtrados dado un


criterio: Todos los empleados que viven en cierta
localidad, luego con cuenta de cheques

Aislamiento de datos

Los datos estn dispersos en varios archivos y ,


los archivos pueden estar en diferentes formatos.

Difcil escribir nuevos programas para recuperar


los datos apropiados.

Problemas de integridad

Los valores de los datos almacenados deben satisfacer


ciertos tipos de restricciones de consistencia.

Los programadores deben garantizar estas restricciones


desde los programas.
Si se aaden nuevas restricciones?

Si los datos estn dispersos en diferentes archivos?

Cuando un SGBD detecta que un programa quiere


hacer una operacin que va contra las reglas
establecidas al definir la BD, no lo deber permitir, y
tendr que devolver un estado de error.

Al disear una BD para un SI (Sistema de Informacin)


concreto y escribir su esquema, no slo definiremos
los datos, sino tambin las reglas de integridad que
queremos que el SGBD haga cumplir.

El concepto de integridad de los datos va ms


all de prevenir que los programas almacenen
datos incorrectos.
En casos de errores o desastres, tambin
podramos perder la integridad de los datos.

El SGBD nos debe dar las herramientas para


reconstruir o restaurar los datos estropeados.

Problemas de atomicidad
Una vez que una falla ha ocurrido y se ha detectado, los
datos se restauran al estado de consistencia que exista antes
del fallo.

Una transaccin debe ser atmica: las


operaciones involucradas deben ocurrir por
completo o no ocurrir en absoluto.
Con archivos es difcil garantizarlo!

Actualmente ya no son raros los SI que tienen, en un


instante determinado, miles de sesiones de usuario
abiertas simultneamente: Servidores de pginas
Web.

Un objetivo fundamental de los SGBD es permitir que


varios usuarios puedan acceder concurrentemente a
la misma BD.

Anomalas en el acceso concurrente

En un sistema de archivos convencional es muy


difcil coordinar y supervisar mltiples programas
actualizando datos simultneamente.

Si dos programas tienen acceso a un


conjunto de datos de forma simultnea
puede generarse respuestas diferentes.

Cuando los accesos concurrentes son todos de lectura


(es decir, cuando la BD slo se consulta), el problema
que se produce es simplemente de rendimiento
causado por disco, buffers , etc.

Cuando varios usuarios estn actualizando los datos, se


pueden producir problemas de interferencia que
tengan como consecuencia la obtencin de datos
errneos y la prdida de integridad de la BD.

Transaccin
Conjunto de operaciones simples que se ejecutan
como una unidad.

Los SGBD deben conseguir que el conjunto de


operaciones de una transaccin nunca se ejecute
parcialmente.
O se ejecutan todas, o no se ejecuta ninguna: La
transaccin de se atmica.

Ejemplo 1:
Aumentar el 30% de
la calificacin de
todos los alumnos.

Si slo aumentara
la nota a unos
cuantos alumnos, la
BD quedara
incorrecta.

Ejemplo2 :
Transferencia
bancaria de la
cuenta A a la B

Si slo retira de una


cuenta A y no logra
depositar a la cuenta B.
la BD quedara
incorrecta.

Entre transacciones que se ejecutan


concurrentemente se pueden producir
problemas de interferencia que resulta en
errores o que comprometen la integridad
de los datos.

Transaccin y Concurrencia
Una transaccin que transfiere dinero de X a Y se ejecuta
concurrentemente con otra transaccin que observa el saldo de las
cuentas Y y X, en este orden, y nos muestra su suma.

Si la ejecucin de forma concurrente de las dos


transacciones casualmente es tal, que la transferencia se
ejecuta entre la ejecucin de las dos lecturas de la
transaccin de suma, puede producir resultados
incorrectos.

Adems, si se escribe
inconsistente

en la BD, sta quedar

Mas de los SGBD


Actualmente, en el campo de los SGBD, el
trmino seguridad se suele utilizar para
hacer referencia a los temas relativos a la
confidencialidad, las autorizaciones, los
derechos de acceso, etc.

La ley, exige la proteccin de la confidencialidad de


estos datos.

Los SGBD permiten definir autorizaciones o derechos de


acceso a diferentes niveles: al nivel global de toda la BD,
al nivel entidad y al nivel atributo.

Estos mecanismos de seguridad requieren que el


usuario se pueda identificar.

Se acostumbra a utilizar cdigos de usuarios (y grupos de usuarios)


acompaados de contraseas (passwords), pero tambin se utilizan
tarjetas magnticas, identificacin por reconocimiento de la voz, etc.

Almacenar la informacin con una codificacin secreta; es decir, con


tcnicas de encriptacin (como mnimo se deberan encriptar las
contraseas).

Muchos de los SGBD actuales tienen prevista la encriptacin.

Seguridad

Prcticamente todos los SGBD del


mercado dan una gran variedad de
herramientas para la vigilancia y la
administracin de la seguridad.

Mas de los SGBD

Actualmente, en el campo de los SGBD, el


trmino seguridad se suele utilizar para
hacer referencia a los temas relativos a la
confidencialidad, las autorizaciones, los
derechos de acceso, etc.

Otros Objetivos SGBD

Servir eficientemente los Data


Warehouse (anlisis con perspectivas)
Adaptarse al desarrollo orientado a
objetos.

Incorporar el tiempo como un


elemento de caracterizacin de la
informacin.
Adaptarse al mundo de Internet

Fabricantes
de SGBD:

Oracle: http://www.oracle.com Oracle


Database 12c
IBM: http://www.ibm.com: DB2 e
Informix
Microsoft: http://www.microsoft.com
SQL Server
Computer Associates:
http://www.ca.com
NCR: http://www.ncr.com

Esquema
Los SGBD necesitan que les demos
una descripcin o definicin de la BD.
Esta descripcin recibe el nombre de
esquema de la BD, y los SGBD la
tendrn continuamente a su alcance.

Elemento fundamental de la arquitectura de


un SGBD.

Esquemas

Necesarios: estructura de una BD es


compleja.
Usuarios diferentes y diferentes niveles de
abstraccin de esquemas.
Permite independizar el SGBD de la BD.

Cambiar el diseo de la BD (su esquema) sin


tener que hacer ningn cambio en el SGBD.

Arquitectura de SGBD

Niveles
Externo

Conceptual

Fsico

Esquema Externo

Diferentes visiones lgicas que los procesos


usuarios (programas de aplicacin y usuarios
directos) tendrn de la BD que utilizarn.
Los usuarios vern la BD mediante esquemas
externos apropiados a sus necesidades.

Se pueden considerar redefiniciones del


esquema conceptual

Algunos sistemas los denominan


subesquemas.

Esquema Conceptual

Una sola descripcin lgica, bsica,


nica y global.

Sirve de referencia para el resto de


los esquemas.

Se describirn las entidades tipo,


sus atributos, interrelaciones y las
restricciones o reglas de integridad.

Esquema Interno o Fsico

Contendr la descripcin de la
organizacin fsica de la BD: caminos
de acceso (ndices, hashing,
apuntadores, etc.), codificacin de
los datos, gestin del espacio,
tamao de la pgina, etc.
Responde a las cuestiones de
rendimiento (espacio y tiempo)
planteadas al hacer el diseo fsico
de la BD y al ajustarlo
posteriormente a las necesidades
cambiantes.

Que hay que hacer para crear


un BD ?
Definir previamente su esquema conceptual, definir como mnimo
un esquema externo y, de forma eventual, definir su esquema
interno.

Si el Interno no se define, el mismo SGBD tendr que decidir los


detalles de la organizacin fsica.

El SGBD se encargar de hacer las correspondencias (mappings)


entre los tres niveles de esquemas.

Independencia: Fsica y lgica


Hay independencia fsica cuando los cambios en
la organizacin fsica de la BD no afectan al
mundo exterior (es decir, los programas usuarios
o los usuarios directos).
Los cambios en el esquema interno no afecten
al esquema conceptual ni a los esquemas
externos.

Independencia: Fsica y lgica


Los SGBD actuales proporcionan bastante
independencia lgica, pero menos de la que hara
falta, ya que las exigencias de cambios constantes
en el SI piden grados muy elevados de flexibilidad.

Los sistemas de archivos tradicionales, en cambio,


no ofrecen ninguna independencia lgica.

Lenguajes y usuarios
Para comunicarse con el SGBD, el usuario,
ya sea un programa de aplicacin o un
usuario directo, se vale de un lenguaje.
Hay muchos lenguajes diferentes, segn
el tipo de usuarios para los que estn
pensados y el tipo de cosas que los
usuarios deben poder expresar con ellos

Lenguajes y Usuarios

a) Usuarios informticos, muy expertos que querrn


escribir procesos complejos y que necesitarn
lenguajes complejos.

b) Usuarios finales, no informticos, ocasionales


(espordicos) que slo harn consultas.
Estos
usuarios necesitarn un lenguaje muy sencillo,
aunque d un rendimiento bajo en tiempo de
respuesta.
c) Usuarios especializados, dedicados exclusivamente
a trabajar con la BD. Estos usuarios necesitarn
lenguajes muy eficientes y compactos, aunque no sea
fcil aprenderlos.

a) Lenguajes especializados en
la escritura de esquemas: es
decir, en la descripcin de la
BD.

Lenguajes
especficos
esquemas internos.

para

Lenguajes
especficos
esquemas conceptuales.

para

Lenguajes y Usuarios

Se conocen genricamente
como DDL o data definition Lenguajes para esquemas externos.
language.

b) Lenguajes especializados en la utilizacin de la BD


(consultas y mantenimiento).
Se conocen como DML o data management language.
Lo ms frecuente es que el mismo lenguaje disponga de
construcciones para las dos funciones: DDL y DML.

SQL:
Structured Query Language
Lenguaje especializado en la descripcin (DDL) y la
utilizacin (DML) de BD relacionales.

Creado por IBM al final de los aos setenta y


estandarizado por ANSI-ISO en 1985 (el ltimo
estndar de SQL es de 1999). En la actualidad lo
utilizan prcticamente todos los SGBD del mercado.

SQL
DDL
CREATE
TABLE

Control
COMMIT
ROLLBACK

DML
SELECT, INSERT,
UPDATE, DELETE

SQL

SQL
En cuanto a los aspectos DML, podemos diferenciar dos tipos de

lenguajes:
a) Lenguajes muy declarativos (o implcitos), con los que se
especifica qu se quiere hacer sin explicar cmo se debe
hacer.
b) Lenguajes ms explcitos o procedimentales, que nos exigen
conocer ms cuestiones del funcionamiento del SGBD para
detallar paso a paso cmo se deben realizar las operaciones
(lo que se denomina navegar por la BD).

SQL
Como es obvio, los aspectos DDL (las descripciones de los datos)

son siempre declarativos por su propia naturaleza.


Los lenguajes utilizados en los SGBD prerrelacionales eran
procedimentales.
SQL es bsicamente declarativo, pero tiene posibilidades
procedimentales.

You might also like