Formación informática

Java | Joomla | MySQL

Fundamentos de Desarrollo de Bases de Datos - Tema 3: Conceptos sobre bases de datos

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Para poder comprender bien los fundamentos del desarrollo de bases de datos, lo primero es conocer los conceptos básicos sobre ellas.

¿Qué es una base de datos?

Según la Real Academia de la Lengua Española, en un contexto informático, una base de datos es un conjunto de datos organizado de tal modo que permita obtener con rapidez diversos tipos de información. Así, por ejemplo, todos los datos recopilados por una compañía eléctrica para generar las facturas componen una base de datos.

Esta definición puede ser entendida mejor si consideramos como base de datos una biblioteca pública de préstamo de libros. Esta está organizada en diferentes secciones que agrupan los libros relacionados. Dentro de cada sección los libros se organizan por autores. De esta forma se puede encontrar un libro de forma sencilla.

Clasificación de bases de datos atendiendo al modelo de datos

Un modelo de datos es una serie de normas que tiene cumplir la base de datos para ser considerada de ese tipo. Veamos los que recoge la Wikipedia en su versión española.

En una base de datos jerárquica los datos se organizan en forma de árbol invertido (algunos dicen raíz), en dónde 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. Por ejemplo, la estructura de directorios de un sistema operativo sigue un modelo jerárquico.

Una base de datos de red se basa en el modelo jerárquico pero tiene una diferencia fundamental que es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres.

Una base de datos transaccional es aquella 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. Al ser su fin único recolectar y recuperar los datos a la mayor velocidad posible, 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. Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre cuentas bancarias.

Las bases de datos multidimensionales son aquellas que están 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 aprender.

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, herencia y polimorfismo. 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.

Las bases de datos documentales son las que permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes, sirven para almacenar grandes volúmenes de información de antecedentes históricos. Tesaurus es un sistema de índices optimizado para este tipo de bases de datos.

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

¿Qué es una base de datos relacional?

Una base de datos relacional es la que sigue el modelo postulado por Edgar Frank Codd, trabajador de los laboratorios IBM en San José (California), en 1970. Es la utilizada en la actualidad para representar gráficamente problemas reales y administrar datos dinámicamente.

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 esta 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.

Las 12 reglas de Codd

Imagen de Edgar Frank Codd en la wikipediaLas 12 reglas de Codd son un sistema de reglas (numeradas del 0 al 12) propuestas por Edgar F. Codd, del modelo relacional para las bases de datos, diseñado para definir qué requiere un sistema de administración de base de datos.

Edgar Frank Codd nació el 23 de agosto de 1923 en Fortuneswell (Inglaterra) y falleció el 18 de abril de 2003 en Aventura, localidad ubicada en Florida (Estados Unidos de América).

Codd se percató de que existían bases de datos en el mercado las cuales decían ser relacionales, pero lo único que hacían era guardar la información en las tablas, sin estar estas tablas literalmente normalizadas; entonces éste publicó 13 reglas que un verdadero sistema relacional debería tener aunque en la práctica algunas de ellas son difíciles de realizar. Un sistema podrá considerarse "más relacional" cuanto más siga estas reglas.​

Regla 0: Cualquier sistema que se proclame como relacional, debe ser capaz de gestionar sus bases de datos enteramente mediante sus capacidades relacionales.

Regla 1 o regla de la información: toda la información en la base de datos es representada unidireccionalmente, por valores en posiciones de las columnas dentro de filas de tablas. Toda la información en una base de datos relacional se representa explícitamente en el nivel lógico exactamente de una manera: con valores en tablas.

Regla 2 o regla del acceso garantizado: todos los datos deben ser accesibles sin ambigüedad. Esta regla es esencialmente una nueva exposición del requisito fundamental para las llaves primarias. Dice que cada valor escalar individual en la base de datos debe ser lógicamente direccionable especificando el nombre de la tabla, la columna que lo contiene y la llave primaria.

Regla 3 o regla del tratamiento sistemático de valores nulos: el sistema de gestión de base de datos debe permitir que haya campos nulos. Debe tener una representación de la "información que falta y de la información inaplicable" que es sistemática, distinto de todos los valores regulares.

Regla 4 o regla del catálogo dinámico en línea basado en el modelo relacional: el sistema debe soportar un catálogo en línea y el catálogo relacional debe ser accesible a los usuarios autorizados. Es decir, los usuarios autorizados deben poder tener acceso a la estructura de la base de datos (catálogo).

Regla 5 o regla comprensiva del sublenguaje de los datos: el sistema debe soportar por lo menos un lenguaje relacional que tenga una sintaxis lineal, que pueda ser utilizado de manera interactiva y que soporte operaciones de definición de datos, operaciones de manipulación de datos (actualización así como la recuperación), seguridad e integridad y operaciones de administración de transacciones.

Regla 6 o regla de actualización: todas las vistas que son teóricamente actualizables deben ser actualizables por el sistema.

Regla 7 o regla de alto nivel de inserción, actualización y borrado: el sistema permitirá realizar la  manipulación de datos de alto nivel, es decir, sobre conjuntos de tuplas. Esto significa que los datos no solo se pueden recuperar de una base de datos relacional de filas múltiples y/o de tablas múltiples, sino también pueden realizarse inserciones, actualización y borrados sobre varias tuplas y/o tablas al mismo tiempo (no sólo sobre registros individuales).

Regla 8 o regla de independencia física de los datos: los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cuando quiera que se realicen cambios en las representaciones de almacenamiento o métodos de acceso.

Regla 9 o regla de la independencia lógica de los datos: los cambios al nivel lógico (tablas, columnas, filas, etc.) no deben requerir un cambio a una solicitud basada en la estructura. La independencia de datos lógica es más difícil de lograr que la independencia física de datos.

Regla 10 o regla de la independencia de la integridad: las limitaciones de la integridad se deben especificar por separado de los programas de la aplicación y se almacenan en la base de datos. Debe ser posible cambiar esas limitaciones sin afectar innecesariamente las aplicaciones existentes.

Regla 11 o regla de la independencia de la distribución: la distribución de las porciones de la base de datos a las varias localizaciones debe ser invisible a los usuarios de la base de datos. Los usos existentes deben continuar funcionando con éxito cuando una versión distribuida del SGBD se introdujo por primera vez y cuando se distribuyen los datos existentes se redistribuyen en todo el sistema.

    Regla 12 o regla del orden: si el sistema proporciona una interfaz de bajo nivel de registro, aparte de una interfaz relacional, que esa interfaz de bajo nivel no se pueda utilizar para subvertir el sistema. Por ejemplo: sin pasar por seguridad relacional o limitación de integridad. Esto es debido a que existen sistemas anteriormente no relacionales que añadieron una interfaz relacional, pero con la interfaz nativa existe la posibilidad de trabajar no relacionalmente.

¿Qué es un Sistema Gestor de Bases de Datos Relacional?

Un Sistema Gestor de Base de Datos, abreviado como S.G.B.D., es un programa informático que permite el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. También permiten introducir seguridad a los diferentes objetos de la base de datos para garantizar un acceso seguro a los datos contenidos en la base de datos y qué solo los usuarios habilitados para ello puedan hacerlo.

Los usuarios pueden acceder a la información usando herramientas específicas de consulta y de generación de informes, o bien mediante aplicaciones al efecto.

En el mercado existen tres grandes S.G.B.D. como Microsoft SQL Server, Oracle Database y MySQL. Cada una tiene sus ventajas e inconvenientes. Microsoft SQL Server dispone de versiones gratuitas con ciertas limitaciones pero plenamente funcionales con herramientas gráficas intuitivas que permiten crear todos los objetos de la base de datos. Oracle Database destaca por su diccionario de datos y su gran versatilidad. MySQL está desarrollado bajo licencia dual GPL/Licencia comercial por Oracle Corporation y está considerada como la base datos open source más popular del mundo.

Además existen otras bases de datos relacionales menos usadas: MariaDB, PostgreSQL, DB2… Algunas son gratis y otras son de pago. De la misma forma que las tres que se reparten la mayor cuota de mercado, cada una tiene sus ventajas e inconvenientes.

Tema anterior: objetivo del curso     Tema siguiente: Pasos para desarrollar e implementar una base de datos relacional

Escribir un comentario

Aunque los comentarios no expresan la opinión del administrador del sitio web, éste si que tiene una responsabilidad legal sobre lo que aparece. Por lo tanto, habrá una labor de moderación de los mensajes. No se permitirán mensajes ofensivos ni publicidad


Código de seguridad
Refescar

Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-Ley 13/2012, de 30 de marzo. Si continúa navegando consideramos que acepta el uso de cookies. . Más información