Bases de Datos - Instituto Orsino

Anuncio
Lic. Norberto Alvarez – Base de Datos
1
IMPORTANTE
El presente trabajo ofrece una síntesis sobre temas
referidos a las Bases de Datos. Su objetivo es brindar
una visión general que favorezca la integración de los
temas y de los conceptos.
NO REEMPLAZA NI SUSTITUYE la bibliografía
recomendada para el curso ni los contenidos desarrollados
por el profesor durante el dictado de las clases.
BASE DE DATOS
CONTENIDO










SISTEMAS DE ARCHIVOS - INCONVENIENTES
DEFINICION DE BASE DE DATOS
ARQUITECTURA A TRES NIVELES
MODELOS DE BASES DE DATOS
OBJETIVOS DEL SGBD
LENGUAJES
USUARIOS DE UN SISTEMA DE BASE DE DATOS
ADMINISTRACION DE BASES DE DATOS
SECUENCIA DE EVENTOS PARA ACCEDER A UN
REGISTRO
CICLO DE VIDA DE UNA BASE DE DATOS
SISTEMAS DE ARCHIVOS – INCONVENIENTES.
Un sistema de información cuenta con algunos programas de aplicación que
permiten manipular los datos de sus estos archivos, por ejemplo :
 programas para acreditar o debitar importes
 programas para agregar nuevos registros
 programas para averiguar el saldo ó estado de sus clientes
 programas para generar los resúmenes ó estadísticas
Estos programas de aplicación han sido escritos por programadores en respuesta a
las necesidades de la empresa. Se agregan nuevos programas de aplicación al
sistema a medida que surgen nuevas necesidades y como resultado de esto, quizás
se crearán nuevos archivos para contener más información, y se escribirán nuevos
programas de aplicación.
A medida que pasa el tiempo, más archivos y más programas son agregados al
sistema. Dado que estos archivos y programas son creados a lo largo de un período
extenso, presumiblemente por diferentes programadores, es muy probable que los
Lic. Norberto Alvarez – Base de Datos
2
archivos tengan formatos diferentes y que los programas estén escritos en varios
lenguajes de programación.
El ambiente descripto anteriormente es un típico sistema de procesamiento de
archivos, soportado por un sistema operativo convencional. Los registros
permanentes son almacenados en varios archivos, y diferentes programas de
aplicación son escritos para extraer registros y agregar registros a los archivos
apropiados. Este esquema tiene ciertas desventajas:





REDUNDANCIA E INCONSISTENCIA DE DATOS
DIFICULTAD PARA ACCEDER A LOS DATOS
MAYOR TIEMPO DE DESARROLLO Y CONOCIMIENTO ESPECIFICO
PROBLEMAS DE CONFIDENCIALIDAD
DEPENDENCIA FISICA Y LOGICA (en algunos casos)
Estas dificultades, entre otras, han llevado al desarrollo de sistemas de bases de
datos.
DEFINICIONES DE BASE DE DATOS
“Conjunto de datos operativos almacenados, a los que acceden los sistemas de
aplicación de una empresa”. R.W.Engles
“Colección de datos interrelacionados, archivados juntos, sin redundancias
perjudiciales o innecesarias; su finalidad es la de servir a una o más aplicaciones de
la mejor manera posible; los datos están almacenados de modo que resultan
independientes de los programas que los usan; se emplean métodos bien
determinados para incluir nuevos datos y para modificar o extraer los datos
almacenados”. James Martin
Un Sistema de Gestión de Bases de Datos ( SGBD ) es un conjunto de programas
que permiten administrar ( gestionar ) una base de datos.
ARQUITECTURA.
El objetivo de un sistema de base de datos es el de simplificar y facilitar el acceso a
los datos. Los usuarios del sistema no deberían preocuparse innecesariamente con
los detalles físicos de la implementación del sistema. El sistema debe ocultar ciertos
detalles de cómo los datos son almacenados y mantenidos. Esto se logra definiendo
varios niveles de abstracción en los que puede visualizarse una base de datos.
Esos niveles son:
 NIVEL FISICO O INTERNO
 NIVEL CONCEPTUAL O GLOBAL
 NIVEL EXTERNO O DE APLICACIÓN O DE USUARIO
Normalmente varios esquemas externos se hacen corresponder a un esquema
conceptual, que a su vez se hace corresponder Normalmente a un esquema físico.
Esta correspondencia a dos niveles ( EE / EC y EC / EF ) es menos eficiente en
Lic. Norberto Alvarez – Base de Datos
3
términos de rendimiento pero provee mayor independencia de datos, pues los
esquemas físico y externos pueden ser alterados independientemente uno de otros.
Hay independencia física cuando los cambios en la organización física de la BD no
afectan al mundo exterior.
Lic. Norberto Alvarez – Base de Datos
4
Hay independencia lógica cuando los usuarios no se ven afectados por los cambios
en el nivel lógico.
MODELOS DE BASE DE DATOS
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 más utilizados son el modelo relacional, el modelo
jerárquico, el modelo en red y el modelo relacional con objetos.
Lic. Norberto Alvarez – Base de Datos
5
OBJETIVOS
Los SGBD pretenden satisfacer un conjunto de objetivos :
1) Consultas no predefinidas y complejas
Los usuarios podrán hacer consultas de cualquier tipo y complejidad
directamente al SGBD. El SGBD tendrá que responder inmediatamente
sin que estas consultas estén preestablecidas; es decir, sin que se tenga
que escribir, compilar y ejecutar un programa específico para cada consulta.
2) Flexibilidad e independencia
La complejidad de las BD y la necesidad de irlas adaptando a la evolución del
SI hacen que un objetivo básico de los SGBD sea dar flexibilidad a los
cambios interesa obtener la máxima independencia posible entre los datos y
los procesos usuarios para que se pueda llevar a cabo todo tipo de cambios
tecnológicos
3) Evitar redundancias
En el mundo de los ficheros tradicionales, cada aplicación utilizaba su fichero.
Sin embargo, puesto que se daba mucha coincidencia de datos entre
aplicaciones, se producía también mucha redundancia entre los ficheros.
Uno de los objetivos de los SGBD es facilitar la eliminación de la redundancia.
4) Integridad de los datos
Aparte de las reglas de integridad que el diseñador de la BD puede definir y
que el SGBD entenderá y hará cumplir, el mismo SGBD tiene reglas de
integridad inherentes al modelo de datos que utiliza y que siempre se
cumplirán. Son las denominadas reglas de integridad del modelo. Las reglas
definibles por parte del usuario son las reglas de integridad del usuario. El
concepto de integridad de los datos va más allá de prevenir que los
programas usuarios almacenen datos incorrectos. En casos de errores o
desastres, también podríamos perder la integridad de los datos. El SGBD nos
debe dar las herramientas para reconstruir restaurar los datos estropeados
5) Concurrencia de Usuarios
Un objetivo fundamental de los SGBD es permitir que varios usuarios puedan
acceder concurrentemente a la misma BD.
6) Seguridad
En el campo de los SGBD, el término seguridad se suele utilizar para hacer
referencia a los temas relativos a la confidencialidad, las autorizaciones, los
derechos de acceso, etc.
LENGUAJES
Para comunicarse con el SGBD, el usuario, ya sea un programa de aplicación
o un usuario directo, se vale de un lenguaje, encontramos dos lenguajes:
 Lenguaje de definición de datos ( DDL ).
 Lenguaje de manipulación de datos ( DML )
Lic. Norberto Alvarez – Base de Datos
6
Sin embargo, lo más frecuente es que el mismo lenguaje disponga de
construcciones para las dos funciones, DDL y DML.
USUARIOS DE UN SISTEMA DE BASE DE DATOS.
 programadores de aplicaciones
 usuarios finales
 administrador de base de datos
ADMINISTRACION DE BASES DE DATOS.
Una de las principales razones para tener un SGBD es el control centralizado de los
datos y de los programas que acceden a esos datos. La persona ( o grupo de
personas ) que ejerce el control centralizado del sistema se denomina
ADMINISTRADOR DE BASE DE DATOS.
Las funciones del grupo de administración de base de datos ( ABD ) incluyen:






Definición de esquemas
Definición de las estructuras de almacenamiento y métodos de acceso
Modificación de la organización lógica y física
Autorización para el acceso a los datos
Especificación de las restricciones de integridad
Definición de los procedimientos de respaldo y restauración
SECUENCIA DE EVENTOS PARA ACCEDER A UN REGISTRO.
El SGBD es el software que maneja todo acceso a la base de datos. Cuando un
programa de aplicación requiere información de la base de datos, tienen lugar varias
operaciones.
En los pasos involucrados en la consulta de un registro en particular es probable que
se requieran algunos campos de varios registros conceptuales.
Cada ocurrencia de un registro conceptual puede, a su vez, requerir campos de
varios registros físicos.
Conceptualmente, entonces, el SGBD debe primero recuperar todas las ocurrencias
de registros físicos requeridos, luego construir las ocurrencias de registros
conceptuales requeridos y finalmente construir la ocurrencia del registro solicitado.
En cada paso, puede ser necesario realizar conversiones de tipos de datos.
Para entender el funcionamiento de un SGBD, a continuación veremos los
principales pasos de la ejecución de una consulta sometida al SGBD por un
programa de aplicación.
Explicaremos las líneas generales del flujo de datos y de control entre el SGBD, los
programas de usuario y la BD.
El SGBD, con la ayuda del SO, lee páginas de los soportes donde está almacenada
la BD física, y las lleva a un área de buffers o memorias caché en la memoria
Lic. Norberto Alvarez – Base de Datos
principal. El SGBD pasa registros desde los buffers hacia el área de trabajo del
mismo programa.
Supongamos que la consulta pide los datos del alumno que tiene un determinado
DNI. Por lo tanto, la respuesta que el programa obtendrá será un solo registro y lo
recibirá dentro de un área de trabajo propia.
En el siguiente gráfico vemos representada la BD, los tres niveles de esquemas, el
área de los buffers, el SGBD y el programa de aplicación que le hace la consulta.
7
Lic. Norberto Alvarez – Base de Datos
8
El proceso que se sigue es el siguiente:
a) Empieza con una llamada (1) del programa al SGBD, en la que se le envía la
operación de consulta. El SGBD debe verificar que la sintaxis de la operación
b) Si la consulta es válida, el SGBD determina, consultando el esquema interno (3),
qué mecanismo debe seguir para responderla. Ya sabemos que el programa usuario
no dice nada respecto a cómo se debe hacer físicamente la consulta. Es el SGBD el
que lo debe determinar. Casi siempre hay varias formas y diferentes caminos para
responder a una consulta*. Supongamos que ha elegido aplicar un hashing al valor
del DNI, que es el parámetro de la consulta, y el resultado es la dirección de la
página donde se encuentra (entre muchos otros) el registro del alumno buscado.
c) Cuando ya se sabe cuál es la página, el SGBD comprobará (4) si por suerte esta
página ya se encuentra en aquel momento en el área de los buffers (tal vez como
resultado de una consulta anterior de este usuario o de otro). Si no está, el SGBD,
con la ayuda del SO, la busca en disco y la carga en los buffers (5). Si ya está, se
ahorra el acceso a disco.
d) Ahora, la página deseada ya está en la memoria principal. El SGBD extrae, de
entre los distintos registros que la página puede contener, el registro buscado, e
interpreta la codificación y el resultado según lo que diga el esquema interno.
e) El SGBD aplica a los datos las eventuales transformaciones lógicas que implica el
esquema externo (tal vez cortando la dirección por la derecha) y las lleva al área de
trabajo del programa (6).
f) A continuación, el SGBD retorna el control al programa (7) y da por terminada la
ejecución de la consulta.
CICLO DE VIDA DE UNA BASE DE DATOS.
El ciclo de vida de una base de datos comprende tres fases:
FASE 1 – MODELIZACION.
La definición del modelo es un proceso iterativo, discutido con los usuarios.
FASE 2 – IMPLEMENTACION.
La implementación de una base de datos implica
2.1 Definición de esquemas.
2.2 Carga inicial.
2.3 Programas de aplicación.
FASE 3 – MANTENIMIENTO.
Comprende dos clases de tareas:
3.1 Monitoreo.
3.2 Recuperación ante fallas.
Descargar