Una estrategia de seguridad en la nube alineada al NIST
Gestores DB elegir
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19. GESTORES DE BASES DE DATOS A ELEGIR
Al momento de elegir la plataforma de base de datos sobre la cual correr nuestras aplicaciones de negocio
y de misión crítica, generalmente, se tenía muy pocas y clarísimas opciones a escoger. Cada una tiene
fortalezas y flexibilidades que hacen que las corporaciones elijan con que paquete tiene que escoger.
La elección de una base de datos ha sido por mucho tiempo un punto de discusión necesaria dentro de los
departamentos de sistemas de las empresas, debido a que dicha decisión acarrea muchas importantes
consecuencias para la organización, a veces de manera permanente. Para aplicaciones de misión crítica
esta discusión es aún mucho más importante, y los factores que inciden dentro de la decisión de adoptar
una u otra plataforma son muy variados y complejos a la vez.
La característica que más se nota en un sistema de base de datos es la velocidad de procesamiento, pero
en la medida en que aumenta la complejidad de un proyecto informático otras características se hacen
necesarias.
20. Ejemplos de gestores de base de datos libres
Firebird
BDB
MySQL
PostgreSQL
Sqlite
MaríaDB
Ejemplos de gestores de base de datos propietarios
dBase
FileMaker
Fox Pro
IBM DB2 Universal Database (DB2 UDB)
IBM Informix
MAGIC
Microsoft SQL Server
Open Access
Oracle
Paradox
PervasiveSQL
Progress (DBMS)
Sybase ASE
Sybase ASA
Sybase IQ
WindowBase
Los gestores de bases de datos son muy útiles y necesarios en el desarrollo de cualquier software, ya que
la gran mayoría de los programas que se crean tienen que tener base de datos, por lo que es de suma
importancia tomar una buena decisión.
21. Tema 03: Administración de base de
datos.
1. LA ADMINISTRACIÓN DE LA ESTRUCTURA DE LA BASE DE DATOS
La administración de la estructura de la base de datos incluye participar en el diseño inicial de la misma
y su puesta en práctica así como controlar y administrar sus requerimientos, ayudando a evaluar
alternativas, incluyendo los DBMS a utilizar y ayudando en el diseño general de BD. En los casos de
grandes aplicaciones de tipo organizacional, el DBA es un gerente que supervisa el trabajo del personal
de diseño de la BD.
Una vez diseñada la BD, es puesta en práctica utilizando productos del DBMS, procediéndose entonces
a la creación de los datos (captura inicial). El DBA participa en el desarrollo de procedimientos y controles
para asegurar la calidad y la alta integridad de la BD.
Los requerimientos de los usuarios van modificándose, estos encuentran nuevas formas o métodos para
lograr sus objetivos; la tecnología de la BD se va modificando y los fabricantes del DBMS actualizan sus
productos. Todas las modificaciones en las estructuras o procedimientos de BD requieren de una
cuidadosa administración.
22.
23.
24.
25. No tiene sentido hablar de gestión documental “en serio” si no hay una base de datos gestionando los
documentos. Así que, veamos a continuación otros criterios para ver las diferentes opciones de bases de
datos que podrían cumplir esta necesidad:
1. Base de datos “propietaria”:aunque parezca mentira, hay empresas que ofrecen sus productos
sobre “su propia base de datos”. A muchos, sorprende que haya empresas que utilizan su propia
base de datos para conservar y gestionar documentos. Es evidente que para estas empresas su
producto es estupendo y lo conocen a la perfección, ya que ellos lo han desarrollado. Pero
igualmente podemos conocer muy bien Oracle o SQL Server (muchos se refieren a este último
como SQL lo cual es incorrecto, pues SQL es el lenguaje estándar en la manipulación de las bases
de datos).
Las bases de datos propietarias, pueden decir que son robustas, pero ¿más que Oracle?, la única
ventaja posible puede ser el precio, pero ¿qué hay con la robustez, calidad, seguridad, etc? ¿Qué
pasa si se tiene un problema con el proveedor? ¿Cómo se accedería a los documentos e
información, guardados en un sistema que nadie, conoce salvo ellos? Es importante mantener en
mente estos elementos, pues la decisión de seleccionarla puede acarear dificultades en el futuro,
sobre todo si ya no se cuenta con el soporte técnico correspondiente.
2. Base de datos
“estándar”:en esta
ocasión,
entenderemos como
“estándar”, que sea
un producto conocido,
con muchos años de
vida, del que hay
manuales,
documentación,
cursos, etc., del que
se puede encontrar
un técnico en
cualquier lugar del
mundo. En esta
categoría, que puede
parecer restrictiva,
hay muchos
productos. Por citar
algunos: DB2,
Firebird, Informix, Interbase, MySQL, Oracle, PostgreSQL, Pervasive, SQLite, SQL Server, Sybase
y muchos otros más. Todos estos tienen una característica: se basan en el lenguaje de consulta
estructurado SQL que es un estándar en este tipo de soluciones. Estos pueden ser divididos en 3
grupos a modo de ejemplo:
a. Las de software libre: MySQL es la más representativa o conocida.
b. Las más extendidas: Oracle y SQL Server por su trayectoria comercial.
c. El resto: algunas como DB2 casi tan conocidas como Oracle, pero propiedad de IBM,
dirigida a grandes empresas y, por tanto, mucho menos extendida que Oracle o SQL
server. Otras han tenido su momento de gloria, o tienen su nicho de mercado, pero su
popularidad no tiene comparación respecto a las dos anteriores.
Debemos, por tanto, considerar que al elegir un gestor de base de datos son muchos factores los que
debemos tomar en cuenta. Lo importante es que cumplan con las expectativas del negocio y sobre todo,
que se mantengan disponibles por mucho tiempo, pensando en la robustez y escalabilidad. Cualquiera de
ellas es más que suficiente para manejar cientos de miles de documentos sin problema. Un software de
gestión documental “basado” en cualquiera de las tres será bueno o malo por sí mismo, pero no por la base
de datos que utiliza.
26. Es importante que cuando se menciona la palabra “empresa” se refiere a la organización que instala o
piensa instalar un sistema de gestión. Puede ser una empresa pública o privada, un despacho profesional,
una consulta de un médico o una administración pública, una universidad, incluso una persona solamente.
27. 5. ADMINISTRACIÓN DE BASE DE DATOS
Dentro de un ambiente de bases de datos existen usuarios que intervienen en ella, como el cliente, que es
quien recibe solo resultados, los usuarios medios que son quienes manipulan un poco los datos, pero de
una forma no profesional, y el administrador de bases de datos (ADB o DBA), que es el que se encarga de
realizar todas las actividades que conciernen a la supervisión, explotación y el óptimo funcionamiento de
las bases de datos, intervienen en situaciones de emergencia o problemáticas e inclusive, manipular la
información en caso de necesitar un proceso externo como reportes especiales o procesos de control así
como establecer las condiciones para evitar incidencias.
28.
29. Como se ha mencionado, como este usuario (DBA) es el responsable de la base de datos, también debe
asesorar de la normativa de manejo de las bases de datos a los programadores y usuarios que tengan
injerencia en la base de datos.
La tarea de este usuario como se muestra no es fácil, requiere de responsabilidad y buen conocimiento de
estas, además de la iniciativa para poder hacer los cambios, realizar propuestas y hacer toma de decisiones
para las mejoras dentro de las estructuras de las bases de datos.
Como podemos ver el proceso de un análisis y diseño de bases de datos es un trabajo que requiere de
tiempo y seguir los pasos para tener el éxito y esa sea una estructura robusta para el propósito para el cual
se creó.
Tema 04: Estructura de Base de
Datos
1. PROPÓSITO DE LAS BASES DE DATOS
La función básica de una base de datos es permitir el almacenamiento y la recuperación de la información
necesaria, para que las personas de la organización puedan tomar decisiones. Es así que las bases de
datos se tornan esenciales para la supervivencia de cualquier organización; pues los datos estructurados
constituyen un recurso básico para todas las organizaciones.
Dependiendo de la capacidad de almacenamiento y procesamiento del hardware, la organización puede
contar con una única Base de Datos, o con múltiples bases de datos.
Es común que en las pequeñas y medianas empresas se cuente con microcomputadoras, y por ello
tengan que distribuir su información en un conjunto de bases de datos; asignándole a cada una de ellas,
30. información sobre cada área específica de la empresa. Un ejemplo sería contar con una base de datos
para el almacenamiento de la información correspondiente al área financiera, otra para el área de
personal, una más para el área de ventas o el área de producción.
Mientras tanto, las grandes organizaciones poseen computadoras de gran porte, y es así que pueden
almacenar toda la información necesaria, integrada, consistente y consolidada, en una única base de
datos.
Independientemente de la base de datos que será implementada, esta necesita de un
Sistema Gestor de Base de Datos (SGBD o DBMS). Los sistemas gestores de base
de datos son programas de software para la administración de las bases de datos; y
en particular, para almacenar, manipular y recuperar datos en una computadora. El
SGBD también se encargará de la comunicación entre el usuario y la base de datos,
proporcionándole al usuario, los medios necesarios para poder obtener información,
introducir nuevos datos y actualizar los ya existentes.
2. TIPOS DE ARCHIVOS
Los archivos que pueden definir en la estructura de una base de datos pueden clasificarse en cuatro tipos
básicos, que son: los archivos maestros, los archivos de transacciones, los archivos de control y los
archivos de planeamiento. Esta clasificación dependerá de la relación lógica que deben tener los datos,
para dar apoyo a la actividad de la organización.
ARCHIVO MAESTRO
Es un conjunto de registros que se refieren a algún aspecto importante de las actividades
de una organización, como por ejemplo, el archivo de VENDEDORES. Un archivo
maestro también puede reflejar la historia de los eventos que afectan a una entidad
determinada, como es en el caso de un archivo HISTÓRICO DE VENTAS. Otros
ejemplos son los archivos maestros de:
PLAN DE CUENTAS.
BANCOS.
NÓMINA DEL PERSONAL.
CLIENTES.
31. VENDEDORES.
PRODUCTOS.
PROVEEDORES.
COMPETIDORES, etc.
ARCHIVO DE TRANSACCIONES
Es un archivo temporal que persigue básicamente dos propósitos; uno es acumular datos
de eventos en el momento que ocurran, y el segundo propósito es actualizar los archivos
maestros para reflejar los resultados de las transacciones actuales. En otras palabras,
guardan información sobre los eventos que afectan a la organización y sobre los cuales
se calculan datos; como es en el caso de los archivos de VENTAS, ÓRDENES DE
PRODUCCIÓN o PAGO DE SALARIOS. Otros ejemplos de archivos de transacciones son los archivos
de:
REGISTROS CONTABLES.
COSTOS.
FACTURAS.
PAGOS A RECIBIR.
PROCESOS DE EXPORTACIÓN.
CONSULTA DE CLIENTES.
PEDIDOS DE CLIENTES.
PEDIDOS A PROVEEDORES, etc.
ARCHIVOS DE CONTROL
Los archivos de control contienen datos de los archivos maestros y de transacciones, para permitir el
análisis del desempeño de la organización. Estos archivos generan medidas de control de los negocios,
como pueden ser:
VOLUMEN DE VENTA POR PRODUCTO.
VOLUMEN DE VENTA POR VENDEDOR.
VOLUMEN DE VENTA POR CLIENTE.
COMPRAS POR PROVEEDOR.
COSTO DE REPOSICIÓN.
ARCHIVO DE PLANEAMIENTO
Los archivos de planeamiento contienen datos referentes a los niveles esperados de los
datos existentes en los archivos maestros y de transacciones, como por ejemplo:
PROGRAMA DE VENTAS.
PROGRAMA DE COMPRAS.
PROGRAMA DE PRODUCCIÓN.
PRESUPUESTO FINANCIERO.
32. Por lo tanto, los datos existentes en un archivo de planeamiento provienen de los archivos maestros, de
transacciones y de control.
3. ESTRUCTURA DE UN SISTEMA DE BASE DE DATOS
Un sistema de bases de datos se divide en módulos que se encargan de cada una de las responsabilidades
del sistema completo. Los componentes funcionales de un sistema de bases de datos se pueden dividir a
grandes rasgos en los componentes gestores de almacenamiento y procesador de consultas.
El gestor de consultas es importante porque las bases de datos requieren normalmente una gran cantidad
de espacio de almacenamiento. Las bases de datos corporativas tienen un tamaño de entre cientos de
gigabytes y, para las mayores bases de datos, terabytes de datos.
Un gigabyte son 1.000 megabytes (1.000 millones de bytes), y un terabyte es 1 millón de megabytes (1
billón de bytes). Debido a que la memoria principal de los computadores no puede almacenar esta gran
cantidad de información, esta se almacena en discos. Los datos se trasladan entre el disco de
almacenamiento y la memoria principal cuando es necesario. Como la transferencia de datos desde el disco
es lenta comparada con la velocidad de la unidad central de procesamiento, es fundamental que el sistema
de base de datos estructure los datos para minimizar la necesidad de movimiento de datos entre el disco y
la memoria principal.
El procesador de consultas es importante porque ayuda al sistema de bases de datos a simplificar y facilitar
el acceso a los datos. Las vistas de alto nivel ayudan a conseguir este objetivo. Con ellas, los usuarios del
sistema no deberían ser molestados innecesariamente con los detalles físicos de implementación del
sistema. Sin embargo, el rápido procesamiento de las actualizaciones y de las consultas es importante. Es
trabajo del sistema de bases de datos traducir las actualizaciones y las consultas escritas en un lenguaje
no procedimental, en el nivel lógico, en una secuencia de operaciones en el nivel físico.
4. GESTOR DE ALMACENAMIENTO
33. Es un módulo de programa que proporciona la interfaz entre los datos de bajo nivel en la base de datos y
los programas de aplicación y consultas emitidas al sistema. El gestor de almacenamiento es responsable
de la interacción con el gestor de archivos. Los datos en bruto se almacenan en disco usando un sistema
de archivos, que está disponible habitualmente en un sistema operativo convencional. El gestor de
almacenamiento traduce las diferentes instrucciones LMD a órdenes de un sistema de archivos de bajo
nivel. Así, el gestor de almacenamiento es responsable del almacenamiento, recuperación y actualización
de los datos en la base de datos.
El gestor de almacenamiento implementa varias estructuras de datos como parte de la implementación
física del sistema:
Archivos de datos: que almacenan la base de datos en sí.
Diccionario de datos: que almacena metadatos acerca de la estructura de la base de datos, en
particular, el esquema de la base de datos.
Índices: que proporcionan acceso rápido a elementos de datos que tienen valores particulares.
Veamos a continuación la estructura del sistema en forma gráfica:
34. 5. ESTRUCTURA MULTICAPA
El proceso que realiza un SGBD está en realidad formado por varias capas que actúan como interfaces
entre el usuario y los datos. Fue el propio organismo ANSI (en su modelo X3/SPARC que luego se comenta)
la que introdujo una mejora de su modelo de bases de datos en 1988 a través de un grupo de trabajo
llamado UFTG (User Facilities Task Group, grupo de trabajo para las facilidades de usuario). Este modelo
toma como objeto principal al usuario habitual de la base de datos y modela el funcionamiento de la base
de datos en una sucesión de capas cuya finalidad es ocultar y proteger la parte interna de las bases de
datos.
Desde esta óptica para llegar a los datos hay que pasar una serie de capas que desde la parte más externa
poco a poco van entrando más en la realidad física de la base de datos. Esa estructura se muestra a
continuación:
35. Facilidades de usuario: son las herramientas que proporciona el SGBD a los usuarios para
permitir un acceso más sencillo a los datos. Actúan de interfaz entre el usuario y la base de datos,
y son el único elemento que maneja el usuario.
Capa de acceso a datos: la capa de acceso a datos es la que permite comunicar a las
aplicaciones de usuario con el diccionario de datos a través de las herramientas de gestión de
datos que incorpore el SGBD.
Diccionario de datos: se trata del elemento que posee todos los metadatos. Gracias a esta capa
las solicitudes de los clientes se traducen en instrucciones que hacen referencia al esquema
interno de la base de datos.
Núcleo: el núcleo de la base de datos es la encargada de traducir todas las instrucciones
requeridas y prepararlas para su correcta interpretación por parte del sistema. Realiza la traducción
física de las peticiones.
Sistema operativo: es una capa externa al software SGBD pero es la única capa que realmente
accede a los datos en sí.
Tema 04: Estructura de Base de
Datos
6. ESTRUCTURA DE LAS BASES DE DATOS
36. La estructura de una base de datos hace referencia a los tipos de datos, los vínculos o relaciones y las
restricciones que deben cumplir esos datos (integridad de datos y redundancia de datos).
La estructura de una base de datos es diseñada o descrita empleando algún tipo de modelo de datos.
La base de datos se organiza en dos marcadas secciones: el esquema y los datos (o instancia).
El esquema es la definición de la estructura de la base de datos y, principalmente, almacena los
siguientes datos:
Las bases de datos relacionales pasan por un proceso al que se le conoce como normalización, el
resultado de dicho proceso es un esquema que permite que la base de datos sea usada de manera
óptima.
37. Los datos o instancia es el contenido de la base de datos en un momento dado. Es en sí, el contenido
de todos los registros.
Una base de datos está compuesta por un conjunto de tablas o archivos. Para una mayor comprensión
podemos ejemplificar la siguiente base de datos de compras, la cual podría contener tres entidades:
Datos sobre productos (entidad producto), almacenados en el archivo de PRODUCTOS.
Datos sobre proveedores (entidad proveedores), almacenados en el archivo PROVEEDORES.
Datos sobre el origen de los productos (entidad origen del producto), es decir, los productos son
provistos por cada proveedor y viceversa, almacenados en el archivo de ORIGEN DEL
PRODUCTO.
La información almacenada en cada uno de estos archivos se conoce con el nombre de entidad. Por lo
tanto, una entidad es cualquier persona, cosa o evento, real o imaginario, de interés para la organización
y acerca del cual se capturan, almacenan o procesan datos.
Además, cada uno de estos archivos está formado por un conjunto de registros que describe, a través de
los atributos o datos (columna), cada entidad en él almacenado. Un atributo es, pues, cualquier detalle
que sirve para identificar, clasificar, cuantificar o expresar el estado de una entidad.
Todos los registros de un archivo, identificados por las filas de cada tabla, poseen el mismo formato, es
decir, tienen el mismo conjunto de datos o atributos, identificados por las columnas, que describen a las
entidades.
En otras palabras, los registros están formados por un conjunto de datos almacenados en los campos de
cada atributo; y cada registro debe contener el conjunto de atributos necesarios, para describir
completamente cada entidad sobre la cual una organización necesita almacenar y obtener información.