Menú

miércoles, 5 de noviembre de 2014

Árboles B+


En ciencias de la computación, un árbol B+ es un tipo de estructura de datos de árbol, que representa una colección de datos ordenados de manera que se permite una inserción y borrado eficiente de elementos. Es un índice, con un límite máximo y mínimo en el número de claves por nodo. Un árbol B+ es una variación de un árbol B.

domingo, 26 de octubre de 2014

Sistemas de bases de datos NoSQL

Sistemas Gestores de Bases de Datos Relacionales

Evolución de los Sistemas Gestores de Bases de Datos

Os presento una línea de tiempo realizada entre unos compañeros de la clase de 1º DAW del centro I.E.S Gran Capitán.

http://www.tiki-toki.com/timeline/entry/356859/Evolucin-de-los-Sistemas-Gestores-de-Bases-de-Datos/

Actividad 1.2: Cuestiones sobre conceptos básicos de SGBD (2ª parte)

1. Indica las diferencias existentes entre las funciones de manipulación y de descripción.

Las funciones de descripción permiten definir la estructura de la base de datos, sus restricciones, sus relaciones, la seguridad y el acceso, etc. Se definen mediante el LDD (Lenguaje de Definición de Datos) propio de cada Sistema Gestor de Base de Datos. Las funciones de manipulación permiten añadir, eliminar, buscar y modificar datos. Estas funciones se realizan mediante un LMD (Lenguaje de Manejo de Datos).

2. ¿Qué tipos de usuarios interaccionan con una base de datos?

Dependiendo del tipo de interacción entre el usuario y la base de datos, los tipos de usuarios son:
  • Usuarios normales: son aquellos que no tienen porque tener conocimientos sobre bases de datos y que interactúan con el sistema mediante programas de aplicación escritos previamente.
  • Programadores de aplicación: desarrollan programas que embeben las llamadas a la base de datos. Utilizan herramientas como Eclipse, .Net, etc.
  • Usuarios sofisticados: interactúan con el sistema sin escribir programas, trabajan con el LDD (Lenguaje de Definición de Datos) y LMD (Lenguaje de Manejo de Datos).
  • Usuarios especializados: desarrollan aplicaciones de bases de datos especializadas que no encajan con el procesamiento tradicional.
  • Administrador de bases de datos: responsable del mantenimiento del gestor (instalación, sintonizado, rendimiento, seguridad, etc.).

3. Indica que es un lenguaje huésped y un lenguaje anfitrión.

Un lenguaje anfitrión es aquel que se usa para crear una aplicación que interaccione con la base de datos, es decir, que incorpore sentencias LMD. Un lenguaje huésped es el propio lenguaje LMD usado por el lenguaje anfitrión para interaccionar con la base de datos.

4. La gestión del espacio de almacenamiento, ¿a qué nivel de la arquitectura ANSI/SPARC pertenece?

Al nivel interno, ya que es el que describe como se almacenan los datos.

5. Dibujar un diagrama de la arquitectura de sistemas de bases de datos (ANSI/SPARC).



6. Indica las principales funciones realizadas por el SGDB.
  • Un SGBD debe proporcionar a los usuarios la capacidad de almacenar datos en la base de datos, acceder a ellos y actualizarlos. 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.
  • 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.
  • Un SGBD debe proporcionar un mecanismo que asegure que la base de datos se actualice correctamente cuando varios usuarios la están actualizando concurrentemente.
  • 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.
  • 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.
  • 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.
  • Un SGBD debe permitir que se mantenga la independencia entre los programas y la estructura de la base de datos.
  • Un SGBD debe proporcionar una serie de herramientas que permitan administrar la base de datos de modo efectivo.

7. Explica la diferencia entre la independencia física y lógica de los datos.

La independencia física es la capacidad de cambiar el nivel interno sin tener que cambiar ni el nivel conceptual ni nivel externo. La independencia lógica es la capacidad de cambiar el nivel conceptual sin tener que cambiar las vistas ni los programas de aplicación.

8. ¿Qué es el diccionario de datos?

El diccionario de datos es un conjunto de tablas que contiene metadatos, que son datos sobre los datos. Cada vez que un sistema de base de datos va a leer o modificar los datos, el diccionario de datos es consultado.

9. Diferencias entre el LDD y LMD de un sistema gestor de base de datos.

El lenguaje de definición de datos (LDD) es utilizado para especificar el esquema de la base de datos, y especifica la información del diccionario de datos. También es utilizado para especificar el almacenamiento, los métodos de acceso y las restricciones de consistencia.
Mientras que el lenguaje de manejo de datos (LMD) se utiliza para consultar, insertar, modificar y borrar información de la base de datos. Existen dos tipos de LMD, los procedimentales (necesitan que se les especifique que datos recuperar y como hacerlo) y declarativos (solo requieren que se especifique que datos se quieren obtener).

10. Indica los componentes principales de un sistema gestor de base de datos.
  • Gestor de ficheros (File Manager o File System). Encargado de asignar espacio en disco y mantener la estructura de los ficheros donde se almacenarán los datos. Además es el responsable de localizar el bloque de información que se requiere solicitándoselo al Gestor de Discos del S.O. y proporcionándoselo al Gestor de Datos.
  • Gestor de datos (Data Manager). Es el principal componente del sistema gestor de base de datos. Entre sus funciones podemos citar:
    • Acceso a los datos interactuando con el gestor de ficheros propio o del S.O.
    • Asegura que se cumplen los requisitos para mantener la integridad y consistencia de los datos, además de controlar la seguridad.
    • Sincroniza las operaciones de los usuarios que están accediendo concurrentemente a la base de datos.
    • Interviene también en operaciones de respaldos y recuperaciones.
  • Procesador de consultas (Query Processor). Interpreta las consultas de los usuarios online y los convierte en una serie de operaciones que serán enviadas al Gestor de Datos para su ejecución. Entre sus funciones está el optimizar estas operaciones haciendo uso de la información del diccionario de datos y encontrar una estrategia eficiente para su ejecución (plan de ejecución).
  • Compilador de LDD (DDL, Data Definition Languaje). Convierte las sentencias de definición de esquemas en tablas y la información sobre las mismas se almacena en el DDL.
  • Precompilador de LMD (DML, Data Manipulation Languaje). Convierte las sentencias en LMD dentro de un programa de aplicación a llamadas a procedimientos en el lenguaje huésped. El precompilador debe interactuar con el procesador de consultas para generar el código apropiado.

11. ¿Qué es un modelo de datos?

El modelo de datos es la estructura o el diseño que vamos a seguir a la hora de crear nuestra base de datos antes de la inserción de datos, es decir, una base de datos en blanco, sin información.

12. ¿Qué son los lenguajes de cuarta generación? Pon ejemplos.

Un lenguaje de cuarta generación es el que combina las estructuras de control típicas de un lenguaje de programación con instrucciones del lenguaje de manipulación de datos. Además, suelen incluir características para facilitar la generación de formularios e informes. Quizás el ejemplo más conocido sea PL/SQL, una solución de Oracle. Existen otros como Progress 4GL, Focus, Ramis, Natural, Mathematica, etc.

13. Indica las principales ventajas de un sistema de bases de datos. ¿Existen algunas desventajas?

Ventajas:
  • Independencia de los datos con respecto a los tratamientos y viceversa.
  • Mayor coherencia de los resultados.
  • Mejor disponibilidad de los datos para los usuarios.
  • Mayor valor informativo.
  • Recogida, validación e introducción de datos en el sistema más eficiente.
  • Disminución del espacio de almacenamiento gracias a la disminución de las redundancias y las técnicas de compactación.
  • Evitar problemas de integridad e inconsistencia.
  • Facilidad para el acceso concurrente.
  • Facilitar transacciones.
  • Documentación de la información de mayor calidad y normalizada, e integrada con los datos.

Desventajas:
  • Necesidad de personal especializado.
  • Costes de instalación y de mantenimiento.
  • Implantación a largo plazo y difícil en muchos casos.
  • Desfase entre teoría y práctica.
  • Escasa estandarización.

jueves, 23 de octubre de 2014

Aplicación básica en LibreOffice Base. BD: Instituto.



Base es una aplicación de la suite LibreOffice que se utiliza para crear bases de datos, así como realizar consultas, crear informes y formularios que nos proporcionan una forma fácil de acceder a la información. En esta entrada os mostramos un ejercicio en el que se tratan los aspectos más básicos de Base.

Actividad 1.1: Cuestiones sobre conceptos básicos de SGBD

1. Define el término información.

La información es considerada, junto con la materia y con la energía, uno de los componentes fundamentales de la naturaleza, siendo vital para el desarrollo de los pueblos.
La información es un conjunto organizado de datos procesados que constituyen un mensaje que cambia el estado de conocimiento del sujeto o sistema que recibe dicho mensaje.

2. ¿Cuáles son las cualidades más importantes de la información?

Las cualidades que debe poseer la información para ser realmente útil son:
  • Precisión: es el porcentaje de información correcta sobre la información total del sistema.
  • Oportunidad: tiempo transcurrido desde el momento en que se produjo el hecho que originó el dato hasta el momento en el que la información se pone a disposición del usuario.
  • Compleción: la información ha de ser completa para poder cumplir sus fines.
  • Significativa: ha de poseer la máxima carga semántica posible, para ello la información debe ser comprensible, interesante y con un volumen justo (ni escasa, ni excesiva).
  • Coherente: el sistema de información debe carecer de contradicciones, es decir, la información debe ser coherente en sí misma, además de consistente con las reglas semánticas propias del mundo real al que ha de representar lo más fielmente posible.
  • Seguridad: la información debe protegerse para evitar tanto su deterioro como accesos no autorizados. Comprende tres conceptos fundamentales: confidencialidad, disponibilidad e integridad.

3. Enumera los principales componentes de un sistema de información.
  • Contenido (Datos): es el conjunto de datos, que tienen su correspondiente descripción y que están almacenados en un soporte del ordenador.
  • Equipo Físico (Hardware): es el conjunto de los componentes que integran la parte material de un ordenador.
  • Soporte Lógico (Software): es el conjunto de los componentes lógicos necesarios para hacer posible la realización de una tarea específica.
  • Administrador: es el técnico responsable de implementar las decisiones del administrador de datos.
  • Usuarios: informáticos y no informáticos.

4. Define, diferenciándolos claramente, los conceptos de información factual e información referencial.

La información factual son aquellos datos que contienen la información en sí misma, sin hacer alusión a otras informaciones sobre la materia. Pueden ser estructurados o no estructurados. En cambio, la información referencial es todo dato que no contiene información por sí mismo, sino que contiene referencias a los documentos donde se encuentra verdaderamente la información que buscamos.

5. Pon ejemplos de datos no estructurados.
  • Documentos de texto.
  • Datos multimedia como imágenes, audio y videos.
  • Correo electrónico.

6. ¿Qué ventajas y qué inconvenientes puede tener la separación de las descripciones lógica y física en una base de datos?

Ventajas:
  1. Los cambios en la estructura lógica no implican cambios en la estructura de almacenamiento.
  2. Las consideraciones sobre la manipulación óptima de los datos que hemos almacenado son administrados por el Sistema Gestor de Base de Datos.
  3. Los cambios en la estructura de almacenamiento no implican cambios en los programas de base de datos, lo que da una mayor independencia lógico-física.
Inconvenientes:
  1. Costes de instalación altos.
  2. Requiere personal especializado.
  3. Implantación larga y difícil.
  4. No es rentable a corto plazo.
  5. Escasa estandarización.
  6. Desfase entre teoría y práctica.

7. Exponga un conjunto de argumentos para convencer a un directivo de una empresa, no técnico en informática, de la conveniencia de que su empresa, que utiliza desde hace años un sistema de ficheros, cambie su enfoque hacia una base de datos (formule las hipótesis que desee sobre el tipo de aplicaciones de la empresa).

En una base de datos se puede tener integrada y centralizada toda la información de la empresa, de manera que se reduce el tamaño del espacio de almacenamiento. La independencia presente en las bases de datos entre datos y tratamientos y viceversa hace que la modificación de las aplicaciones no influya al diseño de la base de datos, sin embargo en un sistema de ficheros los archivos están vinculados a un programa en concreto y esto hace que la portabilidad de los datos a otras empresas o clientes se reduzca.
Además la base de datos controla la redundancia de datos, mientras que un sistema de ficheros puede tener datos duplicados en ficheros distintos.
Utilizando bases de datos, la empresa podrá actualizar la información de manera que quedará reflejada para el resto de trabajadores en un único lugar y no en múltiples ficheros. Dicho acceso no tiene lugar en un único espacio físico, ya que se permitiría un acceso concurrente a la base de datos lo que mejora la disponibilidad de los datos. La búsqueda de información será más eficiente en las bases de datos ya que el filtrado puede ser más específico y personalizado.
Las bases de datos aportan un mayor valor informativo y una documentación de los datos más normalizada.
La seguridad es fundamental, las bases de datos permiten establecer que información y tipo de acciones están permitidas para cada usuario.

8. ¿Qué es una base de datos?

Colección de datos interrelacionados almacenados en conjunto sin redundancias perjudiciales o innecesarias: su finalidad es servir a una aplicación o más, de la mejor manera posible; los datos se almacenan de modo que resulten independientes de los programas que los usan. Se emplean métodos bien determinados para incluir nuevos datos y para modificar o extraer los datos almacenados.

9. ¿Cuáles son las principales características de una base de datos?
  • Independencia de los datos respecto a los tratamientos y viceversa. Al haber una independencia mutua entre los datos y los tratamientos conlleva que los cambios en los datos no lleven a un cambio en los tratamientos y viceversa.
  • Coherencia de los resultados. La información de la base de datos se recoge y almacena una sola vez.
  • Mayor disponibilidad de los datos para el conjunto de los usuarios.
  • Uso de metadatos para obtener un mayor valor informativo.
  • Mayor documentación y de mejor calidad.
  • Reducción del espacio de almacenamiento. La disminución de las redundancias, la aplicación de técnicas de compactación, lleva a los sistemas a una reducción en el espacio necesario para el almacenamiento.
  • Acceso concurrente.
  • Introducción y recogida de datos eficiente.
  • Evita problemas en transacciones.
  • Mecanismos para mantener estado de consistencia.
  • Separación en tres niveles.
  • Control de seguridad centralizado.

10. Enumera algunas de las causas que pueden hacer que fracase un proyecto de creación de una base de datos.
  • Mal análisis del problema y diseño.
  • Información insuficiente o incompleta.
  • Demandas inesperadas.
  • Insuficiente formación por parte del administrador.
  • Errores de hardware/software.
  • Bajo nivel de seguridad.

11. ¿Cómo distinguirías entre los conceptos de base de datos, sistema de gestión de base de datos y sistema de base de datos?

Una Base de Datos en sí no es más que una colección o conjunto de datos relacionados con una materia del mundo real.
El Sistema de Gestión de Base de Datos es el conjunto de programas que permiten la implantación, acceso y mantenimiento de la base de datos; mientras que el Sistema de Base de Datos está constituido por la base de datos, el sistema de gestión de bases de datos y por los usuarios.

12. ¿En cuál (o cuáles) niveles de abstracción de una base de datos esta implicado un usuario final?

Un usuario final esta implicado en el nivel externo o de vistas.

13. ¿Qué relación existe entre el sistema de información y la base de datos?

La base de datos es un sistema de información debido a que almacena información de un modo en concreto y la procesa para su utilización por los usuarios.

14. Explique la diferencia entre redundancia física y redundancia lógica, indicando cuál es perjudicial y porqué. Ponga un ejemplo.

La redundancia física es la existencia del mismo elemento físico repetido varias veces. Sin embargo, la redundancia lógica es la existencia de la misma información dentro del mismo archivo especificado de formas distintas, este tipo de redundancia es más perjudicial debido a que aumenta el espacio ocupado y puede producir inconsistencia o incoherencia en los datos.

Un ejemplo de redundancia lógica podría ser la duplicación de los datos personales de un cliente en la base de datos de una empresa.

15. ¿Qué otro término se puede utilizar para denominar la redundancia física?

Redundancia controlada.

16. ¿La redundancia física implica siempre redundancia lógica? ¿Y viceversa?

La redundancia física no implica redundancia lógica. Sin embargo, la redundancia lógica siempre implica redundancia física.

17. ¿Cuáles son los tres niveles de abstracción de una base de datos? Explícalos.
  • Nivel interno: describe la estructura de almacenamiento físico de base de datos (árboles B+, montones, estructura de índices). Los datos se almacenan en este nivel. Cada SGBD implementa su propio nivel interno. No estándar.
  • Nivel conceptual: representación del conjunto de datos correspondiente al problema de información a gestionar. Recoge el esquema conceptual, esto es, la estructura de la base de datos en términos de elementos lógicos (entidades, atributos, relaciones y restricciones), ocultando los detalles físicos de almacenamiento.
  • Nivel externo o de vistas: esquemas que recogen las distintas perspectivas de los usuarios y/o aplicaciones para cada proceso (compras, matrícula, expedientes, etc.). Permiten ocultar información por cuestiones de seguridad.

18. ¿Cuál es el principal objetivo que se pretende alcanzar en la arquitectura a tres niveles?

El principal objetivo de la arquitectura a tres niveles es el de separar los programas de aplicación de la base de datos física.
La independencia física y lógica, es decir, determinar qué datos se han de almacenar y cómo se relacionan, olvidándose de los detalles internos de cómo el gestor los almacena y gestiona.

19. Formúlese una relación de las responsabilidades del SGDB. Justifica cada responsabilidad explicando los problemas que surgirían si no se cumpliera con ella.

El SGBD debe encargarse de:
  • Independencia de los datos. Debido a que si los programas dependen de la estructura de los datos que emplean y se produce un cambio en dicha estructura, se pueden producir errores e incluso la completa interrupción del funcionamiento del programa.
  • Seguridad. Sin seguridad, los usuarios podrían acceder a los datos sin ningún tipo de regulación, así que los datos deben estar protegidos para evitar robos y manipulaciones o accesos no deseados.
  • Integridad. La integridad es que el sistema esté libre de errores, tanto de hardware como del programador, del usuario final o debidos a la concurrencia. Lógicamente la existencia de errores provoca el funcionamiento incorrecto de la base de datos
  • Redundancia mínima. Debido a que la redundancia da lugar a la ocupación de espacio innecesario y a la necesidad de tiempos de proceso mayores. Además, puede haber inconsistencia de los datos, y dichas contradicciones dan lugar a errores fatales.
  • Facilidad de recuperación de la información. El SGBD debe proporcionar al usuario herramientas potentes de manejo de los datos para que pueda obtener la información que desea de una forma sencilla y rápida. Si el usuario necesita conocimientos avanzados y tiene que emplear mucho tiempo para obtener la información que desea, la base de datos no será cómoda ni amigable para el usuario, algo que hay que evitar a toda costa.

20. ¿Cuáles son las funciones principales de un administrador de base de datos?
  • Definir el esquema de la base de datos mediante un conjunto de instrucciones de definición de datos.
  • Definir la estructura y los métodos de acceso.
  • Cambiar la organización física y el esquema en caso de que las necesidades de la organización cambien o se busque mejorar el rendimiento modificando la organización física.
  • Establecer el tipo de acceso a los datos para cada usuario, definiendo así que partes de la base de datos le son accesibles.
  • Realizar tareas de mantenimiento como:
    • Supervisar las tareas que se ejecutan en la base de datos para que el rendimiento no se vea afectado por tareas iniciadas por usuarios que consuman muchos recursos.
    • Realizar copias de seguridad de forma periódica.
    • Supervisar el espacio en disco asegurándose de que hay suficiente espacio para realizar operaciones normales y aumentarlo en caso de necesidad.

sábado, 11 de octubre de 2014

Aplicación básica en LibreOffice Base



Base es una aplicación de la suite LibreOffice que se utiliza para crear bases de datos, así como realizar consultas, crear informes y formularios que nos proporcionan una forma fácil de acceder a la información. En esta entrada os mostramos un ejercicio en el que se tratan los aspectos más básicos de Base.

miércoles, 24 de septiembre de 2014

Introducción a BBCode

BBCode es un lenguaje de marcas ligero, es decir, ocupa poco espacio y es fácil de editar con un editor de texto; utilizado en foros de discusión y e-mails para embellecer la forma en que un mensaje o post es presentado. 

Los BBCodes no pueden ser interpretados directamente por un navegador web, por lo que es el propio sistema del foro el que se encarga de traducir el contenido BBCode a un lenguaje que los navegadores web puedan entender, como HTML o XHTML. 

BBCode esta basado en el lenguaje HTML, y es muy similar a éste en estructura y sintaxis. Los elementos poseen una etiqueta de inicio y una etiqueta de cierre, el nombre de una etiqueta se encuentra delimitada por corchetes [ ]. Algunas etiquetas contienen un modificador, también conocido como atributo, cuyo valor se asigna a la propia etiqueta con el símbolo =. 

En la siguiente web se explican los distintos elementos que lo forman. 

sábado, 20 de septiembre de 2014

Feedly

Computer Hoy

Después de revisar varias revistas, blogs y foros, os recomiendo la revista Computer Hoy. 
En la revista aparecen las últimas noticias sobre nuevas tecnologías e informática, además de vídeos muy interesantes, como por ejemplo el nuevo iPhone 6 por dentro.
Una de las cosas que más me ha llamado la atención sobre la revista es que contiene tutoriales, los cuales me parecen muy útiles e interesantes a la hora de aprender informática.
Por lo tanto, si te gusta estar a la última en informática y aprender te recomiendo la revista Computer Hoy.