Asignatura: Computación
Profesor: Eliezer Anaya
El
término de bases de datos fue escuchado por primera vez en 1963, en
un simposio celebrado en California, USA. 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.
1.- Definición
de base de datos
Se
define una base de datos como una serie de datos organizados y
relacionados entre sí, los cuales son recolectados y explotados por
los sistemas de información de una empresa o negocio en particular.
1.1.- Características
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 programación estándar.
2.- Sistema
de Gestión de Base de Datos (SGBD)
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.
3.- Ventajas
de las bases de datos
3.1.- Control
sobre la redundancia de datos:
Los
sistemas de ficheros almacenan varias copias de los mismos datos en
ficheros distintos. Esto hace que se desperdicie espacio de
almacenamiento,
además de provocar la falta de consistencia de datos.
En
los sistemas de bases de datos todos estos ficheros están
integrados, por lo que no se almacenan varias copias de los mismos
datos. Sin embargo, en una base de datos no se puede eliminar la
redundancia completamente, ya que en ocasiones es necesaria para
modelar las relaciones entre los datos.
3.2.- Consistencia
de datos:
Eliminando
o controlando las redundancias de datos se reduce en gran medida el
riesgo de que haya inconsistencias. Si un dato está almacenado una
sola vez, cualquier actualización se debe realizar sólo una vez, y
está disponible para todos los usuarios inmediatamente. Si un dato
está duplicado y el sistema conoce esta redundancia, el propio
sistema puede encargarse de garantizar que todas las copias se
mantienen consistentes.
3.3.- Compartir
datos:
En
los sistemas de ficheros, los ficheros pertenecen a las personas o a
los departamentos que los utilizan. Pero en los sistemas de bases de
datos, la base de datos pertenece a la empresa y puede ser compartida
por todos los usuarios que estén autorizados.
3.4.- Mantenimiento
de estándares:
Gracias
a la integración es más fácil respetar los estándares
necesarios,
tanto los establecidos a nivel de la empresa como los nacionales e
internacionales. Estos estándares
pueden
establecerse sobre el formato de los datos para facilitar su
intercambio, pueden ser estándares de documentación, procedimientos
de actualización y también reglas de acceso.
3.5.- Mejora
en la integridad de datos:
La
integridad de la base de datos se refiere a la validez y la
consistencia de los datos almacenados. Normalmente, la integridad se
expresa mediante restricciones o reglas que no se pueden violar.
Estas restricciones se pueden aplicar tanto a los datos, como a sus
relaciones, y es el SGBD quien se debe encargar de mantenerlas.
3.6.- Mejora
en la seguridad:
La
seguridad
de
la base de datos es la protección de la base de datos frente a
usuarios no autorizados. Sin unas buenas medidas de seguridad, la
integración de datos en los sistemas de bases de datos hace que
éstos sean más vulnerables que en los sistemas de ficheros.
3.7.- Mejora
en la accesibilidad a los datos:
Muchos
SGBD proporcionan lenguajes de consultas o generadores de informes
que permiten al usuario hacer cualquier tipo de consulta sobre los
datos, sin que sea necesario que un programador escriba una
aplicación
que
realice tal tarea.
3.8.- Mejora
en la productividad:
El
SGBD proporciona muchas de las funciones estándar que el programador
necesita escribir en un sistema de ficheros. A nivel básico, el SGBD
proporciona todas las rutinas de manejo de ficheros típicas de los
programas de aplicación.
El
hecho de disponer de estas funciones permite al programador centrarse
mejor en la función específica requerida por los usuarios, sin
tener que preocuparse de los detalles de implementación de bajo
nivel.
3.9.- Mejora
en el mantenimiento:
En
los sistemas de ficheros, las descripciones de los datos se
encuentran inmersas en los programas de aplicación que los manejan.
Esto
hace que los programas sean dependientes de los datos, de modo que un
cambio en su estructura, o un cambio en el modo en que se almacena en
disco, requiere cambios importantes en los programas cuyos datos se
ven afectados.
Sin
embargo, los SGBD separan las descripciones de los datos de las
aplicaciones. Esto es lo que se conoce como independencia de datos,
gracias a la cual se simplifica el mantenimiento de las aplicaciones
que acceden a la base de datos.
3.10.- Aumento
de la concurrencia:
En
algunos sistemas de ficheros, si hay varios usuarios que pueden
acceder simultáneamente a un mismo fichero, es posible que el acceso
interfiera entre ellos de modo que se pierda información o se pierda
la integridad. La mayoría de los SGBD gestionan el acceso
concurrente a la base de datos y garantizan que no ocurran problemas
de este tipo.
3.11.- Mejora
en los servicios de copias de seguridad:
Muchos
sistemas de ficheros dejan que sea el usuario quien proporcione las
medidas necesarias para proteger los datos ante fallos en el sistema
o en las aplicaciones. Los usuarios tienen que hacer copias de
seguridad cada día, y si se produce algún fallo, utilizar estas
copias para restaurarlos.
En
este caso, todo el trabajo realizado sobre los datos desde que se
hizo la última copia de seguridad se pierde y se tiene que volver a
realizar. Sin embargo, los SGBD actuales funcionan de modo que se
minimiza la cantidad de trabajo perdido cuando se produce un fallo.
4.- Desventajas
de las bases de datos
4.1.- Complejidad:
Los
SGBD son conjuntos de programas que pueden llegar a ser complejos con
una gran funcionalidad. Es preciso comprender muy bien esta
funcionalidad para poder realizar un buen uso de ellos.
4.2.- Coste
del equipamiento adicional:
Tanto
el SGBD, como la propia base de datos, pueden hacer que sea necesario
adquirir más espacio de almacenamiento. Además, para alcanzar las
prestaciones deseadas, es posible que sea necesario adquirir una
máquina más grande o una máquina que se dedique solamente al SGBD.
Todo esto hará que la implantación de un sistema de bases de datos
sea más cara.
4.3.- Vulnerable
a los fallos:
El
hecho de que todo esté centralizado en el SGBD hace que el sistema
sea más vulnerable ante los fallos que puedan producirse. Es por
ello que deben tenerse copias de seguridad (Backup).
5.- Tipos
de Campos
Cada
Sistema de Base de Datos posee tipos de campos que pueden ser
similares o diferentes. Entre los más comunes podemos nombrar:
- Numérico:
entre
los diferentes tipos de campos numéricos podemos encontrar enteros
“sin decimales” y reales “decimales”.
-
Booleanos:
poseen
dos estados: Verdadero “Si” y Falso “No”.
-
Memos:
son
campos alfanuméricos de longitud ilimitada. Presentan el
inconveniente de no poder ser indexados.
-
Fechas:
almacenan
fechas facilitando posteriormente su explotación. Almacenar fechas
de esta forma posibilita ordenar los registros por fechas o calcular
los días entre una fecha y otra.
-
Alfanuméricos:
contienen
cifras y letras. Presentan una longitud limitada (255 caracteres).
-
Autoincrementables:
son
campos numéricos enteros que incrementan en una unidad su valor
para cada registro incorporado. Su utilidad resulta: Servir de
identificador ya que resultan exclusivos de un registro.