QUE ES UN SISTEMA GESTOR DE BASE DE DATOS Es un conjunto de programas que permiten el almacenamiento, modificacin y extraccin de la informacin en una base de datos, adems de proporcionar herramientas para aadir, borrar, modificar y analizar los datos. Los SGBD tambin proporcionan mtodos para mantener a) La integridad de los datos b) Para administrar el acceso de usuarios a los datos c) Para recuperar la informacin si el sistema se corrompe. Permite presentar la informacin de la base de datos en variados formatos. La mayora de los SGBD incluyen un generador de informes. Tambin puede incluir un mdulo grfico que permita presentar la informacin con grficos y tablas. CARACTERSTICAS Generalmente se accede a los datos mediante lenguajes de interrogacin, lenguajes de alto nivel que simplifican la tarea de construir las aplicaciones. Tambin simplifican la interrogacin y la presentacin de la informacin. Un SGBD permite controlar el acceso a los datos, asegurar su integridad, gestionar el acceso concurrente a ellos, recuperar los datos tras un fallo del sistema y hacer copias de seguridad. OBJETIVOS Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (fsico o lgico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. Consistencia. La base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debera aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programacin de este tipo de condiciones. Seguridad. La informacin almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta informacin se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categoras de permisos. Manejo de transacciones. Una transaccin es un programa que se ejecuta como una sola operacin. Esto quiere decir que luego de una ejecucin en la que se produce una falla es el mismo que se obtendra si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho ms simple que si no se dispusiera de ellos. Tiempo de respuesta. Lgicamente, es deseable minimizar el tiempo que el SGBD demora en proporcionar la informacin solicitada y en almacenar los cambios realizados. OBJETIVOS Dificultad para tener acceso a los datos. Un sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo de los mismos. Aislamiento de los datos. Puesto que los datos estn repartidos en varios archivos, y estos no pueden tener diferentes formatos, es difcil escribir nuevos programas de aplicacin para obtener los datos apropiados. Concurrencia de usuarios. Un objetivo fundamental de los SGBD es permitir que varios usuarios puedan acceder concurrentemente a la misma BD. Redundancia e inconsistencia de datos. Puesto que los archivos que mantienen almacenada la informacin son creados por diferentes tipos de programas de aplicacin existe la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de informacin. Integridad de los datos. Nos interesar que los SGBD aseguren el mantenimiento de la calidad de los datos en cualquier circunstancia. Acabamos de ver que la redundancia puede provocar prdida de integridad de los datos, pero no es la nica causa posible. Se podra perder la correccin o la consistencia de los datos por muchas otras razones: errores de programas, errores de operacin humana, avera de disco, transacciones incompletas por corte de alimentacin elctrica, etc. Componentes El motor de la base de datos acepta peticiones lgicas de los otros subsistemas del SGBD, las convierte en su equivalente fsico y accede a la base de datos y diccionario de datos en el dispositivo de almacenamiento. El subsistema de definicin de datos ayuda a crear y mantener el diccionario de datos y define la estructura del fichero que soporta la base de datos. El subsistema de manipulacin de datos ayuda al usuario a aadir, cambiar y borrar informacin de la base de datos y la interroga para extraer informacin. El subsistema de manipulacin de datos suele ser el interfaz principal del usuario con la base de datos. Permite al usuario especificar sus requisitos de la informacin desde un punto de vista lgico. El subsistema de generacin de aplicaciones contiene utilidades para ayudar a los usuarios en el desarrollo de aplicaciones. Usualmente proporciona pantallas de entrada de datos, lenguajes de programacin e interfaces. El subsistema de administracin ayuda a gestionar la base de datos ofreciendo funcionalidades como almacenamiento y recuperacin, gestin de la seguridad, optimizacin de preguntas, control de concurrencia y gestin de cambios. MODELOS DE BASE DE DATOS Un modelo de base de datos es un tipo de modelo de datos que determina la estructura lgica de una base de datos y de manera fundamental determina el modo de almacenar, organizar y manipular los datos. Conjunto de ideas utilizadas para representar la estructura de datos y las relaciones entre ellos dentro de la base de datos El modelos de base de datos representa la estructura caractersticas restricciones y transformacin. MODELOS DE BASE DE DATOS Un sistema de gestin de base de datos puede implementar uno o varios modelos. La estructura ptima depende de la natural organizacin de los datos de la aplicacin y de los requisitos de sta, que incluyen ritmo de transacciones, fiabilidad, fcil mantenimiento, escalabilidad y coste. La mayor parte de los sistemas de gestin de bases de datos estn construidos sobre un modelo de datos concreto, aunque es posible que soporten ms de uno. Un modelo no es slo un modo de estructurar los datos: tambin define el conjunto de operaciones que se pueden realizar con los datos. Modelo fichero plano El modelo de fichero plano consiste en una sola matriz bidimensional de elementos, donde todos los miembros en una columna dada tienen valores del mismo tipo, y todos los miembros de la misma fila estn relacionados entre ellos. Por ejemplo, las columnas para nombre y clave pueden ser usadas para la seguridad de un sistema; cada fila indicar el nombre y su correspondiente clave para un individuo. Las columnas en la tabla suelen tener un tipo asociado, que la define como cadena de caracteres, fecha u hora, entero o nmero de coma flotante. Modelos jerrquico En un modelo jerrquico, los datos estn organizados en una estructura arbrea lo que implica que cada registro slo tiene un padre. Esta estructura permite relaciones 1:N entre los datos, y es muy eficiente para describir muchas relaciones del mundo real: tablas de contenido, ordenamiento de prrafos y cualquier tipo de informacin anidada. Una limitacin del modelo jerrquico es su incapacidad para representar manera eficiente la redundancia en datos. En la relacin Padre-hijo: El hijo slo puede tener un padre pero un padre puede tener mltiples hijos. Los padres e hijos estn unidos por enlaces. Todo nodo tendr una lista de enlaces a sus hijos. Modelo de red El modelo de red expande la estructura jerrquica, permitiendo relaciones N:N en una estructura tipo rbol que permite mltiples padres. El modelo en red es una generalizacin del modelo jerrquico, en tanto est construido sobre el concepto de mltiples ramas (estructuras de nivel inferior) emanando de uno o varios nodos (estructuras de nivel alto), mientras el modelo se diferencia del modelo jerrquico en que las ramas pueden estar unidas a mltiples nodos. El modelo de red es capaz de representar la redundancia en datos de una manera ms eficiente que en el modelo jerrquico. Las operaciones del modelo de red se realizan por de navegacin: un programa mantiene la posicin actual, y navega entre registros siguiendo las relaciones ente ellos. Los registros tambin pueden ser localizados por valores claves. Aunque no es una caracterstica esencial del modelo, las bases de datos en red implementan sus relaciones mediante punteros directos al disco. Esto da una velocidad de recuperacin excelente, pero penaliza las operaciones de carga y reorganizacin. Modelo de fichero invertido En un fichero invertido o de ndice invertido, los datos contenidos se usan como claves en una tabla de consulta (lookup table), y los valores en la tabla se utilizan como punteros a la localizacin de cada instancia. Esta es tambin la estructura lgica de los ndices de bases de datos modernas, los cuales introducen slo el contenido de algunas columnas en esa tabla de consulta. El modelo de fichero invertido puede poner los ndices en ficheros planos para acceder a sus registros de manera eficiente. Modelo relacional El modelo relacional fue introducido por E.F. Codd en 19701 con el objetivo de querer hacer los SGBD ms independientes de las aplicaciones. Existen tres trminos usados con profusin en el modelo relacional de bases de datos: relaciones, atributos y dominios. Una relacin equivale a una tabla con filas y columnas. Las columnas de una relacin se llaman con rigor atributos, y el dominio es el conjunto de valores que cada atributo puede tomar. La estructura bsica de datos del modelo relacional es la relacin (tabla), donde la informacin acerca de una determinada entidad (p.e. "empleado") se almacena en tuplas (filas), cada una con un conjunto de atributos (columnas). Las columnas de cada tabla enumeran los distintos atributos de la entidad (el nombre del "empleado", direccin y nmero de telfono, p.e.), de modo que cada tupla de la relacin "empleado" representa un empleado especfico guardando los datos de ese empleado concreto. Todas las relaciones (es decir, tablas) en una base de datos relacional han de seguir unas mnimas reglas: El orden de los atributos es irrelevante No puede haber filas repetidas Cada atributo slo puede tener un valor.
Una base de datos puede contener varias tablas, cada una similar al modelo plano. Una de las fortalezas del modelo relacional es que un valor de atributo coincidente en dos registros (filas) -en la misma o diferente tabla- implica una relacin entre esos dos registros. Es posible tambin designar uno o un conjunto de atributos como "clave", que permitir identificar de manera nica una fila en una tabla. Dicha clave que permite identificar de manera unvoca una fila en una tabla se denomina "clave primaria". Las claves son habitualmente utilizadas para para combinar datos de dos o ms tablas. Las claves son esenciales a la hora de crear ndices, que facilitan la recuperacin rpidas de datos de tablas grandes. Una clave puede estar formada por cualquier columna o por una combinacin de varias columnas, denominndose clave compuesta. No es necesario definir todas las claves por adelantado; una columna puede usarse como clave incluso si no estaba previsto en origen. El lenguaje de interrogacin ms comn utilizado con las bases de datos relacionales es el Structured Query Language (SQL).
Modelo dimensional El modelo dimensional es una adaptacin especializada del modelo relacional usada para almacenar datos en depsitos de datos, de modo que los datos fcilmente puedan ser extrados usando consultas OLAP. En el modelo dimensional, una base de datos consiste en una sola tabla grande de datos que son descritos usando dimensiones y medidas. Una dimensin proporciona el contexto de un hecho (como quien particip, cuando y donde pas, y su tipo). Las dimensiones se toman en cuenta en la formulacin de las consultas para agrupar hechos que estn relacionados. Las dimensiones tienden a ser discretas y son a menudo jerrquicas; por ejemplo, la ubicacin podra incluir el edificio, el estado y el pas. Una medida es una cantidad que describe el dato, tal como los ingresos. Es importante que las medidas puedan ser agregados significativamente -por ejemplo, los ingresos provenientes de diferentes lugares puedan sumarse. En una consulta (OLAP), las dimensiones y los hechos son agrupados y aadidos juntos para crear un informe. El modelo dimensional a menudo es puesto en prctica sobre el modelo relacional usando un esquema de estrella, consistiendo en una tabla que contiene los datos y tablas circundantes que contienen las dimensiones. Dimensiones complicadas podran ser representadas usando mltiples tablas, usando un esquema de copo de nieve. Un almacn de datos (data warehouse) puede contener mltiples esquemas de estrella que comparten tablas de dimensin, permitindoles ser usadas juntas. El establecimiento de un conjunto de dimensiones estndar es una parte importante del modelado dimensional.
MODELOS POST-RELACIONALES Los productos que ofrecen un modelo de datos ms general que el relacional se denominan a veces post-relational. Como trmino alternativos se incluyen "bases de datos hbridas", "bases de datos relacionales potenciadas con objetos" entre otros. El modelo de datos de esos productos incorpora relaciones pero no limitadas por las restricciones del principio de informacin de E.F. Codd, que requiere que toda informacin en la base de datos debe ser modelada en trminos de valores en relaciones nada ms. Modelo grafo Las bases de datos de grafos permiten incluso una estructura ms general que una base de datos en red, cualquier nodo puede estar conectado a cualquier otro. Modelos multivaluados Las bases de datos multivaluadas contienen datos arracimados, en el sentido de que pueden almacenar los datos del mismo modo que las bases de datos relacionales, pero adems permiten un nivel de profundidad al que las relacionales slo se pueden aproximar utilizando subtablas. Esto es prcticamente igual al modo en que XML representa los datos, donde un campo/atributo dado puede contener mltiples valores a la vez. El multivalor se puede considerar una forma de XML comprimida. Un ejemplo puede ser una factura, la que puede ser vista como: Encabezado, una entrada por factura Detalle, una entrada por concepto En el modelo multivaluado tenemos la opcin de almacenar los datos como una sola tabla , con tablas imbuidas representando el detalle. Tiene la ventaja que la correspondencia entre la factura conceptual y la de la factura como representacin de datos es biunvoca. Esto redunda en menor nmero de lecturas, menos problemas de integridad referencial y una fuerte disminucin del hardware necesario para soportar un volumen de transacciones dado. Modelo orientado a objetos En la dcada de 1990, el paradigma de la orientacin a objetos se aplic a las bases de datos creando un nuevo modelo llamado base de datos orientada a objetos. Esto tuvo el fin de reducir la impedancia objeto-relacional, la sobrecarga de convertir la informacin de su representacin en la base de datos - como filas en tablas- a su representacin en el programa -tpicamente como objeto. Incluso ms, los tipos de datos usados en una aplicacin pueden definirse directamente en la base de datos, preservando as la base de datos la misma integridad de datos. Las bases de datos orientadas a objetos tambin introducen las ideas clave de la programacin orientada a objetos -encapsulacin y polimorfismo- en el mundo de las bases de datos. Se han propuesto distintos modos de almacenar objetos en una base de datos. Algunos se han aproximado desde la perspectiva de la programacin, haciendo los objetos manipulados por el programa persistentes. Esto tpicamente requiere la adicin de algn tipo de lenguaje de interrogacin, ya que lo lenguajes tradicionales no tienen la posibilidad de encontrar objetos basados en su contenido. Otros se han aproximado al problema desde la perspectiva de la base de datos, definiendo un modelo orientado a objetos para la base de datos, y definiendo un lenguaje de programacin de dicha base de datos que permite tanto capacidades de programacin como de interrogacin. Las bases de datos orientadas a objetos sufren falta de estandarizacin; aunque han sido definidos estndares por en Object Database Management Group nunca han sido implementados con generalidad suficiente como para permitir la interoperabilidad entre productos. Sin embargo, las bases de datos orientadas a objetos han sido empleadas eficazmente en distintas aplicaciones: generalmente en nichos especializados como ingeniera o biologa molecular, pero no de forma general con soporte comercial. Sin embargo algunas de las ideas que ha aportado han sido recogidas por los fabricantes de bases de datos relacionales y se han aplicado en extensiones al lenguaje SQL. Una alternativa a la traduccin entre objetos y relaciones es la de usar una librera Object-Relational Mapping (ORM).
Arquitectura La arquitectura de un SGBD ha de especificar sus componentes (incluyendo su descripcin funcional) y sus interfaces. Trata de conceptos distintos que la arquitectura de la base de datos. Los componentes principales de un SGBD son: Interfaces externos - Medios para comunicarse con el SGDB en ambos sentidos (E/S) y explotar a todas sus funciones. Pueden afectar a la base de datos o a la operacin del SGBD, por ejemplo: Operaciones directas con la base de datos: definicin de tipos, asignacin de niveles de seguridad, actualizacin de datos, interrogacin de la base de datos etc.. Operaciones relativas a la operacin del SGBD: copia de seguridad y restauracin, recuperacin tras una cada, monitoreo de seguridad, gestin del almacenamiento, reserva de espacio, monitoreo de la configuracin, monitoreo de prestaciones, afinado... Los interfaces externos bien pueden ser utilizados por usuarios (p.e. administradores) o bien por programas que se comunican a travs de un API. Intrprete o procesador del lenguaje - La mayor parte de las operaciones se efectan mediante un lenguaje de base de datos. Existen lenguajes para definicin de datos, manipulacin de datos (p.e. SQL), para especificar aspectos de la seguridad y ms. Las sentencias en ese lenguaje se introducen en el SGBD mediante el interfaz adecuado. Se procesan las expresiones en dicho lenguaje (ya sea compilado o interpretado) para extraer las operaciones de modo que puedan ser ejecutadas por el SGBD. Optimizador de consultas - Realiza la optimizacin de cada pregunta y escoge el plan de actuacin ms eficiente para ejecutarlo. Motor de la base de datos - Realiza las operaciones requeridas sobre la base de datos, tpicamente representndolo a alto nivel. Mecanismo de almacenamiento - Traduce las operaciones a lenguaje de bajo nivel para acceder a los datos. En algunas arquitecturas el mecanismo de almacenamiento est integrado en el motor de la base de datos. Motor de transacciones - Para conseguir correccin y fiabilidad la mayora de las operaciones internas del SGBD se realizan encapsuladas dentro de transacciones. Las transacciones pueden ser especificadas externamente al SGBD para encapsular un grupo de operaciones. El motor de transacciones sigue la ejecucin de las transacciones y gestiona su ejecucin de acuerdo con las reglas que tiene establecidas (p. eg., control de concurrencia y su ejecucin o cancelacin). Gestin y operacin de SGBD - Comprende muchos otros componentes que tratan de aspectos de gestin y operativos del SGBD como monitoreo de prestaciones, gestin del almacenamiento, mapas de almacenamiento.
TIPOS DE USUARIOS Se consideran tres clases de usuarios: Programador de aplicaciones: Los profesionales en computacin que interactan 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 de programacin encargado de escribir programas de aplicacin que utilicen bases de datos. Estos programas de aplicacin operan con los datos de todas las maneras usuales: recuperan informacin, crean informacin nueva, suprimen o cambian informacin existente, etc.
Usuario final: Accesa a la base de datos desde una terminal, puede emplear un lenguaje de consulta proporcionado como parte integral del sistema o recurrir a un programa de aplicacin escrito por un usuario programador que acepte rdenes desde la terminal y a su vez formule solicitudes al DBMS en nombre del usuario final. Administradores de base de datos o DBA: Es la persona o grupo de personas encargadas del control general del sistema de base de datos. Los usuarios que accedan a una base de datos pueden clasificarse como : Usuario sofisticado: Los usuarios sofisticados interactan con el sistema sin escribir programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos SQL. Usuario especializados: Algunos usuarios sofisticados escriben aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos. Entre estas aplicaciones estn los sistemas de diseo asistido por computadora, sistemas de bases de conocimiento y experto, sistemas que almacenan los datos con los tipos de datos completos y sistemas de modelado del entorno. Usuarios ingenuos: Los usuarios no sofisticados interactan con el sistema invocando a uno de los programas de aplicacin permanentes que se han escrito anteriormente en el sistema de base de datos, podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del diseo interno del mismo por ejemplo: un cajero.
Las personas que participan en el diseo uso y mantenimiento de una base de datos grande con algunos cientos de usuarios se clasifican en dos tipos: Actores en el escenario y Trabajadores tras bambalinas. Actores en el escenario: Personas cuyo trabajo requiere el empleo cotidiano de una base de datos grande y son: Administradores de base de datos: Administra 2 recursos el primero es la propia base de datos y el segundo es el SGBD y el software con el relacionado. El DBA se encarga de autorizar el acceso a la base de datos, de coordinar y vigilar su empleo, y de adquirir los recursos necesarios de software y hardware. El DBA es la persona responsable cuando surgen problemas como violaciones a la seguridad o una respuesta lenta del sistema. Diseadores de base de datos: Se encarga de identificar los datos que se almacenarn en la base de datos y de elegir las estructuras apropiadas para representar y almacenar dichos datos. Los diseadores tienen la responsabilidad de comunicarse con todos los futuros usuarios de la base de datos, a fin de comprender sus necesidades, y de presentar un diseo que satisfaga esos requerimientos. Casi siempre, los diseadores interactan con cada uno de los grupos de usuarios potenciales y desarrollan una vista de la base de datos que satisfaga los requerimientos de datos y de procesamiento para ese grupo.
Usuarios finales: Son las personas que necesitan tener acceso a la base de datos para consultarla, actualizarla y generar informes; la base de datos existe primordialmente para que ellos la usen. Hay varias categoras de usuarios finales: Usuarios finales espordicos: Tiene acceso de vez en cuando a la base de datos, pero es posible que requieran informacin diferente en cada ocasin. Utilizan un lenguaje de consulta de base de datos avanzado para especificar sus solicitudes, y suelen ser gerentes de nivel medio o alto u otras personas que examinan de modo superficial y ocasional la base de datos.
Usuarios finales o paramtricos: Constituyen una porcin apreciable de la totalidad de los usuarios finales. La funcin de su trabajo gira en torno a consultas y actualizaciones de la base de datos, utilizando tipos estndar de estas operaciones que se han programado y probado con mucho cuidado. Todos estamos acostumbrados a tratar con varios tipos de estos usuarios, los cajeros bancarios revisan saldos y asientan retiros y depsitos, los encargados de reservaciones areas revisan las disponibilidades para una solicitud presentada y hacer reservaciones. Usuarios finales avanzados: Se cuentan ingenieros, cientficos, analistas de negocios y otros, quienes conocen a cabalidad los recursos del SGBD para satisfacer sus complejos requerimientos. Usuarios autnomos: emplean bases de datos personalizadas gracias a los paquetes de programas comerciales que cuentan con interfaces de fcil uso, basadas en mens o en grficos. Un ejemplo es el usuario de un paquete fiscal que almacena diversos datos financieros personales para fines fiscales. ANALISTAS DE SISTEMAS Y PROGRAMADORES DE APLICACIONES: Determinan los requerimientos de los usuarios finales, sobre todo de los simples y paramtricos, y desarrollan especificaciones para transacciones programadas que satisfagan dichos requerimientos. Los programadores de aplicaciones implementan esas especificaciones en forma de programas, y luego prueban, depuran, documentan y mantienen estas transacciones programadas. Para realizar dichas tareas, estos analistas y programadores deben de conocer a la perfeccin toda la gama de capacidades del SGBD. TRABAJADORES TRAS BAMBALINAS: Laboran para mantener el entorno del sistema de base de datos, pero que no tienen un claro inters en la base de datos en s misma. DISEADORES E IMPLEMENTADOTES DEL SGBD: Se encargan de disear e implementar los mdulos e interfaces de SGBD en forma de paquetes de software. Un SGBD es un sistema complejo de software que consta de diversos componentes o mdulos, como los mdulos para implementar el catlogo, los lenguajes de consulta, los procesadores de interfaz, el acceso a los datos y la seguridad.
CREADORES DE HERRAMIENTAS: Las herramientas son paquetes de software que facilitan el diseo y el empleo de los sistemas de base de datos, y que ayudan a elevar el rendimiento. Estos paquetes son opcionales y a menudo se adquieren por separado. Incluyen paquetes para disear bases de datos, vigilar el rendimiento, proporcionar Interfaces de lenguaje natural o grficos, elaborar prototipos, realizar simulaciones y generar datos de prueba. Los creadores de herramientas se ocupan de disear e implementar estos paquetes. En muchos casos hay proveedores independientes de software, que crean y comercializan estas herramientas.
OPERADORES Y PERSONAL DE MANTENIMIENTO: Son los miembros del personal de administracin del sistema que tienen a su cargo el funcionamiento de mantenimiento reales del entorno del hardware y software del sistema de base de datos. Niveles de abstraccin Independencia (arquitectura de 3 niveles de abstraccin) de todo sistema gestor de cualquier cosa Interno/Fsico: Almacenamiento de los datos. Conceptual/Lgico: Estructura(modelado) Externo/visual: Sistema. Lenguajes DDl (LDD): Definicin de datos (base de datos, tablas, ndices) Comandos: CREATE, DROP, ALTER DML (LMD): Manipulacin de datos (registros, datos) Comandos: INSERT, SELECT, UPDATE DCL (LCD): Control de datos (seguridad, transacciones) Comandos: COMMIT, ROLLBACK, GRANT, REVOKE