No es un bug, es una característica no documentada

miércoles, 13 de mayo de 2015

Bases de datos. Teoría

8:55 Posted by Inazio No comments
Ignorantón de mí, pensaba que en bases de datos haríamos, ya en el tercer trimestre, sólo práctica.
¡Pues no! también hay que estudiar teoría para el examen.

El profesor nos ha pasado varios PDFs con apuntes (que he tenido que resumir) y ejercicios para realizar. Son los siguientes:

Ficheros según su función

Tipos de ficheros. Clasificación según importancia y vigencia de la información

Ficheros de alta disponibilidad y durabilidad
Sometidos a fuerte protección para evitar cualquier alteración accidental de contenido
Obliga a disponer de copia de seguridad, con actualizaciones periódicas.
Hay tres grandes grupos:
è    Ficheros de situación. Contiene en todo momento el estado actual, la situación de la información susceptible de experimentar variaciones frecuentes. Frecuencia de actualización y consulta alta
è    Ficheros históricos. Contiene la información elaborada de tratamientos anteriores. La información no es de actualidad pero refleja el contenido y/o evolución de la misma. Se obtiene a partir del fichero de situación. Crecimiento elevado, tasas de consulta muy débil.
è    Ficheros de constantes o de indicativos. Contiene información susceptible de ser consultada, pero no contiene ningún resultado. Tasa de renovación pequeña. Tasa de consulta alta

Un mismo fichero puede ser indirecto y de situación, o indirecto e histórico, pero es recomendable separar ambos tipos.

Ficheros de movimientos o de transacciones
Refleja situaciones puntales de informaciones que obligan a modificar algún fichero maestro vinculado.

Su existencia finaliza cuando se efectúan las actualizaciones correspondientes al maestro que modifican.

Destrucción accidental poco grave. Se arregla por la reconstrucción directa a partir de los documentos fuente de los últimos movimientos registrados.

Ficheros de trabajo o de maniobra
Creados para almacenar transitoriamente resultados intermedios, que se usarán posteriormente en el mismo u otro proceso diferente.
Contiene información intermedia que finaliza con el proceso y no tiene sentido conservar.

Son ficheros puente para no saturar la memoria principal.
Pueden usarse para clasificar registros de un fichero por un determinado campo, o para archivos de reportes, como la cola de impresión en sistemas medianos o el spool en impresión en segundo plano en sistemas Windows. 

Organización de ficheros

Organización de ficheros

Motivos para estructurar la información en ficheros
è    Acceso rápido a registros
è    Economía de almacenamiento
è    Facilita la actualización de registros
è    Refleja la organización real de la información.

Tipos de organización
è    Secuenciales
·        Lineales
·        No lineales
è    Directos
·        Por posición
·        Por clave
è    Indexados
·        ISAM (Indexed Sequential Access Mode)
·        C-ISAM (Chained ISAM)

SEQUENTIAL LINED. Los registros se almacenan físicamente de forma contigua (uno a continuación de otro) siguiente la secuencia lógica del fichero.
Orden físico = orden lógico

Todas las operaciones sobre ficheros se hacen siguiendo esta secuencia.

Es la única organización que admite soporte físico de acceso secuancial no direccionable.

Operaciones
è    Añadir. Solo se puede escribir al final del fichero
è    Consulta. En orden secuencial
è    Actualización (inserción, eliminación, modificación).



Si el fichero está almacenado en un dispositivo físico direccionable se pueden hacer actualizaciones directas y también:
è    Consulta. Si contiene registros de posición fija, es posible determinar la posición de comienzo de cada uno a partir de su posición relativa al fichero
è    Modificación. Localizado un registro, se puede rescribir este en el propio fichero, siempre que al modificar al registro no aumente su longitud.
è    Borrado. No es posible eliminar un registro del fichero.

Caso especial. Ficheros de texto

Es utilizado para almacenar textos.
Tiene registros de tamaño variable denominados líneas. Cada una almacena una cadena.
Los lenguajes de programación ofrecen primitivas para recorrer e insertar el delimitador.

ORGANIZACIÓN DIRECTA ALEATORIA

Hay una transformación conocida que genera la dirección de cada registro  dentro del fichero a partir de una clave.

El problema es la elección de dicha transformación o vertido de direccionamiento.

Pueden aparecer una situación no deseada: Direcciones que no corresponden a ninguna llave.

Métodos de direccionamiento

è    Directo. La dirección relativa es la propia clave (numérica y de rango igual al tamaño del fichero)
è    Asociado (por clave).
Cada llave tiene asociada una dirección en una tabla
Al añadir nuevos registros las llaves se colocan al final de la tabla
La tabla está desordenada. Para hacerlo más rápido se puede hacer una tabla ordenada o almacenarla en la memoria principal.


è    Calculada (por Hashing). Usando técnicas hashing.

Dos formas de resolver sinónimos:
è    Búsqueda de posición libre
·        Secuencialmente
·        Aplicando otro método de direccionamiento
è    Mediante zona de desbordamiento. Se puede gestionar:
·        Secuencialmente
·        Encadenandola con la zona principal

Operaciones
è    Creación. Debe reservar espacio en disco
è    Consulta. Realizada por llave. Si procede, hay que tratar los sinónimos
è    Modificación e inserción. Se puede hacer realizando la transformación de llave correspondiente

Introducción a bases de datos

Informática. Ciencia que estudia el tratamiento automático y racional de la información.

Un archivo es el conjunto organizado de informaciones del mismo tipo. Pueden utilizarse en un una colección de información (datos relacionados entre sí) localizada o almacenada como una unidad en algún medio de almacenamiento.

Un sistema de ficheros o archivos es un conjunto de programas que prestan servicios a usuarios finales. Cada programa define y maneja sus propios datos.

Procesamiento tradicional de datos
è    Proliferación de ficheros en sistemas de archivos
è    Específicos para cada aplicación
Genera
è    Redundancia de información
è    Inconsistencia de los datos
è    Dificultad en el acceso a datos
è    Dificultad en la reconstrucción de datos
è    Tratamiento ineficaz de datos
è    Dificultad tratando ficheros
è    Dependencia excesiva de formato
è    Descentralización de datos
è    Actualización y modificaciones no compartidas por toda la organización.

Sistemas de bases de datos. Conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilización.

      Ventajas
è    Sistema de información orientada a datos
è    Independencia de datos respecto a procedimientos
è    Disminución de redundancias
è    Disminución de posibilidades de inconsistencias de datos
è    Mayor integridad de datos
è    Mayor disponibilidad, seguridad y privacidad de datos
è    Mayor eficacia en recogida, codificación y entrada de datos.
è    Compartición de datos

Desventajas
è    Instalación costosa, larga y difícil
è    Ausencia de estándares
è    Falta de rentabilidad a corto plazo
è    Necesidad de formación de personal especializado

Arquitectura de bases de datos (ANSI / X3 / SPARC)
Para que el sistema sea manejable los datos deben extraerse eficazmente.
Esto implica estructuras de datos complejas. Hay que ocultarlas al usuario, proporcionándose la abstracción de memoria.

Niveles de abstracción
è    Físico o interno. Nivel más bajo, mantiene el esquema interno. Describe en detalle la forma de almacenar datos en dispositivos de almacenamiento (datos y relaciones a nivel físico).
Emplea el modelo de datos físico y describe detalles para su almacenamiento (número y tamaño de página, tamaño de buffer de entrada / salida…) y caminos de acceso para bases de datos (claves, índices, punteros…)
è    Conceptual. Describe que datos son almacenados realmente en la base de datos, relaciones existentes entre las mismas y restricciones de integridad y confidencialidad. Describe la base de datos en términos de estructura de diseño.
Consta de las siguientes definiciones:
·       De datos. Tipo de dato y longitud de campo de los elementos
·       Relaciones entre datos. Para enlazar tipos de registros relacionados
è    De visión o externo. Nivel más alto. Describe la visión que tiene un usuario, grupo o aplicación de la base de datos.

Correspondencia, transformación o mapping. Transformar solicitudes de un nivel a otro.

SISTEMAS DE GESTIÓN DE BASES DE DATOS

Operaciones típicas:
è    Afecta a la totalidad de los datos. Creación, restructuración. Consultas a la totalidad.
è    Sobre registros concretos. Altas, bajas, modificaciones, consultas selectivas.

Funciones
è    De definición. Permite especificar los elementos que la integran, su estructura y la relación entre ellos. Se realiza por el lenguaje de difusión de datos (DDL) propio de cada SG.
è    De manipulación. Permite buscar, añadir, suprimir o modificar datos, según especificaciones y normas de seguridad dictadas por el administrador.
è    De utilización. Reúne las interfaces necesarias para comunicarse los diferentes usuarios con la BD y los procedimientos para el administrador.

Componentes de la SGBD

è    Lenguajes de bases de datos
·        DDL. Lenguaje de definición de datos
·        DML. Lenguaje de manipulación de datos
·        DCL. Lenguaje de control de datos.
è    Diccionario de datos. Conjunto de archivos que contienen información almacenada en la base de datos.
è    Gestor de bases de datos. Componente software que garantiza el correcto, seguro, íntegro y eficiente acceso y almacenamiento de los datos.
è    Arquitectura cliente – servidor. Forma de dividir y especializar programas y equipos de cómputo para que cada tarea se efectué con la mayor eficiencia y permite simplificarla. Se reparte la capacidad de proceso. Se divide en:
·        Cliente. Recibe los servicios del servidor
·        Servidor. Realiza algunas tareas en beneficio del cliente. Los habituales son servidor de archivos y de aplicaciones.
Un ordenador puede cumplir ambas funciones (cliente y servidor) en sistemas P2P

BDA libre – comercial – centralizada – distribuida

SGDB comerciales
è    Oracle
è    MySQL
è    DB2
è    Informix
è    Microsoft SQL Server
è    SYBASE

SGBD libres
è    MySQL
è    PostgreSQL
è    FireBird
è    Apache Derby
è    SQL lite

Bases de datos centralizadas
Aquellas en las que el SGBD esté implantado en una sola plataforma u ordenador desde donde se gestiona directamente

Bases de datos distribuidas
è    BDD (Bases de datos distribuidas). Conjunto de bases de datos relacionadas distribuidas entre diferentes nodos interconectados.
è    SBDD (Sistema de bases de datos distribuidos). Múltiples sitios de bases de datos ligados para sistemas de comunicaciones.
è    SGBDD (Sistema gestor de bases de datos distribuidas). Aquel encargado de manejo de la BDD y que proporciona mecanismos de acceso que hace que la distribución sea transparente a los usuarios.

Ejercicios

Ejercicios de ficheros según su función

Supongamos una aplicación informática para gestionar una biblioteca, existirá un fichero con el catálogo de libros disponibles, otro con las editoriales, otro con información sobre libros que se han quedado obsoletos, etc. ¿A cuál de los siguientes tipos correspondería el fichero que almacena las editoriales? ¿Por qué?
•  Fichero situación.
•  Fichero constante.
•  Fichero histórico.
Ídem para el fichero que almacena el catálogo de libros disponibles y para el que guarda los que se han quedado obsoletos.

Editoriales à Fichero constante, porque se puede consultar pero no suele variar mucho la información
Catálogo libros à Fichero de situación, porque lo actualizamos con cada remesa y se puede consultar varias veces en un día
Libros obsoletos à Fichero histórico, porque no se consulta a menudo y la información no es actual

Ejercicios introducción bases de datos

1. ¿Qué es un sistema de información?

Conjunto de elementos orientados al tratamiento y administración de datos e información

2. Explica el concepto de sistema de información orientado:
                a.  a los procesos
                b. a los datos

El orientado a procesos se encarga de dar los servicios correspondientes a los usuarios finales, y el de datos de proveer la información

3. ¿A cuál de los sistemas anteriores corresponde un sistema de archivos? ¿Y un sistema de bases de datos?

A un sistema de información orientado a datos

4. Explica los conceptos de inconsistencia e integridad de datos

Inconsistencia de datos: No todas las copias de los datos contienen la misma información. Se produce cuando existe redundancia de datos
Integridad de datos. Corrección y complementación de los datos en una base de datos.

5. ¿Qué inconvenientes genera el procesamiento de datos mediante sistema de archivos?

Redundancia de información, inconsistencia de datos y dificultad tanto para acceder a los datos como para reestructurar la información.

6. ¿Qué ventajas aportan las bases de datos? ¿Qué inconvenientes?

Ventajas:
Sistema de información orientado a datos
Independencia de datos respecto a procedimientos
Disminuye las redundancias
Menor posibilidad de redundancia de datos
Mayor integridad de datos
Mayor disponibilidad de datos

Desventajas:
Instalación costosa, larga y difícil
Falta de rentabilidad a corto plazo
Necesita formación de personal especializado

7. ¿Qué se entiende por independencia física e independencia lógica de los datos? ¿Se conseguían estos objetos en el sistema tradicicional de archivos?

Independencia física: No necesitas ver el código de la aplicación para saber comos se almacenan los datos, pero sí para modificarlos
Independencia lógica: Permite modificar los datos sin modificar el código de las aplicaciones

No se consigue con el sistema tradicional de archivos.

8. Explica la siguiente definición de base de datos

“Colección o depósito de datos integrados, almacenados en soporte secundario (no volatil) y con redundancia controlada. Los datos, que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de ellos, y su definición (estructura de la base de datos) única y almacenada junto con los datos, se ha de apoyar en un modelo de datos, el cual ha de permitir captar las interrelaciones y restricciones existentes en el mundo real. Los procedimientos de actualización y recuperación, comunies y bien determinados, facilitarán la seguridad del conjunto de datos.”

Se trata del concepto de una base de datos

9. Comenta la siguiente ilustración.
                a. ¿Qué describe cada nivel?
                b. ¿Quién se encarga de realizar las transformaciones?
                c. ¿En qué nivel de abstracción de una base de datos está más implicado el usuario final?


a à La abstracción que tiene cada usuario. Cuanto más externo sea el nivel, mayor abstracción
b à La base de datos
c à En la externa (o de visión)

10. Distinguir entre base de datos y sistema de gestión de base de datos

Base de datos son los bancos de información que se guardan, mientras que el sistema gestor es el encargado de garantizar el correcto, seguro, íntegro y eficiente acceso y almacenamiento de los datos.

11. ¿Qué lenguaje realiza la función del SGBD de descripción o definición de los datos? ¿Y la de manipulación?

Definición de los datos à DDL
Manipulación de los datos à DML

12. ¿Qué contiene el Diccionario de datos? ¿Cómo se llama el diccionario de datos en MySQL?

Contiene la información almcenada en la base de datos. Es el INFORMATION_SCHEMA

13. Indicar las tareas del administrador de base de datos

Estructurar la base de datos, definir los estándares por los que se regirá la misma, planear la estrategia de migración del sistema existente al actual, configurar los permisos de uso y explotación y todos los aspectos relativos a la seguridad

14. ¿Qué pretenden conseguir las arquitecturas de red en los sistemas de información?

Permitir que un registro participe en diversas relaciones padre / hijo, reduciendo y/o eliminando las redundancias.

15. Pon algún ejemplo en el que un equipo se comporte a la vez como cliente y como servidor en una arquitectura cliente / servidor

BitTorrent, eDonkey… son equipos P2P que se conectan a un servidor central utilizado como hub

16. Ventajas e inconvenientes de una arquitectura centralizada, servidor de archivos y en una arquitectura cliente / servidor

Ventajas:
à Gran nivel de seguridad
à Facilidad de administración

Desventajas:
à Alt coste
à La maquina servidora está frecuentemente sobrecargada

17. ¿Qué diferencia a un cliente ligero de un cliente pesado en una arquitectura cliente / servidor?

En el cliente ligero se almacena sólo la interfaz gráfica de usuario, en el pesado también el software de desarrollo de aplicaciones

18. ¿Cuál es la diferencia entre arquitectura cliente / servidor y n-capas?

En el cliente – servidor el software reparte su carga de cómputo en dos partes independientes pero sin reparto claro  de funciones, y el modelo de n-capas está especialmente indicado para el desarrollo en paralelo

19. Comenta la siguiente ilustración. ¿De que se trata?



De un modelo de arquitectura de cuatro capas

20. ¿Qué tipo de arquitectura de red presentan la configuración de los equipos del aula?

Arquitectura de servidor de archivos en LAN

21. ¿Por qué se caracteriza un lenguaje de cuarta generación (4GL)? Cita alguno que conozcas

Por ser un lenguaje procedural, ya que el usuario define que debe hacer, no cómo va a hacerse.
Un ejemplo de lenguajes sería SQL, QBE u Oracle

22. Indicar si los siguientes enunciados son ciertos o falsos, explicando en este último caso el por qué.
                a. El modelo conceptual depende del SGBD a utilizar mientras que el lógico no
                b. El modelo interno depende del SGBD a utilizar
                c. Las bases de datos jerárquicas no permiten representar relaciones muchos a muchos mientras que las de red sí.

a à Falso. El conceptual es independiente del modelo que se use, el lógico depende de un tipo de SGBD
b à Verdadero
c à Verdadero

Ejercicios BDA libre – comercial – centralizada – distribuida

1.- Diferencias entre los SGBD comerciales y libres. Cita algunos SGBD comerciales y otros que sean libres.

La diferencia es que los comerciales son de pago y los libres son gratuitos.

SGBD comerciales:
à Oracle
à DB2
à Microsoft SQL Server

SGBD libres:
à MySQL
à FireBird
à SQLite

2.- Ventajas e inconvenientes de las BDA centralizadas.

Ventajas:
à Evita la redundancia debido a la posibilidad de inconsistencias y desperdicio de espacio
à La seguridad se centraliza
à Conversa la integridad
à Mejor rendimiento de procesamiento de datos
à Mantenimiento más barato

Desventajas:
à Comparado con sistema distribuido no tiene mayor poder de cómputo
à Si falla, pierde toda disponibilidad de procesamiento
à En caso de desastre o catástrofe, la recuperación es difícil de sincronizar
à Cargas de trabajo no se pueden difundir entre varias maquinas
à Los departamentos de sistemas retienen control de toda la organización
à Requieren un mantenimiento central de datos

3.- Ventajas e inconvenientes de las BDA distribuidas. ¿Qué es la fragmentación? ¿Qué diferencia existe entre la fragmentación horizontal y la vertical?

Ventajas:
à Acceso y procesamiento de datos más rápido
à Desde una ubicación puede accederse a información alojada en diferentes lugares
à Costes inferiores a bases centralizadas
à Tolerancia a fallos mediante replicación
à Se adapta más naturalmente a la estructura de las organizaciones
à Independencia local de los nodos

Desventajas:
à Mantenimiento y control costoso
à Control de concurrencia y mencanismos de recuperación más complejos
à Intercambio de mensajes y computo adicional necesario para coordinar los distintos nodos
à Difícil asegurar la corrección de algoritmos

0 comentarios:

Publicar un comentario