Sunteți pe pagina 1din 8

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. Entre los modelos lgicos comunes para bases de datos se encuentran:

Modelo jerrquico Modelo en red Modelo relacional Modelo entidadrelacin Modelo entidadrelacin extendido Modelo de objetos Modelo documental Modelo entidadatributovalor Modelo en estrella

Los modelos fsicos de datos incluyen:


ndice invertido Fichero plano

Otros modelos lgicos pueden ser:


Modelo asociativo Modelo multidimensional Modelo multivalor Modelo semntico Base de datos XML Grafo etiquetado Triplestore

Relaciones y funciones: 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, mantenibilidad, 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. Sobre los distintos modelos fsicos de datos se puede implementar cualquier modelo lgico. La mayora del software de base de datos ofrece al

usuario cierto control sobre la implementacin fsica, dado el impacto que tiene en las prestaciones. Un modelo no es slo un modo de estructurar los datos: tambin define el conjunto de operaciones que se pueden realizar con los datos. Por ejemplo el modelo relacional define operaciones como SELECT y JOIN. Aunque esas operaciones no se ofrezcan explcitamente en un lenguaje de interrogacin dado, proporcionan la base sobre la que un lenguaje de interrogacin se disea.

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. Este modelo tabular fue el precursor del modelo relacional.

Modelos tempranos Estos modelos que se describen a continuacin fueron populares en las dcadas 1960-1970, pero hoy en da se encuentran slo en sistemas heredados. Se caracterizan principalmente por tener caractersticas de navegacin con fuertes conexiones entre la estructura fsica y la lgica, y poseen alta dependencia en los datos.

Modelo jerrquico En un modelo jerrquico, los datos estn organizados en una estructura arbrea (dibujada como rbol invertido o raz), lo que implica que cada registro slo tiene un padre. Las estructuras jerrquicas fueron usadas extensamente en los primeros sistemas de gestin de datos de unidad central, como el Sistema IMS por IBM, y ahora se usan para describir la estructura de documentos XML. 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. Sin embargo, la estructura jerrquica es ineficiente para ciertas operaciones de base de datos cuando el camino completo no se incluye en cada registro. 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. Antes de la llegada del modelo relacional, el modelo en red era el ms popular para las bases de datos. Este modelo de red (definido por la especificacin CODASYL) organiza datos que usan en dos construcciones bsicas, registros y conjuntos. Los registros contienen campos que puede estar organizados jerrquicamente, como en el lenguaje COBOL. Los conjuntos definen relaciones N:N entre registros: varios propietarios, varios miembros. Un registro puede ser un propietario de varios conjuntos, y miembro en cualquier nmero de conjuntos. 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. Entre los SGBD ms populares que tienen arquitectura en red se encuentran Total e IDMS. IDMS logr una importante base de usuarios; en 1980 adopt el modelo relacional y SQL, manteniendo adems sus herramientas y lenguajes originales. La mayora de bases de datos orientadas a objetos (introducidas en 1990) usan el concepto de navegacin para proporcionar acceso rpido entre objetos en una red. Objectivity/DB, por ejemplo, implementa 1:1, 1:N, N:1 y N:N entre distintas bases de datos. Muchas bases de datos orientadas a objetos tambin soportan SQL, combinando as la potencia de ambos modelos.

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. Implementaciones notables de este modelo de datos la realiz Adabas de Software AG, aparecida en 1970. Adabas logr una importante base de usuarios y est soportada an hoy. En la dcada de 1980 adopt el modelo relacional y SQL, manteniendo sus propias herramientas y lenguajes.

Modelo relacional El modelo relacional fue introducido por E.F. Codd en 1970 con el objetivo de querer hacer los SGBD ms independientes de las aplicaciones. Es un modelo matemtico definido en trminos de lgica de predicados y teora de conjuntos, y se han implementado con l SGBDs para mainframe, ordenadores medios y microordenadores. Los productos referidos como base de datos relacional de hecho implementan un modelo que es slo una aproximacin al modelo matemtico definido por Codd. 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: 1. el orden de los atributos es irrelevante. 2. no puede haber tuplas repetidas. 3. 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 combinar datos de dos o ms tablas. Por ejemplo una tabla de empleados puede contener una columna denominada "departamento"", cuyo valor coincida con la clave de una tabla denominada "departamentos". Las claves son esenciales a la hora de crear ndices, que facilitan la recuperacin rpida 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. Una clave que tenga un significado en el mundo fsico (tal como un nombre de persona, el ISBN de un libro o el nmero de serie de un coche) a veces se denomina clave "natural". Si no existe una clave natural viable, se puede asignar un sucedneo arbitrario (como dar a una persona un nmero de empleado). En la

prctica la mayor parte de las bases de datos tienen a la vez claves sucedneas y naturales, dado que las claves sucedneas pueden usarse internamente para crear enlaces ntegros entre filas, mientras que las claves naturales tienen un uso menos fiable a la hora de buscar o enlazar con otras bases de datos. 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 usado 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 trminos 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. Algunas de estas extensiones al modelo relacional integran conceptos de tecnologas que preceden el modelo relacional. Por ejemplo permiten representar un grafo dirigido con rboles en los nodos. La compaa sones implementa este concepto en su GraphDB. Algunos productos post-relacionales amplan los sistemas relacionales con caractersticas no relacionales. Otros han llegado al mismo punto aadiendo caractersticas relacionales a modelos pre-relacionales. Paradjicamente esto ha permitido a productos histricamente pre-relacionales, como por ejemplo PICK y MUMPS, razonar su esencia post-relactional. El Resource Space Model es un modelo de datos no relacional basado en clasificacin multi-dimensional.

Modelo de 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.

Modelo multivaluado 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).

S-ar putea să vă placă și