Mis Publicaciones!

jueves, 28 de octubre de 2010

NORMALIZACIÓN DE BASES DE DATOS


El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

Las bases de datos relacionales se normalizan para:

§ Evitar la redundancia de los datos.

§ Evitar problemas de actualización de los datos en las tablas.

§ Proteger la integridad de los datos.

En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:

§ Cada columna debe tener su nombre único.

§ No puede haber dos filas iguales. No se permiten los duplicados.

§ Todos los datos en una columna deben ser del mismo tipo.

TERMINOLOGÍA RELACIONAL EQUIVALENTE

§ Relación = tabla o archivo

§ Tupla = registro, fila o renglón

§ Atributo = columna o campo

§ Clave = llave o código de identificación

§ Clave Candidata = superclave mínima

§ Clave Primaria = clave candidata elegida

§ Clave Ajena = clave externa o clave foránea

§ Clave Alternativa = clave secundaria

§ Dependencia Multivaluada = dependencia multivalor

§ RDBMS = Del inglés Relational Data Base Manager System que significa, Sistema Gestor de Bases de Datos Relacionales.

§ 1FN = Significa, Primera Forma Normal o 1NF del inglés First Normal Form.

Los términos Relación, Tupla y Atributo derivan del álgebra y cálculo relacional, que constituyen la fuente teórica del modelo de base de datos relacional.

Todo atributo en una tabla tiene un dominio, el cual representa el conjunto de valores que el mismo puede tomar. Una instancia de una tabla puede verse entonces como un subconjunto del producto cartesiano entre los dominios de los atributos. Sin embargo, suele haber algunas diferencias con la analogía matemática, ya que algunos RDBMS permiten filas duplicadas, entre otras cosas. Finalmente, una tupla puede razonarse matemáticamente como un elemento del producto cartesiano entre los dominio.

TIPOS DE RELACION

DE BASES DE DATOS

Las diferentes formas de relación entre diversas bases de datos que podemos encontrar son:

Relaciones "uno a uno"

Estas relaciones entre bases de datos se dan cuando cada campo clave aparece sólo una vez en cada una de las tablas.

Tomando un ejemplo del mundo real, una clara relación de "uno a uno" podría ser, el nombre de cualquier persona y su número de teléfono. Si partimosdel supuesto en que cada persona tiene un solo número de teléfono, se podría hablar de una relación "uno a uno".

Este tipo de relaciones se caracteriza poque cad uno de los campos define a aquél con el que se relaciona. Es decir, conociendo el nombre de una persona podemos conocer su número telefónico. O si sabemos su número telefónico, podemos identificar al dueño. En estos cases, se suele aconsejar incluir todos los datos dentro de una sola tabla.

Relaciones de "uno a varios"

El ejemplo del caso anterior (cada persona, un teléfono), si bien es correcto teóricamente, es muy improbable desde el punto de vista de la realidad. Conla gran expansión de los teléfonos, por lo general, cada persona tiene un número de teléfono fijo, y ademas del teéfono móvil. Debemos tener en cuenta que de el de su casa también tendrá un número de teléfono de empresa, y que quizá también sus móviles estén divididos en ocio y trabajo.

Por ello, debemos tener nuestras bases de datos preparadas para ello. Este tipo de relaciones es conocido como "uno a varios".

Relaciones de "varios con varios"

La última de la relaciones que podemos encontrar es la de "varios con varios". Dado que en la vida las cosas rara vez son sencillas, éste será el tipo de relación que nos encontraremos más a menudo.

Volviendo al tema de los teéfonos, hemos encontrado la manera de relacionar cada una de las personas con sus diversos teléfonos: el de su casa, el de su empresa, el móvil. Pero no será extraño tener en nuestra base de datos diversas personas que trabajen en la misma empresa, por lo que el número de su trabajo será el mismo, o miembros de una misma familia, por lo que compartirán el mismo teléfono de su hogar.

¿Cómo tratar este tipo de relaciones? Si nos limistamos a repetir dicho número de tablas, estaremos creando problemas de redundancia de datos, que a largo plazo lastrarán la rapidez y eficacia de nuestras tablas.

Como vemos, cada elemento de la bas de datos puede relacionarse libremente con uno o varios miembros de las distintas tablas.

En estos casos no hay una regla fija a la que podamos acogernos, pero lo aconsejable es aproximarse lo más posible a la realidad, y no dudar en establecer tablas intermedias que nos ayuden a asociar mejor los datos.

En este caso hemos creado una tabla intermedia llamada "empresas". En la tabla "nombres" incluimos un nuevo campo TID, que se relaciona con la tabla "empresas", y es esta tabla la que se relaciona directamente con los teléfonos. De esta manera, podemos almacenar todos los datos con facilidad sin tener que repetir un sólo número telefónico.

Conclusión

Por muy complicadas que parezcan las relaciones en el mundo real, tengamos por seguro que cuando queramos plasmarlas en nuestra base de datos corresponderá alguna de las tres opciones que hemos presentado. Por ello, no dudemos en invertir el tiempo que sea necesario hasta encontrar la combinación de bases de datos óptima que nos permita modelar la realidad sin repetir ninguno de los datos.

El tiempo que invirtamos en este proceso lo recuperaremos con creces durante el proceso de programación, pues nos facilitará enormemente las cosas.


sábado, 23 de octubre de 2010


Sistema Administrador De Bases De Datos Relacionales

RDBMS

Un RDBMS es un Sistema Administrador de Bases de Datos Relacionales. RDBMS viene del acrónimo en inglés Relational Data Base Management System.

Reglas de Codd

En 1985 el Dr. Edgar Frank Codd publicó 12 reglas para evaluar si un DBMS (DataBase Management System) puede considerarse un RDBMS (Relational DataBase Management System), o dicho más concisamente, si un sistema de bases de datos puede considerarse o no relacional, y más.

Regla 1: regla de la información

Toda la información de la base de datos debe estar representada explícitamente en el esquema lógico. Es decir, todos los datos están en las tablas.

Regla 2: regla del acceso garantizado

Para todos y cada uno de los datos (valores atómicos) de una Base de Datos Relacional (BDR) se garantiza que son accesibles a nivel lógico utilizando una combinación de nombre de tabla, valor de clave primaria y nombre de columna.

  • Cualquier dato almacenado en una BDR tiene que poder ser direccionado unívocamente. Para ello hay que
    indicar en qué tabla está, cuál es la columna y cuál es la fila (mediante la clave primaria).
  • Por tanto se necesita el concepto de clave primaria, que no es soportado en muchas implementaciones. En estos casos, para lograr un efecto similar se puede hacer lo siguiente:
    • Hacer que los atributos clave primaria no puedan ser nulos (NOT NULL).
    • Crear un índice único sobre la clave primaria.
    • No eliminar nunca el índice.

Regla 3: tratamiento sistemático de valores nulos

Los valores nulos (que son distintos de la cadena vacía, blancos, 0, ...) se soportan en los SGBD totalmente relacionales para representar información desconocida o no aplicable de manera sistemática, independientemente del tipo de datos.

  • Se reconoce la necesidad de la existencia de valores nulos, para un tratamiento sistemático de los mismos.
  • Hay problemas para soportar los valores nulos en las operaciones relacionales, especialmente en las operaciones lógicas.
  • Lógica trivaluada. En una posible solución. Existen tres (no dos) valores de verdad: Verdadero, Falso y Desconocido (null). Se crean tablas de verdad para las operaciones lógicas:
    • null Y null = null
    • Verdadero Y null = null
    • Falso Y null = Falso
    • Verdadero O null = Verdadero

Un inconveniente es que de cara al usuario el manejo de los lenguajes relacionales se complica pues es más difícil de entender.

Regla 4: diccionario dinámico en línea basado en el modelo relacional

La descripción de la base de datos se representa a nivel lógico de la misma manera que los datos normales, de modo que los usuarios autorizados pueden aplicar el mismo lenguaje relacional a su consulta, igual que lo aplican a los datos normales.

§ Es una consecuencia de la regla 1 que se destaca por su importancia. Los metadatos se almacenan usando el modelo relacional, con todas las consecuencias.

Regla 5: regla del sublenguaje de datos completo

Un sistema relacional debe soportar varios lenguajes y varios modos de uso de terminal (ej: rellenar formularios, etc.). Sin embargo, debe existir al menos un lenguaje cuyas sentencias sean expresables, mediante una sintaxis bien definida, como cadenas de caracteres y que sea completo, soportando:

· Definición de datos

· Definición de vistas

· Manipulación de datos (interactiva y por programa)

· Limitantes de integridad

· Limitantes de transacción (iniciar, realizar, deshacer) (Begin, commit, rollback).

· Además de poder tener interfaces más amigables para hacer consultas, etc. siempre debe de haber una manera de hacerlo todo de manera textual, que es tanto como decir que pueda ser incorporada en un programa tradicional.

· Un lenguaje que cumple esto en gran medida es SQL.

Regla 6: regla de actualización de vistas

Todas las vistas que son teóricamente actualizables se pueden actualizar por el sistema.

§ El problema es determinar cuáles son las vistas teóricamente actualizables, ya que no está muy claro.

§ Cada sistema puede hacer unas suposiciones particulares sobre las vistas que son actualizables.

Regla 7: inserción, actualización y borrado de alto nivel

La capacidad de manejar una relación base o derivada como un solo operando se aplica no sólo a la recuperación de los datos (consultas), sino también a la inserción, actualización y borrado de datos.

§ Esto es, el lenguaje de manejo de datos también debe ser de alto nivel (de conjuntos). Algunas bases de datos inicialmente sólo podían modificar las tuplas de la base de datos de una en una (unregistro de cada vez).

Regla 8: independencia física de datos

Los programas de aplicación y actividades del terminal permanecen inalterados a nivel fisico cuando quiera que se realicen cambios en las representaciones de almacenamiento o métodos de acceso.

§ El modelo relacional es un modelo lógico de datos, y oculta las características de su representación física.

• es la capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual (o los externos). Por ejemplo, puede ser necesario reorganizar ciertos ficheros físicos con el fin de mejorar el rendimiento de las operaciones de consulta o de actualización de datos. la independencia física se refiere sólo a la separación entre las aplicaciones y las estructuras físicas de almacenamiento.

La capacidad de modificar el esquema conceptual sin obligar a rescribir los programas de aplicación.

Regla 9: independencia lógica de datos

Los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cuando quiera que se realicen cambios a las tablas base que preserven la información.

  • Cuando se modifica el esquema lógico preservando información (no valdría p.ej. eliminar un atributo) no es necesario modificar nada en niveles superiores.
  • Ejemplos de cambios que preservan la información:
    • Añadir un atributo a una tabla base.
    • Sustituir dos tablas base por la unión de las mismas. Usando vistas de la unión puedo recrear las tablas anteriores...
    • depurar las vistas de diseños y contenerla estasble.

Regla 10: independencia de integridad

Los limitantes de integridad específicos para una determinada base de datos relacional deben poder ser definidos en el sublenguaje de datos relacional, y almacenables en el catálogo, no en los programas de aplicación.

  • El objetivo de las bases de datos no es sólo almacenar los datos, si no también sus relaciones y evitar que estas (limitantes) se codifiquen en los programas. Por tanto en una BDR se deben poder definir limitantes de integridad.
  • Cada vez se van ampliando más los tipos de limitantes de integridad que se pueden utilizar en los SGBDR, aunque hasta hace poco eran muy escasos.
  • Como parte de los limitantes inherentes al modelo relacional (forman parte de su definición) están:
    • Una BDR tiene integridad de entidad. Es decir, toda tabla debe tener una clave primaria.
    • Una BDR tiene integridad referencial. Es decir, toda clave externa no nula debe existir en la relación donde es primaria.

Regla 11: independencia de distribución

Una BDR tiene independencia de distribución.

  • Las mismas órdenes y programas se ejecutan igual en una BD centralizada que en una distribuida.
  • Las BDR son fácilmente distribuibles:
    • Las tablas se dividen en fragmentos que se distribuyen.
    • Cuando se necesitan las tablas completas se recombinan usando operaciones relacionales con los fragmentos.
  • Sin embargo se complica más la gestión interna de la integridad, etc.
  • Esta regla es responsable de tres tipos de transparencia de distribución:
    • Transparencia de localización. El usuario tiene la impresión de que trabaja con una BD local. (aspecto de la regla de independencia física)
    • Transparencia de fragmentación. El usuario no se da cuenta de que la relación con que trabaja está fragmentada. (aspecto de la regla de independencia lógica de datos).
    • Transparencia de replicación. El usuario no se da cuenta de que pueden existir copias (réplicas) de una misma relación en diferentes lugares.

Regla 12: regla de la no subversión

Si un sistema relacional tiene un lenguaje de bajo nivel (un registro de cada vez), ese bajo nivel no puede ser usado para saltarse (subvertir) las reglas de integridad y los limitantes expresados en los lenguajes relacionales de más alto nivel (una relación (conjunto de registros) de cada vez)

§ Algunos problemas no se pueden solucionar directamente con el lenguaje de alto nivel.

§ Normalmente se usa SQL inmerso en un lenguaje anfitrión para solucionar estos problemas. Se utiliza el concepto de cursor para tratar individualmente las tuplas de una relación. En cualquier caso no debe ser posible saltarse los limitantes de integridad impuestos al tratar las tablas a ese nivel.

SGBD

Sistema de Gestión de Bases de Datos (SGBD)

El SGBD proporciona dos lenguajes:

N Lenguaje de definición de datos (LDD): Conjunto de instrucciones que definen los objetos con sus propiedades, es decir, definen los esquemas o niveles externos, conceptual e interno.

N Lenguaje de manipulación de datos (LMD): Conjunto de instrucciones que permiten realizar consultas y actualizaciones de datos (altas, bajas y modificaciones). Dentro del LMD podemos agrupar un conjunto de instrucciones como “lenguaje de consulta” (LC o también “Query Languaje”).

El SGBD se encarga de interactuar los datos con el “file system”. Este permite implantar los controles de integridad definidos para los datos, es decir, se encarga de modificar todas las copias redundantes de la base de datos si una sola de ellas es modificada. El SGBD también se encarga de realizar copias de seguridad y de actualizarlas. Finalmente, otra tarea del SGBD es el control de concurrencia, es decir, permitir o no acceder por varios usuarios a una misma información en un mismo momento.

Objetivos De Las Bases de Datos

N Control centralizado de la información. Los sistemas tradicionales de ficheros nos permiten centralizar la información por medio de varios programas de diseño. Ahora bien, siguiendo las normas estandarizadas de las bases de datos actuales podemos acceder a todos los datos mediante un único programa -administrador de bases de datos-.

N Disminuir la redundancia y evitar la inconsistencia. Son objetivos básicos de una base de datos eficiente. Disminuir la redundancia consiste en agrupar todos los datos en un mismo objeto sin repetir información. Esto no puede realizarse siempre, con lo cual hay ocasiones en las que se duplica información. Es en este punto donde aparece el concepto de inconsistencia. Una base de datos eficiente no puede tener datos contradictorios en aquellos puntos donde se repite la información (No pueden existir dos D.N.I. igualesasociados a nombres de personas diferentes). Cuanta menos redundancia existe, menos posibilidad de inconsistencia existe.

N Posibilidad de compartición de datos. Se consigue disminuyendo la redundancia.

N Mantenimiento de la integridad. Deben existir controles que verifiquen que los datos introducidos son correctos, para lo cual se comparan con otros datos, se crean redundancias de control, se hacen validaciones de rango y se permite al usuario modificar los datos.

N Disponer de un acceso seguro. Imponer controles para acceder o modificar las bases de datos tales como claves de acceso.

N Proporcionar independencia de datos. Establecer una separación entre programas y datos desde una perspectiva física y lógica, de tal forma que cualquier cambio físico o lógico en las estructuras de datos no afecten a los programas de aplicación. Como ejemplo de reestructuración física estaría una división de uno de los ficheros de datos en dos ficheros. Un cambio lógico en la estructura sería añadir un nuevo campo en la base de datos.

Base De Datos

Una base de datos o banco de datos (en ocasiones abreviada B.D.D.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos.

Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática.

Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.

Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios países. Por ejemplo, en España los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal(LOPD).

Tipos de Base de Datos

Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se esté manejando, o la utilidad de la misma:

Según la variabilidad de los datos almacenados

Bases de datos estáticas

Éstas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones y tomar decisiones.

Bases de datos dinámicas

Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de una tienda de abarrotes, una farmacia, un videoclub.

Según el contenido

Bases de datos bibliográficas

Solo contienen un subrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque si no, estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias —ver más abajo). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis 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 colección de revistas científicas.

Directorios

Un ejemplo son las guías telefónicas en formato electrónico.

Bases de datos o "bibliotecas" de información química o biológica

Son bases de datos que almacenan diferentes tipos de información proveniente de la química, las ciencias de la vida o médicas. Se pueden considerar en varios subtipos:

§ Las que almacenan secuencias de nucleótidos o proteínas.

§ Las bases de datos de rutas metabólicas.

§ Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomoléculas-

§ Bases de datos clínicas.

§ Bases de datos bibliográficas (biológicas, químicas, médicas y de otros campos): PubChem, Medline, EBSCOhost.

Modelos de bases de datos

Además de la clasificación por la función de las bases de datos, éstas también se pueden clasificar de acuerdo a su modelo de administración de datos.

Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemáticos.

Algunos modelos con frecuencia utilizados en las bases de datos:

Bases de datos jerárquicas

Éstas son bases de datos que, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.

Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información 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 jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).

Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.

Bases de datos transaccionales

Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades, estas bases son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad, datos de producción 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 duplicación de información no es un problema como con las demás bases de datos, por lo general para poderlas aprovechar al máximo permiten algún tipo de conectividad a bases de datos relacionales.

Bases de datos relacionales

Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. 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 podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían 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 jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información.

El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales.

Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos.

Durante los años 80 la aparición de dBASE produjo una revolución en los lenguajes de programación y sistemas de administración de datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestión.

Bases de datos multidimensionales

Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podría serlo también en una base de datos multidimensional), la diferencia está más 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 métricas que se desean estudiar.

Bases de datos orientadas a objetos

Este modelo, bastante reciente, y propio de los modelos informáticos 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:

§ Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos.

§ Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.

§ Polimorfismo - Propiedad de una operación 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 definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones.

SQL:2003, es el estándar de SQL92 ampliado, soporta los conceptos orientados a objetos y mantiene la compatibilidad con SQL92.

Bases de datos documentales

Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más 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 través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. Las bases de datos deductivas son también llamadas bases de datos lógicas, a raíz de que se basa en lógica matemática.

Gestión de bases de datos distribuida (SGBDD)

la base de datos y el software SGBD pueden estar distribuidos en múltiples sitios conectados por una red. Hay de dos tipos:

1. Distribuidos homogéneos: utilizan el mismo SGBD en múltiples sitios.

2. Distribuidos heterogéneos: Da lugar a los SGBD federados o sistemas multibase de datos en los que los SGBD participantes tienen cierto grado de autonomía local y tienen acceso a varias bases de datos autónomas preexistentes almacenados en los SGBD, muchos de estos emplean una arquitectura cliente-servidor.

Estas surgen debido a la existencia física 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, etcétera.