• No se han encontrado resultados

Anexo 1. Control de redundancia

En la creación tradicional de programas con procesamiento de archivos, cada grupo de usuarios mantiene sus propios archivos para manejar sus aplicaciones de procesamiento de datos. Por ejemplo, en nuestro caso de estudio un profesor puede ser al mismo tiempo un estudiante. Con esto una buena parte de los datos se almacenaría dos veces: una vez como estudiante y otra como profesor. La redundancia en el almacenamiento de los datos provoca varios problemas. En primer lugar, es necesario realizar una misma actualización lógica varias veces, esto implica una duplicación del trabajo. En segundo lugar, se desperdicia espacio de almacenamiento al guardar los mismos datos en varios lugares, y este problema puede ser grave si las bases de datos son grandes. En tercer lugar es posible que los archivos que representan los mismos datos se tornen inconsistentes, quizás porque una actualización se haya aplicado a ciertos archivos y a otros no.

Para conservar la consistencia, debe crearse un diseño que almacene cada dato lógico-como el nombre o la fecha de nacimiento de un estudiante que al mismo tiempo sea profesor-en un solo lugar de la base de datos. Ello evita la inconsistencia y ahorra espacio de almacenamiento. En algunos casos puede convenir la redundancia controlada.

Anexo 2. Restricción de los accesos no autorizados

Cuando muchos usuarios comparten una misma base de datos es probable que no todos tengan la autorización para tener acceso a toda la información que contiene. Por ejemplo, por lo general los datos financieros son confidenciales y solo ciertas personas pueden tener acceso a ellos. Además, es posible que solo algunos usuarios tengan permitido recuperar datos, en tanto que a otros se les permita obtenerlos y actualizarlos. Por tanto, también es preciso controlar el tipo de las operaciones de acceso (obtención o actualización). Por lo regular, a los usuarios o grupos de usuarios se les asignan números de cuenta protegidos con contraseñas, mismos que sirven para tener acceso a la base de datos. El SGBD debe contar con un subsistema de seguridad y autorización que permita al DBA crear cuentas y especificar restricciones para ellas. El SGBD deberá entonces obligar automáticamente al cumplimiento de dichas restricciones. Este mismo tipo de controles se puede aplicar al

software del SGBD. Por ejemplo, solo el personal del DBA (Administrador de la Base de Datos) tendrá autorización para utilizar cierto software privilegiado, como el que sirve para crear cuentas nuevas. De manera similar, podemos hacer que los usuarios paramétricos solo puedan tener acceso a la base de datos a través de las transacciones programadas que expresamente fueron creadas para ellos.

La seguridad de las bases de datos es un área muy amplia que abarca varios temas, entre ellos los siguientes:

9 Cuestiones éticas y legales relativas al derecho a tener acceso a cierta información. Es posible que parte de esta se considere privada y que las personas no autorizadas no puedan tener acceso a ella legalmente. En algunos países existen leyes sobre la seguridad confidencial de la información.

9 Cuestiones políticas en el nivel gubernamental, institucional o corporativo, relacionadas con las clases de información que no deben estar disponibles para el público; por ejemplo, clasificaciones de créditos y expedientes médicos personales. 9 Cuestiones sistémicas, como los niveles del sistema en los que deben manejarse las

diversas funciones de seguridad; por ejemplo, el nivel del hardware físico, el nivel del sistema operativo o el nivel del SGBD.

9 La necesidad en algunas organizaciones de identificar múltiples niveles de seguridad y de clasificar los datos y los usuarios según estos niveles; por ejemplo, secreto máximo, secreto confidencial y no clasificado. La política de seguridad de la organización relacionada con el permiso para tener acceso a las diversas clasificaciones de los datos que se debe hacer cumplir.

Por lo regular, un SGBD cuenta con un subsistema de seguridad y autorización de la base de datos que se encarga de garantizar la seguridad de porciones de la base de datos contra el acceso no autorizado. Se habla de dos tipos de mecanismos de seguridad en la base de datos:

9 Los mecanismos de seguridad discrecionales se usan para otorgar privilegios a los usuarios, incluida la capacidad de tener acceso a archivos, registros o campos de datos específicos en un determinado modo (lectura, escritura o actualización).

9 Los mecanismos de seguridad obligatorios sirven para imponer seguridad de múltiples niveles clasificando los datos y los usuarios en varias clases de seguridad e implementando después la política de seguridad apropiada de la organización. Por ejemplo, una política seguridad común consiste en permitir a los usuarios de un cierto nivel de clasificación ver solo los elementos de información clasificados en el mismo nivel que el usuario (o en un nivel inferior).

Otro problema de seguridad es el de evitar que personas no autorizadas tengan acceso al sistema, ya sea para obtener información o para efectuar cambios mal intencionados en una porción de la base de datos. El mecanismo de seguridad de un SGBD debe incluir formas de restringir el acceso al sistema como un todo. Esta función se denomina control de acceso y se pone en práctica creando cuentas de usuarios y contraseñas para que el SGBD controle el proceso de entrada al sistema.

También es necesario controlar el acceso a una base de datos estadística, la cual sirve para proporcionar información estadística o resúmenes de valores a partir de diversos criterios. Los usuarios de las bases de datos estadísticas, como los de gubernamentales o de investigación de mercado, están autorizados para usarlas para obtener información estadística sobre la población, pero no para tener acceso a información confidencial detallada sobre individuos específicos. La seguridad en las bases de datos estadísticas debe cuidar que la información sobre individuos no sea accesible. En ocasiones es posible deducir ciertos hechos relativos a los individuos a partir de consultas en las que intervienen solo datos sinópticos de grupos, así que tampoco esto debe permitirse.

Otra técnica de seguridad es el cifrado de datos, que sirve para proteger datos confidenciales que se transmiten por satélite o por algún otro tipo de red de comunicaciones. Así mismo, el cifrado puede proveer protección adicional a secciones confidenciales de una base de datos. Los datos se codifican mediante algún algoritmo de codificación. Un usuario no autorizado que tenga acceso a datos codificados tendrá problemas para descifrarlos, pero un usuario autorizado contará con los algoritmos de descodificación o descifrado para descifrarlos. Se han creado técnicas de cifrado que son muy difíciles de descifrar sin la clave, éstas se utilizan en aplicaciones militares.

Anexo 3. Almacenamiento persistente de objetos y estructuras de datos de

programas

Esta es una de las principales razones de que se hayan creado los SGBD orientados a objetos. Es común que los lenguajes de programación cuenten con estructuras de datos complejas. Los valores de las variables de un programa se desechan una vez que este termina, a menos que el programador explícitamente los almacene en archivos permanentes; para ello, suele requerirse la conversión de esas estructuras complejas a un formato adecuado para su almacenamiento en archivos. Cuando hay que leer otra vez estos datos, el programador debe convertirlos del formato de archivos a la estructura de variables del programa. Los sistemas de bases de datos orientados a objetos son compatibles con lenguajes de programación del tipo C++ y el software del SGBD realiza automáticamente las conversiones necesarias. Se dice que los objetos de este tipo son persistentes porque sobreviven cuando termina la ejecución del programa y después se pueden recuperar directamente mediante otro programa en C++.