Site hosted by Angelfire.com: Build your free website today!

Tec Virtual

Instituto Tecnológico de Villahermosa
Villahermosa, Tabasco, Mex.

1. Implementación del esquema conceptual

Administración de Bases de Datos
Prof. L.I. José Juan Ulín Ricárdez



 

2.1 Estructura de la Base de Datos

El esquema conceptual es el resultado de aplicar las reglas que se determinan después del establecimiento de los estándares y políticas del nivel conceptual. Representa la visión organizacional de la BD que se obtiene al integrar los requerimientos de todos los usuarios en una empresa.

El esquema conceptual 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.

El esquema conceptual consta básicamente de dos definiciones:

a). De los datos. Especifica las características como tipo, longitud y precisión de la información que será almacenada en la BD.

b). De las relaciones entre los datos. Se determina los niveles de iteración que habrán de ocurrir generalmente entre múltiples archivos para obtener información compuesta y procesos complejos.

Elementos en la definición de datos

Adicionalmente a las propiedades de los datos que serán manejados y ocasionalmente en forma complementaria a estos, será necesario definir las especificaciones de:

a). Atributos. Deberá asignarse un identificador que permita manipular en forma individual las características del objeto en cuestión (entidades).

b). Llaves. Deberán especificarse los atributos o conjuntos de atributos mediante los cuales pueden hacerse referencia a una entidad especifica. Deben reconocerse y definirse con claridad:

c). Entidades fuertes y débiles. Debe reconocerse la factibilidad de referenciar a una entidad en particular dentro del conjunto de entidades (mediante una llave primaria); si esta no se da, debe definirse el conjunto de atributos de la entidad –necesariamente débil- que será utilizado en combinación con la llave primaria de otro u otros conjuntos de entidades -necesariamente fuertes- para lograr tal referencia. Este conjunto de atributos será denominado discriminador.

d). Especialización y generalización. Debe establecerse con claridad el tipo de relación existente entre conjuntos de entidades que fueron particionadas con el objeto de optimizar el espacio de almacenamiento. Un caso de generalización provendrá en la  mayoría de los casos de la fusión de tablas llevada a cabo con el objeto de reducir redundancia.

e). Dependencias de existencias. Debe especificarse con precisión si la existencia de una o más entidades –o conjuntos de entidades- están supeditadas a la existencia de otras.

Elementos en la definición de relaciones

El establecimiento de conexiones entre las entidades y conjuntos de entidades que conforman una BD, deben especificarse en forma precisa de la siguiente manera:

Para cada relación:

Nombre de las relaciones. Generalmente una etiqueta que indica la función que la relación desempeña; a esta relación se le denomina papel. En los modelos donde se requiere una mayor precisión en la definición de los componentes, se recomienda indicar los papeles en ambos sentidos.

Cardinalidad de las relaciones. Debe definirse en forma muy precisa si las entidades de cada conjunto de entidades tendrán interacción con solo una o varias entidades del conjunto a relacionar.

Debe verificarse que la cardinalidad tenga validez para todos los casos que puedan presentarse en el manejo de la BD; es decir, si son validas para cualquier instancia.

Opcionalidad de las relaciones. Permiten definir con mayor claridad aquellos casos en los que una relación puede no establecerse. Las especificaciones de estas situaciones nos permitirá definir estructuras más precisas, consistentes y de baja redundancia.

Condideraciones de agregación.

Existen casos donde será necesario agrupar dos o más conjuntos de entidades relacionados para conformar un solo conjunto lógico de entidades, a este proceso se le conoce como agregación. El objetivo primordial en la agregación será el establecer relaciones entre conjuntos de entidades agrupadas.

Estructuras

Además de la definición de las propiedades de los datos y de las relaciones debe especificarse el formato que guardaran las siguientes estructuras:

Diccionario de Datos: Los metadatos deberán precisar información que nos indique con claridad el tipo de datos que serán utilizados, sus ámbitos de influencia y sus limitantes de integridad.

Indices: Son estructuras que 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 especifico.

Formatos de captura y presentación: Las aplicaciones deberán proveer interfaces amigables y eficientes entre el usuario y la BD. Para esto se definirán, formatos y pantallas de captura, de consulta y de reporte. La información resultante será procesada y direccionada cada vez que se active la captura o la consulta, el formato de tal captura o consulta podrá almacenarse para su reutilización.
 
El modelo será el paso siguiente a la definición de los elementos que componen a los datos y que rigen a las relaciones que se dan entre estos.

Aunque existen múltiples alternativas para el desarrollo de métodos eficientes, el uso de él modelo entidad relación se ha convertido casi en un estándar para manejadores secuenciales.

La implementación del modelo E-R dará como resultado un modelo relacional; esto al convertir los elementos del diagrama E-R a las tablas correspondientes.

Las tablas resultantes podrán ser o no relacionales según la pericia del diseñador, puede resultar redundancia – en consecuencia riesgo de inconsistencia – y otros efectos indeseables.

La etapa de normalización debe refinar los detalles del modelo resultante, de tal forma que la estructura de las tablas proporcione un bajo nivel de redundancia, minimice hasta donde sea posible la inconsistencia y sea capaz de proporcionar acceso eficiente a los datos.

Ocasionalmente será preferible llevar la normalización hasta un nivel no optimo si se obtiene a cambio eficiencia en el acceso a los datos u otros beneficios que eleven en forma significativa el desempeño del sistema.
 


2.2 Esquema de integridad

Un control de integridad o restricciones es aquel que nos permite definir con precisión el rango de valores validos para un elemento y/o las operaciones que serán consideraciones validas en la relación de tale elementos.

El objetivo primordial de un control de integridad es la reducción de la inconsistencia en la BD.

Las restricciones de integridad normalmente se aplican en tres niveles:

1.Un atributo simple. Se define un dominio del atributo que es totalmente independiente del resto del entorno de la Base de Datos.

2.Un atributo dependiente de otro. Se definen subconjuntos de dominios posibles para un atributo X según el valor que previamente a sido asignado al atributo W.

3.Relaciones entre tuplas de una o varias tablas. Se especifican valores posibles para registros completos según los valores acumulados registros previos o por valores existentes en registros de otras tablas.

La implementación de la cardinalidad resultante en el modelo será una de las restricciones importantes que el sistema debe considerar.

La programación de todas estas restricciones regularmente corre a cuenta de un programador especializado (que pudiera ser el DBA), mediante la adición de módulos al sistema; lo anterior dado que los DBMS comúnmente no incorporan facilidades para su implementación.
 


2.3 Esquema de seguridad y autorización

Existen múltiples riesgos para la seguridad de la información durante la operación, implantación y tiempos muertos en el sistema.

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.
  • La selección de las claves de acceso debe llevarse a cabo utilizando los siguientes criterios:
  • 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.

    Ejemplo:

    Nombre Dirección Estatura
    Gloria Forj. Km.. 3.5
    1.60
    Mayra I. La Católica 320
    1.65
    Nelson Ortega 950
    1.75
    María Encinas 424
    1.66
    Registro ficticio

    Al azar en tablas definidas promedio de los datos 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.
     

    Procesamiento de transacciones

    Una gran cantidad de casos de inconsistencia se generan a partir de procesos que no fueron completados por el sistema; es decir, se actualizaron solamente algunos valores de todos los que participaron en una operación determinada.

    Para solucionar este problema, las operaciones individuales se agrupan formando transacciones. Una transacción atómica es aquella en la que se registran las actualizaciones que derivan de todas las operaciones individuales que la conforman o de ninguna de ellas.

    El control de las transacciones se realiza mediante procedimientos de bitácora. Esta manejara las operaciones individuales hasta este momento cuando se realizará la actualización en la BD.

    Control de concurrencia

    Cuando el sistema da soporte a múltiples usuarios en forma simultanea, la inconsistencia puede presentarse por factores adicionales:

    Actualización pérdida.

    Ocurre cuando la actualización de un usuario queda sobrescrita por la de otro cuando ambos accesan al sistema por un recurso común.
    Un método comúnmente utilizado para evitar la actualización perdida es el bloqueo de registros o archivos. Este consiste en activar restricciones de acceso para los recursos que están siendo utilizados por un proceso en un momento determinado.

    Con el objeto de no retardar la ejecución de determinados procesos que pretendan alcanzar recursos específicos, los bloqueos normalmente se establecen para los recursos en forma individual. Esto puede traer como consecuencia:

    Interbloqueo(Dead Lock)

    Se presenta cuando dos procesos que compitan por recursos comunes inician su ejecución tomando alguno de ellos y bloqueándolo en este momento.

    El proceso requiere para finalizar su ejecución del recurso que esta bloqueado por el otro proceso presentándose de esta manera un bloqueo mutuo en el que ninguno de los procesos puede finalizar.

    Una de las alternativas más comunes para minimizar el interbloqueo consiste en asignar una secuencia especifica de acceso a los recursos para aquellos procesos que los requieren en forma común, ejemplo:


    Procesos recursos

    Condideraciones 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:

    Controles genéricos de acceso

    a). Algo que el usuario conoce. Password, contraseña, algoritmos de acceso.
    b). Algo que el usuario tiene. Tarjetas de acceso, bandas magnéticas etc.
    c). Identificación de aspectos físicos del usuario.- Huellas digitales, examen de la retina, voz, etc.


    2.4 Herramientas

    (en construcción...)


    2.5 Implicaciones por la modificación de los esquemas

    (en construcción...)


    2.6 Cálculo del tamaño de la Base de Datos

    La base de datos debe ser lo suficientemente grande. Esta medida referente a tamaño dependen del hardware y de las restricciones operativas aplicables en un ambiente dado.

    El termino grande implica una cantidad de datos mayor que la que una sola persona puede manejar por si misma, aunque la auxilie un sistema de computación. La cantidad real variara dependiendo de la complejidad de los datos y de sus aplicaciones. Un ejemplo de una base de datos grande seria aquel que esta constituido por el sistema integrado de datos de personal y de producción de una compañía manufacturera de aproximadamente 6 mil empleados con más de 300 mil registros de 21 tipos.

    Una base de datos muy grande es parte esencial de una empresa y será utilizada continuamente por muchos individuos. Al mismo tiempo requerirá muchos dispositivos de almacenamiento. Una base de datos muy grandes presenta problemas de manejo, ya que no puede detenerse sin afectar la operación y el bienestar de la empresa usuaria.