unidad 1 sistemas gestores de bases de datos

15
FUNDAMENTOS DE BASES DE DATOS 1 UNIDAD 1 SISTEMAS GESTORES DE BASES DE DATOS ¿ QUÉ ES UNA BASE DE DATOS ? Un sistema de bases de datos es básicamente un sistema de almacenamiento masivo de información. Conjunto de datos relacionados, con determinada estructura lógica, almacenados físicamente en forma de ficheros electrónicos. Los usuarios del sistema pueden realizar una variedad de operaciones sobre dichos archivos. Por ejemplo: Agregar nuevos archivos vacíos a la base de datos; Insertar datos dentro de los archivos existentes; Recuperar datos de los archivos existentes; Modificar datos en archivos existentes; Eliminar datos de los archivos existentes; Eliminar archivos existentes de la base de datos; La figura 1.1 muestra una base de datos reducida que contiene un solo archivo, denominado CAVA, el cual contiene a su vez datos concernientes al contenido de una cava de vinos.

Upload: rolando-sanchez-castaneda

Post on 08-Aug-2015

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

1

UNIDAD 1 SISTEMAS GESTORES DE BASES DE DATOS

¿ QUÉ ES UNA BASE DE DATOS ?

Un sistema de bases de datos es básicamente un sistema de almacenamiento masivo de información.

Conjunto de datos relacionados, con determinada estructura lógica, almacenados físicamente en forma de ficheros electrónicos.

Los usuarios del sistema pueden realizar una variedad de operaciones sobre dichos archivos. Por ejemplo:

Agregar nuevos archivos vacíos a la base de datos; Insertar datos dentro de los archivos existentes; Recuperar datos de los archivos existentes; Modificar datos en archivos existentes; Eliminar datos de los archivos existentes; Eliminar archivos existentes de la base de datos;

La figura 1.1 muestra una base de datos reducida que contiene un solo archivo, denominado CAVA, el cual contiene a su vez datos concernientes al contenido de una cava de vinos.

Page 2: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

2

Figura 1.1 La base de datos de la cava de vinos (archivo CAVA)

Figura 1.2 Ejemplo de recuperación

Page 3: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

3

Figura 1.3 Ejemplos de inserción, modificación y eliminación.

Nota: Las instrucciones de las figuras 1.2 y 1.3 SELECT, INSERT, UPDATE, DELETE están expresadas en lenguaje SQL (lenguaje estándar para interacturar con bases de datos relacionales).

SISTEMA GESTOR DE BASES DE DATOS (SGBD) (DBMS: Data Base Management System) Herramienta de software (conjunto de programas) que permite la creación y manipulación de bases de datos.

Colección de datos interrelacionados Conjunto de programas para acceder a los datos.

Objetivo Principal de un SGBD: Forma práctica y eficiente de almacenar y recuperar información de una Base

de Datos.

Page 4: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

4

1.1 Objetivo de las Bases de Datos

(ABRAMHAM, KORTH y SUDARSHAN) Los objetivos de las bases de datos son:

• Disminuir la redundancia e inconsistencia de los datos.- Debido a que los archivos y programas de aplicación son creados por diferentes programadores en un largo período de tiempo, los diversos archivos tienen probablemente diferentes formatos y los programas pueden estar escritos en diferentes lenguajes. La misma información puede estar duplicada en diferentes lugares (archivos). Esta redundancia conduce a un almacenamiento y coste de acceso más altos. Además puede conducir a inconsistencia de datos; es decir, las diversas copias de los mismos datos no pueden coincidir.

• Evitar dificultad en el acceso a los datos.- El entorno de procesamiento de archivos convencional no permite que los datos necesarios sean obtenidos de una forma práctica y eficiente. Se deben desarrollar sistemas de recuperación de datos más interesantes para un uso general.

• Evitar el aislamiento de datos.- Debido a que los datos están dispersos en varios archivos, y los archivos pueden estar en diferentes formatos, es difícil escribir nuevos programas de aplicación para recuperar los datos apropiados.

• Evitar los problemas de Integridad. - Los valores de los datos almacenados en la base de datos deben satisfacer ciertos tipos de ligaduras de inconsistencia. Los desarrolladores hacen cumplir esas ligaduras en el sistema añadiendo el código apropiado en los diversos programas de aplicación. Sin embargo, cuando se añaden ligaduras, es difícil cambiar los programas para hacer que se cumplan. El problema es complicado cuando las ligaduras implican diferentes elementos de datos de diferentes archivos.

• Evitar el problema de atomicidad. - Un sistema de una computadora, como cualquiera otro dispositivo mecánico o eléctrico, está sujeto a fallo. En muchas aplicaciones es crucial asegurar que una vez que un fallo a ocurrido y se ha detectado, los datos se restauran al estado de consistencia que existía antes del fallo, es decir, las modificaciones deben de ocurrir por completo o no ocurrir en absoluto.

• Evitar anomalías en el acceso concurrente.- Conforme se ha ido mejorando el conjunto de ejecución de los sistemas y ha sido posible una respuesta en tiempo más rápida, muchos sistemas han ido permitiendo a múltiples usuarios actualizar los datos simultáneamente. En tales sistemas un entorno de interacción de actualizaciones concurrentes puede dar lugar a datos inconsistentes.

Page 5: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

5

• Evitar los problemas de seguridad: No todos los usuarios de un sistema de base de datos deberían poder acceder a todos los datos.

(ELMASRI/NAVATHE) Objetivos del sistema gestor de base de datos (SGBD):

• Control de la redundancia: La redundancia en el almacenamiento de los mismos datos provoca varios problemas.

Con el enfoque de bases de datos, las vistas de los diferentes grupos de usuarios se integran durante el diseño de la base de datos. Para conservar la consistencia, debe crearse un diseño que almacene cada dato lógico en un solo lugar de la base de datos. En algunos casos puede convenir la redundancia controlada. Por ejemplo, podríamos almacenar de manera redundante Nombre Estudiante y NúmCurso en un archivo INFORME-NOTAS porque, siempre que recuperemos un registro de INFORME_NOTAS, queremos recuperar el nombre del estudiante y el número del curso junto con la nota, el número del estudiante y el identificador de la sección. Si colocamos juntos todos los datos, no tendremos que buscar en varios archivos los datos que deseamos reunir. En tales casos, el SGBD deberá ser capaz de controlar esta redundancia para que no haya inconsistencias entre los archivos.

• Restricción de los accesos no autorizados: Cuando muchos usuarios comparten una misma base de datos, es probable que no todos tengan la autorización para tener acceso a toda la información que contiene. Además, es posible que sólo algunos usuarios tengan permiso para recuperar datos, en tanto que a otros se les permita obtenerlos y actualizarlos. Por tanto, también es preciso controlar el tipo de las operaciones de acceso. Por lo regular, a los usuarios o grupos de usuarios se les asignan números de cuenta protegidos con contraseñas, mismos que sirven para tener acceso a la base de datos. El SGBD debe contar con un subsistema de seguridad y autorización que permita al DBA crear cuentas y especificar restricciones para ellas. El SGBD deberá entonces obligar automáticamente al cumplimiento de dichas restricciones.

• Almacenamiento persistente de objetos y estructuras de datos de programas: Una aplicación reciente de las bases de datos consiste en ofrecer almacenamiento persistente para objetos y estructuras de datos de programas. Esta es una de las principales razones de que se hayan creado los SGBD orientados a objetos. El almacenamiento persistente de objetos y estructuras de datos de programas es una función importante para los sistemas de bases de datos. Los SGBD tradicionales a menudo adolecían del llamado problema de incompatibilidad de impedancia porque las estructuras de datos proporcionadas por el SGBD eran incompatibles con las del lenguaje de programación. Los sistemas de base de datos

Page 6: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

6

orientados a objetos suelen ofrecer compatibilidad de las estructuras de datos con uno o más lenguajes de programación orientada a objetos.

• Inferencias en la base de datos mediante reglas de deducción: Otra aplicación reciente de los sistemas de base de datos consiste en ofrecer recursos para definir reglas de deducción que permitan deducir o inferir información nueva a partir de los datos almacenados. A estos sistemas se les conoce como bases de datos deductivas.

• Suministro de múltiples interfaces con los usuarios: En vista de que muchos tipos de usuarios con diversos niveles de conocimientos técnicos utilizan las bases de datos, el SGBD debe ofrecer diferentes interfaces. Entre éstas podemos mencionar los lenguajes de consulta para usuarios esporádicos, las interfaces de lenguaje de programación para programadores de aplicaciones, las formas y códigos de órdenes para los usuarios paramétricos y las interfaces controladas por menús y en lenguaje natural para los usuarios autónomos.

• Cumplimiento de las restricciones de integridad: La mayor parte de las aplicaciones de base de datos tienen ciertas restricciones de integridad que deben cumplir los datos. El SGBD debe ofrecer recursos para definir tales restricciones y hacer que se cumplan. La forma más simple de restringir la integridad consiste en especificar un tipo de datos para cada elemento de información. Algunas restricciones se pueden especificar en el SGBD, el cual hará automáticamente que se cumplan; otras pueden requerir verificación mediante programas de actualización o en el momento en que se introducen los datos. Es posible introducir erróneamente un dato sin violar las restricciones de integridad. Por ejemplo si un estudiante obtiene una nota de A pero se introduce C en la base de datos, el SGBD no podrá descubrir este error automáticamente, porque C es un valor permitido del tipo de datos de notas. Esta clase de errores sólo puede descubrirse manualmente y corregirse después actualizando la base de datos.

• Respaldo y Recuperación: Todo SGBD debe contar con recursos para recuperarse de fallos de hardware o de software. Para ello está el subsistema de respaldo y recuperación del SGBD. Por ejemplo, si el sistema falla mientras se está ejecutando un complejo programa de actualización, el subsistema de recuperación se encargará de asegurarse de que la base de datos se restaure al estado en el que estaba antes de que comenzara la ejecución del programa.

Page 7: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

7

Ventajas de las bases de datos:

Desventajas de la Bases de Datos: Fuerte coste inicial:

o Programa o Personal o Equipos

Rentable a medio o largo plazo No hay stándard

Page 8: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

8

1.2 Áreas de aplicación del los Sistemas de Bases de Datos

Banca: Información de clientes, cuentas, préstamos, registro de

operaciones, operaciones con tarjetas de crédito, inversión en bolsa, etc.

Líneas Aéreas: Reservas de billetes, asignación de asiento, indicación de preferencias, planificación de recursos, etc.

Universidades: Matrícula de alumnos, comunicación de resultados, gestión de recursos, gestión de personal, etc.

Telecomunicaciones: Registros de llamadas, facturación, control del saldo en prepago, etc.

Fábrica: productos, inventario, ventas

Ventas: proveedores, productos, clientes

Page 9: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

9

1.3 Modelos de Datos

Un modelo de datos es una colección de conceptos bien definidos matemáticamente que ayudan a expresar las propiedades estáticas y dinámicas de una aplicación con un uso de datos intensivo. Conceptualmente, una aplicación puede ser caracterizada por:

Propiedades estáticas: entidades (u objetos), propiedades (o atributos)1 de esas entidades, y relaciones entre esas entidades.

Propiedades dinámicas: operaciones sobre entidades, sobre propiedades o relaciones entre operaciones.

Reglas de integridad sobre las entidades y las operaciones (por ejemplo, transacciones).

Un modelo de datos se distingue de otro por el tratamiento que da a estas tres categorías. El resultado de un modelado de datos es una representación que tiene dos componentes: las propiedades estáticas se definen en un esquema y las propiedades dinámicas se definen como especificaciones de transacciones, consultas e informes.

Un esquema consiste en una definición de todos los tipos de objetos de la aplicación, incluyendo sus atributos, relaciones y restricciones estáticas. Correspondientemente, existirá un repositorio de información, la base de datos, que es una instancia del esquema. Un determinado tipo de procesos sólo necesita acceder a un subconjunto predeterminado de entidades definidas en un esquema, por lo que este tipo de procesos puede requerir sólo un subconjunto de las propiedades estáticas del esquema general. A este subconjunto de propiedades estáticas se le denomina subesquema.

Una transacción consiste en diversas operaciones o acciones sobre las entidades de esquema o subesquema. Una consulta se puede expresar como una expresión lógica sobre los objetos y relaciones definidos en el esquema; una consulta identifica un subconjunto de la base de datos. Las herramientas que se usan para realizar las operaciones de definición de las propiedades estáticas y dinámicas de la base de datos son los lenguajes de definición y manipulación de datos (DDL, DML), junto con los lenguajes de consulta (SQL).

Los modelos de datos clásicos son tres: el jerárquico, el de red y el relacional.

1 Consideraremos estos términos como sinónimos. En realidad, la utilización de uno u otro se debe al sistema de representación adoptado. En el modelo orientado al

objeto, el término "objeto" se utiliza en lugar del término "entidad" del modelo relacional o el de Entidad/Relación. El término "atributo" se utiliza en el modelo relacional y en los enfoques basados en rasgos, (pares atributo:valor). El término "propiedad" se utiliza en el modelo de Entidad/Relación.

Page 10: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

10

Proceso de diseño de una base de datos: Análisis de la información que debe contener. Relaciones entre los componentes de la información.

Modelos de datos: Herramientas conceptuales para describir los datos, las relaciones, la semántica

y las restricciones de consistencia. Evolución del enfoque de datos Definición formal del Modelo de datos

o Estática o Dinámica

Estimaciones de modelos

o Modelos físicos y lógicos o Modelos conceptuales y convencionales

Comparación de los modelos relacionales

1.4 Arquitectura del Sistema Gestor de Bases de Datos Un SGBD permite la definición de la BD a tres niveles de abstracción: lógico, físico y externo. La definición de la base de datos en cada uno de estos niveles se denomina esquema.

Nivel lógico: definición de estructuras de la base de datos → esquema lógico.

Nivel físico: se elige una implementación para cada una de las estructuras definidas en el esquema lógico → esquema físico o interno.

Nivel externo: se definen vistas parciales de la base de datos para distintos grupos de usuarios.

Page 11: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

11

Arquitectura de niveles del SGBD

Page 12: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

12

1.5 Niveles de abstracción

Nivel físico (describe como se almacena un registro)

Nivel lógico (describe los datos almacenados y sus relaciones)

type cliente = record nombre: string calle: string ciudad: string

end

Nivel de vista de datos (los programas ocultan detalles de los datos, ejemplo: por seguridad)

Vista de datos

Page 13: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

13

1.6 Tipos de usuarios de la Base de Datos

Hay cuatro tipos distintos de usuarios de sistemas de bases de datos, diferenciados por la forma en la que esperan interactuar con el sistema.

Usuarios ingenuos. Los usuarios no sofisticados interactúan con el sistema invocando a uno de los programas de aplicación permanentes que se han escrito anteriormente. Por ejemplo:

Un cajero de banco que necesita transferir $10,000.00 de la cuenta A a la cuenta B invocaría a un programa llamado transferencia. Este programa pediría al cajero la cantidad de dinero que se va a transferir, la cuenta de la que se va a transferir el dinero y la cuenta a la que se va a transferir el dinero.

Programadores de aplicaciones. Los profesionales en computación interaccionan con el sistema por medio de llamadas en DML (lenguaje de manipulación de datos), las cuales están incorporadas en un programa escrito en un lenguaje principal. Estos programas se denominan comúnmente programas de aplicación. Los ejemplos en un sistema bancario incluyen programas que generan cheques de nómina, que realizan cargos a las cuentas, que hacen abonos a las cuentas, que transfieren fondos entre cuentas, etc.

Usuarios sofisticados. Interactúan con el sistema sin escribir programas, usando el lenguaje de consulta de base de datos para hacer sus consultas. Cada consulta se somete a un procesador de consultas cuya función es tomar una sentencia en DML y descomponerla en instrucciones que entienda el gestor de base de datos.

Usuarios especializados. Son usuarios sofisticados que escriben aplicaciones de bases de datos especializadas y adecuadas para el procesamiento de datos tradicional. Entre estas aplicaciones están los sistemas de diseño asistido por computadora, sistemas de base de conocimientos y sistemas expertos, sistemas que almacenan datos de tipos de datos complejos (como gráficos y de audio) y sistemas de modelado de entorno.

Page 14: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

14

1.7 Tipos de lenguajes

Un sistema de bases de datos proporciona un lenguaje de definición de datos para especificar el esquema de base de datos y un lenguaje de manipulación de datos para expresar las consultas a la base de datos y las modificaciones.

Los lenguajes de definición y manipulación de datos no son dos lenguajes separados; forman parte de un único lenguaje de bases de datos, tal como SQL.

Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadas mediante un lenguajes especial llamado lenguaje de definición de datos (LDD).

Por ejemplo:

La siguiente instrucción en el lenguaje SQL define la tabla cuenta:

create table cuenta(numero_cuenta char(10), saldo integer)

La ejecución de la instrucción LDD anterior crea la tabla cuenta.

Lenguaje de manipulación de datos (data manipulation language (DML))

La manipulación de datos es:

La recuperación de información almacenada en la base de datos. La inserción de información nueva en la base de datos. La supresión de información de la base de datos. La modificación de datos de almacenados en la base de datos.

Un lenguaje de manipulación de datos es un lenguaje que capacita a los usuarios a acceder o manipular datos según estén organizados por el modelo de datos adecuado.

Existen dos tipos:

Procedimentales, los DML requieren que el usuario especifique qué datos se necesitan y cómo obtenerlos.

Page 15: Unidad 1 Sistemas Gestores de Bases de Datos

FUNDAMENTOS DE BASES DE DATOS

15

No procedimentales, los DML requieren que el usuario especifique qué datos se necesitan sin especificar cómo obtenerlos.

Una consulta es una sentencia que solicita la recuperación de información. La parte de un DML que implica recuperación de información se llama lenguaje de consultas.

Esta consulta en el lenguaje SQL encuentra el nombre del cliente cuyo identificador de cliente es 19.283.746

select cliente.nombre_cliente from cliente where cliente.id_cliente = ’19.283.746’

1.8 Tópicos selectos de bases de datos Las Bases de Datos (BD), si bien representan a una tecnología que ya cuenta con más de 40 años de historia, aún sigue desarrollándose y diversificándose. La razón de este desarrollo continuo se debe principalmente a que en la actualidad las BD abordan problemas en los que se integran tecnologías que tienen una amplia aceptación, entre ellas podemos mencionar la tecnología de Orientación a Objetos, presente en las BD Orientadas a Objetos (BDOO), la tecnología de Redes de Computadoras, presente en las BD Distribuidas (BDD), la tecnología de Georeferenciación y Vectorización encontradas en las BD Espaciales utilizadas en los Sistemas de Información Geográfica (SIGs), las tecnologías de acceso a información semi-estrucutrada y la Web soportadas por las BD XML, las tecnologí-as para gestión de grandes almacenes de datos reflejada en las BD Multidimencionales, etc.