350px|thumb|OpenOffice.org Base es un sistema de gestión de bases de datos de software libre.|alt=sistema de gestión de bases de datos
Una base de datos (del inglés: database) se encarga no solo de almacenar datos, sino también de conectarlos entre sí en una unidad lógica. En términos generales, una base de datos es un conjunto de datos estructurados que pertenecen a un mismo contexto y, en cuanto a su función, se utiliza para administrar de forma electrónica grandes cantidades de información. 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. Actualmente, 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, siendo este un componente electrónico; por tanto, se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
En las bases de datos, los datos deben estar estructurados e interrelacionados según un modelo que refleje el máximo contenido semántico. Esto significa que los datos se integran, estructuran, relacionan y comparten, y las interrelaciones deben almacenarse junto con los datos, lo que es una diferencia esencial en comparación con los archivos donde las interrelaciones no se almacenan. La redundancia de datos debe controlarse para evitar duplicidades perjudiciales, aunque se admite la redundancia física por motivos de eficiencia. En resumen, no debe existir redundancia lógica en las bases de datos.
Hay programas denominados sistemas gestores de bases de datos, abreviado SGBD (del inglés Database Management System o DBMS), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos DBMS, 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. centre|thumb|Componentes de una base de datos Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran mutuamente 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), en México por la Ley Federal de Transparencia y Acceso a la Información Pública Gubernamental y en Argentina por la Ley de Protección de Datos Personales.
En Argentina, el Código Penal sanciona ciertas conductas relacionadas con una base de datos: acceder ilegítimamente a un banco de datos personales, proporcionar o revelar información registrada en un archivo o en un banco de datos personales cuyo secreto estuviere obligado a guardar por ley o insertar o hacer insertar datos en un archivo de datos personales. Si el autor es funcionario público, sufre además pena de inhabilitación especial.
Clasificación de bases de datos
Las bases de datos pueden clasificarse de varias maneras, de acuerdo con el contexto que se esté manejando, la utilidad de las mismas o las necesidades que satisfagan.
Según la variabilidad de la base de datos Bases de datos estáticas Son bases de datos únicamente de lectura, utilizadas principalmente 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, tomar decisiones y realizar análisis de datos para inteligencia empresarial.
Bases de datos dinámicas Son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y edición de datos, además de las operaciones fundamentales de consulta. Un ejemplo puede ser la base de datos utilizada en un sistema de información de un supermercado.Tipos de bases de datos
Según el contenido
Bases de datos bibliográficas
Solo contienen una 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, ayuda mucho a la redundancia de datos.
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ónica.
Estos directorios se pueden clasificar en dos grandes tipos dependiendo de si son personales o empresariales (llamadas páginas blancas o amarillas respectivamente).
Los directorios empresariales hay de tres tipos: Tienen nombre de la empresa y dirección. Contienen teléfono y los más avanzados contienen correo electrónico. Contienen datos como facturación o número de empleados además de códigos nacionales que ayudan a su distinción.
Los directorios personales solo hay de un tipo, ya que leyes como la LOPD en España protege la privacidad de los usuarios pertenecientes al directorio.
La búsqueda inversa está prohibida en los directorios personales (a partir de un número de teléfono saber el titular de la línea).
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.
Sistema de Administración de Bases de Datos (DBMS) miniaturadeimagen|Bases de datos Las bases de datos requieren de un software que permita la administración de dicha base de datos. Estos programas especializados sirven como interfaz para que los usuarios puedan, administrar como se estructura y optimiza toda la información recopilada. Un sistema de administración de bases de datos también permite un gran número de operaciones relacionadas con la administración, tal como, supervisar la productividad, ajustes, backups y restauración de los datos.
Además de gestionar el almacenamiento y acceso a los datos, los sistemas de gestores de bases de datos permiten controlar operaciones realizadas de manera simultanea. Para ello utilizan mecanismos de transacción que agrupan varias operaciones relacionadas y permiten que se completen como una unidad. Si una operación no puede finalizar correctamente, el sistema puede evitar que sus cambios parciales queden registrados, lo que ayuda a mantener la coherencia de la información.
Entre los gestores de bases de datos o DBMS más conocidos se encuentran Microsoft SQL Server, MySQL, Oracle Database, Microsoft Access, FileMaker y dBASE.
Seguridad de las bases de datos La seguridad de las bases de datos comprende las medidas destinadas a proteger la información almacenada frente a accesos no autorizados, modificaciones indebidas, perdida y destrucción. Estas medidas incluyen mecanismos de autenticación, autorización, control de privilegios, protección de las comunicaciones, auditoría y recuperación de la información. La seguridad debe contemplarse tanto en el sistema gestor de bases de datos como en las aplicaciones que acceden a él.
Uno de los principios utilizados para controlar el acceso es el de mínimo privilegio, según el cual cada usuario o aplicación debe disponer únicamente de los permisos necesarios para realizar sus funciones. Los sistemas gestores pueden utilizar roles y permisos para limitar operaciones como consultar, insertar, modificar o eliminar información. Este enfoque reduce el impacto potencial de una cuenta comprometida o de un acceso indebido.
La protección también requiere garantizar la integridad de los datos. La integridad implica evitar modificaciones, alteraciones o destrucciones no autorizadas y disponer de mecanismos para detectar y responder ante incidentes que puedan afectar la información almacenada. Entre las amenazas se encuentran el software malicioso, los ataques ransomware, las acciones de usuarios internos y los errores humanos.
En las aplicaciones que utilizan bases de datos, una de las vulnerabilidades mas conocidas es la inyección SQL. Esta ocurre cuando datos proporcionados por un usuario son incorporados de forma insegura a una consulta, permitiendo que sean interpretados como parte del código de la consulta. Una de las principales medidas de prevención consiste en utilizar consultas parametrizadas, que mantienen separados los datos proporcionados por el usuario de las instrucciones SQL. También se recomienda validar las entradas y limitar los privilegios de las cuentas utilizadas por las aplicaciones.
Los mecanismos de control de acceso pueden alcanzar distintos niveles de granularidad. Además de restringir el acceso a una base de datos completa o a determinadas tablas, pueden establecerse políticas que limiten el acceso a filas, columnas o campos específicos. Los enfoques recientes de control de acceso buscan aplicar estas políticas directamente sobre los datos para mantenerlas de forma coherente independientemente de la aplicación o herramienta utilizada para consultarlos.
La seguridad de una base de datos también comprende la protección de las credenciales, la configuración del sistema y las comunicaciones entre las aplicaciones y el sistema gestor. Asimismo, los registros de auditoria permiten documentar determinadas actividades y facilitar la detección e investigación de accesos o modificaciones no autorizados. La protección de la información debe complementarse con mecanismos de respaldo y recuperación para reducir las consecuencias de una pérdida o destrucción de datos.
Diferencias entre bases de datos y hojas de cálculo Las bases de datos y las hojas de cálculo (por ejemplo las hojas de cálculo de los paquetes de ofimática) son formas convenientes de almacenar información. Las principales diferencias entre ambas son:
La forma de manipular y guardar la información. La cantidad de datos que se pueden almacenar. La accesibilidad a esos datos almacenados.
Las hojas de cálculo desde sus comienzos fueron diseñadas para un usuario, y puede ser observado en sus características. Son excelentes para uno o un pequeño número de usuarios que no necesitan utilizar un gran volumen de datos complejos. Las bases de datos, por otro lado, fueron creadas para almacenar gran cantidad de información organizada, enormes cantidades en ocasiones. Las bases de datos permiten consultas multiusuario, que permite acceder y consultar los datos de forma rápida y segura a muchos usuarios al mismo tiempo, utilizando una lógica y un lenguaje altamente complejos.
Modelos de bases de datos
Además de la clasificación por la función de las bases de datos, estas 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 guardan los datos), así como de los métodos para almacenar y recuperar datos 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.