MODELOS DE BASE DE DATOS
Composición de cinco modelos de base de datos
Un modelo de base de datos (Data
Información Estructurada) es un tipo de modelo de datos que determina la
estructura lógica de una base de datos y de manera fundamental
determina el modo de almacenar, organizar y manipular los datos.
Entre los modelos lógicos comunes para bases de datos se
encuentran:
- Modelo jerárquico
- Modelo en red
- Modelo relacional
- Modelo entidad–relación
- Modelo entidad–relación extendido
- Base de datos orientada a objetos
- Modelo documental
- Modelo entidad–atributo–valor
- Modelo en estrella
Relaciones y funciones
Un sistema de gestión de base de datos puede
implementar uno o varios modelos. La estructura óptima depende de la natural
organización de los datos de la aplicación y de los requisitos de ésta, que
incluyen ritmo de transacciones, fiabilidad, mantenibilidad, escalabilidad y
coste. La mayor parte de los sistemas de gestión de bases de datos están
construidos sobre un modelo de datos concreto, aunque es posible que soporten
más de uno.
Sobre los distintos modelos físicos de datos se puede
implementar cualquier modelo lógico. La mayoría del software de
base de datos ofrece al usuario cierto control sobre la implementación física,
dado el impacto que tiene en las prestaciones.
Un modelo no es sólo un modo de estructurar los datos:
también 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 explícitamente en un lenguaje de consultas
dado, proporcionan la base sobre la que un lenguaje de consultas se diseña.

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 están
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 número de coma flotante. Este modelo tabular fue el precursor del modelo
relacional.
Modelos tempranos
Estos modelos que se describen a continuación fueron
populares en las décadas 1960-1970, pero hoy en día se encuentran sólo en
sistemas heredados. Se caracterizan principalmente por tener características de
navegación con fuertes conexiones entre la estructura física y la lógica, y
poseen alta dependencia en los datos.
Modelo jerárquico
Modelo jerárquico
En un modelo jerárquico, los datos están organizados en
una estructura arbórea (dibujada como árbol invertido o raíz), lo que implica
que cada registro sólo tiene un padre. Las estructuras jerárquicas fueron
usadas extensamente en los primeros sistemas de gestión 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 párrafos y cualquier tipo de información
anidada.
Sin embargo, la estructura jerárquica es ineficiente para
ciertas operaciones de base de datos cuando el camino completo no se incluye en
cada registro. Una limitación del modelo jerárquico es su incapacidad para
representar de manera eficiente la redundancia en datos.
En la relación Padre-hijo: El hijo sólo puede tener un
padre pero un padre puede tener múltiples hijos. Los padres e hijos están
unidos por enlaces. Todo nodo tendrá una lista de enlaces a sus hijos.
Modelo de red
Modelo en red
El modelo de red expande la estructura jerárquica,
permitiendo relaciones N:N en una estructura tipo árbol que permite múltiples
padres. Antes de la llegada del modelo relacional, el modelo en red era el más
popular para las bases de datos. Este modelo de red (definido por la
especificación CODASYL) organiza datos que usan en dos construcciones básicas,
registros y conjuntos. Los registros contienen campos que puede estar
organizados jerárquicamente, 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 número de conjuntos.
El modelo en red es una generalización del modelo
jerárquico, en tanto está construido sobre el concepto de múltiples ramas
(estructuras de nivel inferior) emanando de uno o varios nodos (estructuras de
nivel alto), mientras el modelo se diferencia del modelo jerárquico en que las
ramas pueden estar unidas a múltiples nodos. El modelo de red es capaz de
representar la redundancia en datos de una manera más eficiente que en el
modelo jerárquico.
Las operaciones del modelo de red se realizan por de
navegación: un programa mantiene la posición actual, y navega entre registros
siguiendo las relaciones entre ellos. Los registros también pueden ser
localizados por valores claves.
Aunque no es una característica esencial del modelo, las
bases de datos en red implementan sus relaciones mediante punteros directos al
disco. Esto da una velocidad de recuperación excelente, pero penaliza las
operaciones de carga y reorganización.
Entre los SGBD más 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 además sus
herramientas y lenguajes originales.
La mayoría de bases de datos orientadas a objetos (introducidas
en 1990) usan el concepto de navegación para proporcionar acceso rápido 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
también soportan SQL, combinando así la potencia de ambos modelos.
Modelo relacional

El modelo fue introducido por E.F. Codd en 1970
con el objetivo de querer hacer los SGBD más independientes de las
aplicaciones. Es un modelo matemático definido en términos de lógica de
predicados y teoría 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 sólo una aproximación al
modelo matemático definido por Codd. Existen tres términos usados con profusión
en el modelo relacional de bases de datos: relaciones, atributos y dominios.
Una relación equivale a una tabla con filas y columnas. Las columnas de una
relación se llaman con rigor atributos, y el dominio es el conjunto de valores
que cada atributo puede tomar.
La estructura básica de datos del modelo relacional es la
relación (tabla), donde la información acerca de una determinada entidad (p. ej.
"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", dirección y número
de teléfono, p. ej.), de modo que cada tupla de la relación
"empleado" representa un empleado específico guardando los datos de
ese empleado concreto.
Todas las relaciones (es decir, tablas) en una base de
datos relacional han de seguir unas mínimas reglas:
- el orden de los atributos es irrelevante
- no puede haber tuplas repetidas
- cada atributo sólo 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 relación entre esos dos registros. Es posible también
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 unívoca una
fila en una tabla se denomina "clave primaria". Las claves son
habitualmente utilizadas para combinar datos de dos o más 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 recuperación rápidas de datos de tablas grandes. Una
clave puede estar formada por cualquier columna o por una combinación de varias
columnas, denominándose 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 físico
(tal como un nombre de persona, el ISBN de un libro o el número de
serie de un coche) a veces se denomina clave "natural". Si no existe
una clave natural viable, se puede asignar un sucedáneo arbitrario (como dar a
una persona un número de empleado). En la práctica la mayor parte de las bases
de datos tienen a la vez claves sucedáneas y naturales, dado que las claves
sucedáneas 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 interrogación más común utilizado con las
bases de datos relacionales es el Structured Query Language (SQL).
Modelo dimensional

El modelo dimensional es una adaptación especializada del
modelo relacional usada para almacenar datos en depósitos de datos, de modo que
los datos fácilmente puedan ser extraídos 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 dimensión proporciona
el contexto de un hecho (como quien participó, cuando y donde pasó, y su tipo).
Las dimensiones se toman en cuenta en la formulación de las consultas para
agrupar hechos que están relacionados. Las dimensiones tienden a ser discretas
y son a menudo jerárquicas; por ejemplo, la ubicación podría incluir el
edificio, el estado y el país. 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 añadidos juntos para crear un informe. El modelo dimensional a
menudo es puesto en práctica 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 podrían ser
representadas usando múltiples tablas, usando un esquema de copo de nieve.
Un almacén de datos (data warehouse) puede
contener múltiples esquemas de estrella que comparten tablas de dimensión,
permitiéndoles ser usadas juntas. El establecimiento de un conjunto de
dimensiones estándar es una parte importante del modelado dimensional.
Modelos post-relacionales
Los productos que ofrecen un modelo de datos más general
que el relacional se denominan a veces post-relational. Como
términos alternativos se oyen incluyen "bases de datos híbridas",
"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 información de E.F. Codd, que requiere
que toda información en la base de datos debe ser modelada en términos de
valores en relaciones nada más
Algunas de estas extensiones al modelo relacional
integran conceptos de tecnologías que preceden el modelo relacional. Por
ejemplo permiten representar un grafo dirigido con árboles en los nodos. La
compañía sones implementa este concepto en su GraphDB.
Algunos productos post-relacionales amplían los sistemas
relacionales con caracterśiticas no relacionales. Otros han llegado al mismo
punto añadiendo características relacionales a modelos pre-relacionales.
Paradójicamente esto ha permitido a productos históricamente 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 clasificación multi-dimensional.
Modelo de grafo
Las bases de datos de grafos permiten incluso una
estructura más general que una base de datos en red, cualquier nodo puede estar
conectado a cualquier otro.
Modelo 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 además permiten un nivel de profundidad al que las
relacionales sólo se pueden aproximar utilizando subtablas. Esto es
prácticamente igual al modo en que XML representa los datos, donde un
campo/atributo dado puede contener múltiples 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 opción de almacenar
los datos como una sola tabla (1), con tablas imbuidas representando el
detalle.
Tiene la ventaja que la correspondencia entre la factura
conceptual y la de la factura como representación de datos es biunívoca. Esto
redunda en menor número de lecturas, menos problemas de integridad referencial
y una fuerte disminución del hardware necesario para soportar
un volumen de transacciones dado.
Modelo orientado a objetos
Modelo orientado a objetos
En la década de 1990, el paradigma de la orientación 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 información de su
representación en la base de datos –como filas en tablas– a su representación
en el programa –típicamente como objeto–. Incluso más, los tipos de datos
usados en una aplicación 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 también introducen las ideas clave de la
programación orientada a objetos –encapsulación 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
programación, haciendo los objetos manipulados por el programa persistentes.
Esto típicamente requiere la adición de algún tipo de lenguaje de interrogación,
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 programación de dicha base de
datos que permite tanto capacidades de programación como de interrogación.
Las bases de datos orientadas a objetos sufren falta de
estandarización; aunque han sido definidos estándares por en Object Database
Management Group nunca han sido implementados con generalidad suficiente como
para permitir la interoperatibilidad entre productos. Sin embargo, las bases de
datos orientadas a objetos han sido empleadas eficazmente en distintas
aplicaciones: generalmente en nichos especializados como ingeniería o biología
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 traducción entre objetos y
relaciones es la de usar una librería Object-Relational Mapping (ORM).
DICCIONARIO DE DATOS
Access crea un formulario y lo abre en la vista
Presentación. En caso necesario, se pueden realizar cambios de diseño, como
ajustar el tamaño de los cuadros de texto para que quepan los datos. Para más
información, consulte el artículo sobre cómo usar la herramienta de formulario.
Crear un formulario en blanco en Access
Para crear un formulario sin controles ni elementos con
formato previo: en la pestaña Crear, haga clic en Formulario en blanco. Access
abre un formulario en blanco en la vista Presentación y muestra el panel Lista
de campos.
En este Lista de campos panel, haga clic en el signo más
(+) situado junto a la tabla o las tablas que contienen los campos que quiera
ver en el formulario.
Para agregar un campo al formulario, haga doble clic en
él o arrástrelo hasta el formulario. Para agregar varios campos a la vez,
mantenga presionada la tecla CTRL y haga clic en varios campos. Después,
arrástrelos todos juntos hasta el formulario.
Nota: El orden de las tablas en el panel Lista de campos
puede cambiar según qué parte del formulario esté seleccionada en ese momento.
Si no puede agregar un campo al formulario, pruebe a seleccionar otra parte
distinta e intente agregar el campo de nuevo.
Use las herramientas del grupo Controles en la pestaña
Herramientas de presentación de formulario para incluir en el formulario un
logotipo, un título, números de página o la fecha y la hora.
Si desea agregar una mayor variedad de controles al
formulario, haga clic en Diseño y use las herramientas del grupo Controles.
Crear un formulario dividido en Access
Un formulario dividido proporciona dos vistas de los
datos al mismo tiempo: una vista Formulario y una vista Hoja de datos. Este
formulario reporta las ventajas de ambos tipos de formularios en uno solo. Por
ejemplo, se puede usar la parte correspondiente a la hoja de datos para buscar
rápidamente un registro y, después, usar la parte correspondiente al formulario
para verlo o editarlo. Las dos vistas están conectadas al mismo origen de datos
y están en todo momento sincronizadas entre ellas.

Un formulario dividido en una base de datos de escritorio de Access
Para crear un formulario dividido con la herramienta
Formulario dividido, en el panel de navegación, haga clic en la tabla o
consulta que contiene los datos. Después, en la pestaña Crear, haga clic en Más
formularios y en Formulario dividido.
Access crea el formulario, en el que podrá realizar
cambios de diseño. Así, por ejemplo, puede ajustar el tamaño de los cuadros de
texto para que quepan los datos en caso necesario. Para aprender a usar un
formulario dividido, vea el artículo sobre cómo crear un formulario dividido.
Crear un formulario que muestre varios registros en Access
Un formulario de varios elementos (también denominado
formulario continuo) resulta útil si se desea disponer de un formulario que
muestre varios registros, pero que sea más personalizable que una hoja de
datos. Para crearlo se usa la herramienta Varios elementos.
En el panel de navegación, haga clic en la tabla o
consulta que contiene los datos que desee ver en el formulario.
En la pestaña Crear, haga clic en Más formularios > Varios elementos.
Access crea el formulario y lo abre en la vista
Presentación. En esta vista puede realizar cambios de diseño en el formulario
mientras visualiza los datos. Así, puede ajustar el tamaño de los cuadros de
texto para que quepan los datos. Para más información, vea Crear un formulario
mediante la herramienta Varios elementos.
Crear un formulario que contenga un subformulario en Access
A menudo, cuando trabaja con datos relacionados
almacenados en tablas distintas, necesita ver los datos de varias tablas o
consultas en el mismo formulario. Los subformularios son un buen modo de
lograrlo. Dado que existen varios modos de agregar un subformulario según las
necesidades, vea el artículo Crear un formulario que contiene un subformulario
(formulario de uno a varios) para obtener más información.
Crear un formulario de navegación en Access
Un formulario de navegación es, simplemente, un
formulario que contiene un control de navegación. Este tipo de formularios
constituye un enorme aliciente en cualquier base de datos, pero crear uno
resulta especialmente importante si tiene previsto publicar una base de datos
en la web, ya que el panel de navegación de Access no se muestra en un
explorador.
Abra la base de datos a la que vaya a agregar un
formulario de navegación.
En el grupo Formularios de la pestaña Crear, haga clic en
Navegación y elija el estilo de navegación que desee. Access crea el
formulario, le agrega el control de navegación y abre el formulario en la vista
Presentación. Para más información, vea Crear un formulario de navegación.
Comentarios
Publicar un comentario