Sei sulla pagina 1di 34

Ing. Lenin Huayta Flores U.D. Taller de Base de Datos C.P.

Computacin e Informtica

Una base de datos (BD) es un conjunto estructurado de datos que representa entidades y sus interrelaciones. La representacin ser nica e integrada, a pesar de que debe permitir utilizaciones varias y simultneas.
La emisin de facturas, el control de pedidos pendientes de servir, el mantenimiento del fichero de productos o la nmina del personal eran algunas de las aplicaciones informticas habituales en los aos sesenta.
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 2

Los conjuntos de ficheros interrelacionados, con estructuras complejas y compartidos por varios procesos de forma simultnea (unos on-line y otros por lotes), recibieron al principio el nombre de Data Banks, y despus, a inicios de los aos setenta, el de Data Bases. Aqu los denominamos bases de datos (BD). La utilizacin de estos conjuntos de ficheros por parte de los programas de aplicacin era excesivamente compleja, de modo que, especialmente durante la segunda mitad de los aos setenta, fue saliendo al mercado. software ms sofisticado: los Data Base Management Systems, que aqu denominamos sistemas de gestin de BD (SGBD).
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 3

1) Entidades tipos: Ficheros: tienen registros de una sola entidad tipo. BD: tienen datos de varias entidades tipo.
2) Interrelaciones: Ficheros: el sistema no interrelaciona ficheros. BD: el sistema tiene previstas herramientas para interrelacionar entidades.

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

3) Redundancia: Ficheros: se crean ficheros a la medida de cada aplicacin, con todos los datos necesarios aunque algunos sean redundantes respecto de otros ficheros. BD: todas las aplicaciones trabajan con la misma BD y la integracin de los datos es bsica, de modo que se evita la redundancia. 4) Usuarios Ficheros: sirven para un solo usuario o una sola aplicacin. Dan una sola visin del mundo real. BD: es compartida por muchos usuarios de distintos tipos. Ofrece varias visiones del mundo real.
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 5

2.1 Los SGBD de los aos sesenta y setenta (IMS de IBM, IDS de Bull, DMS de Univac, etc.) eran sistemas totalmente centralizados, como corresponde a los sistemas operativos de aquellos aos, y al hardware para el que estaban hechos: un gran ordenador para toda la empresa y una red de terminales sin inteligencia ni memoria. El Data Base / Data Comunications IBM denominaba Data Base/ Data Comunications (DB/DC) el software de comunicaciones y de gestin de transacciones y de datos. Las aplicaciones tpicas eran la reserva/compra de billetes a las compaas areas y de ferrocarriles y, un poco ms tarde, las cuentas de clientes en el mundo bancario.
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 6

2.2 Los aos ochenta: SGBD relacionales La aparicin de los SGBD relacionales (Oracle aparece en el ao 1980.) supone un avance importante para facilitar la programacin de aplicaciones con BD y para conseguir que los programas sean independientes de los aspectos fsicos de la BD. 2.3 Los aos noventa: distribucin, C/S y 4GL La necesidad de tener una visin global de la empresa y de interrelacionar diferentes aplicaciones que utilizan BD diferentes, junto con la facilidad que dan las redes para la intercomunicacin entre ordenadores, ha conducido a los SGBD actuales, que permiten que un programa pueda trabajar con diferentes BD como si se tratase de una sola. Es lo que se conoce como base de datos distribuida.
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 7

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

La tecnologa que se utiliza habitualmente para distribuir datos es la que se conoce como entorno (o arquitectura) cliente/servidor (C/S). Todos los SGBD relacionales del mercado han sido adaptados a este entorno. La idea del C/S es sencilla. Dos procesos diferentes, que se ejecutan en un mismo sistema o en sistemas separados, actan de forma que uno tiene el papel de cliente o peticionario de un servicio, y el otro el de servidor o proveedor del servicio.
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 9

El servicio que da un servidor de un sistema C/S no tiene por qu estar relacionado con las BD; puede ser un servicio de impresin, de envo de un fax, etc.
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 10

El xito de las BD, incluso en sistemas personales, ha llevado a la aparicin de los Fourth Generation Languages (4GL), lenguajes muy fciles y potentes, especializados en el desarrollo de aplicaciones fundamentadas en BD.
Proporcionan muchas facilidades en el momento de definir, generalmente de forma visual, dilogos para introducir, modificar y consultar datos en entornos C/S.
Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

11

Hoy en da, los SGBD relacionales estn en plena transformacin para adaptarse a tres tecnologas de xito reciente, fuertemente relacionadas:
1. La multimedia, 2. La de orientacin a objetos (OO) e 3. Internet y la web.

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

12

3.1. Consultas no predefinidas y complejas El objetivo fundamental de los SGBD es permitir que se hagan consultas no predefinidas (ad hoc) y complejas.

Los usuarios podrn hacer consultas de cualquier tipo y complejidad directamente al SGBD. El SGBD tendr que responder inmediatamente sin que estas consultas estn preestablecidas; es decir, sin que se tenga que escribir, compilar y ejecutar un programa especfico para cada consulta.
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 13

En los ficheros tradicionales, cada vez que se quera hacer una consulta se tena que escribir un programa a medida. El usuario debe formular la consulta con un lenguaje sencillo (que se quede, obviamente, en el nivel lgico), que el sistema debe interpretar directamente. Sin embargo, esto no significa que no se puedan escribir programas con consultas incorporadas (por ejemplo, para procesos repetitivos). La solucin estndar para alcanzar este doble objetivo (consultas no predefinidas y complejas) es el lenguaje SQL
Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

14

3.2. Flexibilidad e independencia Independencia fsica de los datos. No necesitan saber nada sobre el soporte fsico, ni estar al corriente de qu SO se utiliza, qu ndices hay, la compresin o no compresin de datos, etc. De este modo, se pueden hacer cambios de tecnologa y cambios fsicos para mejorar el rendimiento sin afectar a nadie. Este tipo de independencia recibe el nombre de Independencia lgica de los datos Queremos que diferentes procesos usuarios puedan tener diferentes visiones lgicas de una misma BD, y que estas visiones se puedan mantener lo ms independientes posibles de la BD, y entre ellas mismas. Y da flexibilidad y elasticidad a los cambios lgicos.
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 15

3.3. Problemas de la redundancia El problema de la redundancia es el espacio perdido. Antiguamente, cuando el precio del byte de disco era muy elevado, esto era un problema grave, pero actualmente prcticamente no lo es. Qu problema hay, entonces?

El grave riesgo de inconsistencia o incoherencia de los datos; es decir, la prdida de integridad que las actualizaciones pueden provocar cuando existe redundancia.

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

16

3.4. Integridad de los datos Cuando el SGBD detecte que un programa quiere hacer una operacin que va contra las reglas establecidas al definir la BD, no se lo deber permitir, y le tendr que devolver un estado de error. Por ejemplo, un SGBD relacional nunca aceptar que una tabla tenga filas duplicadas, un SGBD jerrquico nunca aceptar que una entidad tipo est definida como hija de dos entidades tipo diferentes, etc.

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

17

Los procesos de restauracin (restore o recovery) de los que todo SGBD dispone pueden reconstruir la BD y darle el estado consistente y correcto anterior al incidente.
Esto se acostumbra a hacer gracias a la obtencin de copias peridicas de los datos (se denominan copias de seguridad o back-up) y mediante el mantenimiento continuo de un diario (log) donde el SGBD va anotando todas las escrituras que se hacen en la BD.
Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

18

3.5. Concurrencia de usuarios Un objetivo fundamental de los SGBD es permitir que varios usuarios puedan acceder concurrentemente a la misma BD. Si los accesos concurrentes son todos de lectura: pocos mecanismos de acceso independientes, movimiento del brazo y del giro del disco demasiado lentos, buffers locales demasiado pequeos, etc. Cuando un usuario o ms de uno 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.
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 19

Denominamos transaccin de BD o, simplemente, transaccin un 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.

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

20

Para conseguir que las transacciones se ejecuten como si estuviesen aisladas, los SGBD utilizan distintas tcnicas. La ms conocida es el bloqueo (lock). El bloqueo de unos datos en beneficio de una transaccin consiste en poner limitaciones a los accesos que las dems transacciones podrn hacer a estos datos.

3.6. Seguridad El trmino seguridad se suele utilizar para hacer referencia a los temas relativos a la confidencialidad (tcnicas de encriptacin), las autorizaciones, los derechos de acceso (passwords), etc.
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 21

3.7. Otros objetivos


1.

2.
3.

4.

Servir eficientemente los Data Warehouse. Adaptarse al desarrollo orientado a objetos. Incorporar el tiempo como un elemento de caracterizacin de la informacin. Adaptarse al mundo de Internet.

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

22

4.1. Esquemas y niveles

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

23

4.2. Independencia de los datos

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).

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

24

Hay independencia lgica cuando los usuarios (Programas de aplicacin o usuarios directos.) no se ven afectados por los cambios en el nivel lgico.

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

25

4.3. Flujo de datos y de control (Ejecucin de una


consulta)

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

26

El conjunto de componentes o herramientas conceptuales que un SGBD proporciona para modelar recibe el nombre de modelo de BD.
Los cuatro modelos de BD ms utilizados en los SI son: 1. El modelo relacional, 2. El modelo jerrquico, 3. El modelo en red y 4. El modelo relacional con objetos.

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

27

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

28

Estructuras de datos con las que se puede construir la BD: tablas, rboles, etc. Diferentes tipos de restricciones (o reglas) de integridad que el SGBD tendr que hacer cumplir a los datos: dominios, claves, etc. Una serie de operaciones para trabajar con los datos. Un ejemplo de ello, en el modelo relacional, es la operacin SELECT, que sirve para seleccionar (o leer) las filas que cumplen alguna condicin. El ms extendido de estos modelos es el conocido como modelo ER (entity-relationship).
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 29

Hay lenguajes especializados en la escritura de esquemas; es decir, en la descripcin de la BD. Se conocen genricamente como DDL o data definition language. Incluso hay lenguajes especficos para esquemas internos, lenguajes para esquemas conceptuales y lenguajes para esquemas externos.
Otros lenguajes estn especializados en la utilizacin de la BD (consultas y mantenimiento). Se conocen como DML o data management language. Sin embargo, lo ms frecuente es que el mismo lenguaje disponga de construcciones para las dos funciones, DDL y DML.

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

30

El lenguaje SQL, que es el ms utilizado en las BD relacionales, tiene verbos instrucciones de tres tipos diferentes: 1. Verbos del tipo DML; por ejemplo, SELECT para hacer consultas, e INSERT, UPDATE y DELETE para hacer el mantenimiento de los datos. 2. Verbos del tipo DDL; por ejemplo, CREATE TABLE para definir las tablas, sus columnas y las restricciones. 3. Adems, SQL tiene verbos de control del entorno, como por ejemplo COMMIT y ROLLBACK para delimitar transacciones.
Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

31

Hay un tipo de usuario especial: el que realiza tareas de administracin y control de la BD. Una empresa o institucin que tenga SI construidos en torno a BD necesita que alguien lleve a cabo una serie de funciones centralizadas de gestin y administracin, para asegurar que la explotacin de la BD es la correcta. Este conjunto de funciones se conoce con el nombre de administracin de BD (ABD), y los usuarios que hacen este tipo especial de trabajo se denominan administradores de BD.
Ing. Lenin Huayta Flores - Taller de Base de Datos 26/09/2013 32

Ing. Lenin Huayta Flores

26/09/2013

33

Gracias por su atencin

Ing. Lenin Huayta Flores - Taller de Base de Datos

26/09/2013

34