Base de datos
Una
base de datos es un “almacén” que nos permite guardar grandes cantidades de
información de forma organizada para que luego podamos encontrar y utilizar
fácilmente. Una base de datos se puede definir como un conjunto de información relacionada
que se encuentra agrupada ó estructurada. Desde el punto de vista informático,
la base de datos es un sistema formado por un conjunto de datos almacenados en
discos que permiten el acceso directo a ellos y un conjunto de programas que
manipulen ese conjunto de datos. Cada base de datos se compone de una o más
tablas que guarda un conjunto de datos. Cada tabla tiene una o más columnas y
filas. Las columnas guardan una parte de la información sobre cada elemento que
queramos guardar en la tabla, cada fila de la tabla conforma un registro.
Entre las principales características de los sistemas de base de datos
podemos mencionar: Independencia lógica y física de los datos, Redundancia
mínima, Acceso concurrente por parte de múltiples usuarios, Integridad de los
datos, Consultas complejas optimizadas, Seguridad de acceso y auditoría,
Respaldo y recuperación, Acceso a través de lenguajes de programacion estándar.
Sistema de gestión de base de datos
Los Sistemas
de Gestión de Base de Datos (en inglés DataBase Management System) son un tipo de software muy
específico, dedicado a servir de interfaz entre la base de datos, el usuario y
las aplicaciones que la utilizan. Se compone de un lenguaje de definición de
datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta.
Arquitectura de
gestión de bases de datos
La
arquitectura de un sistema de bases de datos está influenciada en gran medida
por el sistema informático subyacente en el que se ejecuta, en particular por
aspectos de la arquitectura de la computadora como la conexión en red, el
paralelismo y la distribución.
• La
conexión en red de varias computadoras permite que algunas tareas se ejecuten
en un sistema servidor y que otras se ejecuten en los sistemas clientes. Esta
división de trabajo ha conducido al desarrollo de sistemas de base de datos
cliente-servidor.
• El
procesamiento paralelo dentro de una computadora permite acelerar las
actividades del sistema de base de datos, proporcionando a las transacciones
unas respuestas más rápidas así como la capacidad de ejecutar más transacciones
por segundo. La necesidad del procesamiento paralelo de consultas ha conducido
al desarrollo de los sistemas de bases de datos paralelos.
• La
distribución de datos a través de las distintas sedes o departamentos de una
organización permite que estos datos residan donde han sido generados o donde
son más necesarios, pero continuar siendo accesibles desde otros lugares o
departamentos diferentes. Se han desarrollado los sistemas distribuidos de
bases de datos para manejar datos distribuidos geográfica o administrativamente
a lo largo de múltiples sistemas de base de datos.
Arquitecturas
centralizadas y cliente-servidor
Arquitectura centralizada: Los sistemas de bases de datos centralizados son aquellos
que se ejecutan en un único sistema informático sin interaccionar con ninguna otra
computadora. Tales sistemas comprenden el rango desde los sistemas de bases de
datos monousuario ejecutándose en computadoras personales hasta los sistemas de
bases de datos de alto rendimiento ejecutándose en grandes sistemas. Por otro
lado, los sistemas cliente-servidor tienen su funcionalidad dividida entre el
sistema servidor y múltiples sistemas clientes. Se basa en la existencia de una
maquina servidora que almacena los datos y las aplicaciones que los procesan.
Sistemas cliente-servidor: Como las computadoras personales son ahora más rápidas,
más potentes y más baratas, los sistemas se han ido distanciando de la
arquitectura centralizada. Como consecuencia, los sistemas centralizados actúan
hoy como sistemas servidores que satisfacen las peticiones generadas por los
sistemas clientes. Se basa en la existencia de dos tipos de aplicaciones
ejecutándose de forma independiente. Una de las aplicaciones actúa como
servidora y otra como cliente.
Arquitectura servidor de archivos: Se basa en la existencia de una o varias maquina
servidoras que almacenan datos y estaciones de trabajo que ejecutan
aplicaciones que los procesan. Los clientes en este tipo de arquitecturas son
activos.
Base de datos
relacional
Una
Base de Datos Relacional, es una base de datos que cumple con el modelo
relacional, el cual es el modelo más utilizado en la actualidad para
implementar bases de datos ya planificadas. Permiten establecer interconexiones
(relaciones) entre los datos (que están guardados en tablas), y a través de dichas
conexiones relacionar los datos de ambas tablas, de ahí proviene su
nombre:"Modelo Relacional".
Una
Base de Datos Relacional se compone de varias tablas o relaciones. -- No pueden
existir dos tablas con el mismo nombre ni registro. -- Cada tabla es a su vez
un conjunto de registros (filas y columnas).-- La relación entre una tabla
padre y un hijo se lleva a cabo por medio de las claves primarias y ajenas (o
foráneas).-- Las claves primarias son la clave principal de un registro dentro
de una tabla y éstas deben cumplir con la integridad de datos. -- Las claves
ajenas se colocan en la tabla hija, contienen el mismo valor que la clave
primaria del registro padre; por medio de éstas se hacen las relaciones.
Elementos
Relaciones Base y Derivadas: En una base de datos relacional, todos los datos se
almacenan y se accede a ellos por medio de relaciones. Las relaciones que
almacenan datos son llamadas "relaciones base" y su implementación es
llamada "tabla". Otras relaciones no almacenan datos, pero son
calculadas al aplicar operaciones relacionales. Estas relaciones son llamadas
"relaciones derivadas" y su implementación es llamada
"vista" o "consulta". Las relaciones derivadas son
convenientes ya que expresan información de varias relaciones actuando como si
fuera una sola.
Restricciones: Una restricción es una limitación que obliga el
cumplimiento de ciertas condiciones en la base de datos. Algunas no son
determinadas por los usuarios, sino que son inherentemente definidas por el
simple hecho de que la base de datos sea relacional. Algunas otras
restricciones las puede definir el usuario, por ejemplo, usar un campo con
valores enteros entre 1 y 10. Las restricciones proveen un método de
implementar reglas en la base de datos. Las restricciones limitan los datos que
pueden ser almacenados en las tablas. Usualmente se definen usando expresiones
que dan como resultado un valor booleano, indicando si los datos satisfacen la
restricción o no.
Dominios: Un dominio describe un conjunto de posibles valores para
cierto atributo. Como un dominio restringe los valores del atributo, puede ser
considerado como una restricción. Matemáticamente, atribuir un dominio a un
atributo significa "todos los valores de este atributo deben ser elementos
del conjunto especificado". Distintos tipos de dominios son: enteros,
cadenas de texto, fecha, no procedurales etc. Cada tabla puede tener uno o más
campos cuyos valores identifican de forma única cada registro de dicha tabla,
es decir, no pueden existir dos o más registros diferentes cuyos valores en
dichos campos sean idénticos. Este conjunto de campos se llama clave única.
Pueden existir varias claves únicas en una determinada tabla, y a cada una de
éstas suele llamársele candidata a clave primaria.
Clave primaria: Una clave primaria es una clave única elegida entre todas
las candidatas que define unívocamente a todos los demás atributos de la tabla,
para especificar los datos que serán relacionados con las demás tablas. La
forma de hacer esto es por medio de claves foráneas.
Clave foránea: Una clave foránea es una referencia a una clave en otra
tabla, determina la relación existente en dos tablas. Las claves foráneas no
necesitan ser claves únicas en la tabla donde están y sí a donde están
referenciadas.
Clave índice: Las claves índice surgen con la necesidad de tener un
acceso más rápido a los datos. Los índices pueden ser creados con cualquier
combinación de campos de una tabla. Las consultas que filtran registros por
medio de estos campos, pueden encontrar los registros de forma no secuencial
usando la clave índice. Las bases de datos relacionales incluyen múltiples
técnicas de ordenamiento, cada una de ellas es óptima para cierta distribución
de datos y tamaño de la relación. Los índices generalmente no se consideran
parte de la base de datos, pues son un detalle agregado. Sin embargo, las
claves índices son desarrolladas por el mismo grupo de programadores que las
otras partes de la base de datos.
Diagrama entidad
relación
Denominado
por sus siglas como: E-R; Este modelo representa a la realidad a través de un
Esquema gráfico empleando los terminología de Entidades, que son objetos que
existen y son los elementos principales que se identifican en el problema a
resolver con el diagramado y se distinguen de otros por sus características
particulares denominadas Atributos, el enlace que rige la unión de las
entidades está representada por la relación del modelo. En un DER, cada entidad
se representa mediante un rectángulo, cada relación mediante un rombo y cada dominio
(conjunto donde toma valores el atributo) mediante un círculo. Mediante líneas
se conectan las entidades con las relaciones, igual que las entidades con los
dominios, representando a los atributos.
El
modelo entidad-relación se basa en los conceptos descritos a continuación para
representar un modelo de la vida real.
Entidad: Una entidad es un objeto que existe y se distingue de otros
objetos de acuerdo a sus características llamadas Atributos. Las Entidades
pueden ser concretas como una persona o abstractas como una fecha. Representa
una “cosa” u "objeto" del mundo real con existencia independiente, es
decir, se diferencia unívocamente de cualquier otro objeto o cosa, incluso
siendo del mismo tipo, o una misma entidad.
Algunos Ejemplos:
Una
persona. (Se diferencia de cualquier otra persona, incluso siendo
gemelos).---Un automóvil. (Aunque sean de la misma marca, el mismo modelo,...,
tendrán atributos diferentes, por ejemplo, el número de bastidor).---Una casa
(Aunque sea exactamente igual a otra, aún se diferenciará en su dirección).
Una
entidad puede ser un objeto con existencia física como: una persona, un animal,
una casa, etc. (entidad concreta), o un objeto con existencia conceptual como:
un puesto de trabajo, una asignatura de clases, un nombre, etc. (entidad
abstracta). Una entidad está descrita y se representa por sus características o
atributos. Por ejemplo, la entidad Persona puede llevar consigo las
características: Nombre, Apellido, Género, Estatura, Peso, Fecha de nacimiento,
etc.
Atributos: Los
atributos son las propiedades que describen a cada entidad en un conjunto de
entidades. Un conjunto de entidades dentro de una entidad, tiene valores
específicos asignados para cada uno de sus atributos, de esta forma, es posible
su identificación unívoca.
Ejemplos:
A la
colección de entidades Alumnos, con el siguiente conjunto de atributos en
común, (id, nombre, edad, semestre), pertenecen las entidades:
(1, Sofía, 18 años, 2)
(2, Josefa, 19 años, 5)
(3, Gabriela, 20 años, 2)
Cada una de las entidades pertenecientes
a este conjunto se diferencia de las demás por el valor de sus atributos.
Nótese que dos o más entidades diferentes pueden tener los mismos valores para
algunos de sus atributos, pero nunca para todos.
En particular, los atributos
identificativos son aquellos que permiten diferenciar a una instancia de la
entidad de otra distinta. Por ejemplo, el atributo identificativo que distingue
a un alumno de otro es su número de id.
Para cada atributo, existe un dominio
del mismo, este hace referencia al tipo de datos que será almacenado o a
restricciones en los valores que el atributo puede tomar (Cadenas de
caracteres, números, solo dos letras, solo números mayores que cero, solo
números enteros...). Cuando una entidad no tiene un valor para un atributo
dado, este toma el valor nulo, bien sea que no se conoce, que no existe o que
no se sabe nada al respecto del mismo.
Relación: Una relación es una asociación o
relación matemática entre varias Entidades. Las relaciones también se nombran.
Se representan en el Diagrama_Entidad_Relación, representado también por E-R
mediante flechas y rombos. Cada entidad interviene en una relación con una
determinada cardinalidad. La cardinalidad (número de instancias o elementos de
una entidad que pueden asociarse a un elemento de la otra entidad relacionada)
se representa mediante una pareja de datos, en minúsculas, de la forma
(cardinalidad mínima, cardinalidad máxima), asociada a cada uno de las entidades
que intervienen en la relación. Son posibles las siguientes cardinalidades:
(0,1), (1,1), (0,n), (1,n), (m,n). También se informa de las cardinalidades
máximas con las que intervienen las entidades en la relación.
Los Diagramas E-R son lenguajes gráficos
para describir conceptos. Informalmente, son simples Dibujos o Gráficos que
describen la información que trata un sistema de información y el Software que
lo automatiza. El tipo de relación se define tomando los máximos de las
cardinalidades que intervienen en la relación.
Lenguajes de consultas
Un
lenguaje de consulta es un lenguaje informático usado para hacer consultas en
bases de datos y sistemas de información. Los lenguajes de consulta pueden ser
clasificados de acuerdo a si son lenguajes de consulta de bases de datos o
lenguajes de consulta de recuperación de información. Algunos ejemplos son:
- QL es un lenguaje de consulta propietario orientado a objetos para consultar bases de datos relacionales.
- Common Query Language (CQL) un lenguaje formal para representar consultas para sistemas de recuperación de información como índices web o catálogos bibliográficos.
- D es un lenguaje de consulta para sistemas de administración de bases de datos verdaderamente relacionales
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 la base de Datos
Bases de datos estáticas Son bases de datos de solo 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 edición de datos, además de las operaciones fundamentales de consulta
- 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.
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.
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: En este modelo los datos se organizan en forma de árbol
invertido (algunos dicen raíz), 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, aún
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. 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.
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.
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 de definición de datos
Es
un lenguaje proporcionado por el sistema de gestión de base de datos que
permite a los usuarios de la misma llevar a cabo las tareas de definición de
las estructuras que almacenarán los datos así como de los procedimientos o
funciones que permitan consultarlos.
Lenguaje de Manipulación de Datos
Es
un idioma proporcionado por los sistemas gestores de bases de datos que permite
a los usuarios de la misma llevar a cabo las tareas de consulta o modificación
de los datos contenidos en las Bases de Datos del Sistema Gestor de Bases de
Datos. El lenguaje de manipulación de datos más popular hoy día es SQL, usado
para recuperar y manipular datos en una base de datos relacional. Otros
ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras
Lenguaje de Control de Datos
Es
un lenguaje proporcionado por el Sistema de Gestión de Base de Datos que
incluye una serie de comandos SQL que permiten al administrador controlar el
acceso a los datos contenidos en la Base de Datos.
No hay comentarios.:
Publicar un comentario