Está en la página 1de 31

Modulo 1

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.

En el entorno informático, la gestión de bases de datos ha evolucionado desde ser


una aplicación más disponible para los computadores, a ocupar un lugar
fundamental en los sistemas de información. En la actualidad, un sistema de
información será más valioso cuanto de mayor calidad sea la base de datos que lo
soporta, la cual resulta a su vez un componente fundamental del mismo, de tal forma
que puede llegarse a afirmar que es imposible la existencia de un sistema de
información sin una base de datos, que cumple la función de "memoria", en todas
sus acepciones posibles, del sistema.

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.

Entre las definiciones podemos mencionar las siguientes:


"Colección de datos correspondientes a las diferentes perspectivas de un sistema de
información (de una empresa o institución), existentes en algún soporte de tipo físico
(normalmente de acceso directo), agrupados en una organización integrada y
centralizada en la que figuran no sólo los datos en sí, sino también las relaciones
existentes entre ellos, y de forma que se minimiza la redundancia y se maximiza la
independencia de los datos de las aplicaciones que los requieren." (GUILERA, 1993:
377)
ISIV – Pag 1 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
"Una base de datos es una colección de datos estructurados según un modelo que
refleje las relaciones y restricciones existentes en el mundo real. Los datos, que han
de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse
independientes de éstas, y su definición y descripción han de ser únicas estando
almacenadas junto a los mismos. Por último, los tratamientos que sufran estos datos
tendrán que conservar la integridad y seguridad de éstos." (MOTA, CELMA y
CASAMAYOR, 1994: 9)

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).

La entidad existente en el mundo real es objeto de un doble tratamiento, desde el


momento en que convierte en objeto de la base de datos. El tratamiento de sus
datos se va a realizar en un nivel lógico, por una parte, y en un nivel físico, por otra.

En el primero de ellos, el lógico, se va a trabajar en los aspectos referidos a la


identificación de las características de la entidad, su descripción y organización,
mientras que en el segundo todo lo anterior se va a plasmar en la organización,
acceso y almacenamiento de los datos en un soporte físico. Esta división entre un
nivel lógico y otro físico se va reflejar en todos los métodos y conceptos
subsiguientes.

DESARROLLO

Un archivo es un elemento de información conformado por un conjunto de registros.


Estos registros a su vez están compuestos por una serie de caracteres o bytes. Los
archivos, alojados en dispositivos de almacenamiento conocidos como memoria
secundaria, pueden almacenarse de dos formas diferentes: archivos convencionales
o bases de datos.

Los archivos convenciona les, pueden organizarse como archivos secuenciales o


archivos directos. Sin embargo, el almacenamiento de información a través de
archivos convencionales presenta una serie de limitaciones que restringen de
manera importante la versatilidad de los programas de aplicación que se desarrollan.

Archivos convencionales

El uso de sistemas de información por parte de las organizaciones requiere el


almacenamiento de grandes cantidades de información, ya sea para el uso mismo
del sistema, para generar resultados o para compartir dicha información con otros
sistemas.

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.

Si se desea consultar o modificar información, también es necesario buscar uno por


uno en los registros hasta encontrarla.
Los archivos directos permiten accesar directamente un registro de información sin
tener que buscar uno a uno por todos los registros del archivo, utilizando una llave
de acceso dentro del archivo.

Otra definición de Base de Datos

Se define una base de datos como una serie de datos organizados y relacionados
entre sí, los cuales son recolectados y explotados por los sistemas de información
de una empresa o negocio en particular.

Las bases de datos proporcionan la infraestructura requerida para los sistemas de


apoyo a la toma de decisiones y para los sistemas de información estratégicos, ya
que estos sistemas explotan la información contenida en las bases de datos de la
organización para apoyar el proceso de toma de decisiones o para lograr ventajas
competitivas. Por este motivo es importante conocer la forma en que están
estructuradas las bases de datos y su manejo.

Componentes principales

Datos. Los datos son la Base de Datos propiamente dicha.

Hardware. El hardware se refiere a los dispositivos de almacenamiento en donde


reside la base de datos, así como a los dispositivos periféricos (unidad de control,
canales de comunicación, etc.) necesarios para su uso.

Software. Está constituido por un conjunto de programas que se conoce como


Sistema Manejador de Base de Datos (DMBS: Data Base Management System).
Este sistema maneja todas las solicitudes formuladas por los usuarios a la base de
datos.

Usuarios. Existen tres clases de usuarios relacionados con una Base de Datos:

1. El programador de aplicaciones, quien crea programas de aplicación que


utilizan la base de datos.
2. El usuario final, quien accesa la Base de Datos por medio de un lenguaje de
consulta o de programas de aplicación.
3. El administrador de la Base de Datos (DBA: Data Base Administrator), quien
se encarga del control general del Sistema de 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

Globalización de la información. Permite a los diferentes usuarios considerar la


información como un recurso corporativo que carece de dueños específicos.

Eliminación de información redundante. Duplicada

Eliminación de información inconsistente. Si el sistema esta desarrollado a través


de archivos convencionales, dicha cancelación deberá operarse tanto en el archivo
de facturas del Sistema de Control de Cobranza como en el archivo de facturas del
Sistema de Comisiones.

Permite compartir información. Varios sistemas o usuarios pueden utilizar una


misma entidad.

Permite mantener la integridad en la información. Solo se almacena la


información correcta.

Independencia de datos. La independencia de datos implica un divorcio entre


programas y datos; es decir, se pueden hacer cambios a la información que contiene
la base de datos o tener acceso a la base de datos de diferente manera, sin hace
cambios en las aplicaciones o en los programas.

El sistema organizador de Base de Datos (DBMS)

El DBMS es un conjunto de programas que se encargan de manejar la creación y


todos los accesos a las bases de datos.

Se compone de:

• DDL: Data Definition Language (lenguaje de definición de datos).


o El lenguaje de definición de datos (DDL) es utilizado para describir todas las
estructuras de información y los programas que se usan para construir,
actualizar e introducir la información que contiene una base de datos.
• DML: Data Manipulation Language (lenguaje de manipulación de datos).
o El lenguaje de manipulación de datos (DML) es utilizado para escribir
programas que crean, actualizan y extraen información de las bases de
datos.
• SQL: Structured Query Language (lenguaje de consulta).
o El lenguaje de consulta (SQL) es empleado por el usuario para extraer
información de la base de datos. El lenguaje de consulta permite al usuario
hacer requisiciones de datos sin tener que escribir un programa, usando un
conjunto de instrucciones o comandos, y funciones.

ISIV – Pag 4 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS

USUARIO: Solicita cierta información contenida en la base de


datos.

DBMS: Intercepta este requerimiento y lo interpreta.

DBMS: Realiza las operaciones para acceder y/o actualizar la


información solicitada.

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

1.2. TIPOS DE BASES DE DATOS

INTRODUCCION

Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para
su clasificación:

Según cambia su contenido y volumen:

Ø 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).

Según el tipo de modelos de Datos:

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

La forma de esquematizar la información se realiza a través de representaciones jerárquicas o


relaciones de padre/hijo, de manera similar a la estructura de un árbol. Así, el modelo jerárquico
puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno y relaciones de
uno a muchos.

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.

Inconveniente del modelo jerárquico

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

El modelo de red evita esta redundancia en la información, a través de la incorporación de un tipo de


registro denominado el conector, que en este caso pueden ser las calificaciones que obtuvieron los
alumnos de cada profesor.

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.

Bases de Datos Orientadas a Objetos

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.

Conceptos de orientación a objetos


El desarrollo del paradigma orientado a objetos aporta un gran cambio en el modo en que vemos los
datos y los procedimientos que actúan sobre ellos. Tradicionalmente, los datos y los procedimientos
se han almacenado separadamente: los datos y sus relaciones en la base de datos y los
procedimientos en los programas de aplicación. La orientación a objetos, sin embargo, combina los
procedimientos de una entidad con sus datos.

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.

Los objetos han entrado en el mundo de las bases de datos de formas:

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.

Nombres de clases, atributos y métodos. En el mundo de la orientación a objetos hay cierta


uniformidad en el modo de dar nombres a clases, atributos y métodos.

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.

A continuación se citan las ventajas de la orientación a objetos en programación:

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

U na Base de Datos es una colección de archivos, datos, información; ordenada,


organizada, y relacionada, con la finalidad de permitir el manejo de la información
para su procesamiento. Cada uno de los archivos representan una colección de
registros y cada registro está compuesto de una colección de campos. Cada uno de los campos de
cada registro permite llevar información de alguna característica o atributo de alguna entidad del
mundo real.

El DBMS es un conjunto de programas que se encargan de manejar la creación y todos los


accesos a las bases de datos. Se compone de un Lenguaje de Definición de Datos (DDL: Data
Definition Languaje), de un Lenguaje de Manipulación de Datos (DML: Data Manipulation Languaje), y
de un Lenguaje de Consulta (SQL: Structured Query Languaje).

Sistema de Administración de Base de Datos (DBMS)


Es el nivel de software que provee el acceso a la información a un alto nivel de abstracción.
En lugar de manipular archivos, registros, índices, el programa de aplicación opera en términos de
clientes, cuentas, saldos, etc.

Acceso a la Base de Datos


La secuencia conceptual de operaciones que ocurren para accesar cierta información que contiene
una base de datos es la siguiente:
§ El usuario solicita cierta información contenida en la base de datos.
§ El DBMS intercepta este requerimiento y lo interpreta.
§ DBMS realiza las operaciones necesarias para accesar y/o actualizar la información
solicitada

Proceso para Accesar Información de Bases de Datos.

Funciones del Administrador de la Base de Datos

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.

La responsabilidad general del DBA es facilitar el desarrollo y el uso de la Base de Datos


dentro de las guías de acción definidas por la administración de los datos.

El Administrador de Bases de Datos es responsable primordialmente de:


v Administrar la estructura de la Base de Datos.
v Administrar la actividad de los datos.
v Administrar el Sistema Manejador de Base de Datos.
v Establecer el Diccionario de Datos.
v Asegurar la confiabilidad de la Base de Datos.
v Confirmar la seguridad de la Base de Datos.

Administrar la estructura de la Base de Datos.


Esta responsabilidad incluye participar en el diseño inicial de la base de datos y su puesta en
practica así como controlar, y administrar sus requerimientos, ayudando a evaluar alternativas,
incluyendo los DBMS a utilizar y ayudando en el diseño general de la bases de datos. 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 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.

Administración de la Actividad de Datos.


El DBA no es usuario del sistema, no administra valores de datos; sino la actividad de datos;
protege los datos, no los procesa. Dado que la base de datos es un recurso compartido, el DBA debe
proporcionar estándares, guías de acción, procedimientos de control y la documentación necesaria
para garantizar que los usuarios trabajen en forma cooperativa y complementaria al procesar datos
en la bases de datos.

Administrar el Sistema Manejador de Base de Datos.


Existe una gran actividad al interior de un DBMS. La concurrencia de múltiples usuarios
requiere la estandarización de los procesos de operación; el DBA es responsable de estas
especificaciones y de asegurarse que estas lleguen a quienes concierne. Todo el ámbito de la base
de datos se rige por estándares, desde la forma de como se captura la información (tipo de dato,
longitud, formato), como es procesada y presentada. El nivel de estandarización alcanza hasta los
aspectos más internos de la base de datos; como sé accesa a un archivo, como se determinan los
índices primarios y auxiliares, registros, etc.

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.

Establecer el Diccionario de Datos.

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.

Asegurar la Confiabilidad de la Base de Datos


Se trata de realizar un sistema de bases de datos lo suficientemente robusto para que sea
capaz de recuperarse frente a errores o usos inadecuados. Se deben utilizar gestores con las
herramientas necesarias para la reparación de los posibles errores que las bases de datos pueden
sufrir, por ejemplo tras un corte inesperado de luz.

Confirmar la Seguridad de la Base de Datos.


Coordinar las nuevas propuestas para realizar ajustes en los derechos de acceso a datos
compartidos y aplicaciones específicamente propuestas sería analizados en conjunto con los
supervisores o directivos de las áreas involucradas para determinar si procede pudieran aparecer
problemas cuando dos o más grupos de usuarios quedan autorizados para notificar los mismos datos.
Uno de tales conflictos es el de la actualización perdida; este ocurre cuando el trabajo de un usuario
queda sobrescrito sobre por el de un segundo usuario. El DBA queda responsabilizado para
identificar la posible ocurrencia de dichos problemas así como de crear normas y procedimientos para
su eliminación. Se obtendrán este tipo de garantías cuando el DBMS sea capaz de implementar las
restricciones aplicables al acceso concurrente, y este sea utilizado adecuadamente por
programadores y usuarios; para borrar lo anterior, se hace indispensable el apego a los estándares el
seguimiento de instructivos y manuales y las reglas establecidas para los diversos procesamientos y
procedimientos que se llevan acabo.
Entre las alternativas mas utilizadas por el DBA para tratar de resolver o minimizar este problema se
encuentran las siguientes:
v Restringir el acceso a los procedimientos para ciertos usuarios.
v Restringir al acceso a los datos para ciertos usuarios procedimientos y/o datos.
v Evitar la coincidencia de horarios para usuarios que comparten.

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.

Destacan por su importancia en el proceso de recuperación y a su vez en la atención que prestan a


otros sectores de la organización. Los dispositivos de comunicación remota, los sistemas de
interconexión y otros accesorios de uso compartido.

El DBA es el responsable de la publicación y mantenimiento de la documentación en relación con la


actividad de los datos, incluyendo los estándares de la BD, los derechos de recuperación y de acceso
a la BD, los estándares para la recuperación de caídas y el cumplimiento de las políticas
establecidas.

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.

Objetivos del Administrador de la Base de Datos.


Mantener la Integridad de los Datos: Una base de datos debe protegerse de accidentes tales como
los errores en la entrada de los datos o en la programación, del uso mal intencionado de la base de
datos y de los fallos del hardware o del software que corrompen los datos.

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.

Mantener la Disponibilidad de los Datos: La posibilidad de fallos de hardware o de software


requiere procedimientos de recuperación de la base de datos. Tiene que proporcionar medios para el
restablecimiento de las bases de datos que se hayan corrompido por desperfectos del sistema, a un
estado uniforme.

Funciones Básicas del Administrador de la Bases de Datos.


Creación de Bases de Datos y Tablas.

Creando Bases de Datos:


v Localización de las bases de datos.
v Tipo de base de datos (modo de direccionamiento).
Creando Tablas:
v Seleccionando tipos de datos.
v Tablas fragmentadas o no fragmentadas.
v Localización de la tabla.
v Determinación del espacio en disco.
v Modo de aseguramiento de candados.
Especificación de las Restricciones de Integridad de los Datos: Las restricciones de integridad se
mantienen en una estructura especial del sistema que consulta el gestor de la base de datos cada
vez que se tiene lugar una actualización en el sistema. Estos son algunos métodos para asegurar la
integridad de los datos:

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 Concurrencia de Lectura: (Instrucción SELECT)


v Administrada a través de los niveles de aislamiento.
v Concurrencia de Actualización: Instrucciones INSERT, DELETE y UPDATE.

Optimización del Acceso a Datos.

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.

Definir el Esquema Interno: El DBA debe definir la representación de la información en la base de


datos almacenada (diseño físico). Debe crear la definición de estructura de almacenamiento
correspondiente (esquema interno) con el DDL interno y definir la correspondencia entre los
esquemas interno y conceptual.
Vincularse con los Usuarios: El DBA debe encargarse de la comunicación con los usuarios,
garantizar la disponibilidad de los datos que requieren y escribir y/o ayudar a los usuarios a escribir
los esquemas externos necesarios, empleando el DDL externo aplicable.

Procedimientos de Respaldo y Recuperación: El DBA debe definir un plan de recuperación


adecuado que incluya descarga o vaciado periódico de la base de datos en un medio de
almacenamiento de respaldo, y procedimientos para cargar otra vez la base de datos a partir del
vaciado más reciente cuando sea necesario.

Supervisar el Desempeño y Responder a cambios en los Requerimientos: El DBA debe


organizar el sistema de modo que se obtenga el desempeño que sea "el mejor para la empresa", y
realizar los ajustes apropiados cuando cambien los requerimientos.

Concesión de Autorización para el Acceso a los Datos: La concesión de diferentes tipos de


autorización, permite al administrador de la base de datos regular que partes de la base de datos van
a poder ser accedidas por varios usuarios.

Definición de esquema: Es el esquema original de la base de datos se crea escribiendo un conjunto


de definiciones que son traducidas por el compilador de DDL a un conjunto de tablas que son
almacenadas permanentemente en el diccionario de datos.

Definición de la estructura de almacenamiento del método de acceso: Estructuras de


almacenamiento y de acceso adecuados se crean escribiendo un conjunto de definiciones que son
traducidas por e compilador del lenguaje de almacenamiento y definición de datos.

Funciones Específicas del DBMS


El sistema manejador de bases de datos es la porción más importante del software de un
sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software
interrelacionadas, cada una de las cuales es responsable de alguna tarea específica.

El DBMS es un conjunto de programas que coordina y controla la creación y los accesos a la


base de datos. Se compone de un Lenguaje de Definición de Datos (DDL), que es la parte estática en
donde se define la estructura de la base de datos; de un Lenguaje de Manipulación de Datos (DML)
que es la parte dinámica y de un Lenguaje de Consulta (SQL).

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.

El DBA deberá analizar las estadísticas de tiempo de ejecución sobre la actividad de la BD y su


rendimiento. Cuando se identifique un problema de rendimiento, ya sea mediante una queja o un
informe, el DBA deberá determinar si resulta apropiada una modificación a la estructura de la base de
datos o al sistema. Casos como la adición de nuevas claves o su eliminación, nuevas relaciones entre
los datos y otras situaciones típicas deberán ser analizadas para determinar el tipo de modificación
procedente.

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.

Las Funciones Principales de un DBMS son:

Manejo de un Diccionario de Datos. Definiciones y relaciones entre los datos.

Administración de los Datos Almacenados. Creación de estructuras complejas requeridas para el


almacenamiento de los datos, descargando al usuario de definir y programar las características
físicas de los datos.

Transformación y Presentación de los Datos. Transformación de los datos nuevos para que
satisfaga la estructura ya definida.

Seguridad. Fortalece la seguridad y la privacidad.

Control de Concurrencia. Controla el acceso multiusuarios. Consiste en controlar la interacción


entre los usuarios concurrentes para no afectar la inconsistencia de los datos.

Integridad de Datos. Minimiza la redundancia y maximiza la consistencia. Consiste en contar con


mecanismos que permitan el control de la consistencia de los datos evitando que estos se vean
perjudicados por cambios no autorizados o previstos.

Lenguaje de Acceso a la Base de Datos. (Interfaz para la programación de aplicaciones). Provee


acceso a los datos vía lenguaje de consulta SQL y vía lenguaje procedural (pascal, c, etc.).

Interfaz de Comunicación de Datos. Permite el requerimiento de usuarios en ambiente de red.


Crear y organizar la Base de datos. Establecer y mantener las trayectorias de acceso a la base de

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.

Respaldo y recuperación. Consiste en contar con mecanismos implantados que permitan la


recuperación fácilmente de los datos en caso de ocurrir fallas en el sistema de base de datos.
Manejador de Bases de Datos.
Su propósito es definir una arquitectura que sirva como referencia. Esta también es llamada
arquitectura referencial a tres niveles, consta de tres niveles:

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.

Sistema 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.

IMPLEMENTACIÓN DEL ESQUEMA CONCEPTUAL (Nivel Lógico Global)

El esquema conceptual representa la visión organizacional de la base de datos que se obtiene al


integrar los requerimientos de todos los usuarios en una empresa; y es totalmente independiente de
las estructuras físicas de almacenamiento y de la representación final de los datos que los usuarios
manejan. La implantación de este esquema es responsabilidad del DBA.

Diagrama del esquema conceptual.

El nivel conceptual describe la estructura lógica global de la base de datos mediante un


modelo abstracto de datos comprensible por el SGBD. Se definen la descripción de atributos, de
entidades, las conexiones y las restricciones de integridad asociadas a la semántica (significado).
Podemos decir que describe que datos son almacenados realmente en la base de datos y las
relaciones que existen entre los mismos, describe la base de datos completa en términos de su
estructura de diseño. El nivel conceptual de abstracción lo usan los administradores de bases de
datos, quienes deben decidir qué información se va a guardar en la base de datos.

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.

El objetivo de la arquitectura de tres niveles es el de separar los programas de aplicación de la base


de datos física. En esta arquitectura, el esquema de una base de datos se define en tres niveles de
abstracción distintos:

1. En el nivel interno se describe la estructura física de la base de datos mediante un esquema


interno. Este esquema se especifica mediante un modelo físico y describe todos los detalles para el
almacenamiento de la base de datos, así como los métodos de acceso.

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.

Por lo tanto, la arquitectura de tres niveles puede facilitar la obtención de la verdadera


independencia de datos, tanto física como lógica. Sin embargo, los dos niveles de
correspondencia implican un gasto extra durante la ejecución de una consulta o de un
programa, lo cual reduce la eficiencia del SGBD. Es por esto que muy pocos SGBD han
implementado esta arquitectura completa.

Lenguajes de los sistemas de gestión de bases de datos

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.

Lenguaje de definición de datos

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.

Lenguaje de manejo de datos

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.

Un LMD no procedural se puede utilizar de manera independiente para especificar operaciones


complejas sobre la base de datos de forma concisa. En muchos SGBD se pueden introducir
interactivamente instrucciones del LMD desde un Terminal o bien embeberlas en un lenguaje de
ISIV – Pag 21 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS
programación de alto nivel. Los LMD no procedurales permiten especificar los datos a obtener en una
consulta o los datos que se deben actualizar, mediante una sola y sencilla sentencia. El usuario o
programador especifica qué datos quiere obtener sin decir cómo se debe acceder a ellos. El SGBD
traduce las sentencias del LMD en uno o varios procedimientos que manipulan los conjuntos de
registros necesarios. Esto libera al usuario de tener que conocer cuál es la estructura física de los
datos y qué algoritmos se deben utilizar para acceder a ellos. A los LMD no procedurales también se
les denomina Declarativos. Las bases de datos relacionales utilizan LMD no procedurales, como SQL
(Structured Query Language) o QBE (Query -By-Example). Los lenguajes no procedurales son más
fáciles de aprender y de usar que los procedurales, y el usuario debe realizar menos trabajo, siendo
el SGBD quien hace la mayor parte.

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.

Lenguajes de cuarta generación

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 presentación, como lenguajes de consultas y generadores de informes.

· Lenguajes especializados, como hojas de cálculo y lenguajes de bases de datos.

· Generadores de aplicaciones que definen, insertan, actualizan y obtienen datos de la base de


datos.

· 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 formularios es una herramienta interactiva que permite crear rápidamente


formularios de pantalla para introducir o visualizar datos. Los generadores de formularios permiten
que el usuario defina el aspecto de la pantalla, qué información se debe visualizar y en qué lugar de
la pantalla debe visualizarse. Algunos generadores de formularios permiten la creación de atributos
derivados utilizando operadores aritméticos y también permiten especificar controles para la
validación de los datos de entrada.

· 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.

El esquema conceptual consta de las siguientes definiciones:

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.

Implementación del Esquema Interno (Nivel Físico).


Es el nivel más bajo de abstracción, describe que datos son almacenados realmente en la
base de datos y las relaciones que existen entre los mismos, describe la base de datos completa en
términos de su estructura de diseño. El diseño físico es el proceso de producir la descripción de la
implementación de la base de datos en memoria secundaria: estructuras de almacenamiento y
métodos de acceso que garanticen un acceso eficiente a los datos. Entre el diseño físico y el diseño
lógico hay una realimentación, ya que alguna de las decisiones que se tomen durante el diseño físico
para mejorar las prestaciones, pueden afectar a la estructura del esquema lógico.

Diagrama del Esquema Físico.

El propósito del diseño físico es describir cómo se va a implementar físicamente el esquema


lógico obtenido en la fase anterior. Concretamente en el modelo relacional, consiste en:
v Obtener un conjunto de relaciones (tablas) y las restricciones que se deben cumplir sobre ellas.
v Determinar las estructuras de almacenamiento y los métodos de acceso que se van a utilizar
para conseguir unas prestaciones óptimas.
v Diseñar el modelo de seguridad del sistema.

ISIV – Pag 23 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS

En el nivel físico se debe especificar:

v Estrategias de Almacenamiento: Asignación de espacio de almacenamiento para el conjunto


de datos.
v Estrategias de Emplazamiento de los Datos: Para optimizar los recursos a la hora de
exportar la base de datos (tiempo de respuesta, disco, memoria, etc.).
v Caminos de Acceso: Se incluye la especificación de claves como la de índices y punteros. El
administrador debe especificar dispositivos de memoria, tamaño de página, número de páginas
asignadas a cada área de almacenamiento, tamaño de buffer, correspondencia entre esquemas
y organizaciones físicas, agrupamiento, índices, y dependiendo del SGDB podrá también definir
punteros entre registros.

Ventajas:

v Aplicaciones Independientes del Nivel Interno: Un cambio en la estrategia en los accesos a


datos, no cambia el esquema conceptual.
v Transportabilidad para cambiar el SGDB a otro Entorno: Basta rescribir la correspondencia
interna/física.
v Aplicaciones Independientes del Nivel Conceptual: Se puede modificar sin que afecte a las
aplicaciones. Esto garantiza la confidencialidad de los datos.

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.

Los componentes funcionales de un sistema de base de datos, son:

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.

Procesador de Consultas. Traduce las proposiciones en lenguajes de consulta a instrucciones de


bajo nivel. Además convierte la solicitud del usuario en una forma más eficiente.

Compilador de DDL. Convierte las proposiciones DDL en un conjunto de tablas que contienen
metadatos, estas se almacenan en el diccionario de datos.

Archivo de Datos. En él se encuentran almacenados físicamente los datos de una organización.

Diccionario de Datos. Contiene la información referente a la estructura de la base de datos.


Información que nos indique con claridad el tipo de datos que serán utilizados, sus ámbitos de
influencia y sus limitantes de integridad.

Í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.

El diseño físico es el proceso de escoger las estructuras de almacenamiento en disco y


métodos de acceso a los datos más adecuada para lograr un buen rendimiento de la base de datos.
En el momento del diseño físico es importante conocer la carga de trabajo (combinación de consultas
y actualizaciones) que la base de datos debe soportar y los requerimientos del usuario. Es importante
también que el diseñador conozca las técnicas de procesamiento de consultas e indexación
soportadas por el SGBD.

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.

Durante el diseño físico es necesario realizar importantes decisiones:


§ Que índices crear. Las consultas y actualizaciones pueden beneficiarse de la presencia de
índices. Sin embargo las actualizaciones requieren de un tiempo adicional para mantener los
índices sobre atributos modificados.

Aspectos para realizar cambios en el esquema conceptual:

Esquemas normalizados alternativos. En general existen diferentes alternativas para descomponer


esquemas en una forma normal.

Desnormalización. Podemos reconsiderar las descomposiciones realizadas durante la normalización


para la mejora de consultas aplicadas sobre atributos de varias relaciones.

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

Esquema de Seguridad y Autorización.

Seguridad: El objetivo es proteger la Base de Datos contra accesos no autorizados. Se le conoce


también como privacidad.

Incluye aspectos de:


Ø Aspectos legales, sociales y éticos.
Ø Políticas de la empresa, niveles de información pública y privada.
Ø Controles de tipo físico, acceso a las instalaciones.
Ø Identificación de usuarios: voz, retina del ojo, etc.
Ø Controles de sistema operativo.

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.

Otras amenazas y ataques posibles:

Virus. Un virus es parecido a un gusano, en cuanto se reproduce, pero la diferencia es que no es un


programa por s í sólo, si no que es un trozo de código que se adosa a un programa legítimo,
contaminándolo. Cuando un programa contaminado se ejecuta, ejecutará también el código del virus,
lo que permitirá nuevas reproducciones, además de alguna acción (desde un simple mensaje inocuo
hasta la destrucción de todos los archivos).

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

Sobornar o torturar al administrador para que suelte la clave.

Principios básicos para la seguridad:

Ø Suponer que el diseño del sistema es público.


Ø El defecto debe ser: sin acceso.
Ø Chequear permanentemente.
Ø Los mecanismos de protección deben ser simples, uniformes y construidos en las capas más
básicas del sistema.
Ø Los mecanismos deben ser aceptados sicológicamente por los usuarios.

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

Físicas: Controlar el acceso al equipo. Tarjetas de acceso, etc.


Personal: Acceso sólo del personal autorizado. Evitar sobornos, etc.
SO: Seguridad a nivel de SO.
SGBD: Uso herramientas de seguridad que proporcione el SGBD. Perfiles de usuario, vistas,
restricciones de uso de vistas, etc.
Un SMBD cuenta con un subsistema de seguridad y autorización que se encarga de
garantizar la seguridad de porciones de la BD contra el acceso no autorizado:

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:

§ Usar una B.D.


§ Consultar ciertos datos.
§ Actualizar datos.
§ Crear o actualizar objetos.
§ Ejecutar procedimientos almacenados.
§ Referenciar objetos.
§ Indexar objetos.
§ Crear identificadores.

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:

El mecanismo de autentificación más ampliamente usado se basa en el uso de claves o passwords;


es fácil de entender y fácil de implementar. Sin embargo, una proporción demasiado grande de las
claves escogidas por los usuarios son fáciles de adivinar, pues la idea es que sean también
fáciles de recordar. La clave también se puede descubrir mirando (o filmando) cuando el usuario
la digita, o si el usuario hace login remoto, interviniendo la red y observando todos los paquetes que
pasan por ella. Por último, además de que las claves se pueden descubrir, éstas también se pueden
"compartir", violando las reglas de seguridad. En definitiva, el sistema no tiene ninguna garantía
de que quien hizo login es realmente el usuario que se supone que es.

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:

Una primera distinción puede hacerse entre:

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:

§ La autorización de lectura permite la lectura de los datos, pero no su modificación


§ La autorización de inserción permite la inserción de datos nuevos, pero no la modificación de
los existentes.
§ La autorización de actualización permite la modificación de los datos, pero no su borrado.
§ La autorización de borrado permite el borrado de los datos.
Los usuarios pueden recibir todos los tipos de autorización o ninguno de ellos, o una
combinación determinada de los mismos. Además de estas formas de autorización para el acceso a
los datos los usuarios pueden recibir autorización para modificar el esquema de la base de datos:
§ La autorización de índices permite la creación y borrado de índices.
§ La autorización de recursos permite la creación de las relaciones nuevas.
§ La autorización de alteración permite el añadido o el borrado de atributos de las relaciones.
§ La autorización de eliminación permite el borrado de relaciones.

Las autorizaciones de eliminación y de borrado se diferencian en que la autorización de


borrado solo permite el borrado de tuplas. Si un usuario borra todas las tuplas de una relación, la
relación sigue existiendo, vacía. Si se elimina una relación, deja de existir. La capacidad de crear
nuevas relaciones queda regulada mediante la autorización de recursos. El usuario con la
autorización de recursos que crea una relación nueva recibe automáticamente todos los privilegios
sobre el sistema.

La autorización de índices puede parecer innecesaria, dado que la creación o borrado de un


índice no afecta a los datos de las relaciones. Más bien, los índices son una estructura para las
mejoras de rendimiento. Sin embargo, los índices también ocupan espacio y se exige

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.

La forma superior de autoridad es la concebida al administrador de la base de datos. El


administrador de la base de datos puede autorizar usuarios nuevos, reestructurar la base de datos,
etc. Esta forma de autorización es análoga a la proporcionada al súper usuario u operador del
sistema operativo.

Riesgos para la Seguridad de la Información.

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.

Las claves pueden asignarse:

§ Genérico
§ Por niveles de seguridad
§ Por tipos de acceso a los datos.

Criterios para la selección de las claves de acceso:

§ No información que pueda asociarse al usuario.


§ Fácil de recordar, difícil de adivinar.
§ Debe utilizar un parámetro variable o algoritmo
Algunos sistemas que manejan claves fijas pueden incluir controles sobre el usuario que lo
obliguen a modificar su clave de acceso con cierta regularidad. Es importante que el código que
mantiene la tabla de claves de usuarios en el sistema se encuentre codificada o encriptada.

Riesgos en Tiempos Muertos.

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:

§ Encriptamiento.- Consiste en convertir la información de la BD a un formato que resulte


ilegible sino se dispone del algoritmo de conversión.
§ Aplicación de Totales de Control.- Consiste en generar registros ficticios que son agregados
a la BD y que permitirán detectar la inserción, eliminación o modificación de datos en la gran
mayoría de los casos. Los registros ficticios son creados con información que se obtiene de
acumulados o valores estadísticos de los registros reales.
§ Dígitos de Control.- son caracteres que se anexan a las claves o a los datos que serán
manejados con el objeto de autentificar su validez. Su aplicación se extiende a procesos en
línea y protección fuera de línea.

ISIV – Pag 30 de 31
Modulo 1
SISTEMAS DE ADMINISTRACION
DE BASES DE DATOS

Consideraciones en Ambiente Multiusuario.

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.

Controles Genéricos de Acceso.

Debe considerarse la posibilidad de controles alternos cuando el sistema maneja información o


recursos altamente privilegiados para la organización. Las formas más comunes para autentificar la
identidad del usuario son:

§ Algo que el usuario conoce.- Password, contraseña, algoritmos de acceso.

§ Algo que el usuario tiene.- Tarjetas de acceso, bandas magnéticas etc.


§ Identificación de aspectos físicos del usuario.- Huellas digitales, examen de la retina, voz etc.

ISIV – Pag 31 de 31

También podría gustarte