Modulo 1 - M002
Modulo 1 - M002
Modulo 1 - M002
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
1.1. FUNDAMENTOS CONCEPTUALES
INTRODUCCION
Los recursos de información, y los mecanismos necesarios para su interrogación son
uno de los objetivos fundamentales en los sistemas de información que deben hacer
frente a grandes cantidades de documentos e información en diferentes formatos y
soportes.
Uno de los componentes principales de estos sistemas son las bases de datos, o,
más concretamente, los sistemas de bases de datos. Resultará evidente, por otra
parte, que la gestión del gran volumen de datos demandará una teoría sobre la
organización de esos datos para alcanzar la máxima efectividad posible. En este
capítulo se va a efectuar una revisión de los principios que inspiran la arquitectura y
el diseño de sistemas de bases de datos, poniendo especial interés en el modelo
entidad-relación, por cuanto será el utilizado más adelante para el diseño de las
bases de datos con sistemas de gestión de bases de datos relacionales, ya que gran
parte de los métodos de modelado conceptual pueden utilizarse igualmente en la
construcción de bases de datos documentales.
Las bases de datos almacenan, como su nombre dice, datos. Estos datos son
representaciones de sucesos y objetos, a diferente nivel, existentes en el mundo
real: en su conjunto, representan algún tipo de entidad existente. En el mundo real
se tiene percepción sobre las entidades u objetos y sobre los atributos de esos
objetos; en el mundo de los datos, hay registros de eventos y datos de eventos.
Además, en ambos escenarios se puede incluso distinguir una tercera faceta:
aquella que comprende las definiciones de las entidades externas, o bien las
definiciones de los registros y de los datos.
La transferencia entre las entidades del mundo real, y sus características, y los
registros contenidos en una base de datos, correspondientes a esas entidades, se
alcanza tras un proceso lógico de abstracción, conjunto de tareas que suelen
englobarse bajo el título de diseño de bases de datos. Sin embargo, es necesario
definir, en primer lugar, qué es una base de datos, independientemente de su diseño
y/o su orientación.
Esta última definición incluye los objetivos que debe cumplir un sistema gestor de
bases de datos, sobre los cuales se tratará más adelante. En este punto es
suficiente considerar que estos sistemas deben mantener la independencia de los
datos (las aplicaciones no deben verse afectadas por cambios en la estructura de los
datos), integridad de los datos (los datos deben cumplir ciertas restricciones que
aseguren la correcta introducción, modificación y borrado de los mismos) y
seguridad (establecer diferentes niveles de acceso a los datos a diferentes tipos de
usuarios).
DESARROLLO
Archivos convencionales
Las formas en las cuales pueden organizarse son archivos secuenciales o archivos
directos.
ISIV – Pag 2 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
En los archivos secuenciales los registros están almacenados en una secuencia que
depende de algún criterio definido. Por ejemplo, pueden almacenarse los registros
de los empleados de la empresa de manera secuencial de acuerdo al departamento
al que pertenecen o de acuerdo a su antigüedad.
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.
Componentes principales
Usuarios. Existen tres clases de usuarios relacionados con una Base de Datos:
ISIV – Pag 3 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Ventajas en el uso de Bases de Datos
Se compone de:
ISIV – Pag 4 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Base de Datos
Secuencia conceptual de operaciones para acceder cierta información que contiene una base de datos .
ISIV – Pag 5 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
INTRODUCCION
Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para
su clasificación:
Ø Bases de datos Estáticas: Son bases de datos a las que se solo se puede acceder para leer la
información contenida. Se emplean principalmente para almacenar datos de carácter histórico.
Estos permiten estudios estadísticos o de investigación en general, basados en un conjunto de
datos a través del tiempo.
Ø Bases de datos dinámicas: En estas bases de datos al contrario del caso anterior, la
información almacenada se modifica con el tiempo, acompañando los eventos para los que
fueron diseñadas. Ellas permiten el agregado, modificación o eliminación de datos, además de
las operaciones fundamentales de consulta. En general cubren áreas de recursos estratégicos o
administrativos de organismos gubernamentales, militares o emprendimientos comerciales de
cualquier índole.
Según su contenido:
Ø Bases de datos bibliográficas: Solo contienen un enlace que nos vincula con la fuente
primaria para 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. Eventualmente puede contener un resumen o fragmento de la publicación
original, pero nunca el texto completo, porque sino estaríamos en presencia de una base de
datos a texto completo (o de fuentes primarias). Podemos decir que su uso nos permite obtener
una primera aproximación a la información definitiva.
Ø Bases de datos numéricas: Como su nombre lo indica, el contenido son cifras o números.
Por ejemplo, una colección de resultados de análisis de laboratorio.
Ø Bases de datos de texto completo: Almacenan las fuentes primarias, como por ejemplo,
todo el contenido de todos las ediciones de una colección de revistas científicas.
Ø Directorios: Son claramente índices de consulta en formato electrónico. Una aplicación muy
difundida la constituyen las Guías Telefónicas, Industriales, etc.
Ø Banco de datos multimedia: Como su nombre lo indica, almacenan información en de
carácter Multimedia (Imágenes, Sonidos, Videos, etc.).
Ø Bases de datos de información Biológica: Son bases de datos que almacenan diferentes
tipos de información proveniente de las ciencias de la vida o médicas. Se pueden considerar en
varios subtipos:
• Aquellas que almacenan secuencias de nucleótidos o proteínas.
• Las bases de datos de rutas metabólicas.
• Bases de datos de estructura, comprende los registros de datos experimentales
sobre estructuras 3D de biomoléculas
• Bases de datos clínicas.
• Bases de datos bibliográficas (biológicas).
ISIV – Pag 6 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Existen fundamentalmente tres alternativas disponibles para diseñar las bases de datos: el modelo
jerárquico, el modelo de red y el modelo relacional.
El modelo jerárquico
Se dice que existe una relación de uno a uno si el padre de la estructura de información tiene un solo
hijo y viceversa, si el hijo tiene solamente un padre.
Se dice que la relación es de uno a muchos si el padre tiene más de un hijo, aunque cada hijo tenga
un solo padre.
Relación maestro-alumno, donde un maestro tiene varios alumnos, pero un alumno también tiene
varios maestros, uno para cada clase. En este caso, si la información estuviera representada en
forma jerárquica donde el padre es el maestro y el alumno es el hijo, la información del alumno tendrá
que duplicarse para cada uno de los maestros.
Otra dificultad que presenta el modelo jerárquico de representación de datos es respecto a las bajas.
En este caso, si se desea dar de baja a un padre, esto necesariamente implicará dar de baja a todos
y cada uno de los hijos que dependen de este padre.
El modelo de red
La dificultad surge al manejar las conexiones o ligas entre los registros y sus correspondientes
registros conectores.
El modelo relacional
Se está empleando con más frecuencia en la práctica, debido el rápido entendimiento por parte de los
usuarios que no tienen conocimientos profundos sobre Sistemas de Bases de Datos y a las ventajas
que ofrece sobre los dos modelos anteriores.
En este modelo toda la información se representa a través de arreglos bidimensionales o tablas y las
relaciones funcionales. Estas Relaciones permiten abarcar todo el espectro de información necesaria
de manera intuitiva y sin más restricciones que las impuestas por los límites del Sistema de
Información al que se aplican.
Este es el modelo más utilizado y difundido en la actualidad, para modelar problemas reales y
administrar datos dinámicamente. Sus fundamentos fueron postulados por su creador en 1970,
Edgar Frank Codd, de los laboratorios IBM en San José (California).
Dado el grado de respuestas positivas, que brindara al paradigma del Diseño de Datos, aplicado a los
Sistemas de Información, no tardó en consolidarse como un nuevo prototipo en los modelos de base
de datos.
Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica
como conjuntos de datos llamados "tuplas".
Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la
mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en
ISIV – Pag 7 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que
representarían las tuplas, y campos (las columnas de una tabla).
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 bas es de datos relacionales.
Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como
normalización de una base de datos.
Los modelos de bases de datos tradicionales (relacional, red y jerárquico) han sido capaces de
satisfacer con éxito las necesidades, en cuanto a bases de datos, de las aplicaciones de gestión
tradicionales.
Sin embargo, presentan algunas deficiencias cuando se trata de aplicaciones más complejas o
sofisticadas como, por ejemplo, el diseño y fabricación en ingeniería (CAD/CAM, CIM), los
experimentos científicos, los sistemas de información geográfica o los sistemas multimedia. Los
requerimientos y las características de estas nuevas aplicaciones difieren en gran medida de las
típicas aplicaciones de gestión: la estructura de los objetos es mas compleja, las transacciones son
de larga duración, se necesitan nuevos tipos de datos para almacenar imágenes y textos, y hace falta
definir operaciones no estándar, específicas para cada aplicación.
Las bases de datos orientadas a objetos se crearon para tratar de satisfacer las necesidades de estas
nuevas aplicaciones. La orientación a objetos ofrece flexibilidad para manejar algunos de estos
requisitos y no está limitada por los tipos de datos y los lenguajes de consulta de los sistemas de
bases de datos tradicionales. Una característica clave de las bases de datos orientadas a objetos es
la potencia que proporcionan al diseñador al permitirle especificar tanto la estructura de objetos
complejos, como las operaciones que se pueden aplicar sobre dichos objetos.
Otro motivo para la creación de las bases de datos orientadas a objetos es el creciente uso de los
lenguajes orientados a objetos para desarrollar aplicaciones. Las bases de datos se han convertido
en piezas fundamentales de muchos sistemas de información y las bases de datos tradicionales son
difíciles de utilizar cuando las aplicaciones que acceden a ellas están escritas en un lenguaje de
programación orientado a objetos como C++, Smalltalk o Java, entre otros. Las bases de datos
orientadas a objetos se han diseñado para que se puedan integrar directamente con aplicaciones
desarrolladas con lenguajes orientados a objetos, habiendo adoptado muchos de los conceptos de
estos lenguajes.
Esta combinación se considera como un paso adelante en la gestión de datos. Las entidades son
unidades auto contenidas que se pueden reutilizar con relativa facilidad. En lugar de ligar el
comportamiento de una entidad a un programa de aplicación, el comportamiento es parte de la
entidad en sí, por lo en cualquier lugar en el que se utilice la entidad, se comporta de un modo
predecible y conocido.
ISIV – Pag 8 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
El modelo orientado a objetos también soporta relaciones de muchos a muchos, siendo el primer
modelo que lo permite. Aún así se debe ser muy cuidadoso cuando se diseñan estas relaciones para
evitar pérdidas de información.
Por otra parte, las bases de datos orientadas a objetos son navegacionales: el acceso a los datos es
a través de las relaciones, que se almacenan con los mismos datos. Esto se considera un paso atrás.
Las bases de datos orientadas a objetos no son apropiadas para realizar consultas ad hoc, al
contrario que las bases de datos relacionales, aunque normalmente las soportan. La naturaleza
navegacional de las bases de datos orientadas a objetos implica que las consultas deben seguir
relaciones predefinidas y que no pueden insertarse nuevas relaciones “al vuelo”.
No parece que las bases de datos orientadas a objetos vayan a reemplazar a las bases de
datos relacionales en todas las aplicaciones del mismo modo en que estas reemplazaron a sus
predecesoras.
SGBD orientados a objetos puros: son SGBD basados completamente en el modelo orientado a
objetos.
SGBD híbridos u objeto–relacionales: son SGBD relacionales que permiten almacenar 3 objetos en
sus relaciones (tablas).
A continuación se definen los conceptos del paradigma orientado a objetos en programación, ya que
el modelo de datos orientado a objetos es una extensión del mismo.
Objeto. Es un elemento autocontenido utilizado por el programa. Los valores que almacena un objeto
se denominan atributos, variables o propiedades. Los objetos pueden realizar acciones, que se
denominan métodos, servicios, funciones, procedimientos u operaciones. Los objetos tienen un gran
sentido de la privacidad, por lo que sólo dan información sobre sí mismos a través de los métodos
que poseen para compartir su información. También ocultan la implementación de sus
procedimientos, aunque es muy sencillo pedirles que los ejecuten. Los usuarios y los programas de
aplicación no pueden ver qué hay dentro de los métodos, sólo pueden ver los resultados de
ejecutarlos. A esto es a lo que se denomina ocultación de información o encapsulamiento de datos.
Cada objeto presenta una interface pública al resto de objetos que pueden utilizarlo. Una de las
mayores ventajas del encapsulamiento es que mientras que la interface pública sea la misma, se
puede cambiar la implementación de los métodos sin que sea nec esario informar al resto de objetos
que los utilizan. Para pedir datos a un objeto o que este realice una acción se le debe enviar un
mensaje. Un programa orientado a objetos es un conjunto de objetos que tienen atributos y métodos.
Los objetos interactúan enviándose mensajes. La clave, por supuesto, es averiguar qué objetos
necesita el programa y cuales deben ser sus atributos y sus métodos.
Clase. Es un patrón o plantilla en la que se basan objetos que son similares. Cuando un programa
crea un objeto de una clase, proporciona datos para sus variables y el objeto puede entonces utilizar
los métodos que se han escrito para la clase. Todos los objetos creados a partir de la misma clase
comparten los mismos procedimientos para sus métodos, también tienen los mismos tipos para sus
datos, pero los valores pueden diferir.
Una clase también es un tipo de datos. De hecho una clase es una implementación de lo que se
conoce como un tipo abstracto de datos. El que una clase sea también un tipo de datos significa que
una clase se puede utilizar como tipo de datos de un atributo.
Tipos de clases. En los programas orientados a objetos hay tres tipos de clases: clases de control,
clases entidad y clases interface.
Las clases de control gestionan el flujo de operación de un programa (por ejemplo, el programa que
se ejecuta es un objeto de esta clase).
Las clases entidad son las que se utilizan para crear objetos que manejan datos (por ejemplo, clases
para personas, objetos tangibles o eventos).
Las clases interface son las que manejan la entrada y la salida de información (por ejemplo, las
ventanas graficas y los menús utilizados por un programa).
ISIV – Pag 9 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
En los programas orientados a objetos, las clases entidad no hacen su propia entrada/salida. El
teclado es manejado por objetos interface que recogen los datos y los envían a los objetos entidad
para que los almacenen y los procesen. La salida impresa y por pantalla la formatea un objeto
interface para obtener los datos a visualizar de los objetos entidad. Cuando los objetos entidad
forman parte de la base de datos, es el SGBD el que se encarga de la entrada/salida a ficheros. El
resto de la entrada/salida la manejan los programas de aplicación o las utilidades del SGBD. Muchos
programas orientados a objetos tienen un cuarto tipo de clase: la clase contenedor. Estas clases
contienen, o manejan, múltiples objetos creados a partir del mismo tipo de clase. También se
conocen como agregaciones. Las clases contenedor mantienen los objetos en algún orden, los listan
e incluso pueden permitir búsquedas en ellos.
Muchos SGBD orientados a objetos llaman a sus clases contenedor extents (extensiones) y su
objetivo es permitir el acceso a todos los objetos creados a partir de la misma clase.
Tipos de métodos. Hay varios tipos de métodos que son comunes a la mayoría de las clases:
Constructores. Un constructor es un método que tiene el mismo nombre que la clase. Se ejecuta
cuando se crea un objeto de una clase. Por lo tanto, un constructor contiene instrucciones para
inicializar las variables de un objeto.
Destructores. Un destructor es un método que se utiliza para destruir un objeto. No todos los
lenguajes orientados a objetos poseen destructores.
Accesores. Un accesor es un método que devuelve el valor de un atributo privado de otro objeto, así
es como los objetos externos pueden acceder a los datos encapsulados.
Mutadores. Un mutador es un método que almacena un nuevo valor en un atributo. De este modo es
como objetos externos pueden modificar los datos encapsulados. Además, cada clase tendría otros
métodos dependiendo del comportamiento especifico que deba poseer.
Sobrecarga de métodos. Una de las características de las clases es que pueden tener métodos
sobrecargados, que son métodos que tienen el mismo nombre pero que necesitan distintos datos
para operar. Ya que los datos son distintos, las interfaces públicas de los métodos serán diferentes.
Por ejemplo, consideremos una clase contenedor,
TodosLosEmpleados, que agrega todos los objetos creados de la clase Empleado. Para que la clase
contenedor sea útil, debe proporcionar alguna forma de buscar objetos de empleados específicos. Se
puede querer buscar por número de empleado, por el nombre y los apellidos o por el número de
teléfono. La clase contenedor TodosLosEmpleados tendría tres métodos llamados [encuentra].
Uno de los métodos requiere un entero como parámetro (el número de empleado), el segundo
requiere dos cadenas (el nombre y los apellidos) y el tercero requiere una sola cadena (el número de
teléfono).
Aunque los tres métodos tienen el mismo nombre, poseen distintas interfaces públicas. La ventaja de
la sobrecarga de los métodos es que presentan una interface consistente al programador: siempre
que quiera localizar a un empleado, debe utilizar el método encuentra.
Los nombres de las clases empiezan por una letra mayúscula seguida de minúsculas.
Si el nombre tiene más de una palabra, se puede usar el carácter subrayado para separar palabras o
bien empezar cada una con una letra mayúscula (Materia prima o MateriaPrima).
Los nombres de los atributos y de los métodos empiezan por minúscula y si tienen más de una
palabra, utilizan el subrayado o la mayúscula (num empleado o numEmpleado).
Los métodos accesores empiezan por la palabra get seguida del nombre del atributo al que acceden
(getNumEmpleado).
Los métodos mutadores empiezan por la palabra set seguida del nombre del atributo cuyo valor
modifican (setNumEmpleado).
ISIV – Pag 10 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Herencia de atributos. En ocasiones se necesita trabajar con clases que son similares pero no
idénticas. Para ello es muy útil una de las características del paradigma orientado a objetos: la
herencia. Una clase puede tener varias subclases que representan ocurrencias más específicas de la
superclase.
Por ejemplo, podemos tener la clase (superclase) Animal con sus atributos (nombre común, nombre
científico, fecha de nacimiento y género) y las subclases Mamífero, Reptil y Pez, cada una con unos
atributos específicos (Mamífero: peso, altura del hombro, raza y color; Reptil: longitud actual y
longitud máxima; Pez: color).
Por el hecho de ser subclases de Animal, heredan sus atributos. La relación que mantienen las
subclases con la superclase es del tipo “es un”: un mamífero es un animal, un reptil es un animal y un
pez es un animal. No todas las clases de una jerarquía se utilizan para crear objetos.
Por ejemplo, nunca se crean objetos de la clase Animal, sino que se crean objetos de las clases
Mamífero, Reptil o Pez. La clase Animal solo se utiliza para recoger los atributos y métodos que son
comunes a las tres subclases. Se dice que estas clases son abstractas o virtuales.
Las clases que se utilizan para crear objetos se denominan clases concretas.
Herencia múltiple. Cuando una clase hereda de más de una superclase se tiene herencia múltiple.
Interfaces. Algunos lenguajes orientados a objetos no soportan la herencia múltiple. En lugar de eso
permiten que una clase se derive de una sola clase pero permiten que la clase implemente múltiple
interfaces. Una interface es una especificación para una clase sin instrucciones en los métodos. Cada
clase que implemente la interface proporcionaría las instrucciones para cada método de la misma.
Una interface puede contener atributos y métodos, o bien solo atributos, o bien solo métodos.
Polimorfismo. En general, las subclases heredan los métodos de sus superclases y los utilizan como
si fueran suyos. Sin embargo, en algunas ocasiones no es posible escribir un método genérico que
pueda ser usado por todas las subclases. La clase ObjetoGeométrico posee un método área que
debería tener distinta implementación para sus subclases Círculo, Rectángulo y Triángulo. La
superclase contendría un prototipo para el método que calcula el área, indicando solo su interface
pública. Cada subclase redefine el método, añadiendo las instrucciones necesarias para calcular su
área. Nótese que polimorfismo no es lo mismo que sobrecarga: la sobrecarga se aplica a métodos de
la misma clase que tienen el mismo nombre y distintas signaturas, mientras que el polimorfismo se
aplica a varias subclases de la misma superclase que tienen métodos con la misma signatura y con
distintas implementaciones.
Un programa orientado a objetos consta de módulos independientes, por lo que se pueden reutilizar
en distintos programas, ahorrando tiempo de desarrollo.
El interior de una clase se puede modificar como sea necesario siempre que su interface pública no
cambie, de modo que estas modificaciones no afectarían a los programas que utilizan la clase.
Los programas orientados a objetos separan la interface de usuario de la gestión de los datos,
haciendo posible la modificación de una independientemente de la otra.
La herencia añade una estructura lógica al programa relacionando clases desde lo general a lo mas
especificó, haciendo que el programa sea mas fácil de entender y, por lo tanto, más fácil de
mantener.
ISIV – Pag 11 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
1.3. Funciones del Administrador de la Base de Datos
REVISION
Conceptos Generales.
Administrador de la Base de Datos: Es la persona encargada de definir y controlar las bases de
datos corporativas, además proporciona asesoría a los desarrolladores, usuarios y ejecutivos que la
requieran. Es la persona o equipo de personas profesionales responsables del control y manejo del
sistema de base de datos, generalmente tiene(n) experiencia en DBMS, diseño de bases de datos,
Sistemas operativos, comunicación de datos, hardware y programación.
ISIV – Pag 12 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Un Administrador de Base de Datos de tiempo completo normalmente tiene aptitudes técnicas para el
manejo del sistema en cuestión a demás, son cualidades deseables nociones de Administración y
Recursos Humanos. La característica más importante que debe poseer es un conocimiento profundo
de las políticas y normas de la empresa, así como el criterio de la empresa para aplicarlas en un
momento dado.
Una vez diseñada las bases de datos, 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.
El DBA debe procurar siempre que los estándares que serán aplicados beneficien también a
los usuarios, privilegiando siempre la optimización en la operación del DBMS y el apego de las
políticas de la empresa. Entre las funciones del DBA se encuentra la de revisar los estándares
periódicamente para determinar su operatividad, ajustarlos, ampliarlos o cancelarlos y hacer que
éstos se cumplan.
ISIV – Pag 13 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Cuando se definen estándares sobre la estructura de la base de datos, se deben de registrarse
en una sección del diccionario de datos a la que todos aquellos usuarios relacionados con ese tipo de
proceso pueden acceder. Este metadato debe precisar información que nos indique con claridad el
tipo de datos que serán utilizados, sus ámbitos de influencia y sus limitantes de seguridad.
Las técnicas de recuperación son otra función esencial del DBA al administrar la actividad de datos.
A pesar de que el DBMS lleva a cabo una parte del proceso de recuperación, los usuarios determinan
en forma critica la operatividad de esos sistemas de protección.
El DBA debe anticipar fallas y definir procedimientos estándares de operación; los usuarios deben
saber que hacer cuando el sistema este caído y que es lo primero que debe realizarse cuando el
sistema este puesto en marcha nuevamente.
El personal de operación deberá saber como iniciar el proceso de recuperación de la BD que copias
de seguridad utilizar; como programar la reejecución del tiempo perdido y de las tareas pendientes;
es importante también establecer un calendario para llevar a cabo estas actividades sin afectar a
otros sistemas dentro de la organización que hagan uso de los mismos recursos de computo.
Los productos DBMS más populares que se encuentran en el mercado proporcionan servicios de
utilerías para ayudar al DBA en la administración de los datos y su actividad. Algunos sistemas
registran en forma automática los nombres de los usuarios y de las aplicaciones a las que tienen
acceso así como a otros objetos de la BD. Incorpora también utilerías que permitan definir en el
ISIV – Pag 14 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
diccionario de datos las restricciones para que determinadas aplicaciones o módulos de ellas solo
tengan acceso a segmentos específicos de la BD.
La protección contra accidentes, que ocasiona inexactitudes en los datos, es parte del objetivo de
garantizar la integridad de los datos. Estos accidentes incluyen los fallos durante el procesamiento de
las transacciones, los errores lógicos que infringen la suposición de que las transacciones preservan
las restricciones de consistencia de la base de datos y las anomalías debido al acceso concurrente en
la base de datos (acceso concurrente).
La integridad, se encarga de asegurar que las operaciones ejecutadas por los usuarios sean
correctas y mantengan la consistencia de la base de datos.
Mantener la Seguridad de los Datos: La protección de la base de datos de usos mal intencionados
o no autorizados se denomina seguridad de los datos. La seguridad se encarga de limitar a los
usuarios a ejecutar únicamente las operaciones permitidas.
v Privilegios:
o Base de datos.
o Tabla.
o Columna
v Integridad de identidad, semántica y referencial.
v Vistas.
ISIV – Pag 15 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Administrar la Concurrencia: La administración de la concurrencia involucra como los datos son
consultados y actualizados en un ambiente multiusuario. Existen dos tipos de control de la
concurrencia:
v Índices.
v Estadísticas de actualización.
v Distribución de datos.
Definir el Esquema Conceptual: Es tarea del administrador de datos decidir con exactitud cual es la
información que debe mantenerse en la base de datos, una vez identificado los datos a almacenar en
un nivel abstracto, el DBA debe crear a continuación el esquema conceptual correspondiente,
empleando el DDL conceptual.
ISIV – Pag 16 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
A demás de administrar la actividad de datos y la estructura de la base de datos, el DBA debe
administrar el DBMS mismo. Deberá compilar y analizar estadísticas relativas al rendimiento del
sistema e identificar áreas potenciales del problema. Dado que la BD esta sirviendo a muchos grupos
de usuarios, el DBA requiere investigar todas las quejas sobre el tiempo de respuesta del sistema, la
precisión de los datos y la facilidad de uso. Si se requieren cambios el DBA deberá planearlos y
ponerlos en práctica.
El DBA deberá vigilar periódica y continuamente las actividades de los usuarios en la base de
datos. Los productos DBMS incluyen tecnologías que reúnen y publican estadísticas. Estos informes
pudieran indicar cuales fueron los usuarios activos, que archivos y que elementos de datos han sido
utilizados, e incluso el método de acceso que se ha aplicado. Pueden capturarse y reportarse las
tasas de error y los tipos de errores.
El DBA analizará estos datos para determinar si se necesita una modificación en el diseño de la BD
para manejar su rendimiento o para facilitar las tareas de los usuarios; de ser así, el DBA la llevará a
cabo.
Cuando el fabricante del DBMS en uso anuncie una nueva versión del producto, debe realizarse un
análisis de las características que esta incorpora y sopesarlas contra las necesidades de la
comunidad de usuarios. Si se decide la adquisición del producto, los usuarios deben ser notificados y
capacitados en su uso.
El DBA deberá administrar y controlar la migración tanto de las estructuras, como de los datos y las
aplicaciones. El software de soporte y otras características de hardware pueden implicar también
modificaciones de las que el DBA es responsable ocasionalmente, estas modificaciones traen como
consecuencia cambios en la configuración o en algunos parámetros de operación del DBMS.
Transformación y Presentación de los Datos. Transformación de los datos nuevos para que
satisfaga la estructura ya definida.
ISIV – Pag 17 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
datos de tal forma que los datos puedan ser accesados rápidamente. Manejar los datos de acuerdo a
las peticiones de los usuarios. Registrar el uso de las bases de datos.
Interacción con el manejador de archivos. Esto a través de las sentencias en DML al comando de
el sistema de archivos. Así el Manejador de base de datos es el responsable del verdadero
almacenamiento de los datos.
Nivel Interno: Es el más cercano al almacenamiento físico; es decir, es el que se ocupa de la forma
como se almacena físicamente los datos.
Nivel Externo: Es el más cercano a los usuarios; es decir, es el que se ocupa de la forma como los
usuarios individuales perciben los datos.
Nivel Conceptual: Es el nivel de mediación entre los dos anteriores. En este se trabaja con
información; esto es, con datos suficientes para provocar acciones. La vista conceptual es la
representación de toda la información contenida en la base de datos, también una forma un tanto
abstracta si se compara con el almacenamiento físico de los datos. La información es una esencia
nueva y no redundante por lo que su adquisición aumenta el conocimiento.
ISIV – Pag 18 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
1.4. El Esquema Conceptual y Global
REVISION
Un sistema de base de datos, es la combinación de programas y archivos que se utilizan
conjuntamente. Un conjunto integrado de programas para dar apoyo en una base de datos
puede formar un sistema de manejo de bases de datos y sirve además para supervisar y
mantener la vista lógica global de los datos. El DBMS es conocido también como Gestor de Base
de datos.
El DBMS sirve como interfase entre la base de datos física y las peticiones del usuario. El
DBMS interpreta las peticiones de entrada/salida del usuario y las manda al sistema operativo para la
transferencia de datos entre la unidad de memoria secundaria y la memoria principal. En sí, un
sistema manejador de base de datos es el corazón de la base de datos ya que se encarga del control
total de los posibles aspectos que la puedan afectar.
ISIV – Pag 19 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Arquitectura de los sistemas de bases de datos
Hay tres características importantes inherentes a los sistemas de bases de datos: la separación entre
los programas de aplicación y los datos, el manejo de múltiples vistas por parte de los usuarios y el
uso de un catálogo para almacenar el esquema de la base de datos. En 1975, el comité ANSI-
SPARC (American National Standard Institute - Standards Planning and Requirements Committee)
propuso una arquitectura de tres niveles para los sistemas de bases de datos, que resulta muy útil a
la hora de conseguir estas tres características.
2. En el nivel conceptual se describe la estructura de toda la base de datos para una comunidad
de usuarios (todos los de una empresa u organización), mediante un esquema conceptual. Este
esquema oculta los detalles de las estructuras de almacenamiento y se concentra en describir
entidades, atributos, relaciones, operaciones de los usuarios y restricciones. En este nivel se puede
utilizar un modelo conceptual o un modelo lógico para especificar el esquema.
3. En el nivel externo se describen varios esquemas externos o vistas de usuario. Cada esquema
externo describe la parte de la base de datos que interesa a un grupo de usuarios determinados y
oculta a ese grupo el resto de la base de datos. En este nivel se puede utilizar un modelo conceptual
o un modelo lógico para especificar los esquemas.
La mayoría de los SGBD no distinguen del todo los tres niveles. Algunos incluyen detalles del nivel
físico en el esquema conceptual. En casi todos los SGBD que se manejan vistas de usuario, los
esquemas externos se especifican con el mismo modelo de datos que describe la información a nivel
conceptual, aunque en algunos se pueden utilizar diferentes modelos de datos en los niveles
Conceptual y Externo.
Hay que destacar que los tres esquemas no son más que descripciones de los mismos datos pero
con distintos niveles de abstracción. Los únicos datos que existen realmente están a nivel físico,
almacenados en un dispositivo como puede ser un disco. En un SGBD basado en la arquitectura de
tres niveles, cada grupo de usuarios hace referencia exclusivamente a su propio esquema externo.
Por lo tanto, el SGBD debe transformar cualquier petición expresada en términos de un esquema
externo a una petición expresada en términos del esquema conceptual, y luego, a una petición en el
esquema interno, que se procesará sobre la base de datos almacenada. Si la petición es de una
obtención (consulta) de datos, será preciso modificar el formato de la información extraída de la base
de datos almacenada, para que coincida con la vista externa del usuario. El proceso de transformar
peticiones y resultados de un nivel a otro se denomina correspondencia o transformación. Estas
correspondencias pueden requerir bastante tiempo, por lo que algunos SGBD no cuentan con vistas
externas.
La arquitectura de tres niveles es útil para explicar el concepto de independencia de datos que
podemos definir como la capacidad para modificar el esquema en un nivel del sistema sin tener que
modificar el esquema del nivel inmediato superior. Se pueden definir dos tipos de independencia de
datos:
· La independencia lógica es la capacidad de modificar el esquema conceptual sin tener que
alterar los esquemas externos ni los programas de aplicación. Se puede modificar el esquema
conceptual para ampliar la base de datos o para reducirla. Si, por ejemplo, se reduce la base de datos
eliminando una entidad, los esquemas externos que no se refieran a ella no deberán verse afectados.
· La independencia física es la capacidad de modificar el esquema interno sin tener que alterar
el esquema conceptual (o los externos). Por ejemplo, puede ser necesario reorganizar ciertos ficheros
físicos con el fin de mejorar el rendimiento de las operaciones de consulta o de actualización de
datos. Dado que la independencia física se refiere sólo a la separación entre las aplicaciones y las
estructuras físicas de almacenamiento, es más fácil de conseguir que la independencia lógica.
ISIV – Pag 20 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
En los SGBD que tienen la arquitectura de varios niveles es necesario ampliar el catálogo o
diccionario, de modo que incluya información sobre cómo establecer la correspondencia entre las
peticiones de los usuarios y los datos, entre los diversos niveles. El SGBD utiliza una serie de
procedimientos adicionales para realizar estas correspondencias haciendo referencia a la información
de correspondencia que se encuentra en el catálogo. La independencia de datos se consigue porque
al modificarse el esquema en algún nivel, el esquema del nivel inmediato superior permanece sin
cambios, sólo se modifica la correspondencia entre los dos niveles. No es preciso modificar los
programas de aplicación que hacen referencia al esquema del nivel superior.
Los SGBD deben ofrecer lenguajes e interfaces apropiadas para cada tipo de usuario:
Administradores de la base de datos, diseñadores, programadores de aplicaciones y usuarios finales.
Una vez finalizado el diseño de una base de datos y escogido un SGBD para su implementación, el
primer paso consiste en especificar el esquema conceptual y el esquema interno de la base de datos,
y la correspondencia entre ambos. En muchos SGBD no se mantiene una separación estricta de
niveles, por lo que el administrador de la base de datos y los diseñadores utilizan el mismo lenguaje
para definir ambos esquemas, es el lenguaje de definición de datos (LDD). El SGBD posee un
compilador de LDD cuya función consiste en procesar las sentencias del lenguaje para identificar las
descripciones de los distintos elementos de los esquemas y almacenar la descripción del esquema en
el catálogo o diccionario de datos. Se dice que el diccionario contiene metadatos: describe los objetos
de la base de datos.
Cuando en un SGBD hay una clara separación entre los niveles conceptual e interno, el LDD sólo
sirve para especificar el esquema conceptual. Para especificar el esquema interno se utiliza un
lenguaje de definición de almacenamiento (LDA). Las correspondencias entre ambos esquemas se
pueden especificar en cualquiera de los dos lenguajes. Para tener una verdadera arquitectura de tres
niveles sería necesario disponer de un tercer lenguaje, el lenguaje de definición de vistas (LDV), que
se utilizaría para especificar las vistas de los usuarios y su correspondencia con el esquema
conceptual.
Una vez creados los esquemas de la base de datos, los usuarios necesitan un lenguaje que admita
manipular los datos de la base de datos: realizar consultas, inserciones, eliminaciones y
modificaciones. Este lenguaje es el que se denomina lenguaje de manejo de datos (LMD).
Hay dos tipos de LMD: los procedurales y los no procedurales. Con un LMD procedural el usuario
(normalmente será un programador) especifica qué datos se necesitan y cómo hay que obtenerlos.
Esto quiere decir que el usuario debe especificar todas las operaciones de acceso a datos llamando a
los procedimientos necesarios para obtener la información requerida. Estos lenguajes acceden a un
registro, lo procesan y basándose en los resultados obtenidos, acceden a otro registro, que también
deben procesar. Así se va accediendo a registros y se van procesando hasta que se obtienen los
datos deseados. Las sentencias de un LMD procedural deben estar embebidas en un lenguaje de alto
nivel, ya que se necesitan sus estructuras (bucles, condicionales, etc.) para obtener y procesar cada
registro individual. A este lenguaje se le denomina lenguaje anfitrión. Las bases de datos jerárquicas
y de red utilizan LMD procedurales.
La parte de los LMD no procedurales que realiza la obtención de datos es lo que se denomina un
lenguaje de consultas. En general, las órdenes tanto de obtención como de actualización de datos de
un LMD no procedural se pueden utilizar interactivamente, por lo que al conjunto completo de
sentencias del LMD se le denomina lenguaje de consultas, aunque es técnicamente incorrecto.
No existe consenso sobre lo que es un lenguaje de cuarta generación (4GL). Lo que en un lenguaje
de tercera generación (3GL) como COBOL requiere cientos de líneas de código, tan solo necesita
diez o veinte líneas en un 4GL. Comparado con un 3GL, que es procedural, un 4GL es un lenguaje no
procedural: el usuario define qué se debe hacer, no cómo debe hacerse. Los 4GL se apoyan en unas
herramientas de mucho más alto nivel denominadas herramientas de cuarta generación. El usuario
no debe definir los pasos a seguir en un programa para realizar una determinada tarea, tan sólo debe
definir una serie de parámetros que estas herramientas utilizarán para generar un programa de
aplicación. Se dice que los 4GL pueden mejorar la productividad de los programadores en un factor
de 10, aunque se limita el tipo de problemas que pueden resolver. Los 4GL abarcan:
· Lenguajes de muy alto nivel que se utilizan para generar el código de la aplicación.
Los lenguajes SQL y QBE son ejemplos de 4GL. Hay otros tipos de 4GL:
· Un generador de informes es una herramienta para crear informes a partir de los datos almacenados
en la base de datos. Se parece a un lenguaje de consultas en que permite al usuario hacer preguntas
sobre la base de datos y obtener información de ella para un informe. Sin embargo, en el generador
de informes se tiene un mayor control sobre el aspecto de la salida. Se puede dejar que el generador
determine automáticamente el aspecto de la salida o se puede diseñar ésta para que tenga el
aspecto que desee el usuario final.
· Un generador de gráficos es una herramienta para obtener datos de la base de datos y visualizarlos
en un gráfico mostrando tendencias y relaciones entre datos. Normalmente se pueden diseñar
distintos tipos de gráficos: barras, líneas, etc.
· Un generador de aplicaciones es una herramienta para crear programas que hagan de interface
entre el usuario y la base de datos. El uso de un generador de aplicaciones puede reducir el tiempo
que se necesita para diseñar un programa de aplicación. Los generadores de aplicaciones constan de
ISIV – Pag 22 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
procedimientos que realizan las funciones fundamentales que se utilizan en la mayoría de los
programas. Estos procedimientos están escritos en un lenguaje de programación de alto nivel y
forman una librería de funciones entre las que escoger. El usuario especifica qué debe hacer el
programa y el generador de aplicaciones es quien determina cómo realizar la tarea.
Definición de los datos: Se describen el tipo de datos y la longitud de campo todos los elementos
direccionables y precisión de la información que será guardada en la base de datos. Los elementos
por definir incluyen artículos elementales (atributos), totales de datos y registros conceptuales
(entidades).
Relaciones entre datos: Se definen las relaciones entre datos para enlazar tipos de registros
relacionados para el procesamiento de archivos múltiples para obtener información compuesta y
procesos complejos.
En el nivel conceptual la base de datos aparece como una colección de registros lógicos, sin
descriptores de almacenamiento. En realidad los archivos conceptuales no existen físicamente. La
transformación de registros conceptuales a registros físicos para el almacenamiento se lleva a cabo
por el sistema y es transparente al usuario.
ISIV – Pag 23 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Ventajas:
Estructura de Datos.
Un sistema de base de datos se encuentra dividido en módulos cada uno de los cuales
controla una parte de la responsabilidad total de sistema. En la mayoría de los casos, el sistema
operativo proporciona únicamente los servicios más básicos y el sistema de la base de datos debe
partir de esa base y controlar además el manejo correcto de los datos. Así el diseño de un sistema de
base de datos debe incluir la interfaz entre el sistema de base de datos y el sistema operativo.
Gestor de Archivos. Gestiona la asignación de espacio en la memoria del disco y de las estructuras
de datos usadas para representar información.
Manejador de Base de Datos. Sirve de interfaz entre los datos y los programas de aplicación.
Compilador de DDL. Convierte las proposiciones DDL en un conjunto de tablas que contienen
metadatos, estas se almacenan en el diccionario de datos.
Índices. Permiten un rápido acceso a registros que contienen valores específicos. Son estructuras,
se definen para un atributo o conjunto de atributos asociados, que nos permiten simular una
secuencia lógica para las entidades. La principal cualidad de un índice reside en la capacidad para
acelerar el acceso a un dato específico.
Datos Estadísticos. Almacenan información estadística sobre los datos en la base de datos. El
procesador de consultas usa esta información para seleccionar las formas eficientes para ejecutar
una consulta.
ISIV – Pag 24 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Diseño Físico de una Base de Datos.
La clave de un buen diseño físico es una correcta descripción de la carga de trabajo: lista de
consultas y actualizaciones, indicando sus frecuencias de operación y el resultado esperado. Para
cada consulta es necesario indicar las relaciones a las que se accede, los atributos de salida y los
que intervienen en filtros y condiciones. Igualmente para las actualizaciones deben conocerse los
atributos sobre los que se expresan condiciones y el tipo de actualización y la relación y atributos
actualizados.
Particionamiento vertical. En ocasiones puede resultar de interés dividir una relación en más
relaciones para la mejora de consultas que afectan sólo a ciertos atributos.
Vistas. Añadir vistas para ocultar a los usuarios los cambios en el esquema conceptual.
ISIV – Pag 25 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
1.5. Esquema de Seguridad y Autorización
En relación al SGBD, debe mantener información de los usuarios, su tipo y los accesos y
operaciones permitidas a éstos.
El problema de la seguridad consiste en lograr que los recursos de un sistema sean, bajo
toda circunstancia, utilizados para los fines previstos. Para eso se utilizan mecanismos de protección.
Un aspecto importante de la seguridad es el de impedir la pérdida de información, la cual puede
producirse por diversas causas: fenómenos naturales, guerras, errores de hardware o de software, o
errores humanos. La solución es una sola: mantener la información respaldada, de preferencia en un
lugar lejano
Otro aspecto importante de la seguridad, es el que tiene que ver con el uso no autorizado de los
recursos:
Ø Lectura de datos.
Ø Modificación de datos.
Ø Destrucción de datos.
Ø Uso de recursos: ciclos de CPU, impresora, almacenamiento.
Caballo de Troya. Un caballo de Troya es un programa aparentemente útil que contiene un trozo de
código que hace algo no deseado.
Puerta trasera. Una puerta trasera es un punto de entrada secreto, dejado por los
implementadores del sistema para saltarse los procedimientos normales de seguridad. La puerta
trasera puede haberse dejado con fines maliciosos o como parte del diseño; en cualquier caso,
son un riesgo.
Caza claves. Dejar corriendo en una Terminal un programa que pida "login:" y luego "password:",
para engañar a los usuarios de modo que estos revelen su clave.
Solicitar recursos como páginas de memoria o bloques de disco, y ver qué información
contienen; muchos sistemas no los borran cuando se liberan, de modo que se puede encontrar
información "interesante".
ISIV – Pag 26 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Tipos de usuarios:
Podemos definir a los usuarios como toda persona que tenga todo tipo de contacto con el
sistema de base de datos desde que este se diseña, elabora, termina y se usa.
Ø DBA, están permitidas todas las operaciones, conceder privilegios y establecer usuarios.
Usuario con derecho a crear, borrar y modificar objetos y que además puede conceder
privilegios a otros usuarios sobre los objetos que ha creado. Privilegios sobre los objetos, añadir
nuevos campos, indexar, alterar la estructura de los objetos, etc.
Ø Programadores de aplicaciones. Los profesionales en computación que interactúan con el
sistema por medio de llamadas en DML (Lenguaje de Manipulación de Datos), las cuales están
incorporadas en un programa escrito en un lenguaje de programación (Por ejemplo, Cobol, PL/I,
Pascal, C, PHP, VB, .NET, etc.).
Ø Usuarios sofisticados. Los usuarios sofisticados interactúan con el sistema sin escribir
programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos.
Ø Usuarios especializados. Algunos usuarios sofisticados escriben aplicaciones de base de
datos especializadas que no encajan en el marco tradicional de procesamiento de datos.
Ø Usuarios ingenuos. Los usuarios no sofisticados interactúan con el sistema invocando a uno
de los programas de aplicación permanentes que se han escrito anteriormente en el sistema de
base de datos, podemos mencionar al usuario ingenuo como el usuario final que utiliza el
sistema de base de datos sin saber nada del diseño interno del mismo por ejemplo: un cajero.
Los SGBD tienen opciones que permiten manejar la seguridad, tal como GRANT, REVOKE,
etc. También tienen un archivo de auditoria en donde se registran las operaciones que realizan
los usuarios.
Medidas de Seguridad
v Identificar y autorizar a los usuarios: uso de códigos de acceso y palabras claves, exámenes,
impresiones digitales, reconocimiento de voz, barrido de la retina, etc.
v Autorización: usar derechos de acceso dados por el Terminal, por la operación que puede
realizar o por la hora del día.
ISIV – Pag 27 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
v Uso de técnicas de cifrado: para proteger datos en Base de Datos distribuidas o con acceso por
red o Internet.
v Diferentes tipos de cuentas: en especial del ABD con permisos para: creación de cuentas,
concesión y revocación de privilegios y asignación de los niveles de seguridad.
v Manejo de la tabla de usuarios con código y contraseña, control de las operaciones efectuadas
en cada sesión de trabajo por cada usuario y anotadas en la bitácora, lo cual facilita la auditoria
de la Base de Datos.
Identificación y Autentificación.
En un SGBD existen diversos elementos que ayudan a controlar el acceso a los datos. En
primer lugar el sistema debe identificar y autentificar a los usuarios utilizando alguno de las siguientes
formas:
§ Código y contraseña.
§ Identificación por hardware.
§ Características bioantropométricas.
§ Conocimiento, aptitudes y hábitos del usuario.
§ Información predefinida (Aficiones, cultura, etc.)
Además, el administrador deberá especificar los privilegios que un usuario tiene sobre los objetos:
Mecanismos de Autentificación.
La autentificación, que consiste en identificar a los usuarios que entran al sistema, se puede
basar en posesión (llave o tarjeta), conocimiento (clave) o en un atributo del usuario (huella digital).
Claves:
Identificación física:
Un enfoque diferente es usar un elemento físico difícil de copiar, típicamente una tarjeta con una
banda magnética. Para mayor seguridad este enfoque se suele combinar con una clave (como es el
caso de los cajeros automáticos). Otra posibilidad es medir características físicas particulares del
sujeto: huella digital, patrón de vasos sanguíneos de la retina, longitud de los dedos. Incluso la firma
sirve.
ISIV – Pag 28 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Algunas medidas básicas:
§ Demorar la respuesta ante claves erróneas; aumentar la demora cada vez. Alertar si hay
demasiados intentos.
§ Registrar todas las entradas. Cada vez que un usuario entra, chequear cuándo y desde dónde
entró la vez anterior.
§ Hacer chequeos periódicos de claves fáciles de adivinar, procesos que llevan demasiado
tiempo corriendo, permisos erróneos, actividades extrañas (por ejemplo cuando usuario está de
vacaciones).
Matriz de Autorización.
Autorizaciones.
Para facilitar la administración los SGBD suele incorporar el concepto de perfil, rol o grupo de
usuarios que agrupa a una serie de privilegios por lo que el usuario que se asigna a un grupo hereda
todos los privilegios del grupo. El mecanismo de control de acceso se encarga de denegar o
conceder el acceso a los usuarios. En un SGBD pueden existir diferentes tipos de autorización:
Autorización explicita.
Normalmente usada en los sistemas tradicionales. Consiste en almacenar que sujetos pueden
accesar a ciertos objetos con determinados privilegios para lo que suele utilizarse una matriz de
control de accesos.
Autorización implícita.
Consiste en que una autorización definida sobre un objeto puede deducirse a partir de otras (por
ejemplo si se puede acceder a una clase en un SGBD se puede también acceder a todas las
instancias de esa clase).
Los usuarios pueden tener varios tipos de autorización para diferentes partes de la base de
datos. Entre ellas están las siguientes:
ISIV – Pag 29 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
que las modificaciones de las bases de datos actualicen los índices , los que llevaran a cabo
actualizaciones estarían tentados de borrar los índices , los que llevan a cabo actualizaciones
estarían tentados de borrar los índices, mientras que los que formulara consultas estarían tentados
de crear numeroso índices.
Riesgos en la Implantación.
Cuando se esta instalando o actualizando un sistema, los principales factores de riesgo son aquellos
relacionados con el ajuste de formatos, dominios y otros parámetros que pueden verse afectados por
la conversión del sistema; ya sea manual-automatizado o automatizado-automatizado. Cuando el
sistema que se implanta ha de recibir nueva información, es importante el establecimiento de códigos
que permitan validar la captura para minimizar los riesgos de información no confiable.
Riesgos en la Operación.
Mientras el sistema se encuentra en uso, se dice que las operaciones se realizan en línea; es decir, la
información se afecta por medio de los procedimientos definidos en el sistema. La protección más
común para reducir estos riesgos consiste en el establecimientos de claves de operación (password)
tanto para accesar a la aplicación como a las diversas operaciones que esta desempeña.
§ Genérico
§ Por niveles de seguridad
§ Por tipos de acceso a los datos.
Cuando el sistema no se encuentra en operación la información esta expuesta a ser alterada fuera de
línea; es decir, sin utilizar los programas de aplicación diseñados para este fin.
Algunas de las técnicas más utilizadas para evitar y en algunos casos solo para ejecutar
modificaciones fuera de línea son:
ISIV – Pag 30 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
Precauciones adicionales a las anteriores, deben ser tomadas en cuenta para elevar el nivel de
seguridad en redes de usuarios. Las más comunes son:
§ Validar no contraseñas repetidas.
§ Eliminar claves de acceso de usuarios deshabilitados.
§ Establecer políticas y sanciones por desatender estaciones desconectadas (con acceso).
§ Restringir procesos de alto riesgo a terminales con mayor nivel de seguridad y/o vigilancia.
§ Establecer controles dial-up/call-back para el acceso validado a las terminales; es decir,
implementar sistemas electrónicos de autenticación de Terminal.
§ Establecer políticas para denegar el acceso después de una cantidad determinada de intentos
fallidos de un tiempo transcurrido.
ISIV – Pag 31 de 31