BASE DE DATOS
Una base de datos o banco de datos 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. 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 (electrónico), y por ende se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de 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 BASES DE DATOS
Tipos de base de datos
Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se esté manejando, la utilidad de las mismas o las necesidades que satisfagan.
Según la variabilidad de los datos almacenados
Bases de datos estáticas
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, tomar
decisiones y realizar análisis de datos para
inteligencia empresarial.
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 un supermercado, una farmacia, un videoclub o una empresa.
Según el contenido
Bases de datos bibliográficas
Sólo 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
Artículo principal: Base de datos 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
Artículo principal: 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.
Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el saldo de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que no aparezca o desaparezca dinero), las dos operaciones deben ser atómicas, es decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída del sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no se ha realizado ninguna.
Bases de datos relacionales
Artículo principal: Modelo relacional.
Artículo principal: Base de datos relacional.
É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
Artículo principal: Base de datos multidimensional.
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
Artículo principal: Base de datos orientada 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. 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.
Lenguaje
Utiliza un subconjunto del lenguaje Prolog llamado Datalog el cual es declarativo y permite al ordenador hacer deducciones para contestar a consultas basándose en los hechos y reglas almacenados.
Ventajas
- Uso de reglas lógicas para expresar las consultas.
- Permite responder consultas recursivas.
- Cuenta con negaciones estratificadas
- Capacidad de obtener nueva información a través de la ya almacenada en la base de datos mediante inferencia.
- Uso de algoritmos de optimización de consultas.
- Soporta objetos y conjuntos complejos.
Desventajas
- Crear procedimientos eficaces de deducción para evitar caer en bucles infinitos.
- Encontrar criterios que decidan la utilización de una ley como regla de deducción.
- Replantear las convenciones habituales de la base de datos.
Fases
- Fase de Interrogación: se encarga de buscar en la base de datos informaciones deducibles implícitas. Las reglas de esta fase se denominan reglas de derivación.
- Fase de Modificación: se encarga de añadir a la base de datos nuevas informaciones deducibles. Las reglas de esta fase se denominan reglas de generación.
Interpretación
Encontramos dos teorías de interpretación de las bases de datos deductiva consideramos las reglas y los hechos como axiomas. Los hechos son axiomas base que se consideran como verdaderos y no contienen variables. Las reglas son axiomas deductivos ya que se utilizan para deducir nuevos hechos.
- Teoría de Modelos: una interpretación es llamada modelo cuando para un conjunto específico de reglas, éstas se cumplen siempre para esa interpretación. Consiste en asignar a un predicado todas las combinaciones de valores y argumentos de un dominio de valores constantes dado. A continuación se debe verificar si ese predicado es verdadero o falso.
Mecanismos
Existen dos mecanismos de inferencia:
- Ascendente: donde se parte de los hechos y se obtiene nuevos aplicando reglas de inferencia.
- Descendente: donde se parte del predicado (objetivo de la consulta realizada) e intenta encontrar similitudes entre las variables que nos lleven a hechos correctos almacenados en la base de datos.
Sistema de Gestión de bases de datos distribuida (SGBD)
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.
HERRAMIENTAS DE BASES DE DATOS
• Base de Datos Multidimensional: Llamada DATAMART en la cual se guardan los datos históricos correspondientes a los indicadores de gestión de calidad de
DB Access. Todas las bases de dato se construyeron con SQL Server 2000.
3.1.2.1 Modelo Estrella de la Base de Datos Multidimensional
En la fase de análisis y diseño se realizaron los modelos estrellas, constituidos por las tablas de hecho y tablas de dimensiones para los indicadores de gestión de calidad de
DB Access: Satisfacción del Cliente y Porcentaje de Utilización de Planta.
3.3.3.2 HERRAMIENTAS DE BD
Queries Básicas y Reporting: En este tipo de herramientas el usuario accede directamente a la estructura de las bases de datos relacionales para construir consultas e informes, vía SQL (estándar para el acceso a las bases de datos relacionales).
El SQL es un lenguaje muy extendido entre los programadores, pero no tanto entre los usuarios finales. Aunque estas herramientas escondan en cierta forma los comandos del SQL, sigue siendo necesario tener claro el modelo relacional en cuanto se quiere hacer algún informe complejo, por lo que su utilización directa no está recomendada a usuarios finales.
Queries y Reporting Avanzado:
Estas herramientas aportan una visión temática de las bases de datos relacionales (visión de negocio), mediante la cual el usuario final tiene una visión menos “técnica” del datamart.
Este tipo de herramientas pone una capa de términos que le son más familiares a los usuarios finales y establece, las interrelaciones de las tablas del datamart, de forma que sea más sencillo. Aún así, sigue siendo la estructura relacional básica la que subyace en estas herramientas.
Cognos:
A través de su interfaz simple al estilo de asistente, Cognos integra bases de datos y aplicaciones de Lotus Notes, el único producto de inteligencia de negocios que ofrece toda la gama de capacidades de inteligencia de negocios en una arquitectura única y probada.
TABLA(BASE DE DATOS)
Tabla en las
bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de
hoja de cálculo.
Las tablas se componen de dos estructuras:
- Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres y direcciones, cada fila contendrá un nombre y una dirección.
- Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de datos único, como una dirección, o un número de teléfono, un nombre, etc.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como
índice o
autoincrementable, lo cual permite que los datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre único en la cada Base de Datos, haciéndola accesible mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida).
La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar.
Tablas:
Son los objetos principales de bases de datos que se utilizan para guardar datos.
Elemento disponible en el lenguaje HTML para la creación de recuadros rectangulares que pueden o no estar anidados y pueden o no contener celdas(recuadros más pequeños dentro de una tabla, pero que no se consideran tablas). Las tablas se utilizan para organizar, posicionar o dar mejor formato a los textos y gráficos en una página web.
Pueden crearse gráficamente a través de un programa desarrollador de páginas web o manejando los tags correspondientes del lenguaje
TIPOS DE TABLAS
Además de la función estándar de las tablas básicas definidas por el usuario, SQL Server proporciona los siguientes tipos de tabla, que permiten llevar a cabo objetivos especiales en una base de datos:que se uliza para acomodar los datos
Tablas con particiones
Los tablas con particiones son tablas cuyos datos se han dividido horizontalmente entre unidades que pueden repartirse por más de un grupo de archivos de una base de datos. Las particiones facilitan la administración de las tablas y los índices grandes porque permiten obtener acceso y administrar subconjuntos de datos con rapidez y eficacia al mismo tiempo que mantienen la integridad del conjunto. En un escenario de broadway, las operaciones como, por ejemplo, la carga de datos de un sistema OLTP a un sistema OLAP, pueden realizarse en cuestión de segundos en lugar de minutos u horas en otras versiones. Las operaciones de mantenimiento que se realizan en los subconjuntos de datos también se realizan de forma más eficaz porque sólo afectan a los datos necesarios en lugar de a toda la tabla.
Tiene sentido crear una tabla con particiones si la tabla es muy grande o se espera que crezca mucho, y si alguna de las dos condiciones siguientes es verdadera:
La tabla contiene, o se espera que contenga, muchos datos que se utilizan de manera diferente. Las consultas o las actualizaciones de la tabla no se realizan como se esperaba o los costos de mantenimiento son superiores a los períodos de mantenimiento predefinidos. Las tablas con particiones admiten todas las propiedades y características asociadas con el diseño y consulta de tablas estándar, incluidas las restricciones, los valores predeterminados, los valores de identidad y marca de tiempo, los desencadenadores y los índices. Por lo tanto, si desea implementar una vista con particiones que sea local respecto a un servidor, debe implementar una tabla con particiones. Para obtener información para comprender, diseñar e implementar tablas con particiones, vea Tablas e índices con particiones.
Tablas temporales
Hay dos tipos de tablas temporales: locales y globales. Las tablas temporales locales son visibles sólo para sus creadores durante la misma conexión a una instancia de SQL Server como cuando se crearon o cuando se hizo referencia a ellas por primera vez. Las tablas temporales locales se eliminan cuando el usuario se desconecta de la instancia de SQL Server. Las tablas temporales globales están visibles para cualquier usuario y conexión una vez creadas, y se eliminan cuando todos los usuarios que hacen referencia a la tabla se desconectan de la instancia de SQL Server.
Para obtener más información acerca de las tablas temporales, vea Conceptos básicos para crear y modificar tablas.
Tablas del sistema
SQL Server almacena los datos que definen la configuración del servidor y de todas sus tablas en un conjunto de tablas especial, conocido como tablas del sistema. Los usuarios no pueden consultar ni actualizar directamente las tablas del sistema si no es a través de una conexión de administrador dedicada (DAC) que sólo debería utilizarse bajo la supervisión de los servicios de atención al cliente de Microsoft. Para obtener más información, vea Usar una conexión de administrador dedicada. Las tablas de sistema se cambian normalmente en cada versión nueva de SQL Server. Puede que las aplicaciones que hacen referencia directamente a las tablas del sistema tengan que escribirse de nuevo para poder actualizarlas a una versión nueva de SQL Server con una versión diferente de las tablas de sistema. La información de las tablas del sistema está disponible a través de las vistas de catálogo. Para obtener más información, vea Tablas del sistema (Transact-SQL).
Con las tablas anchas, puede crear esquemas flexibles dentro de una aplicación. Puede agregar o quitar columnas siempre que lo desee. Tenga presente que el uso de tablas anchas tiene consideraciones de rendimiento únicas, como e13eunos mayores requisitos de memoria en tiempo de ejecución y en tiempo de compilación. Para obtener más información, vea Consideraciones de rendimiento para las tablas anchas.
Tablas persistentes
Son aquellas que permiten que los registros sean eliminados o borrados manualmente y tenemos de tres tipos:
Base.- Es en donde se encuentra toda la información de todos los registros sin que se haga ninguna validación adicional.
Vistas.- Es una vista o relación que se hace en referencia a una fila o columna específica.
Instantáneos.- Son aquellos registros que se los puede ver de manera inmediata con solo una referencia.
TABLAS DE DATOS
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de Hoja de cálculo.
Las tablas se componen de dos estructuras:
Campo: Corresponde al nombre de la columna. Debe ser único y además de tener un tipo de dato asociado. Registro: Corresponde a cada fila que compone la tabla. Allí se componen los datos y los registros. Eventualmente pueden ser nulos en su almacenamiento. En la definición de cada campo, debe existir un nombre único, con su tipo de dato correspondiente. Esto es útil a la hora de manejar varios campos en la tabla, ya que cada nombre de campo debe ser distinto entre sí.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre único en la cada base de datos, haciéndola accesible mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida).
La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar.
REGISTRO(BASE DE DATOS)
En informática, o concretamente en el contexto de una base de datos relacional, un registro (también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura.
Un registro es un conjunto de campos que contienen los datos que pertenecen a una misma repetición de entidad. Se le asigna automáticamente un número consecutivo (número de registro) que en ocasiones es usado como índice aunque lo normal y práctico es asignarle a cada registro un campo clave para su búsqueda