Monografias.com > Computación > General
Descargar Imprimir Comentar Ver trabajos relacionados

Seguridad de las bases de datos




Enviado por mari_88_990



Partes: 1, 2, 3

    Seguridad de las bases de
    datos

    1. Sentencias de
      SQL
    2. Sistema gestor de una base de
      datos
    3. Arquitectura interna de una
      base de datos
    4. Conceptos relacionados con la
      base de datos
    5. Correspondencia entre
      niveles
    6. Aplicación
      de cambios en la base de datos
    7. Cambio de
      tamaño de la base de datos
    8. Descomposición
      y normalización
    9. Subconsultas

    Sentencias de SQL

    1. Todo el contenido de la
    tabla

    Select * from Materia

    2. Solo dos campos de la tabla anterior
    (materia y
    calificación)

    SELECT Materia,Calificacion from Materia

    3. Cantidad de registros en la
    tabla (count)

    SELECT count (Materia) from Materia

    4. Promedio del campo
    "calificación" (avg)

    select avg (Calificacion) from Materia

    5. Desplegar los registros que inicien
    con "M"

    select * from Materia where Materia = "M"

    6. Desplegar los registros con
    calificación menor a 9

    select * from Materia where Calificación
    <9

    7. Desplegar los registros con
    calificación mayor a 6

    Select * from Materia where
    Calificación>6

    8. Desplegar cuya calificación se
    encuentra entre 6y8

    select * from Materia where Calificacion between 6 and
    8

    9. Desplegar un registro
    especifico

    Select * from Materia where Idmateria=2

    10. Desplegar los registros cuyas
    califiación sea de 8

    Select * from Materia where
    Calificación=8

    11. Actualizar un registro

    Esto lo hice al ultimo

    UPDATE Materia SET Materia="mate" where
    Materia="Matematicas"

    Y asi quedo después de actualizarlo

    12. Borrar un registro

    Esto lo hice al ultimo

    DELETE from Materia where Materia="mate"

    Después de borrar un registro

    13.Borrar una base de datos

    Lo hice con otra base de datos

    database-drop

    O bien se busca la base de datos
    y se da clic derecho elegir eliminar y listo

    14. Borrar una tabla

    Lo hice con diferente tabla

    table-drop

    En Access se
    escribe la siguiente sentencia para borrar una tabla

    DROP table maria

    15. Desplegar los 3 primeros registros
    de una tabla

    select top 3 Idmateria,Matricula,
    Nombre,Materia,Calificacion from Materia

    16. Desplegar todos los campos que
    tengan una calificación mayor que 7 y que se han de una
    materia especifica

    select * from Materia where Calificación>7 and
    Materia="Matematicas"

    17. Obtener los valores
    máximos del campo calificación o
    promedio

    Select max (Calificación) from Materia

    18. Obtener el valor
    mínimo del campo calificación o promedio

    Select min (Calificación) from Materia

    19. Calcular la suma del campo
    calificación o promedio

    Select sum (Calificación) from Materia

    20. Desplegar los registros cuya
    califiación sea distinta de 7

    Select *from Materia where not
    Calificación=7

    LO DE LA
    LIBRETA

    Producto cartesiano

    Relacionar cada registro de una tabla con cada uno de
    otra tabla.

    R

    A

    B

    C

    a

    1

    f

    b

    3

    d

    a

    2

    b

    A

    B

    C

    a

    2

    b

    b

    1

    f

    a

    2

    d

    T

    B

    C

    D

    a

    3

    b

    a

    1

    f

    b

    1

    d

    b

    2

    b

    a

    1

    d

    R CP S

    R.A

    R.B

    R.C

    S.A

    S.B

    S.C

    a

    1

    f

    a

    2

    b

    a

    1

    f

    b

    1

    f

    a

    1

    f

    a

    2

    d

    b

    3

    d

    a

    2

    b

    b

    3

    d

    b

    1

    f

    b

    3

    d

    a

    2

    d

    a

    2

    b

    a

    2

    b

    a

    2

    b

    b

    1

    f

    a

    2

    b

    a

    2

    d

    S CP T

    S.A

    S.B

    S.C

    T.B

    T.C

    T.D

    a

    2

    b

    a

    3

    b

    a

    2

    b

    a

    1

    f

    a

    2

    b

    b

    1

    d

    a

    2

    b

    b

    2

    b

    a

    2

    b

    a

    1

    d

    b

    1

    f

    a

    3

    b

    b

    1

    f

    a

    1

    f

    b

    1

    f

    b

    1

    d

    b

    1

    f

    b

    2

    b

    b

    1

    f

    a

    1

    d

    a

    2

    d

    a

    3

    b

    a

    2

    d

    a

    1

    f

    a

    2

    d

    b

    1

    d

    a

    2

    d

    b

    2

    b

    a

    2

    d

    a

    1

    d

    R CP T

    R.A

    R.B

    R.C

    T.B

    T.C

    T.D

    a

    1

    f

    a

    3

    b

    a

    1

    f

    a

    1

    f

    a

    1

    f

    b

    1

    d

    a

    1

    f

    b

    2

    b

    a

    1

    f

    a

    1

    d

    b

    3

    d

    a

    3

    b

    b

    3

    d

    a

    1

    f

    b

    3

    d

    b

    1

    d

    b

    3

    d

    b

    2

    b

    b

    3

    d

    a

    1

    d

    a

    2

    b

    a

    3

    b

    a

    2

    b

    a

    1

    f

    a

    2

    b

    b

    1

    d

    a

    2

    b

    b

    2

    b

    a

    2

    b

    a

    1

    d

    Selección solo en una tabla

    JOIN se hace después de un producto
    cartesiano

    Después se hace la selección

    R JN T

    R.B =T.C

    a

    i

    f

    a

    1

    f

    a

    1

    f

    b

    3

    d

    a

    2

    b

    a

    i

    f

    b

    1

    d

    a

    1

    d

    a

    3

    b

    b

    2

    b

    EJEMPLOS DE JOIN

    PERSONAL

    MATERIA

    Después se realiza el JOIN

    PERSONAL JN MATERIA

    PERSONAL.NOMBRE=MATERIA.NOMBRE

    Se realiza el producto cartesiano de PERSONAL CP
    MATERIA

    Sentencia de JOIN

    SELECT * from PERSONAL,MATERIA where
    PERSONAL.NOMBRE=MATERIA.NOMBRE

    GUSTOS

    Se realiza primero el producto cartesiano

    DESPUES EL JOIN

    PERSONAL JN GUSTOS

    PERSONAL.NOMBRE=GUSTOS.NOMBRE

    SENTENCIA

    SELECT * from PERSONAL,GUSTOS where
    PERSONAL.NOMBRE=GUSTOS.NOMBRE

    3.1.1. "SISTEMA GESTOR DE
    UNA BASE DE DATOS"

    Son programas que se
    ocupan de acceder y actualizar las DBS. Actúan como
    interfase entre el programa de
    aplicación y la DB. Por ejemplo, cuando un programa debe
    actualizar una información en el DB, no lo hace
    directamente, si no que le pide al DBMS para hacerlo, pues este
    es quien conoce como es el DB por dentro.

    Un sistema de gestión
    de base de datos, es una forma de almacenar la información
    de tal manera que se eviten la duplicación de datos. Las
    bases de datos
    relacionales son aquellas que guardan la información en
    modo de tablas.

    OBJETIVOS DE LOS SISTEMAS DE
    GESTION DE BASE DE DATOS

    Las funciones de los
    S.G.B.D. son:

    1.- Debe permitir la definición de todos los
    datos.

    2.- Debe permitir manipular datos.

    3.- Debe establecer controles para la seguridad de
    estos.

    4.- Debe permitir los accesos concurrentes.

    SUBLENGUAJES DE S.Q.L.:

    L.D.D. Lenguaje de
    descripción de datos.

    L.M.D. Lenguaje de manipulación de
    datos.

    L.C.M. Lenguaje de control de
    datos.

    OBJETIVOS S.G.B.D.:

    1.- Definición de datos: (modifica
    la estructura o
    añade campos). La misión del
    L.D.D. es describir y definir todos los esquemas que participen
    en la base de datos. Esto consiste en la descripción de
    los objetos que vamos a representar. La descripción de
    todas las estructuras
    que formen nuestra base de datos.

    Definición de vista: es una
    visión parcial de la tabla. <<cuando en una tabla
    alguna parte de esta no quiero que tenga derecho a manipularla
    nadie>>

    2.- Manipulación de datos: L.M.D.
    recoge todas las operación de intercambio de datos entre
    las tablas, estas operaciones
    pueden ser de consulta o de puesta al día
    (inserción, modificación, supresión) estas
    operaciones se realizan con la ayuda del denominado
    L.M.D.

    -consultas

    operaciones

    -insertar datos

    -puesto al día – modificar datos

    -suprimir datos

    GESTION DE LOS ACCESOS CONCURRENTES

    El principal objetivo de la
    implantación de una base de datos es poner a
    disposición de un gran número de usuarios en
    conjunto integrado de datos, estos datos podrán ser
    manipulados por los diferentes usuarios y es ahora cuando se debe
    garantizar la coherencia de los datos después de las
    diversas manipulaciones. Esto se garantiza con la ayuda del
    concepto de
    transacción <<se define como transacción a
    una unida lógica
    de tratamiento que aplicada a un estado
    coherente de una base de datos restituye un nuevo estado
    coherente de la base de datos pero con estos modificados,
    únicamente puede ser modificada completamente
    anulado>>.

    CONCEPCION DE UNA BASE DE DATOS

    El ciclo de vida
    de una base de datos puede descomponerse en 3 etapas:

    1.- Concepción: la fase de
    concepción consiste en reproducir el mundo real con ayuda
    de uno de los modelos de
    datos conocidos (relacional). El resultado de esta fase en un
    esquema escrito según un formalismo cualquiera no
    interpretable por el S.G.B.D.

    2.-Creación de la B.D.
    vacía:
    La 2ª fase consiste en traducir este
    esquema en órdenes comprensibles para el S.G.B.D. como
    resultado se obtiene la estructura de la base de datos
    desprovista de cualquier tipo de información.

    3.-Explotación: Es en esta fase
    donde los registros serán manipulados con la ayuda de los
    lenguajes de
    programación. Es ahora cuando los usuarios pueden
    consultar los datos y ponerlos a punto durante el resto de la
    vida de la base de datos.

    PROBLEMAS ADQUIRIDOS POR UNA MALA CONCEPCION DE UNA
    BASE DE DATOS.

    En las tablas hay que procurar que no haya duplicidad de
    datos:

    1.-Redundancia de datos: si un cliente ha
    realizado mas de un pedido todos los datos de este cliente
    estarán repetidos tantas veces como pedidos haya, lo mismo
    sucede para los artículos esto es opuesto al principal
    objetivo de una base de datos que consiste en evitar la
    repetición de los mismos.

    2.-Puestas al día múltiple:
    Para poder asegurar
    la coherencia de los datos es necesario efectuar puestas a
    día múltiples. <<Cuando un cliente cambia de
    dirección>>

    3.- Incoherencia de los datos: Si una
    operación de puesta al día múltiple no se ha
    realizado completamente el estado de
    la base de datos queda incoherente y puede producir errores
    importantes.

    4.-Perdida de datos: La supresión
    de una línea en la tabla de pedidos entraña la
    perdida de todos los datos relativos a un cliente si no ha
    efectuado ningún otro pedido. Esto es cierto
    también para un articulo que no se pedido por
    ningún otro cliente. Estas anormalidades constituyen lo
    que se ha convenido en llamar<<comportamiento
    anormal de las tablas>>, para evitar esto existe un
    proceso
    llamado <<normalización>> que entre otras cosas
    intenta establecer los conceptos de <<dependencia funcional
    y estado de las tablas>>.

    5.- Dependencia funcional: Este concepto
    se aplica a las columnas y consiste en hacer corresponder un
    único valor a aquella columna o columnas que consideramos
    más significativas.

    6.- Estado de la tabla: Se dice que una
    tabla esta en estado de 1ª forma normal si toda columna de
    esta tabla no puede tener mas que valores
    atómicos, un valor es atómica si el no es
    divisible.

    1. ARQUITECTURA INTERNA DE UNA BASE DE
      DATOS

    La arquitectura de
    un sistema de base de datos se divide en 3 niveles comunes, nivel
    interno, conceptual y externo.

    Nivel Interno: Es el mas cercano al almacenamiento
    físico, es decir, es el que se ocupa de la forma como se
    almacenan físicamente los datos.

    Nivel Externo: Es el mas cercano a los usuarios,
    es decir, es el que se ocupa de la forma como los usuarios
    reciben los datos.

    Nivel Conceptual: Es el nivel de mediación
    entre los 2 anteriores:

    Externo (aplicaciones)

    Conceptual (modelo,
    (entidad/relación))

    Interno (Hardware)

    SISTEMA GESTOR DE UNA
    BASE DE DATOS

    Los SGBD son paquetes de software muy complejo y
    sofisticado que deben proporcionar los servicios
    comentados en la sección anterior. No se puede generalizar
    sobre los elementos que componen un SGBD ya que varían
    mucho unos de otros. Sin embargo, es muy útil conocer sus
    componentes y cómo se relacionan cuando se trata de
    comprender lo que es un sistema de bases de datos.

    Un SGBD tiene varios módulos, cada uno de los
    cuales realiza una función
    específica. El sistema operativo
    proporciona servicios básicos al SGBD, que es construido
    sobre él.

    El procesador de consultas es el componente
    principal de un SGBD. Transforma las consultas en un conjunto de
    instrucciones de bajo nivel que se dirigen al gestor de la base
    de datos.

    El gestor de la base de datos es el interfase con
    los programas de aplicación y las consultas de los
    usuarios. El gestor de la base de datos acepta consultas y
    examina los esquemas externo y conceptual para determinar
    qué registros se requieren para satisfacer la
    petición. Entonces el gestor de la base de datos realiza
    una llamada al gestor de ficheros para ejecutar la
    petición.

    El gestor de ficheros maneja los ficheros en
    disco en donde se almacena la base de datos. Este gestor
    establece y mantiene la lista de estructuras e índices
    definidos en el esquema interno. Si se utilizan ficheros
    dispersos, llama a la función de dispersión para
    generar la dirección de los registros. Pero el gestor de
    ficheros no realiza directamente la entrada y salida de datos. Lo
    que hace es pasar la petición a los métodos de
    acceso del sistema operativo que se encargan de leer o escribir
    los datos en el buffer del sistema.

    El preprocesador del LMD convierte las sentencias
    del LMD embebidas en los programas de aplicación, en
    llamadas a funciones estándar escritas en el lenguaje
    anfitrión. El preprocesador del LMD debe trabajar con el
    procesador de
    consultas para generar el código
    apropiado.

    El compilador del LDD convierte las sentencias
    del LDD en un conjunto de tablas que contienen metadatos. Estas
    tablas se almacenan en el diccionario de
    datos.

    El gestor del diccionario controla los accesos al
    diccionario de
    datos y se encarga de mantenerlo. La mayoría de los
    componentes del SGBD acceden al diccionario de datos.

    Los principales componentes del gestor de la base de
    datos son los siguientes:

    Control de autorización. Este
    módulo comprueba que el usuario tiene los permisos
    necesarios para llevar a cabo la operación que
    solicita.

    Procesador de comandos. Una
    vez que el sistema ha comprobado los permisos del usuario, se
    pasa el control al procesador de comandos.

    Control de la integridad. Cuando una
    operación cambia los datos de la base de datos, este
    módulo debe comprobar que la operación a realizar
    satisface todas las restricciones de integridad
    necesarias.

    Optimizador de consultas. Este módulo
    determina la estrategia
    óptima para la ejecución de las
    consultas.

    Gestor de transacciones. Este módulo
    realiza el procesamiento de las transacciones.

    Planificador (scheduler). Este módulo es
    el responsable de asegurar que las operaciones que se realizan
    concurrentemente sobre la base de datos tienen lugar sin conflictos.

    Gestor de recuperación. Este módulo
    garantiza que la base de datos permanece en un estado consistente
    en caso de que se produzca algún fallo.

    Gestor de buffers. Este módulo es el
    responsable de transferir los datos entre memoria principal
    y los dispositivos de
    almacenamiento secundario. A este módulo
    también se le denomina gestor de datos.

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

    Codd, el creador del modelo relacional, ha establecido
    una lista con los ocho servicios que debe ofrecer todo
    SGBD.

    Un SGBD debe proporcionar a los usuarios la capacidad de
    almacenar datos en la base de datos, acceder a ellos y
    actualizarlos. Esta es la función fundamental de un SGBD y
    por supuesto, el SGBD debe ocultar al usuario la estructura
    física
    interna (la
    organización de los ficheros y las estructuras de
    almacenamiento).

    Un SGBD debe proporcionar un catálogo en el que
    se almacenen las descripciones de los datos y que sea accesible
    por los usuarios. Este catálogo es lo que se denomina
    diccionario de datos y contiene información que describe
    los datos de la base de datos (meta datos). Normalmente, un
    diccionario de datos almacena:

    Nombre, tipo y tamaño de los datos.

    Nombre de las relaciones entre los datos.

    Restricciones de integridad sobre los datos.

    Nombre de los usuarios autorizados a acceder a la base
    de datos.

    Esquema externo, conceptual e interno, y correspondencia
    entre los esquemas.

    Estadísticas de utilización, tales como la
    frecuencia de las transacciones y el número de accesos
    realizados a los objetos de la base de datos.

    Algunos de los beneficios que reporta el diccionario de
    datos son los siguientes:

    La información sobre los datos se puede almacenar
    de un modo centralizado. Esto ayuda a mantener el control sobre
    los datos, como un recurso que son.

    El significado de los datos se puede definir, lo que
    ayudará a los usuarios a entender el propósito de
    los mismos.

    La comunicación se simplifica ya que se
    almacena el significado exacto. El diccionario de datos
    también puede identificar al usuario o usuarios que poseen
    los datos o que los acceden.

    Las redundancias y las inconsistencias se pueden
    identificar más fácilmente ya que los datos
    están centralizados.

    Se puede tener un historial de los cambios realizados
    sobre la base de datos.

    El impacto que puede producir un cambio se
    puede determinar antes de que sea implementado, ya que el
    diccionario de datos mantiene información sobre cada tipo
    de dato, todas sus relaciones y todos sus usuarios.

    Se puede hacer respetar la seguridad.

    Se puede garantizar la integridad.

    Se puede proporcionar información para auditorias.

    Un SGBD debe proporcionar un mecanismo que garantice que
    todas las actualizaciones correspondientes a una determinada
    transacción se realicen, o que no se realice ninguna. Una
    transacción es un conjunto de acciones que
    cambian el contenido de la base de datos. Una transacción
    en el sistema informático de la empresa
    inmobiliaria sería dar de alta a un empleado o eliminar un
    inmueble. Una transacción un poco más complicada
    sería eliminar un empleado y reasignar sus inmuebles a
    otro empleado. En este caso hay que realizar varios cambios sobre
    la base de datos. Si la transacción falla durante su
    realización, por ejemplo porque falla el hardware, la base
    de datos quedará en un estado inconsistente. Algunos de
    los cambios se habrán hecho y otros no, por lo tanto, los
    cambios realizados deberán ser deshechos para devolver la
    base de datos a un estado consistente.

    Un SGBD debe proporcionar un mecanismo que asegure que
    la base de datos se actualice correctamente cuando varios
    usuarios la están actualizando concurrentemente. Uno de
    los principales objetivos de
    los SGBD es el permitir que varios usuarios tengan acceso
    concurrente a los datos que comparten. El acceso concurrente es
    relativamente fácil de gestionar si todos los usuarios se
    dedican a leer datos, ya que no pueden interferir unos con otros.
    Sin embargo, cuando dos o más usuarios están
    accediendo a la base de datos y al menos uno de ellos está
    actualizando datos, pueden interferir de modo que se produzcan
    inconsistencias en la base de datos. El SGBD se debe encargar de
    que estas interferencias no se produzcan en el acceso
    simultáneo.

    Un SGBD debe proporcionar un mecanismo capaz de
    recuperar la base de datos en caso de que ocurra algún
    suceso que la dañe. Como se ha comentado antes, cuando el
    sistema falla en medio de una transacción, la base de
    datos se debe devolver a un estado consistente. Este fallo puede
    ser a causa de un fallo en algún dispositivo hardware o un
    error del software, que hagan que el SGBD aborte, o puede ser a
    causa de que el usuario detecte un error durante la
    transacción y la aborte antes de que finalice. En todos
    estos casos, el SGBD debe proporcionar un mecanismo capaz de
    recuperar la base de datos llevándola a un estado
    consistente.

    Un SGBD debe proporcionar un mecanismo que garantice que
    sólo los usuarios autorizados pueden acceder a la base de
    datos. La protección debe ser contra accesos no
    autorizados, tanto intencionados como accidentales.

    Un SGBD debe ser capaz de integrarse con algún
    software de comunicación. Muchos usuarios acceden a la
    base de datos desde terminales. En ocasiones estos terminales se
    encuentran conectados directamente a la máquina sobre la
    que funciona el SGBD. En otras ocasiones los terminales
    están en lugares remotos, por lo que la
    comunicación con la máquina que alberga al SGBD se
    debe hacer a través de una red. En cualquiera de
    los dos casos, el SGBD recibe peticiones en forma de mensajes y
    responde de modo similar. Todas estas transmisiones de mensajes
    las maneja el gestor de comunicaciones
    de datos. Aunque este gestor no forma parte del SGBD, es
    necesario que el SGBD se pueda integrar con él para que el
    sistema sea comercialmente viable.

    Un SGBD debe proporcionar los medios
    necesarios para garantizar que tanto los datos de la base de
    datos, como los cambios que se realizan sobre estos datos, sigan
    ciertas reglas. La integridad de la base de datos requiere la
    validez y consistencia de los datos almacenados. Se puede
    considerar como otro modo de proteger la base de datos, pero
    además de tener que ver con la seguridad, tiene otras
    implicaciones. La integridad se ocupa de la calidad de los
    datos. Normalmente se expresa mediante restricciones, que son una
    serie de reglas que la base de datos no puede violar. Por
    ejemplo, se puede establecer la restricción de que cada
    empleado no puede tener asignados más de diez inmuebles.
    En este caso sería deseable que el SGBD controlara que no
    se sobrepase este límite cada vez que se asigne un
    inmueble a un empleado.

    Además, de estos ocho servicios, es razonable
    esperar que los SGBD proporcionen un par de servicios
    más:

    Un SGBD debe permitir que se mantenga la independencia
    entre los programas y la estructura de la base de datos. La
    independencia de datos se alcanza mediante las vistas o
    subesquemas. La independencia de datos física es
    más fácil de alcanzar, de hecho hay varios tipos de
    cambios que se pueden realizar sobre la estructura física
    de la base de datos sin afectar a las vistas. Sin embargo, lograr
    una completa independencia de datos lógica es más
    difícil. Añadir una nueva entidad, un atributo o
    una relación puede ser sencillo, pero no es tan sencillo
    eliminarlos.

    Un SGBD debe proporcionar una serie de herramientas
    que permitan administrar la base de datos de modo efectivo.
    Algunas herramientas trabajan a nivel externo, por lo que
    habrán sido producidas por el administrador de
    la base de datos. Las herramientas que trabajan a nivel interno
    deben ser proporcionadas por el distribuidor del SGBD. Algunas de
    ellas son:

    Herramientas para importar y exportar datos.

    Herramientas para monitorizar el uso y el funcionamiento
    de la base de datos.

    Programas de análisis estadístico para examinar
    las prestaciones o
    las estadísticas de
    utilización.

    Herramientas para reorganización de
    índices.

    Herramientas para aprovechar el espacio dejado en el
    almacenamiento físico por los registros borrados y que
    consoliden el espacio liberado para reutilizarlo cuando sea
    necesario.

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

    El criterio principal que se utiliza para clasificar los
    SGBD es el modelo lógico en que se basan. Los modelos
    lógicos empleados con mayor frecuencia en los SGBD
    comerciales actuales son el relacional, el de red y el jerárquico.
    Algunos SGBD más modernos se basan en modelos orientados a
    objetos.

    El modelo relacional se basa en el concepto
    matemático denominado “relación", que
    gráficamente se puede representar como una tabla. En el
    modelo relacional, los datos y las relaciones existentes entre
    los datos se representan mediante estas relaciones matemáticas, cada una con un nombre que es
    único y con un conjunto de columnas.

    En el modelo relacional la base de datos es percibida
    por el usuario como un conjunto de tablas. Esta percepción
    es sólo a nivel lógico (en los niveles externo y
    conceptual de la arquitectura de tres niveles), ya que a nivel
    físico puede estar implementada mediante distintas
    estructuras de almacenamiento.

    En el modelo de red los datos se representan como
    colecciones de registros y las relaciones entre los datos se
    representan mediante conjuntos, que
    son punteros en la implementación física. Los
    registros se organizan como un grafo: los registros son los nodos
    y los arcos son los conjuntos. El SGBD de red más popular
    es el sistema IDMS.

    El modelo jerárquico es un tipo de modelo
    de red con algunas restricciones. De nuevo los datos se
    representan como colecciones de registros y las relaciones entre
    los datos se representan mediante conjuntos. Sin embargo, en el
    modelo jerárquico cada nodo puede tener un solo padre. Una
    base de datos jerárquica puede representarse mediante un
    árbol: los registros son los nodos, también
    denominados segmentos, y los arcos son los conjuntos. El SGBD
    jerárquico más importante es el sistema
    IMS.

    La mayoría de los SGBD comerciales actuales
    están basados en el modelo relacional, mientras que los
    sistemas más antiguos estaban basados en el modelo de red
    o el modelo jerárquico. Estos dos últimos modelos
    requieren que el usuario tenga conocimiento
    de la estructura física de la base de datos a la que se
    accede, mientras que el modelo relacional proporciona una mayor
    independencia de datos. Se dice que el modelo relacional es
    declarativo (se especifica qué datos se han de obtener) y
    los modelos de red y jerárquico son navegacionales (se
    especifica cómo se deben obtener los datos).

    El modelo orientado a objetos define una base de
    datos en términos de objetos, sus propiedades y sus
    operaciones. Los objetos con la misma estructura y comportamiento
    pertenecen a una clase, y las
    clases se organizan en jerarquías o grafos
    acíclicos. Las operaciones de cada clase se especifican en
    términos de procedimientos
    predefinidos denominados métodos. Algunos SGBD
    relacionales existentes en el mercado han
    estado extendiendo sus modelos para incorporar conceptos
    orientados a objetos. A estos SGBD se les conoce como sistemas
    objeto-relacionales

    Un segundo criterio para clasificar los SGBD es el
    número de usuarios a los que da servicio el
    sistema. Los sistemas monousuario sólo atienden a
    un usuario a la vez, y su principal uso se da en los ordenadores
    personales. Los sistemas multiusuario, entre los que se
    encuentran la mayor parte de los SGBD, atienden a varios usuarios
    al mismo tiempo.

    Un tercer criterio es el número de sitios en los
    que está distribuida la base de datos. Casi todos los SGBD
    son centralizados: sus datos se almacenan en un solo
    computador.
    Los SGBD centralizados pueden atender a varios usuarios, pero el
    SGBD y la base de datos en sí residen por completo en una
    sola máquina. En los SGBD distribuidos la base de
    datos real y el propio software del SGBD pueden estar
    distribuidos en varios sitios conectados por una red. Los SGBD
    distribuidos homogéneos utilizan el mismo SGBD en
    múltiples sitios. Una tendencia reciente consiste en crear
    software para tener acceso a varias bases de datos
    autónomas preexistentes almacenadas en SGBD
    distribuidos heterogéneos. Esto da lugar a los SGBD
    federados o sistemas multibase de datos en los que
    los SGBD participantes tienen cierto grado de autonomía
    local. Muchos SGBD distribuidos emplean una arquitectura
    cliente-servidor.

    Un cuarto criterio es el coste del SGBD. La mayor parte
    de los paquetes de SGBD cuestan entre 10.000 y 100.000 euros. Los
    sistemas monousuario más económicos para
    microcomputadores cuestan entre 100 y 3.000 euros. En el otro
    extremo, los paquetes más completos cuestan más de
    100.000 euros.

    Por último, los SGBD pueden ser de
    propósito general o de propósito
    específico
    . Cuando el rendimiento es fundamental, se
    puede diseñar y construir un SGBD de propósito
    especial para una aplicación específica, y este
    sistema no sirve para otras aplicaciones. Muchos sistemas de
    reservas de líneas aéreas son SGBD de
    propósito especial y pertenecen a la categoría de
    sistemas de procesamiento de transacciones en línea
    (OLTP), que deben atender un gran número de transacciones
    concurrentes sin imponer excesivos retrasos.

    "CONCEPTOS RELACIONADOS CON LA BASE DE
    DATOS"

    NIVEL EXTERNO: Es el nivel
    del usuario individual, es decir, los usuarios pueden ser
    programadores en algunos casos usuarios finales, cada usuario
    dispone de un lenguaje y en el caso de un programador. Dispone de
    un lenguaje convencional. En el caso de un usuario final,
    será un lenguaje de consulta o un lenguaje orientado hacia
    los usuarios. El punto importante de todos estos lenguajes es que
    debe incluir un sublenguaje de datos del cuàl
    estarà inmerso o dentro de un lenguaje anfitrión,
    un lenguaje dado, cualquier va ha permitir el empleo de
    varios lenguajes anfitriones y varios sublenguajes para
    datos.

    EJEMPLO:

    Lenguaje VB ò <<C>> >>>>
    Lenguaje Anfitrión.

    Acces >>>>> Sublenguaje.

    DBSE >>>>> Lenguaje
    Arquitectónico.

    ASSIST >>>> SUB-LENGUAJE.

    SQL >>>> sub-lenguaje.

    NIVEL CONCEPTUAL: La vista
    conceptual es una presentaciòn de toda la
    información contenida en la base de datos. Ademàs
    puede ser muy diferente en la forma en que percibe los datos
    cualquier usuario final, es decir, debe ser un panorama de los
    datos. Tal como son y no como los percibe los usuarios. Debido a
    las limitaciones del lenguaje o bien al equipo que se esta
    utilizando.

    El nivel conceptual se define mediante un esquema
    conceptual el cuàl incluye la definición de cada
    uno de los tipos de registros (entidades), ademàs, el
    esquema conceptual no debe asociarse a representaciones de campos
    almacenados tales como punteros, índices, etc., si el
    esquema conceptual se desarrolla en forma independiente de los
    datos entonces el esquema externo definido en base al esquema
    conceptual será tambièn independiente de los
    datos.

    NIVEL INTERNO:
    Representación de bajo nivel de toda la base de
    datos, se compone de varias ocurrencias, de varios tipos de
    registros, el nivel interno todavía esta aùn paso
    del nivel físico ya que no se manejan los registros fijos.
    La vista interna se define a tràves de un esquema interno
    el cuàl no sòlo define los diversos tipos de
    registros almacenados, si no, tambièn específica
    los índices asociados, representación de los campos
    almacenados, secuencia física de los registros,
    etc.

    "CORRESPONDENCIA ENTRE
    NIVELES"

    1.- LA CORRESPONDENCIA ENTRE NIVEL EXTERNO Y NIVEL
    CONCEPTUAL:
    Es la que existe entre una
    determinada Vista Externa y la Vista Conceptual. La diferencia
    que puede existir entre estos dos niveles son similares a las que
    pueden existir entre la vista conceptual y la vista
    interna.

    EJEMPLO: Los campos pueden
    tener distintos tipos de datos,
    los nombres de los campos y registros pueden diferir entre si
    pueden combinarse varios campos conceptuales para formar un campo
    externo.

    2.- CORRESPONDENCIA ENTRE EL NIVEL CONCEPTUAL Y EL
    NIVEL INTERNO:

    Es la que existe entre la vista conceptual y la vista
    interna específica como se representan los registros y los
    campos conceptuales, si se modifica la estructura de la Base de
    Datos, es decir, nivel interno, debe tambièn modificarse
    la correspondencia para no variar el esquema
    conceptual.

    Como se sabe el DBA es la persona que toma
    decisiones estratégicas y políticas
    con respecto a la información de la empresa,
    ademàs de diseñar los aspectos técnicos
    necesarios para poner en pràctica estas decisiones, es
    decir, será encargado del control general del problema a
    nivel técnico, ademàs otras funciones
    podrían ser:

    1.- Definir el
    Nivel Conceptual y

    2.- Definir Entidades
    y Relaciones,

    3.- Definir el
    Esquema Interno,
    ademàs, de decir
    como se representa
    la información
    en la base de
    datos.

    4.- Vinculación con
    los usuarios
    encargándose de la
    comunicación con estos, garantizando la disponibilidad de los datos y ademàs describir los esquemas externos necesarios
    (aplicaciones).

    "CONCEPTOS BASES DE
    DATOS"

    1.1 Definición de Base de Datos

    Todo buen curso necesita empezar con algunos conceptos
    básicos para el mejor entendimiento del mismo, por lo
    tanto empezaremos con las definiciones que involucran a las bases
    de datos:

    Dato: Conjunto de caracteres con algún
    significado, pueden ser numéricos, alfabéticos o
    alfanuméricos.

    Información: Es un conjunto ordenado de
    datos los cuales son manejados según la necesidad del
    usuario, para que un conjunto de datos pueda ser procesado
    eficientemente y pueda dar lugar a información, primero se
    debe guardar lógicamente en archivos.

    Conceptos básicos de archivos
    computacionales

    Campo: Es la unidad más pequeña a
    la cual uno puede referirse en un programa. Desde el punto de
    vista del programador representa una característica de un
    individuo u
    objeto.

    Registro: Colección de campos de iguales o
    diferentes tipos.

    Archivo: Colección de registros
    almacenados siguiendo una estructura homogénea.

    Base de datos: Es una colección de
    archivos interrelaciónales, son creados con un DBMS. El
    contenido de una base de datos engloba a la información
    concerniente (almacenadas en archivos) de una organización, de tal manera que los datos
    estén disponibles para los usuarios, una finalidad de la
    bases de datos es eliminar la redundancia o al menos minimizarla.
    Los tres componentes principales de un sistema de base de datos
    son el hardware, software DBMS y los datos a manejar, así
    como el personal encargado del manejo del sistema.

    Sistema Manejador de Base de Datos.
    (DBMS)

    Interrelacionadas, cada una de las cuales es responsable
    de una tarea especifica.

    El objetivo primordial de un sistema manejador base de
    datos es proporcionar un contorno que sea a la vez conveniente y
    eficiente para ser utilizado al extraer, almacenar y manipular
    información de la base de datos.

    Todas las peticiones de acceso a la base, se maneja
    centralizadamente por medio del DBMS, por lo que este paquete
    funciona como interfase entre los usuarios y la base de
    dato.

    Esquema de base de datos: Es la estructura por la
    que esta formada la base de datos, se especifica por medio de un
    conjunto de definiciones que se expresa mediante un lenguaje
    especial llamado lenguaje de definición de datos.
    (DDI).

    Administrador de base de datos (DBA): Es la
    persona o equipo de personas profesionales responsables del
    control y manejo del sistema de base de datos, generalmente
    tienen experiencia en DBMS, diseño
    de bases de datos, sistemas
    operativos, comunicación de datos, hardware y programación.

    Los sistemas de base de datos se diseñan para
    manejar grandes cantidades de información, la
    manipulación de los datos involucra tanto la
    definición de estructuras para el almacenamiento de la
    información como la provisión de mecanismos para la
    manipulación de la información, además un
    sistema de base de datos debe de tener implementados mecanismos
    de seguridad que garanticen la integridad de la
    información, a pesar de caídas del sistema o
    intentos de accesos no autorizados.

    Un objetivo principal de un sistema de base de datos es
    proporcionar a los usuarios finales una visión abstracta
    de los datos, esto se logra escondiendo ciertos detalles de
    cómo se almacenan y mantienen los datos.

    1.2 Objetivos de los sistemas de bases de
    datos

    Los objetivos principales de un sistema de bases de
    datos es disminuir los siguientes aspectos:

    Redundancia e inconsistencia de datos: Puesto que
    los archivos que mantienen almacenada la información son
    creados por diferentes tipos de programas de aplicación
    existe la posibilidad de que si no se controla detalladamente el
    almacenamiento, se pueda originar un duplicado de
    información, es decir que la misma información sea
    más de una vez en un dispositivo de almacenamiento. Esto
    aumenta los costos de
    almacenamiento y acceso a los taos, además de que puede
    originar la inconsistencia de los datos-es decir diversas copias
    de un mismo dato no concuerdan entre si-, por ejemplo: que se
    actualiza la dirección de un cliente en un archivo y que en
    otros archivos permanezca la anterior.

    Dificultad para tener acceso a los
    datos:

    Un sistema de base de datos debe contemplar un entorno
    de datos que le facilite al usuario el manejo de los mismos.
    Supóngase un banco, y que uno
    de los gerentes necesita averiguar los nombres de todos los
    clientes que
    viven dentro del código postal 787333 de la ciudad. El
    gerente pide
    al departamento de procesamiento de
    datos que genere la lista correspondiente.

    Puesto que esta situación no fue prevista en el
    diseño del sistema, no existe ninguna aplicación de
    consulta que permita este tipo de solicitud, esto ocasiona una
    deficiencia del sistema.

    Aislamiento de los datos: Puesto que los datos
    están repartidos en varios archivos, y estos no pueden
    tener diferentes formatos, es difícil escribir nuevos
    programas de aplicación para obtener los datos
    apropiados.

    Anomalías del acceso concurrente: Para
    mejorar el funcionamiento global del sistema y obtener un tiempo
    de respuesta más rápido, muchos sistemas permiten
    que múltiples usuarios actualicen los datos
    simultáneamente. En un entorno así la interacción de actualizaciones concurrentes
    puede dar pos resultado datos inconsistentes. Para prevenir esta
    posibilidad debe mantenerse alguna forma de supervisión en el sistema.

    Problemas de seguridad: La información de
    toda empresa es importante, aunque unos datos lo son mas que
    otros, por tal motivo se debe considerar el control de acceso a
    los mismos, no todos los usuarios pueden visualizar alguna
    información, por tal motivo para que un sistema de base de
    datos sea confiable debe de mantener un grado de seguridad que
    garantice la autentificación y protección de los
    datos. En un banco por ejemplo, el personal de nominas solo
    necesita empleados del banco y no a otro tipo de
    información.

    Problemas de integridad: Los valores de datos
    almacenados en la base de datos deben satisfacer cierto tipo de
    restricciones de consistencia. Esta restricciones se hacen
    cumplir en el sistema añadiendo códigos apropiados
    en los diversos programas de aplicación.

    1.3 Abstracción de la
    información

    Una base de datos es en esencia una colección de
    archivos relacionados entre si, de la cual los usuarios pueden
    extraer información sin considerar las fronteras de los
    archivos.

    Un objetivo importante de un sistema de base de datos es
    proporcionar a los usuarios una visión abstracta de
    los datos, es decir, el sistema esconde ciertos detalles de
    cómo se almacenan y mantiene los datos. Sin embargo para
    que el sistema sea manejable, los datos se deben extraer
    eficientemente.

    Existe diferentes niveles de abstracción para
    simplificar la interacción de los usuarios con el sistema;
    interno, conceptual y externo, específicamente el de
    almacenamiento físico, el del usuario y el del
    programador.

    Nivel físico: Es la representación
    del nivel mas bajo de abstracción, en este se describe en
    detalle la forma en como se almacenan los datos en los
    dispositivos de almacenamiento (por ejemplo, mediante
    señaladotes o indices para el acceso aleatorio a los
    datos).

    Nivel conceptual: El siguiente nivel mas alto 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 nivel conceptual de
    abstracción lo usan los administradores de bases de datos,
    quienes deben decidir que información se va a guardar en
    la base de datos.

    Consta de las siguientes definiciones:

    1.- Definición de los datos: Se describen
    el tipo de datos y la longitud de campo todos los elementos
    direccionales en la base. Los elementos por definir incluyen
    artículos elementales (atributos), totales de datos y
    registros conceptuales (entidades).

    1.- Relaciones entre datos: Se definen las
    relaciones entre datos para enlazar tipos de registros
    relacionados para el procesamiento de archivos múltiples.
    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.

    Nivel de visión: Nivel mas alto de
    abstracción, es lo que el usuario final puede visualizar
    del sistema terminado, describe solo una parte de la base de
    datos al usuario acreditado para verla. El sistema puede
    proporcionar muchas visiones para la misma base de
    datos.

    Nivel interno o físico: Se refiere al
    almacenamiento físico en el se describe como se almacenan
    realmente los datos en memorias
    secundarias, en que archivos, su nombre y dirección.
    También estarán los registros, longitud, campos,
    indices y las rutas de acceso a esos archivos.

    Nivel conceptual: En el se describen cuales son
    los datos reales almacenados en la BD y que relaciones existen
    entre ellas. Este nivel lo definen los administradores de la BD
    que son los que deciden que información se guarda en la
    BD. Este nivel corresponde a la estructura
    organizacional de los datos obtenida al reunir los
    requerimientos de todos los usuarios, sin preocuparse de su
    organización física ni de las vías de
    acceso.

    Podría contener:

    • Entidades del mundo real (clientes, artículos,
      pedidos,…)
    • Atributos de las entidades (nombre_cliente,
      NIF,…)
    • Asociaciones entre entidades (compra de
      artículos)
    • Restricciones de integridad (son las normas que
      deben cumplir los datos).

    Nivel externo o vistas. Es el nivel más
    cercano al usuario y representa la percepción individual
    de cada usuario. Si los niveles interno y conceptual describen
    toda la BD, este nivel describe únicamente la parte de
    datos para un usuario o grupo de
    usuarios. Habrá usuarios que podrán acceder a mas
    de un esquema externo y uno de estos puede ser compartido por
    varios usuarios, se protege así el acceso a los datos por
    parte de personas no autorizadas. A la hora de construir un
    esquema externo:

    • Se pueden omitir una o más entidades del
      sistema.
    • Se pueden omitir uno o más atributos de una
      entidad.
    • Se pueden omitir una o mas relaciones entre los
      datos.
    • Se pueden cambiar el orden de los
      atributos.

    Para una BD habrá un único esquema
    interno, un único esquema conceptual, pero puede haber
    varios esquemas externos.

    Partes: 1, 2, 3

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter