PDF generado usando el kit de herramientas de fuente abierta mwlib. Ver http://code.pediapress.com/ para mayor informacin.
PDF generated at: Thu, 06 Feb 2014 23:25:38 UTC
Primera Invest BD Contenidos Artculos Base de datos 1 Sistema de gestin de bases de datos 6 Referencias Fuentes y contribuyentes del artculo 14 Fuentes de imagen, Licencias y contribuyentes 15 Licencias de artculos Licencia 16 Base de datos 1 Base de datos OpenOffice.org Base es un sistema de gestin de bases de datos de software libre. Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayora por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnolgico de campos como la informtica y la electrnica, la mayora de las bases de datos estn en formato digital (electrnico), y por ende se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos. Existen programas denominados sistemas gestores de bases de datos, abreviado DBMS, que permiten almacenar y posteriormente acceder a los datos de forma rpida y estructurada. Las propiedades de estos DBMS, as como su utilizacin y administracin, se estudian dentro del mbito de la informtica. Las aplicaciones ms usuales son para la gestin de empresas e instituciones pblicas. Tambin son ampliamente utilizadas en entornos cientficos con el objeto de almacenar la informacin experimental. Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios pases. Por ejemplo en Espaa, los datos personales se encuentran protegidos por la Ley Orgnica de Proteccin de Datos de Carcter Personal (LOPD) y en Mxico por la Ley Federal de Transparencia y Acceso a la Informacin Pblica Gubernamental. Tipos de base de datos Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se est manejando, la utilidad de las mismas o las necesidades que satisfagan. Segn la variabilidad de la base de Datos Bases de datos estticas Son bases de datos de solo lectura, utilizadas primordialmente para almacenar datos histricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a travs del tiempo, realizar proyecciones, tomar decisiones y realizar anlisis de datos para inteligencia empresarial. Base de datos 2 Bases de datos dinmicas stas son bases de datos donde la informacin almacenada se modifica con el tiempo, permitiendo operaciones como actualizacin, borrado y edicin de datos, adems de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de informacin de un supermercado, una farmacia, un videoclub o una empresa. Segn el contenido Bases de datos bibliogrficas Slo contienen un subrogante (representante) de la fuente primaria, que permite localizarla. Un registro tpico de una base de datos bibliogrfica contiene informacin sobre el autor, fecha de publicacin, editorial, ttulo, edicin, de una determinada publicacin, etc. Puede contener un resumen o extracto de la publicacin original, pero nunca el texto completo, porque si no, estaramos en presencia de una base de datos a texto completo (o de fuentes primarias ver ms abajo). Como su nombre lo indica, el contenido son cifras o nmeros. Por ejemplo, una coleccin de resultados de anlisis de laboratorio, entre otras. Bases de datos de texto completo Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una coleccin de revistas cientficas. Directorios Un ejemplo son las guas telefnicas en formato electrnico. Bases de datos o "bibliotecas" de informacin qumica o biolgica Son bases de datos que almacenan diferentes tipos de informacin proveniente de la qumica, las ciencias de la vida o mdicas. Se pueden considerar en varios subtipos: Las que almacenan secuencias de nucletidos o protenas. Las bases de datos de rutas metablicas. Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomolculas- Bases de datos clnicas. Bases de datos bibliogrficas (biolgicas, qumicas, mdicas y de otros campos): PubChem, Medline, EBSCOhost. Modelos de bases de datos Adems de la clasificacin por la funcin de las bases de datos, stas tambin se pueden clasificar de acuerdo a su modelo de administracin de datos. Un modelo de datos es bsicamente una "descripcin" de algo conocido como contenedor de datos (algo en donde se guarda la informacin), as como de los mtodos para almacenar y recuperar informacin de esos contenedores. Los modelos de datos no son cosas fsicas: son abstracciones que permiten la implementacin de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemticos. Algunos modelos con frecuencia utilizados en las bases de datos: Base de datos 3 Bases de datos jerrquicas En este modelo los datos se organizan en forma de rbol invertido (algunos dicen raz), en donde un nodo padre de informacin puede tener varios hijos. El nodo que no tiene padres es llamado raz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerrquicas son especialmente tiles en el caso de aplicaciones que manejan un gran volumen de informacin y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. Base de datos de red ste es un modelo ligeramente distinto del jerrquico; su diferencia fundamental es la modificacin del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerrquico). Fue una gran mejora con respecto al modelo jerrquico, ya que ofreca una solucin eficiente al problema de redundancia de datos; pero, an as, la dificultad que significa administrar la informacin en una base de datos de red ha significado que sea un modelo utilizado en su mayora por programadores ms que por usuarios finales. Bases de datos transaccionales Son bases de datos cuyo nico fin es el envo y recepcin de datos a grandes velocidades, estas bases son muy poco comunes y estn dirigidas por lo general al entorno de anlisis de calidad, datos de produccin e industrial, es importante entender que su fin nico es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicacin de informacin no es un problema como con las dems bases de datos, por lo general para poderlas aprovechar al mximo permiten algn tipo de conectividad a bases de datos relacionales. Un ejemplo habitual de transaccin es el traspaso de una cantidad de dinero entre cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el saldo de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que no aparezca o desaparezca dinero), las dos operaciones deben ser atmicas, es decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso una cada del sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no se ha realizado ninguna. Bases de datos relacionales ste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinmicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San Jos (California), no tard en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podran considerarse en forma lgica como conjuntos de datos llamados "tuplas". Pese a que sta es la teora de las bases de datos relacionales creadas por Codd, la mayora de las veces se conceptualiza de una manera ms fcil de imaginar. Esto es pensando en cada relacin como si fuese una tabla que est compuesta por registros (las filas de una tabla), que representaran las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable ventaja de que es ms fcil de entender y de utilizar para un usuario espordico de la base de datos. La informacin puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la informacin. El lenguaje ms habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estndar implementado por los principales motores o sistemas de gestin de bases de datos relacionales. Base de datos 4 Durante su diseo, una base de datos relacional pasa por un proceso al que se le conoce como normalizacin de una base de datos. Durante los aos 80 la aparicin de dBASE produjo una revolucin en los lenguajes de programacin y sistemas de administracin de datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestin. Bases de datos multidimensionales Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creacin de Cubos OLAP. Bsicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podra serlo tambin en una base de datos multidimensional), la diferencia est ms bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan mtricas que se desean estudiar. Bases de datos orientadas a objetos Este modelo, bastante reciente, y propio de los modelos informticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos: Encapsulacin - Propiedad que permite ocultar la informacin al resto de los objetos, impidiendo as accesos incorrectos o conflictos. Herencia - Propiedad a travs de la cual los objetos heredan comportamiento dentro de una jerarqua de clases. Polimorfismo - Propiedad de una operacin mediante la cual puede ser aplicada a distintos tipos de objetos. En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definicin de la base de datos. Una operacin (llamada funcin) se especifica en dos partes. La interfaz (o signatura) de una operacin incluye el nombre de la operacin y los tipos de datos de sus argumentos (o parmetros). La implementacin (o mtodo) de la operacin se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicacin de los usuarios pueden operar sobre los datos invocando a dichas operaciones a travs de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podra denominarse independencia entre programas y operaciones. SQL:2003, es el estndar de SQL92 ampliado, soporta los conceptos orientados a objetos y mantiene la compatibilidad con SQL92. Bases de datos documentales Permiten la indexacin a texto completo, y en lneas generales realizar bsquedas ms potentes. Tesaurus es un sistema de ndices optimizado para este tipo de bases de datos. Bases de datos deductivas Un sistema de base de datos deductiva, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a travs de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. Las bases de datos deductivas son tambin llamadas bases de datos lgicas, a raz de que se basa en lgica matemtica. Este tipo de base de datos surge debido a las limitaciones de la Base de Datos Relacional de responder a consultas recursivas y de deducir relaciones indirectas de los datos almacenados en la base de datos. Base de datos 5 Lenguaje Utiliza un subconjunto del lenguaje Prolog llamado Datalog el cual es declarativo y permite al ordenador hacer deducciones para contestar a consultas basndose en los hechos y reglas almacenados. Ventajas Uso de reglas lgicas para expresar las consultas. Permite responder consultas recursivas. Cuenta con negaciones estratificadas Capacidad de obtener nueva informacin a travs de la ya almacenada en la base de datos mediante inferencia. Uso de algoritmos de optimizacin de consultas. Soporta objetos y conjuntos complejos. Fases Fase de Interrogacin: se encarga de buscar en la base de datos informaciones deducibles implcitas. Las reglas de esta fase se denominan reglas de derivacin. Fase de Modificacin: se encarga de aadir a la base de datos nuevas informaciones deducibles. Las reglas de esta fase se denominan reglas de generacin. Interpretacin Encontramos dos teoras de interpretacin de las bases de datos deductiva consideramos las reglas y los hechos como axiomas. Los hechos son axiomas base que se consideran como verdaderos y no contienen variables. Las reglas son axiomas deductivos ya que se utilizan para deducir nuevos hechos. Teora de Modelos: una interpretacin es llamada modelo cuando para un conjunto especfico de reglas, stas se cumplen siempre para esa interpretacin. Consiste en asignar a un predicado todas las combinaciones de valores y argumentos de un dominio de valores constantes dado. A continuacin se debe verificar si ese predicado es verdadero o falso. Mecanismos Existen dos mecanismos de inferencia: Ascendente: donde se parte de los hechos y se obtiene nuevos aplicando reglas de inferencia. Descendente: donde se parte del predicado (objetivo de la consulta realizada) e intenta encontrar similitudes entre las variables que nos lleven a hechos correctos almacenados en la base de datos. Sistema de Gestin de bases de datos distribuida (SGBD) La base de datos y el software SGBD pueden estar distribuidos en mltiples sitios conectados por una red. Hay de dos tipos: 1. Distribuidos homogneos: utilizan el mismo SGBD en mltiples sitios. 2. Distribuidos heterogneos: Da lugar a los SGBD federados o sistemas multibase de datos en los que los SGBD participantes tienen cierto grado de autonoma local y tienen acceso a varias bases de datos autnomas preexistentes almacenados en los SGBD, muchos de estos emplean una arquitectura cliente-servidor. Estas surgen debido a la existencia fsica de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder as a distintas universidades, sucursales de tiendas, etctera. Base de datos 6 Enlaces externos Wikimedia Commons alberga contenido multimedia sobre Base de datos. Commons Base de datos en Open Directory Project [1] Referencias [1] http:/ / www. dmoz. org/ Computers/ Data_Formats/ Database/ Sistema de gestin de bases de datos Un sistema de gestin de bases de datos (SGBD) 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 usuarios pueden acceder a la informacin usando herramientas especficas de interrogacin y de generacin de informes, o bien mediante aplicaciones al efecto Los SGBD tambin proporcionan mtodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y 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. Hay muchos tipos de SGBD distintos segn manejen los datos y muchos tamaos distintos segn funcionen sobre ordenadores personales y con poca memoria a grandes sistemas que funcionan en mainframes con sistemas de almacenamiento especiales. 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. Las bases de datos y los sistemas para su gestin son esenciales para cualquier rea de negocio, y deben ser gestionados con esmero. Introduccin Las Bases de Datos generalmente funcionan en ordenadores dedicados. Por las prestaciones requeridas, generalmente funcionan en ordenadores multi-procesador con abundante memoria. Para el almacenaje de los datos puede contar con sistemas de disco propio (DAS), puede conectarse a una red de almacenamiento (SAN) o conectarse a un sistema de almacenamiento en red (NAS). Existen aceleradores hardware, usados en grandes sistema de proceso de transacciones. Los SGBD se encuentran en el corazn de toda aplicacin que maneje datos. Los SGBD se basan en sistemas operativos estndar para efectuar dichas funciones. Historia Las Bases de Datos han estado en uso desde los primeros das de los ordenadores electrnicos. A diferencia de los sistemas modernos, que se pueden aplicar a datos y necesidades muy diferentes, la mayor parte de los sistemas originales estaban enfocados a bases de datos especficas y pensados para ganar velocidad a costa de perder flexibilidad. Los SGBD originales slo estaban a disposicin de las grandes organizaciones que podan disponer de los complejos ordenadores necesarios. Sistema de gestin de bases de datos 7 Sistemas de navegacin de 1960 Segn los ordenadores fueron ganando velocidad y capacidad, aparecieron sistemas de bases de datos de propsito general; a mediados de 1960 ya haban algunos sistemas en uso. Apareci el inters en obtener un estndar y Charles Bachman -autor de uno de los primeros productos, el Integrated Data Store (IDS)- fund el "Database Task Group" dentro de CODASYL, el grupo responsable de la creacin y estandarizacin de COBOL. En 1971 publicaron su estndar, que pas a ser conocido como la "aproximacin CODASYL", y en breve aparecieron algunos productos basados en esta lnea. La estrategia de CODASYL estaba basada en la navegacin manual por un conjunto de datos enlazados en red. Cuando se arrancaba la base de datos, el programa devolva un enlace al primer registro de la base de datos, el cual a su vez contena punteros a otros datos. Para encontrar un registro concreto el programador deba ir siguiendo punteros hasta llegar al registro buscado. Para responder a preguntas sencillas como "buscar todas las personas en Japn" el programa deba recorrer todos los datos para escoger los registros correctos. Esencialmente no existan los conceptos "buscar" ni "encontrar" que sera inaceptable hoy en da, pero que en los tiempos en que los datos se guardaban en cintas no era viable llevarlos a la prctica. Se encontraron soluciones a muchos de esos problemas. El fabricante Prime cre un SGBD ajustado a CODASYL basado en rboles binarios que atajaba la navegacin de registro en registro proveyendo caminos alternativos de acceso. Tambin aportaba un lenguaje de interrogacin muy claro. De hecho no hay razn para no poder aplicar los conceptos de normalizacin a bases de datos CODASYL, pero en ltimo trmino CODASYL resultaba muy complejo y requera de mucho esfuerzo y prctica para producir una aplicacin til. IBM tambin tena su SGBD propio en 1968, conocido como IMS. Se trataba de un software desarrollado para el programa Apolo sobre System/360. IMS tena conceptos similares a CODASYL, pero usaba una jerarqua estricta de ordenacin de los datos, frente a la estructura en red de CODASYL. Ambos conceptos fueron englobados posterioremnte en el concepto de Bases de Datos de navegacin debido al modo de acceso a los datos, de hecho Bachman recibi al premio Turing en 1973 por su ponencia "El programador como navegador". Sistemas relacionales de 1970 Tabla en el modelo relacional Edgar Codd trabajaba en IBM, en una de esas oficinas perifricas que estaba dedicada principalmente al desarrollo de discos duros. Estaba descontento con el modelo de navegacin CODASYL, principalmente con la falta de operacin de bsqueda. En 1970 escribi algunos artculos en los que perfilaba una nueva aproximacin que culmin en el documento "A Relational Model of Data for Large Shared Data Banks" [1] . En este artculo descubri un nuevo sistema para almacenar y trabajar con grandes bases de datos. En vez de almacenar registros de tipo arbitrario en una lista encadenada como en CODASYL, la idea de Codd era usar una "tabla" de registros de tamao fijo. Una lista encadenada tiene muy poca eficiencia al almacenar datos dispersos donde algunos de los datos de un registro pueden dejarse en blanco. El modelo relacional resuelve esto dividiendo los datos en una serie de tablas -o relaciones- normalizadas, en las que los elementos optativos han sido extrados de la tabla principal para que ocupen espacio slo si lo necesitan. En este modelo relacional los registros relacionados se enlazan con una "clave". Un uso comn de las BASES DE DATOS puede mantener una agenda de usuarios, su nombre, informacin de acceso, direccin y telfono. En la solucin de navegacin todos esos datos estara localizados en un solo registro, y las caractersticas no usadas simplemente no estaran en la base de datos. En la solucin relacional, los datos estaran normalizados en una tabla de usuario, una de telfono y una de direccin, en la que seran aadidos registros si Sistema de gestin de bases de datos 8 tuviramos que incorporar telfono y direccin. Reconciliar toda la informacin es la clave de este sistema. En el modelo relacional, una parte de la informacin se usa como clave, identificando de manera biunvoca un registro concreto. Cuando se recopila informacin acerca de un usuario, se acceder a la informacin de las tablas optativas buscando mediante esa clave . Por ejemplo si el nombre de usuario es nico, la direccin y nmero de telfono de ese usuario ser guardada con el nombre de usuario como clave. La recopilacin de esta informacin en un solo registro es algo para lo que los lenguajes tradicionales no estn pensados. As como el enfoque de navegacin requiere programas que realicen bucles para recolectar registros, el enfoque relacional tambin los requerir. La solucin de Codd para los necesarios bucles se basa en un lenguaje orientado a conjuntos, una sugerencia que ms tarde cristalizara en el ubicuo SQL. Plante el uso de una rama del lgebra llamada clculo de tuplas, y demonstr que con ella se podran realizar todas las operaciones tpicas sobre una base de datos, adems de extraer conjuntos de datos de una forma sencilla. El artculo de Codd cayo en manos de dos personas en Berkeley, Eugene Wong y Michael Stonebraker. Ellos comenzaron un proyecto llamado INGRES con fondos asignados a un proyecto de base de datos geogrfica programada por los estudiantes. Comenzando en 1973, INGRES produjo sus primeras versiones de prueba que estuvieron listas para uso general en 1979. INGRES era muy similar a System R de IBM en varios aspectos, incluyendo un lenguaje para acceso a los datos, conocido como QUEL. Con el paso del tiempo, INGRES adopto el estndar SQL. IBM realiz una implementacin de prueba del modelo relacional -PRTV- y una de produccin -Business System 12- ambas descontinuadas. Honeywell escribi MRDS para Multics, y aparecen tambin dos nuevas implementaciones: Alphora Dataphor y Rel. La mayora de las dems implementaciones de SGBD llamados relacionales son en realidad SGBD SQL. En la dcada de 1970, la Universidad de Michigan comenz el desarrollo del MICRO Information Management System basado en el modelo terico de datos de D.L. Childs. Micro fue utilizado para gestionar gran cantidad de datos en el Departamento de trabajo del gobierno US. Corra en mainframe usando Michigan Terminal System. Estuvo en produccin hasta 1998. Sistemas SQL de finales de la d cada 1970 IBM comenz a trabajar a principios de 1970 en un prototipo lejnamente basado en los conceptos de Codd llamndolo System R. La primera versin estuvo lista en 1974/5, y comenz as el trabajo en sistemas multi-tabla, en los que los datos podan digregarse de modo que toda la informacin de un registro (alguna de la cual es opcional) no tiene que estar almacenada en un nico trozo grande. Las versiones multi-usuario siguientes fueron probadas por los usuarios en 1978 y 1979, tiempo por el que un lenguaje SQL haba sido estandarizado. Las ideas de Codd se revelaron como operativas y superiores a las de CODASYL, lanzando a IBM al desarrollo de una verdadera versin de produccin de System R, conocido como SQL/DS, y posteriormente como Database 2 (DB2). Muchos de los tcnicos de INGRES estaban seguros del xito comercial del sistema, y formaron sus propias compaas para comercializar el desarrollo pero con un interfaz SQL. Sybase, Informix, NonStop SQL y la misma INGRES se vendan como derivados del INGRES original en los aos 1980. Incluso el SQL Server de Microsoft est basado en Sybase, y por consiguiente en INGRES. Slo Larry Ellison -el fundador de Oracle- comenz un nuevo camino basado en el artculo de IBM sobre System R, y aventaj a IBM sacando al mercado su primera versin en 1978. Stonebraker aplic las lecciones de INGRES al desarrollo de una nueva base de datos -Postgres- conocida ahora como PostgreSQL. PostgreSQL se utiliza para muchas aplicaciones crticas (los registros de dominios .org y .info lo usan para su almacenamiento primario, as como grandes compaas e instituciones financieras). Sistema de gestin de bases de datos 9 En Suecia, el artculo de Codd gener la base de datos Mimer SQL en la universidad de Uppsala. En 1984 este proyecto se consolid en una compaa independiente. A principios de 1980, Mimer introdujo la gestin de transacciones para dar robustez a las aplicaciones, una idea que fue recogida en muchos otros SGBD. Sistemas orientados a objetos de 1980 Durante la dcada de 1980 el auge de la programacin orientada a objetos influy en el modo de manejar la informacin de las bases de datos. Programadores y diseadores comenzaron a tratar los datos en las bases de datos como objetos. Esto quiere decir que si los datos de una persona estn en la base de datos, los atributos de la persona como direccin, telfono y edad se consideran que pertenecen a la persona, no son datos extraos. Esto permite establecer relaciones entre objetos y atributos, ms que entre campos individuales. Otro gran foco de atencin durante la dcada fue el incremento de velocidad y fiabilidad en el acceso. En 1989, dos profesores de la Universidad de Wisconsin publicaron un artculo en una conferencia ACM en el que exponan sus mtodos para mejorar las prestaciones de las bases de datos. La idea consista en replicar la informacin importante -y ms solicitada- en una base de datos temporal de pequeo tamao con enlaces a la base de datos principal. Esto implicaba que se poda buscar mucho ms rpido en la base de datos pequea que en la grande. Su mejora de prestaciones llev a la introduccin de la indizacin, incorporado en la totalidad de los SGBD. Sistemas NoSQL de 2000 El siglo XXI trajo una nueva tendencia en las bases de datos: el NoSQL. Esta tendencia introduca una lnea no relacional significativamente diferentes de las clsicas. No requieren por lo general esquemas fijos, evitan las operaciones join almacenando datos denormalizados y estn diseadas para escalar horizontalmente. La mayor parte de ellas pueden clasificarse como almacenes clave-valor o bases de datos orientadas a documentos. Recientemente ha habido una gran demanda de bases de datos distribuidas con tolerancia a particiones, pero de acuerdo con el teorema CAP no es posible conseguir un sistema distribuido que simultneamente proporcione consistencia, disponibilidad y tolerancia al particionado. Un sistema distribuido puede satisfacer slo dos de las tres restricciones a la vez. Por dicha razn muchas de las bases de datos NoSQL usan la llamada consistencia eventual para proporcionar disponibilidad y tolerancia al particionado, con un nivel mximo de consistencia de datos. Entre las aplicaciones ms populares encontramos MongoDB, MemcacheDB, Redis, CouchDB, Hazelcast, Apache Cassandra y HBase, todas ellas de cdigo abierto. Sistemas XML 2010 las Bases de Datos XML forman un subconjunto de las Bases de Datos NoSQL. Todas ellas usan el formato de almacenamiento XML, que est abierto, legible por humanos y mquinas y ampliamente usado para interoperabilidad. En esta categora encontramos: BaseX, eXist, MarkLogic Server, MonetDB/XQuery, Sedna. 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. Sistema de gestin de bases de datos 10 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. Lenguajes de modelacin Toda base de datos soportada por un SGBD debe tener unos esquemas modelados adecuadamente. Coincidiendo con la evolucin histrica de las bases de datos stas han utilizado distintos modelos. Los SGBD esperan un modelo determinado para poder acceder de forma simple a la base de datos. Estos modelos son: jerrquico en red relacional multidimensional de objetos Tambin se han utilizados listas invertidas. Estructura jerrquica Modelo de una base de datos jerrquica La estructura jerrquica fue usada en los SGBD de los primeros mainframe. Las relaciones entre registros forman una estructura en rbol. Esta estructura es simple pero inflexible ya que las relaciones estn confinadas al tipo 1:n. El sistema IMS de IBM y el RDM Mobile de Raima son ejemplos de bases de datos con mltiples jerarquas sobre el mismo conjunto de datos. RDM Mobile es un nuevo diseo de base de datos imbuida para una red de ordenadores mviles. La estructura jerrquica es usada hoy en da para almacenar informacin geogrfica principalmente. El modelo de base de datos jerrquica tiene un esquema en el que los datos se organizan en una estructura arbrea. Esta estructura permite representar relaciones padre/hijo: cada padre puede tener varios hijos, pero cada hijo ha de venir de slo un padre (las conocidas como relaciones 1:N). Todos los atributos de un registro especfico estn asociados a un tipo de entidad. Este modelo fue creado por IBM en 1960. En una base de datos una entidad tipo es el trmino genrico para tabla. Cada registro individual se representa como una fila, y cada atributo como una columna. Las entidades tipo se relacionan entre ellas usando correspondencias 1:N. Actualmente las bases de datos jerrquicas ms utilizadas son IMS de IBM y el Registro de Windows de Microsoft. Sistema de gestin de bases de datos 11 Estructura en red Modelo de base de datos en red Esta estructure contiene relaciones ms complejas que las jerrquicas. Admite relaciones de cada registro con varios que se pueden seguir por distintos caminos. En otras palabras, el modelo permite relaciones N:N. El modelo en red est concebido como un modo flexible de representar objetos y sus relaciones. Su cualidad distintiva es que el esquema -visto como un conjunto de nodos conectados por arcos- no tiene ninguna restriccin. El inventor de este modelo fue Charles Bachman, y el estndar fue publicado en 1969 por CODASYL. La estructura relacional Ejemplo de tablas y relaciones La estructura relacional es la ms extendida hoy en da. Se usa en mainframes, ordenadores medios y micro-computadores. Almacena los datos en filas (tuplas) y columnas (atributos). Estas tablas pueden estar conectadas entre s por claves comunes. Mientras trabajaba en IBM en 1972, E.F. Codd concibi esta estructura. El modelo no resulta sencillo de interrogar por el usuario ya que puede requerir una compleja combinacin de tablas. La estructura multidimensional Cubos representando 4 dimensiones en base de datos multidimensional La estructura multidimensional tiene parecidos a la del modelo relacional, pero en vez de las dos dimensiones filas-columnas, tiene N dimensiones. Esta estructura ofrece el aspecto de una hoja de clculo. Es fcil de mantener y entender ya que los registros se almacenan del mismo modo como se ven. Sus altas prestaciones han hecho de ella la base de datos ms popular para el proceso analtico de transacciones en lnea (OLAP). Sistema de gestin de bases de datos 12 La estructura orientada a objetos Ejemplo de base de datos conteniendo objetos y herencias La estructura orientada a objetos est diseada siguiendo el paradigma de los lenguajes orientados a objetos. De este modo soporta los tipos de datos grficos, imgenes, voz y texto de manera natural. Esta estructura tiene gran difusin en aplicaciones web para aplicaciones multi-media. Antes de la implantacin de los SGBD con estructura orientada a objetos, el almacenamiento de datos multi-media se basaba en el sistema de ficheros para organizar, almacenar y procesar los datos. El proceso de ficheros es engorroso, costoso e inflexible. La redundancia de los datos es un inconveniente del proceso de ficheros ya que los ficheros independientes producen ficheros duplicados con su implicacin en el espacio necesario. Otro inconveniente es la falta de integracin, y la dificultad de mantenimiento. Esto fue encaminado aplicando la orientacin a objetos a los datos. Lenguajes de consulta Los lenguajes de consulta de bases de datos y de generacin de informes permiten interrogar a la base de datos, analizar los datos y actualizarlos segn los privilegios de cada usuario. Tambin controla la seguridad de la base de datos para prevenir accesos no autorizados que vean, borren o cambien los datos. Mediante el uso de claves se permite el acceso a toda la base de datos o a parte de ella. A modo de ejemplo, una base de datos de empleados puede contener todos los datos de los empleados, pero slo un grupo de usuarios puede estar autorizado a ver las nminas mientras que otros pueden estar autorizados a ver slo las historias laborales y los datos mdicos. Si el SGBD proporciona un modo de acceder y actualizar la base de datos, as como de consultarla, ste posibilitar la creacin de bases de datos personales. Sin embargo, le faltara la capacidad de dejar trazas de las acciones o los controles necesarios que necesita la base de datos de una gran organizacin. Estos controles estn slo disponibles cuando un conjunto de programas auxiliares supervisan los accesos y actualizaciones de los datos. 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... 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. Sistema de gestin de bases de datos 13 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. Referencias [1] Codd, E.F. (1970). "A Relational Model of Data for Large Shared Data Banks" (http:/ / www. seas. upenn. edu/ ~zives/ 03f/ cis550/ codd. pdf). In: Communications of the ACM 13 (6): 377387. Fuentes y contribuyentes del artculo 14 Fuentes y contribuyentes del artculo Base de datos Fuente: http://es.wikipedia.org/w/index.php?oldid=72379906 Contribuyentes: .Sergio, 3coma14, Achicoria, AdeVega, Advarg, Airunp, Aleator, Alexav8, Alhen, Alphabravotango, Andreasmperu, Angelito7, Angus, AnselmiJuan, Antonorsi, Antur, Armando-Martin, Armin76, Arrt-932, Ascnder, Axvolution, Aipni-Lovrij, Baiji, Baldur71, Bambadee, Banfield, Belb, Biasoli, Bigsus, BlackBeast, BuenaGente, Carrillo1, Cesar4545, ChaTo, Chimbala, Cinabrium, Claudio Elias, Comae, Correogsk, DJ Nietzsche, DLeandroc, DaminDV, Dangelin5, Daniel G., David0811, Davidaldana1592012, Diegusjaimes, Diotime, Dodo, Dpr, Dreitmen, Ecemaml, Edc.Edc, Eddanlo, Ediazrod, Eduardosalg, Edub, Eli22, Elisardojm, Elwikipedista, Emiduronte, Equi, Er Komandante, Er javi 93, FAR, Fabio.morales, Fcr, Fernandopcg, Fitoschido, Foundling, FrancoGG, Furti, Gaabriieelaa, Gabriel Acquistapace, Gacq, Ganmedes, GermanX, Giliofelix, Gins90, Gizmo II, Globalphilosophy, Gonis, Googolplanck, Grivadeneira, HUB, HUEVOCHIPS, Halfdrag, Hispa, Humbefa, Humberto, Icvav, Irbian, Isha, Ivanpares, JMPerez, Jcaraballo, Jesuja, Jgalgarra, Jkbw, Jomarocas, Jonik, JorgeGG, Jospaor, Jsanchezes, Jugones55, Juvalen, Kismalac, Klondike, Kokoo, Lazamazu, Leonardo, Leonpolanco, Levhita, Linux65, LlamaAl, Lourdes Cardenal, Lovefamosos, Maca eglarest, MadriCR, Mafores, Magister Mathematicae, Maldoror, Mansoncc, ManuelGR, MarcoAurelio, Matdrodes, Mega-buses, Mel 23, Miguel6666, Mikelo, Milestones, Miss Manzana, Montgomery, Moriel, Mortadelo2005, Muro de Aguas, Murven, Mutari, Napolen333, Nelauxiliadora, NicolasAlejandro, No s qu nick poner, Nonick, Nubecosmica, OMenda, Olivares86, Opinador, Orgullomoore, Osado, Otermin, PACO, Pablin3, Pabloab, Pablotorres, Pacolope, PeiT, Petruss, Pieter, Piipeozpiina, Ppfk, Plux, Qwertymith, Raquel.cagigas, Renacimiento, Ricardogpn, Richi pele, Richi peleamela, Roberto81, RocioMejia555, Roinpa, Rosarino, RoyFocker, Rsg, Rubpe19, Rumpelstiltskin, Ruy Pugliesi, Sabbut, Sammyfunster, Sanbec, Satans va de retro, Sauron, Savh, Sergio Andres Segovia, Shalbat, Shasa, Soulreaper, Sramco, SuperBraulio13, Superzerocool, Taichi, Takashi kurita, Tano4595, Taragui, Technopat, TheDemon666, Tirithel, Tomatejc, Tostadora, Travelour, UA31, VARGUX, Vitamine, Waka Waka, Wesisnay, Wpersei, Xenoforme, Xpel1, Yamaneko, Yrithinnd, ZackBsAs, Zanorte, Zuirdj, conversion script, 1570 ediciones annimas Sistema de gestin de bases de datos Fuente: http://es.wikipedia.org/w/index.php?oldid=72221792 Contribuyentes: 123xt, 4lex, Aaron alex28, Agmesas, Alelapenya, Angelito7, AnselmiJuan, Banfield, Biasoli, Capoquakeman, CarlosBeto, Centroamericano, Creosota, Diegusjaimes, Dodo, Eduardosalg, Emiduronte, Erving Rousseau, Fitoschido, Gblas.ivan, Helmy oved, Hprmedina, Humbefa, Igna, Jkbw, Josefelipeic, Juvalen, Leonpolanco, Leugim1972, Lufegero, Montgomery, Nagb1992, Neopedo, Netito777, Nioger, Olivares86, Poco a poco, Rafa3040, Ricardogpn, Riviera, Robertorp, Savh, SuperBraulio13, Superzerocool, Technopat, Tirithel, UA31, Vetranio, 261 ediciones annimas Fuentes de imagen, Licencias y contribuyentes 15 Fuentes de imagen, Licencias y contribuyentes Archivo:OOo-2.0-Base-ca.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:OOo-2.0-Base-ca.png Licencia: GNU Lesser General Public License Contribuyentes: German, Iradigalesc Archivo:Commons-logo.svg Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Commons-logo.svg Licencia: logo Contribuyentes: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version, created by Reidab. Archivo:1tabla.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:1tabla.png Licencia: Creative Commons Attribution-Sharealike 3.0 Contribuyentes: User:Juvalen Archivo:DB jerarquica.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:DB_jerarquica.png Licencia: Creative Commons Attribution-Sharealike 3.0 Contribuyentes: User:Juvalen File:DB red.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:DB_red.png Licencia: Creative Commons Attribution-Sharealike 3.0 Contribuyentes: User:Juvalen Archivo:Tablas y estructura relacional.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Tablas_y_estructura_relacional.png Licencia: Creative Commons Attribution-Sharealike 3.0 Contribuyentes: User:Juvalen Archivo:Cubos en estructura multidimensional.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Cubos_en_estructura_multidimensional.png Licencia: Creative Commons Attribution-Sharealike 3.0 Contribuyentes: User:Juvalen Archivo:Estructura orientada a objetos.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Estructura_orientada_a_objetos.png Licencia: Creative Commons Attribution-Sharealike 3.0 Contribuyentes: User:Juvalen Licencia 16 Licencia Creative Commons Attribution-Share Alike 3.0 //creativecommons.org/licenses/by-sa/3.0/