You are on page 1of 15

FUNDAMENTOS DE BASES DE DATOS

UNIDAD 1

SISTEMAS GESTORES DE BASES DE DATOS

QU ES UNA BASE DE DATOS ?

Un sistema de bases de datos es bsicamente un sistema de almacenamiento masivo de informacin. Conjunto de datos relacionados, con determinada estructura almacenados fsicamente en forma de ficheros electrnicos. lgica,

Los usuarios del sistema pueden realizar una variedad de operaciones sobre dichos archivos. Por ejemplo: Agregar nuevos archivos vacos 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.

FUNDAMENTOS DE BASES DE DATOS

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

Figura 1.2 Ejemplo de recuperacin

FUNDAMENTOS DE BASES DE DATOS

Figura 1.3 Ejemplos de insercin, modificacin y eliminacin.

Nota: Las instrucciones de las figuras 1.2 y 1.3 SELECT, INSERT, UPDATE, DELETE estn expresadas en lenguaje SQL (lenguaje estndar 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 creacin y manipulacin de bases de datos. Coleccin de datos interrelacionados Conjunto de programas para acceder a los datos.

Objetivo Principal de un SGBD:


Forma prctica y eficiente de almacenar y recuperar informacin de una Base

de Datos.
3

FUNDAMENTOS DE BASES DE DATOS

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 aplicacin son creados por diferentes programadores en un largo perodo de tiempo, los diversos archivos tienen probablemente diferentes formatos y los programas pueden estar escritos en diferentes lenguajes. La misma informacin puede estar duplicada en diferentes lugares (archivos). Esta redundancia conduce a un almacenamiento y coste de acceso ms altos. Adems 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 prctica y eficiente. Se deben desarrollar sistemas de recuperacin de datos ms interesantes para un uso general. Evitar el aislamiento de datos.- Debido a que los datos estn dispersos en varios archivos, y los archivos pueden estar en diferentes formatos, es difcil escribir nuevos programas de aplicacin 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 aadiendo el cdigo apropiado en los diversos programas de aplicacin. Sin embargo, cuando se aaden ligaduras, es difcil 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 mecnico o elctrico, 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 exista antes del fallo, es decir, las modificaciones deben de ocurrir por completo o no ocurrir en absoluto. Evitar anomalas en el acceso concurrente.- Conforme se ha ido mejorando el conjunto de ejecucin de los sistemas y ha sido posible una respuesta en tiempo ms rpida, muchos sistemas han ido permitiendo a mltiples usuarios actualizar los datos simultneamente. En tales sistemas un entorno de interaccin de actualizaciones concurrentes puede dar lugar a datos inconsistentes.
4

FUNDAMENTOS DE BASES DE DATOS

Evitar los problemas de seguridad: No todos los usuarios de un sistema de base de datos deberan 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 diseo de la base de datos. Para conservar la consistencia, debe crearse un diseo que almacene cada dato lgico en un solo lugar de la base de datos. En algunos casos puede convenir la redundancia controlada. Por ejemplo, podramos almacenar de manera redundante Nombre Estudiante y NmCurso en un archivo INFORME-NOTAS porque, siempre que recuperemos un registro de INFORME_NOTAS, queremos recuperar el nombre del estudiante y el nmero del curso junto con la nota, el nmero del estudiante y el identificador de la seccin. 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. Restriccin de los accesos no autorizados: Cuando muchos usuarios comparten una misma base de datos, es probable que no todos tengan la autorizacin para tener acceso a toda la informacin que contiene. Adems, es posible que slo algunos usuarios tengan permiso para recuperar datos, en tanto que a otros se les permita obtenerlos y actualizarlos. Por tanto, tambin es preciso controlar el tipo de las operaciones de acceso. Por lo regular, a los usuarios o grupos de usuarios se les asignan nmeros de cuenta protegidos con contraseas, mismos que sirven para tener acceso a la base de datos. El SGBD debe contar con un subsistema de seguridad y autorizacin que permita al DBA crear cuentas y especificar restricciones para ellas. El SGBD deber entonces obligar automticamente al cumplimiento de dichas restricciones. Almacenamiento persistente de objetos y estructuras de datos de programas: Una aplicacin 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 funcin importante para los sistemas de bases de datos. Los SGBD tradicionales a menudo adolecan del llamado problema de incompatibilidad de impedancia porque las estructuras de datos proporcionadas por el SGBD eran incompatibles con las del lenguaje de programacin. Los sistemas de base de datos
5

FUNDAMENTOS DE BASES DE DATOS

orientados a objetos suelen ofrecer compatibilidad de las estructuras de datos con uno o ms lenguajes de programacin orientada a objetos. Inferencias en la base de datos mediante reglas de deduccin: Otra aplicacin reciente de los sistemas de base de datos consiste en ofrecer recursos para definir reglas de deduccin que permitan deducir o inferir informacin nueva a partir de los datos almacenados. A estos sistemas se les conoce como bases de datos deductivas. Suministro de mltiples interfaces con los usuarios: En vista de que muchos tipos de usuarios con diversos niveles de conocimientos tcnicos utilizan las bases de datos, el SGBD debe ofrecer diferentes interfaces. Entre stas podemos mencionar los lenguajes de consulta para usuarios espordicos, las interfaces de lenguaje de programacin para programadores de aplicaciones, las formas y cdigos de rdenes para los usuarios paramtricos y las interfaces controladas por mens y en lenguaje natural para los usuarios autnomos. 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 ms simple de restringir la integridad consiste en especificar un tipo de datos para cada elemento de informacin. Algunas restricciones se pueden especificar en el SGBD, el cual har automticamente que se cumplan; otras pueden requerir verificacin mediante programas de actualizacin o en el momento en que se introducen los datos. Es posible introducir errneamente 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 automticamente, porque C es un valor permitido del tipo de datos de notas. Esta clase de errores slo puede descubrirse manualmente y corregirse despus actualizando la base de datos. Respaldo y Recuperacin: Todo SGBD debe contar con recursos para recuperarse de fallos de hardware o de software. Para ello est el subsistema de respaldo y recuperacin del SGBD. Por ejemplo, si el sistema falla mientras se est ejecutando un complejo programa de actualizacin, el subsistema de recuperacin se encargar de asegurarse de que la base de datos se restaure al estado en el que estaba antes de que comenzara la ejecucin del programa.

FUNDAMENTOS DE BASES DE DATOS

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 stndard

FUNDAMENTOS DE BASES DE DATOS

1.2 reas de aplicacin del los Sistemas de Bases de Datos


Banca: Informacin de clientes, cuentas, prstamos, registro de operaciones, operaciones con tarjetas de crdito, inversin en bolsa, etc. Lneas Areas: Reservas de billetes, asignacin de asiento, indicacin de preferencias, planificacin de recursos, etc. Universidades: Matrcula de alumnos, comunicacin de resultados, gestin de recursos, gestin de personal, etc. Telecomunicaciones: Registros de llamadas, facturacin, control del saldo en prepago, etc. Fbrica: productos, inventario, ventas Ventas: proveedores, productos, clientes

FUNDAMENTOS DE BASES DE DATOS

1.3 Modelos de Datos


Un modelo de datos es una coleccin de conceptos bien definidos matemticamente que ayudan a expresar las propiedades estticas y dinmicas de una aplicacin con un uso de datos intensivo. Conceptualmente, una aplicacin puede ser caracterizada por: Propiedades estticas: entidades (u objetos), propiedades (o atributos) 1 de esas entidades, y relaciones entre esas entidades. Propiedades dinmicas: 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 categoras. El resultado de un modelado de datos es una representacin que tiene dos componentes: las propiedades estticas se definen en un esquema y las propiedades dinmicas se definen como especificaciones de transacciones, consultas e informes. Un esquema consiste en una definicin de todos los tipos de objetos de la aplicacin, incluyendo sus atributos, relaciones y restricciones estticas. Correspondientemente, existir un repositorio de informacin, la base de datos, que es una instancia del esquema. Un determinado tipo de procesos slo necesita acceder a un subconjunto predeterminado de entidades definidas en un esquema, por lo que este tipo de procesos puede requerir slo un subconjunto de las propiedades estticas del esquema general. A este subconjunto de propiedades estticas se le denomina subesquema. Una transaccin consiste en diversas operaciones o acciones sobre las entidades de esquema o subesquema. Una consulta se puede expresar como una expresin lgica 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 definicin de las propiedades estticas y dinmicas de la base de datos son los lenguajes de definicin y manipulacin de datos (DDL, DML), junto con los lenguajes de consulta (SQL). Los modelos de datos clsicos son tres: el jerrquico, el de red y el relacional.

Consideraremos estos trminos como sinnimos. En realidad, la utilizacin de uno u otro se debe al sistema de representacin adoptado. En el modelo orientado al objeto, el trmino "objeto" se utiliza en lugar del trmino "entidad" del modelo relacional o el de Entidad/Relacin. El trmino "atributo" se utiliza en el modelo relacional y en los enfoques basados en rasgos, (pares atributo:valor). El trmino "propiedad" se utiliza en el modelo de Entidad/Relacin.

FUNDAMENTOS DE BASES DE DATOS

Proceso de diseo de una base de datos: Anlisis de la informacin que debe contener. Relaciones entre los componentes de la informacin. Modelos de datos: Herramientas conceptuales para describir los datos, las relaciones, la semntica y las restricciones de consistencia. Evolucin del enfoque de datos Definicin formal del Modelo de datos o Esttica o Dinmica Estimaciones de modelos o Modelos fsicos y lgicos o Modelos conceptuales y convencionales Comparacin de los modelos relacionales

1.4 Arquitectura del Sistema Gestor de Bases de Datos


Un SGBD permite la definicin de la BD a tres niveles de abstraccin: lgico, fsico y externo. La definicin de la base de datos en cada uno de estos niveles se denomina esquema. Nivel lgico: definicin de estructuras de la base de datos esquema lgico. Nivel fsico: se elige una implementacin para cada una de las estructuras definidas en el esquema lgico esquema fsico o interno. Nivel externo: se definen vistas parciales de la base de datos para distintos grupos de usuarios.

10

FUNDAMENTOS DE BASES DE DATOS

Arquitectura de niveles del SGBD

11

FUNDAMENTOS DE BASES DE DATOS

1.5 Niveles de abstraccin


Nivel fsico (describe como se almacena un registro) Nivel lgico (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

12

FUNDAMENTOS DE BASES DE DATOS

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 interactan con el sistema invocando a uno de los programas de aplicacin 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 invocara a un programa llamado transferencia. Este programa pedira 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 computacin interaccionan con el sistema por medio de llamadas en DML (lenguaje de manipulacin de datos), las cuales estn incorporadas en un programa escrito en un lenguaje principal. Estos programas se denominan comnmente programas de aplicacin. Los ejemplos en un sistema bancario incluyen programas que generan cheques de nmina, que realizan cargos a las cuentas, que hacen abonos a las cuentas, que transfieren fondos entre cuentas, etc. Usuarios sofisticados. Interactan 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 funcin 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 estn los sistemas de diseo asistido por computadora, sistemas de base de conocimientos y sistemas expertos, sistemas que almacenan datos de tipos de datos complejos (como grficos y de audio) y sistemas de modelado de entorno.

13

FUNDAMENTOS DE BASES DE DATOS

1.7 Tipos de lenguajes


Un sistema de bases de datos proporciona un lenguaje de definicin de datos para especificar el esquema de base de datos y un lenguaje de manipulacin de datos para expresar las consultas a la base de datos y las modificaciones. Los lenguajes de definicin y manipulacin 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 definicin de datos (LDD). Por ejemplo: La siguiente instruccin en el lenguaje SQL define la tabla cuenta: create table cuenta(numero_cuenta char(10), saldo integer) La ejecucin de la instruccin LDD anterior crea la tabla cuenta.

Lenguaje de manipulacin de datos (data manipulation language (DML))


La manipulacin de datos es: La recuperacin de informacin almacenada en la base de datos. La insercin de informacin nueva en la base de datos. La supresin de informacin de la base de datos. La modificacin de datos de almacenados en la base de datos. Un lenguaje de manipulacin de datos es un lenguaje que capacita a los usuarios a acceder o manipular datos segn estn organizados por el modelo de datos adecuado. Existen dos tipos: Procedimentales, los DML requieren que el usuario especifique qu datos se necesitan y cmo obtenerlos.
14

FUNDAMENTOS DE BASES DE DATOS

No procedimentales, los DML requieren que el usuario especifique qu datos se necesitan sin especificar cmo obtenerlos. Una consulta es una sentencia que solicita la recuperacin de informacin. La parte de un DML que implica recuperacin de informacin 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 Tpicos selectos de bases de datos


Las Bases de Datos (BD), si bien representan a una tecnologa que ya cuenta con ms de 40 aos de historia, an sigue desarrollndose y diversificndose. La razn de este desarrollo continuo se debe principalmente a que en la actualidad las BD abordan problemas en los que se integran tecnologas que tienen una amplia aceptacin, entre ellas podemos mencionar la tecnologa de Orientacin a Objetos, presente en las BD Orientadas a Objetos (BDOO), la tecnologa de Redes de Computadoras, presente en las BD Distribuidas (BDD), la tecnologa de Georeferenciacin y Vectorizacin encontradas en las BD Espaciales utilizadas en los Sistemas de Informacin Geogrfica (SIGs), las tecnologas de acceso a informacin semi-estrucutrada y la Web soportadas por las BD XML, las tecnologas para gestin de grandes almacenes de datos reflejada en las BD Multidimencionales, etc.

15