Está en la página 1de 33

Unidad I: Conceptos Introductorios Edgar Taya Acosta

Segn Michael V.Mannino, una base de datos es una coleccin de datos persistentes qu e pueden compartirse e interrelacionarse: Esta visn es muy general y enfatiza en la persistencia de los datos (es decir mantener los datos almacenados de manera estable), adems es importante en este concepto la idea de interrelacin porque vere mos luego que es una de las principales caractersticas del modelo relacional de b ases de datos.

Un sistema gestor de bases de datos (SGBD) consiste en una coleccin de datos inte rrelacionados y un conjunto de programas para acceder a dichos datos. La coleccin de datos, normalmente denominada base de datos, contiene informacin relevante pa ra una empresa. El objetivo principal de un SGBD es proporcionar una forma de al macenar y recuperar la informacin de una base de datos de manera que sea tanto prc tica como eficiente

APLICACIONES DE LOS SISTEMAS DE BASES DE DATOS Banca Lneas areas Universidades Telecomunicaciones. Finanzas. Ventas. Produccin. Re cursos humanos.

SISTEMAS DE BASES DE DATOS FRENTE A SISTEMAS DE ARCHIVOS

Un programa para efectuar cargos o abonos en una cuenta. Un programa para aadir u na cuenta nueva. Un programa para calcular el saldo de una cuenta. Un programa p ara generar las operaciones mensuales. Estos programas de aplicacin se han escrit o por programadores de sistemas en respuesta a las necesidades de la organizacin bancaria.

Inconvenientes

Redundancia e inconsistencia de datos. Debido a que los archivos y programas de aplicacin son creados por diferentes programadores en un largo perodo de tiempo, l os diversos archivos tienen probablemente diferentes formatos y los programas pu eden estar escritos en diferentes lenguajes. Ms an, la misma informacin puede estar duplicada en diferentes lugares (archivos). Por ejemplo, la direccin y nmero de t elfono de un cliente particular puede aparecer en un archivo que contenga registr os de cuentas de ahorros y en un archivo que contenga registros de una cuenta co rriente. Esta redundancia conduce a un almacenamiento y coste de acceso ms altos. Adems, puede conducir a inconsistencia de datos; es decir, las diversas copias d e los mismos datos pueden no coincidir. Por ejemplo, un cambio en la direccin del cliente puede estar reflejado en los registros de las cuentas de ahorro pero no estarlo en el resto del sistema. Dificultad en el acceso a los datos. Supngase q ue uno de los empleados del banco necesita averiguar los nombres de todos los cl ientes que viven en el distrito postal 28733 de la ciudad. El empleado pide al d epartamento de procesamiento de datos que genere dicha lista. Debido a que esta peticin no fue prevista cuando el sistema original fue diseado, no hay un programa de aplicacin a mano para satisfacerla. Hay, sin embargo, un programa de aplicacin que genera la lista de todos los clientes. El empleado del banco tiene ahora do s opciones: bien obtener la lista de todos los clientes y obtener la informacin q ue necesita manualmente, o bien pedir al departamento de procesamiento de datos que haga que un programador de sistemas escriba el programa de aplicacin necesari o. Ambas alternativas son obviamente insatisfactorias. Supngase que se escribe ta l programa y que, varios das ms tarde, el mismo empleado necesita arreglar esa lis ta para incluir slo aquellos clientes que tienen una cuenta con saldo de 10.000 o ms. Como se puede esperar, un programa para generar tal lista no existe. De nuev o, el empleado tiene que elegir entre dos opciones, ninguna de las cuales es sat isfactoria. La cuestin aqu es que el entorno de procesamiento de archivos convenci onal no permite que los datos necesarios sean obtenidos de una forma prctica y ef iciente. Se deben desarrollar sistemas de recuperacin de datos ms interesantes par a un uso general.

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 prog ramas de aplicacin para recuperar los datos apropiados. Problemas de integridad. Los valores de los datos almacenados en la base de datos deben satisfacer cierto s tipos de restricciones de consistencia. Por ejemplo, el saldo de una cuenta ba ncaria no puede nunca ser ms bajo de una cantidad predeterminada (por ejemplo 25 ) . Los desarrolladores hacen cumplir esas restricciones en el sistema aadiendo el cdigo apropiado en los diversos programas de aplicacin. Sin embargo, cuando se aade n nuevas restricciones, esdifcil cambiar los programas para hacer que se cumplan. El problema es complicado cuando las restricciones implican diferentes elemento s de datos de diferentes archivos. Problemas de atomicidad. Un sistema de un com putador, como cualquier otro dispositivo mecnico o elctrico, est sujeto a fallo. En muchas aplicaciones es crucial asegurar que, una vez que un fallo ha ocurrido y se ha detectado, los datos se restauran al estado de consistencia que exista ant es del fallo. Consideremos un programa para transferir 50 desde la cuenta Aa la B. Si ocurre un fallo del sistema durante la ejecucin del programa, es posible qu e los 50 fueron eliminados de la cuenta Apero no abonados a la cuenta B, resulta ndo un estado de la base de datos inconsistente. Claramente, es esencial para la consistencia de la base de datos que ambos, el abono y el cargo tengan lugar, o que ninguno tenga lugar. Es decir, la transferencia de fondos debe ser atmica: st a debe ocurrir en ellos por completo o no ocurrir en absoluto. Es difcil asegurar esta propiedad en un sistema de procesamiento de archivos convencional.

Anomalas en el acceso concurrente. Conforme se ha ido mejorando el conjunto de ej ecucin de los sistemas y ha sido posible una respuesta en tiempo ms rpida, muchos s istemas han ido permitiendo a mltiples usuarios actualizar los datos simultneament e. En tales sistemas un entorno de interaccin de actualizaciones concurrentes pue de dar lugar a datos inconsistentes. Considrese una cuenta bancaria A, que contie ne 500 . Si dos clientes retiran fondos (por ejemplo 50 y 100 respectivamente) de la cuenta A en aproximadamente el mismo tiempo, el resultado de las ejecuciones concurrentes puede dejar la cuenta en un estado incorrecto (o inconsistente). S upongamos que los programas se ejecutan para cada retirada y escriben el resulta do despus. Si los dos programas funcionan concurrentemente, pueden leer ambos el valor 500 , y escribir despus 450 y 400 , respectivamente. Dependiendo de cul escrib a el ltimo valor, la cuenta puede contener bien 450 o bien 400 , en lugar del valor correcto, 350 . Para protegerse contra esta posibilidad, el sistema debe mantene r alguna forma de supervisin. Sin embargo, ya que se puede acceder a los datos de sde muchos programas de aplicacin diferentes que no han sido previamente coordina dos, la supervisin es difcil de proporcionar. Problemas de seguridad. No todos los usuarios de un sistema de bases de datos deberan poder acceder a todos los datos . Por ejemplo, en un sistema bancario, el personal de nminas necesita ver slo esa parte de la base de datos que tiene informacin acerca de varios empleados del ban co. No necesitan acceder a la informacin acerca de las cuentas de clientes. Como los programas de aplicacin se aaden al sistema de una forma ad hoc, es difcil garan tizar tales restricciones de seguridad.

VISIN DE LOS DATOS Abstraccin de datos

Nivel fsico: El nivel ms bajo de abstraccin describe cmo se almacenan realmente los datos. En el nivel fsico se describen en detalle las estructuras de datos complej as de bajo nivel. Nivel lgico: El siguiente nivel ms alto de abstraccin describe qu datos se almacenan en la base de datos y qu relaciones existen entre esos datos. La base de datos completa se describe as en trminos de un nmero pequeo de estructura s relativamente simples. Aunque la implementacin de estructuras simples en el niv el lgico puede involucrar estructuras complejas del nivel fsico, los usuarios del nivel lgico no necesitan preocuparse de esta complejidad. Los administradores de bases de datos, que deben decidir la informacin que se mantiene en la base de dat os, usan el nivel lgico de abstraccin. Nivel de vistas: El nivel ms alto de abstrac cin describe slo parte de la base de datos completa. A pesar del uso de estructura s ms simples en el nivel lgico, queda algo de complejidad, debido a la variedad de informacin almacenada en una gran base de datos. Muchos usuarios del sistema de base de datos no necesitan toda esta informacin. En su lugar, tales usuarios nece sitan acceder slo a una parte de la base de datos. Para que su interaccin con el s istema se simplifique, se define la abstraccin del nivel de vistas. El sistema pu ede proporcionar muchas vistas para la misma base de datos.

Ejemplares y esquemas

Las bases de datos van cambiando a lo largo del tiempo conforme la informacin se inserta y borra. La coleccin de informacin almacenada en la base de datos en un mo mento particular se denomina un ejemplar de la base de datos. El esquema fsico de scribe el diseo fsico en el nivel fsico, mientras que el esquema lgico describe el d iseo de la base de datos en el nivel lgico

MODELOS DE LOS DATOS Bajo la estructura de la base de datos se encuentra el modelo de datos: una cole ccin de herramientas conceptuales para describir los datos, las relaciones, la se mntica y las restricciones de consistencia. Para ilustrar el concepto de un model o de datos, describimos dos modelos de datos en este apartado: el modelo entidad relacin y el modelo relacional. Los diferentes modelos de datos que se han propu esto se clasifican en tres grupos diferentes: modelos lgicos basados en objetos, modelos lgicos basados en registros y modelos fsicos.

Modelo entidad-relacin El modelo de datos entidad-relacin (E-R) est basado en una percepcin del mundo real que consta de una coleccin de objetos bsicos, llamados entidades, y de relaciones entre estos objetos. Una entidad es una cosa u objeto en el mundo real que es disti nguible de otros objetos. Por ejemplo, cada persona es una entidad, y las cuenta s bancarias pueden ser consideradas entidades.

Modelo relacional

En el modelo relacional se utiliza un grupo de tablas para representar los datos y las relaciones entre ellos. Cada tabla est compuesta por varias columnas, y ca da columna tiene un nombre nico. En la Figura 1.3 se presenta un ejemplo de base de datos relacional consistente en tres tablas: la primera muestra los clientes de un banco, la segunda, las cuentas, y la tercera, las cuentas que pertenecen a cada cliente.

Otros modelos de datos El modelo de datos orientado a objetos es otro modelo de datos que est recibiendo una atencin creciente. El modelo orientado a objetos se puede observar como una extensin del modelo E-R con las nociones de encapsulacin, mtodos (funciones) e iden tidad de objeto.

Los modelos de datos semiestructurados permiten la especificacin de datos donde l os elementos de datos individuales del mismo tipo pueden tener diferentes conjun tos de atributos. Esto es diferente de los modelos de datos mencionados anterior mente, en los que cada elemento de datos de un tipo particular debe tener el mis mo conjunto de atributos. El lenguaje de marcas extensible (XML, eXtensible Mark up Language) se usa ampliamente para representar datos semiestructurados

el modelo de datos de red y el modelo de datos jerrquico, precedieron al modelo d e datos relacional. Estos modelos estuvieron ligados fuertemente a la implementa cin subyacente y complicaban la tarea del modelado de datos. Como resultado se us an muy poco actualmente, excepto en el cdigo de bases de datos antiguo que an est e n servicio en algunos lugares.

LENGUAJES DE BASES DE DATOS Un sistema de bases de datos proporciona un lenguaje de definicin de datos para e specificar el esquema de la base de datos y un lenguaje de manipulacin de datos p ara expresar las consultas a la base de datos y las modificaciones. En la prctica , los lenguajes de definicin y manipulacin de datos no son dos lenguajes separados ; en su lugar simplemente forman partes de un nico lenguaje de bases de datos, ta l como SQL, ampliamente usado.

Lenguaje de definicin de datos

Un esquema de base de datos se especifica mediante un conjunto de definiciones e xpresadas mediante un lenguaje especial llamado lenguaje de definicin de datos (L DD). La ejecucin de la instruccin LDD anterior crea la tabla cuenta. Adems, actuali za un conjunto especial de tablas denominado diccionario de datos o directorio d e datos. Un diccionario de datos contiene metadatos, es decir, datos acerca de l os datos.

Lenguaje de manipulacin de datos La manipulacin de datos es:

La recuperacin de informacin almacenada en la base de datos. La insercin de informa cin nueva en la base de datos. El borrado de informacin de la base de datos. La mo dificacin de informacin almacenada en la base de datos

Un lenguaje de manipulacin de datos (LMD) es un lenguaje que permite a los usuari os acceder o manipular los datos organizados mediante el modelo de datos apropia do. Hay dos tipos bsicamente: LMDs procedimentales. Requieren que el usuario espe cifique qu datos se necesitan y cmo obtener esos datos. LMDs declarativos (tambin c onocidos como LMDs no procedimentales). Requieren que el usuario especifique qu d atos se necesitan sin especificar cmo obtener esos datos.

Una consulta es una instruccin de solicitud para recuperar informacin. La parte de un LMD que implica recuperacin de informacin se llama lenguaje de consultas.

Acceso a la base de datos desde programas de aplicacin

Proporcionando una interfaz de programas de aplicacin (conjunto de procedimientos ) que se pueden usar para enviar instrucciones LMD y LDD a la base de datos, y r ecuperar los resultados. El estndar de conectividad abierta de bases de datos (OD BC, Open Data Base Connectivity) definido por Microsoft para el uso con el lengu aje C es un estndar de interfaz de programas de aplicacin usado comnmente. El estnda r conectividad de Java con bases de datos (JDBC, Java Data Base Connectivity) pr oporciona caractersticas correspondientes para el lenguaje Java. Extendiendo la s intaxis del lenguaje anfitrin para incorporar llamadas LMD dentro del programa de l lenguaje anfitrin. Usualmente, un carcter especial precede a las llamadas LMD, y un preprocesador, denominado el precompiladorLMD, convierte las instrucciones L MD en llamadas normales a procedimientos en el lenguaje anfitrin.

USUARIOS Y ADMINISTRADORES DE LA BASE DE DATOS Un objetivo principal de un sistema de bases de datos es recuperar informacin y a lmacenar nueva informacin en la base de datos. Las personas que trabajan con una base de datos se pueden catalogar como usuarios de bases de datos o como adminis tradores de bases de datos.

Usuarios de bases de datos e interfaces de usuario Usuarios normales Programadores de aplicaciones Los usuarios sofisticados Usuari os especializados

Administrador de la base de datos

Definicin del esquema. El ABD crea el esquema original de la base de datos escrib iendo un conjunto de instrucciones de definicin de datos en el LDD. Definicin de l a estructura y del mtodo de acceso. Modificacin del esquema y de la organizacin fsic a. Los ABD realizan cambios en el esquema y en la organizacin fsica para reflejar las necesidades cambiantes de la organizacin, o para alterar la organizacin fsica p ara mejorar el rendimiento. Concesin de autorizacin para el acceso a los datos. La concesin de diferentes tipos de autorizacin permite al administrador de la base d e datos determinar a qu partes de la base de datos puede acceder cada usuario. La informacin de autorizacin se mantiene en una estructura del sistema especial que el sistema de base de datos consulta cuando se intenta el acceso a los datos en el sistema. Mantenimiento rutinario. Algunos ejemplos de actividades rutinarias de mantenimiento del administrado de la base de datos son: Copia de seguridad pe ridica de la base de datos, bien sobre cinta o sobre servidores remotos, para pre venir la prdida de datos en caso de desastres como inundaciones. Asegurarse de qu e haya suficiente espacio libre en disco para las operaciones normales y aumenta r el espacio en disco segn sea necesario Supervisin de los trabajos que se ejecute n en la base de datos y asegurarse de que el rendimiento no se degrada por tarea s muy costosas iniciadas por algunos usuarios.

GESTIN DE TRANSACCIONES

ESTRUCTURA DE UN SISTEMA DE BASES DE DATOS

ARQUITECTURAS DE APLICACIONES

Bibliografa Silberschatz Abraham, Korth Henry, Sudarshan S., Fundamentos de Bases de Datos, Cuarta Edicin, Editorial McGraw Hill/Latinoamericana. Espaa 2001.

También podría gustarte