Para dar una definición de un Sistema Gestor de Bases
de Datos es necesario tener claro lo que es una base de datos, la cual se puede
definir como una colección de datos almacenados ordenadamente bajo ciertas
restricciones, las cuales permiten una fácil inserción de datos así como el
rápido acceso a los mismos, poder modificarlos y su eliminación de forma
apropiada y sencilla. Las restricciones y estructura de una base de datos están
hechas a partir de la problemática que se quiere resolver o a la situación que
se presenta. Para crear una base de datos que tenga la estructura que se desea
tener y se puedan incluir las restricciones que resuelvan la problemática es
necesario un software especializado en realizar esta labor, es entonces que se
crean los SGDB (Sistemas Gestores de Bases de Datos).
. Ayuda a realizar las siguientes acciones:
- Definición de los datos
- Mantenimiento de la integridad de los datos dentro de la base de datos
- Control de la seguridad y privacidad de los datos
- Manipulación de los datos
Un sistema gestor de base de datos está compuesto de:
El gestor de la base de datos
Se trata de un conjunto de programas no visibles al usuario final que se
encargan de la privacidad, la integridad, la seguridad de los datos y la
interacción con el sistema operativo. Proporciona una interfaz entre los datos,
los programas que los manejan y los usuarios finales.
Cualquier operación que el usuario hace contra la base de datos está controlada
por el gestor.
El gestor almacena una descripción de datos en lo que llamamos diccionario de
datos, así como los usuarios permitidos y los permisos.
Tiene que haber un usuario administrador encargado de centralizar todas estas
tareas.
Diccionario de datos
Es una base de datos donde se guardan todas las propiedades de la base de
datos, descripción de la estructura, relaciones entre los datos, etc.
El diccionario debe contener:
- La descripción externa, conceptual e interna de la base de datos
- Las restricciones sobre los datos
- El acceso a los datos
- Las descripciones de las cuentas de usuario
- Los permisos de los usuarios
- Los esquemas externos de cada programa
El administrador de la base de datos
Es una persona o grupo de personas responsables del control del sistema gestor
de base de datos.
Las principales tareas de un administrador son:
- La definición del esquema lógico y físico de la base de datos
- La definición de las vistas de usuario
- La asignación y edición de permisos para los usuarios
- Mantenimiento y seguimiento de la seguridad en la base de datos
- Mantenimiento general del sistema gestor de base de datos
Seguridad y respaldo
Seguridad
Vegas
(1998) señala que la información dicen que es poder, y como
las BD son un almacén de información también almacenan poder, por lo que han
sido objeto de intentos de acceso no autorizados desde su nacimiento. Por eso,
las BD se han dotado de unos mecanismos que hacen posible la gestión de la
seguridad en el acceso a la información que almacenan.
Los
roles se pueden utilizar para gestionar los comandos de sistema disponibles
para los usuarios. Estos incluyen comandos como CREATE TABLE o SELECT ANY
TABLE. Todos los usuarios que quieran acceder a la BD deben tener
el rol CONNECT; aquellos que necesiten crear segmentos necesitaran
el rol RESOURCE. Un usuario con el rol DBA tiene derecho
para ver y manejar todos los datos de la BD. En Oracle CONNECT,
RESOURCE
y DBA
son roles de sistema. Las acciones contra cada tipo de objeto son autorizadas
por privilegios separados. Así, un usuario puede tener concedido el privilegio CREATE
TABLE, pero no el ALTER TABLE.
Implementación de Seguridad
No
se podrá acceder a la BD a menos que se acceda primero al servidor en el que la
BD está ejecutándose. El primer paso en la seguridad de la BD es asegurar la
plataforma en la que reside. Una vez que esto ha sido conseguido, se debe
considerar la seguridad del sistema operativo. Oracle utiliza una serie de
ficheros a los que los usuarios no tienen por qué acceder de manera directa.
Por ejemplo, los ficheros de datos o los de redo log son escritos y
leídos sólo por los procesos Oracle. Así, sólo los DBAs que han creado estos
ficheros necesitan acceder directamente a ellos a nivel del sistema operativo.
Respaldo de Base de Datos
¿Qué es
realizar un respaldo? Un respaldo, backup, en base de datos, es el proceso
de una copia de seguridad de toda la información contenida en una base de
datos, con el fin de que estas copias adicionales puedan utilizarse para
restaurar el original después de una eventual pérdida de datos
Que es un respaldo en
caliente y en frió?
Respaldo
en frió: un respaldo en frió se realiza deteniendo el uso de la base de
datos o aplicaciones que trabajen ella, de forma que solo se respaldara la
información sobre la que se tiene conciencia el gestor de bases de datos.
Respaldo
en caliente: un respaldo en caliente se realiza mientras la base de datos esta
en uso y generar archivos REDO LOG los cuales guardara todo sobre el respaldo
hasta que este sea parado
Una de las tareas al administrar es permitir el
acceso a bases de datos y asignar permisos sobre los objetos que conforman una
base de datos.
Para conectarnos
con un servidor necesitamos de un modo de acceso que incluya los permisos que
dispondremos durante la conexión; estos
permisos se definen a partir de un
nombre de usuario.
Un usuario: es un
identificador necesario para acceder a una base de datos.
Un usuario es un
conjunto de permisos que se aplican a una conexión de base de datos.
Un usuario es
además propietario de ciertos objetos.
Los privilegios (permisos) especifican que operaciones puede realizar un usuario
y sobre que objetos de la base de datos tiene autorización, es decir, que tarea
puede realizar con esos objetos y si puede emitir determinadas instrucciones. Estas operaciones
pueden ser de dos tipos: de sistema y sobre objeto.
Un rol de base de datos es una agrupación de permisos de sistema y de
objeto.
Un rol (roles) es un grupo de usuarios; permite agrupar usuarios para
aplicarles permisos; así, al agregar un nuevo usuario a la base de datos, no es necesario concederle permiso para cada objeto, sino que lo
agregamos a un rol; cuando asignamos
permisos sobre un objeto al rol, automáticamente el permiso afectara a los
usuarios que pertenezcan a tal rol.
Los permisos controlan el acceso a los distintos objetos de una base de
datos; pueden concederse a nivel de usuario (individualmente o a nivel de rol a
todos los usuarios de un grupo).
Los permisos que un usuario tiene en una base de datos dependen de los
permisos de usuario y de los roles al
que pertenezcan dicho usuario.
Usuario, roles y permisos son la base de los mecanismos de seguridad
Los SGDB deben tener ciertas características
indispensables para administrar una base de datos, alguna de ellas son las
siguientes:
· Manipulación
de los datos, lo cual quiere decir que se puedan realizar las acciones de
inserción, actualización y eliminación de los datos, esto de una manera
sencilla tanto para el usuario como para el programador.
· Control
de la privacidad de los datos, es decir que se mantengan seguros mientras están
almacenados y sus relaciones entre sí no se afecten al manipularlos.
· Copia de
seguridad y recuperación: es necesario que si llegasen a presentarse fallos en
el sistema los datos anteriores al momento del fallo se mantengan intactos así
como tener la posibilidad de generar copias de seguridad.
· Implantación
de la integridad, cuando insertemos o actualicemos los datos estos deben
cumplir con las restricciones que se han fijado al crear la base de datos, de
lo contrario sería posible almacenar un dato cuya longitud o tipo de dato no es
el que se fijó al crear la base de datos.
· Que sea
posible definir los niveles de abstracción de una base de datos (físico, lógico
y vistas).
· Control
de concurrencia, debe de ser posible que varios usuarios actualicen la base de
datos de manera concurrente sin perder parte de los datos o su organización.
Posterior a la aparición de los lenguajes de
programación orientados a objetos los SGBD se especializan más y se crean los
Sistemas de Gestión de Bases de Datos Relacionales (SGBDR) y los Sistemas de
Gestión de Bases de Datos Documentales (SGBDD), esto para adaptarse a la nueva
forma de estructurar los datos almacenados y a los lenguajes de programación
orientados a objetos.
Ejemplos de SGBD son Oracle, SQL Server, Sybase, DB2,
MySQL, PostgreSQL, SQLite y muchos otros más. Los cuales pueden soportar
grandes cantidades de datos o pequeñas adaptando así a las necesidades de los
usuarios, por ejemplo no es lo mismo un SGBD de un dispositivo móvil al que
requiere una empresa para administrar su información.
¿QUÉ
ES Oracle?
Es
un manejador de base de datos relacional que hace uso de los recursos del
sistema informático en todas las arquitecturas de hardwarec además Es el mayor y más
usado Sistema Manejador de Base de Dato Relacional (RDBMS) en el mundo. La
Corporación Oracle ofrece este RDBMS como un producto incorporado a la línea de
producción. Además incluye cuatro generaciones de desarrollo de aplicación,
herramientas de reportes y utilitarios. Y corre en computadoras personales (PC),
microcomputadoras, mainframes y computadoras con procesamiento paralelo masivo
SE CARACTERIZA POR:
- Soporte
de transacciones
- Estabilidad
- Escalabilidad
- Soporte
multiplataforma.
- Permite
el uso de particiones para la mejora de la eficiencia, de replicación e incluso
ciertas versiones admiten la administración de bases de datos distribuidas.
¿QUÉ ES SQL server?
Microsoft
SQL Server es una plataforma de base de datos que se utiliza en el
procesamiento de transacciones en línea a gran escala, el almacenamiento de
datos y las aplicaciones de comercio electrónico; es también una plataforma de
Business Intelligence para soluciones de integración, análisis y creación de
informes de datos .
SE
CARACTERIZA POR:
- Soporte
de transacciones.
- Escalabilidad,
estabilidad y seguridad.
- Soporta
procedimientos almacenados.
- Incluye
también un potente entorno gráfico de administración, que permite el uso de
comandos DDL y DML gráficamente.
- Permite
trabajar en modo cliente-servidor, donde la información y datos se alojan en el
servidor y los terminales o clientes de la red sólo acceden a la información.
- Además
permite administrar información de otros servidores de datos.
¿QUE ES POSTgreSQL?
Es
un sistema de gestión de bases de datos objeto-relacional de Código fuente
disponible libremente. Además
PostgreSQL utiliza un modelo cliente/servidor y Usa
multiprocesos en vez de multihilos.
SE CARACTERIZA POR
- Es
una base de datos ACID
- Integridad
referencial
- Implementación del estándar
SQL92/SQL99.
- Implementa el uso de rollback's, subconsultas
y transacciones.
- Se pueden realizar varias operaciones al mismo tiempo sobre la
misma tabla.
- Licencia
BSD
- Soporta
un subconjunto de SQL92 MAYOR que el que soporta MySQL. Ademas, tiene ciertas
caracteristicas orientadas a objetos.
- Gestión
de usuarios y passwords, manteniendo un muy buen nivel de seguridad en los
datos.
¿QUE ES
MSQL?
MySQL
es un sistema de gestión de base de datos relacional. Capaz de almacenar una
enorme cantidad de datos de gran variedad utiliza el lenguaje de consulta
estructurado (SQL).
Incluye un motor de almacenamiento InnoDb y ACID. Además dispone de storeprocedures,
triggers, vistas.es GPL (General PublicLicence) no tiene costo, en lo que gana
la empresa es en el soporte y entrenamiento. Y Al
ser una empresa que maneja sus códigos con el tipo de licencia GPL reduce los
costos de desarrollo, administración.
SE CARACTERIZA POR:
- Múltiples
motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL
Cluster, Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al
usuario escoger la que sea más adecuada para cada tabla de la base de datos.
- Uso
de multihilos mediante hilos del kernel.
- Usa
tablas en disco b-tree para búsquedas rápidas con compresión de índice
- Tablas
hash en memoria temporales
- El
código MySQL se prueba con Purify (un detector de memoria perdida comercial)
así como con Valgrind, una herramienta GPL
- Completo
soporte para operadores y funciones en cláusulas select y where.
- Completo
soporte para cláusulas groupby y orderby, soporte de funciones de agrupación
- Soporta
gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones
de registros.
¿QUE
ES Microsoft Access?
Microsoft
Access es un sistema de gestión de base de datos. Por
medio de Microsoft Access, puede administrar toda la información desde un único
archivo de base de datos. Dentro del archivo, puede utilizar: Tablas
para almacenar los datos.Consultas
para buscar y recuperar únicamente los datos que necesita.
¿Qué
es una base de datos?
Es un conjunto
de registros organizados para un uso determinado. Su extensión
es .MDB (motor de la base
de datos). Almacena y trata la información utilizando una gestión
de bases de datos relacional, se la denomina como tal porque puede tener más de una tabla
con relaciones entre ella.
¿Cómo se
compone?
•
Tablas: son el "corazón" de la Base de datos y aparecen en una hoja
electrónica formada por filas (informes) y columnas (campos).
•
Consultas: son "herramientas" que sirven para "eliminar"
todos los datos que no interesan haciendo aparecer únicamente aquellos que
interesan.
•
Formularios: permiten la visualización y la gestión de los datos contenidos en
las tablas y en las consultas.
•
Informes: recopilan los datos de las tablas o consultas para permitir su
impresión o análisis, facilitando la individualización de los datos más
importantes.
•
Macros: automatizan las funciones de la base de datos.
•
Módulos: registran de Access Basic (programación).
¿QUE ES DB2?
DB2
es un sistema de gestión de base de
datos relacionales completamente habilitado para la web que se puede escalar,
desde procesadores simples hasta multiprocesadores simétricos y agrupamientos
paralelos masivos.
SE CARACTERIZA
POR:
Permite el manejo de objetos grandes (hasta 2 GB), la
definición de datos y funciones por parte del usuario, el chequeo de integridad
referencial, SQL
recursivo, soporte multimedia:
texto,
imágenes,
video, audio; queries paralelos, commit de dos fases, backup/recuperación
on−line y offline.
Además cuenta con un monitor
gráfico de performance el cual posibilita observar el tiempo
de ejecución de una sentencia SQL y corregir detalles para aumentar el
rendimiento.
Mediante los extensores se realiza el manejo de los
datos no tradicionales, por ejemplo si tengo un donde tengo almacenados los
curriculums de varias personas, mediante este puedo realizar búsquedas documentos
con los datos que me interesen sin tener que ver los CV uno por uno.
Esta capacidad se utiliza en sistemas
de búsqueda de personas por huellas digitales, en sistemas información
geográfica, etc.
Internet es siempre la gran estrella, con DB2 es
posible acceder a los datos usando JDBC (tan potente como escribir directamente
C contra la base de datos), Java y SQL (tanto el SQL estático, como complementa
el SQL dinámico).