viernes, 27 de septiembre de 2013

BD I - Capítulo 1. Introducción

Base de Datos I

Damos inicio al estudio de una nueva asignatura. No es la intención del curso focalizarse en conceptos teóricos, preferimos dejarle ese aspecto a autores como Date, Elmasri y Navathe.

Solamente a modo de introducción diremos que una Base de Datos es un conjunto de datos almacenados entre los que existen relaciones lógicas y que ha sido diseñada para satisfacer los requerimientos de información de una determinada empresa u organización.

Todos los contenidos que estudiaremos en los capítulos siguientes corresponderán al modelo de datos relacional. Cuando decimos modelo de datos nos referimos a que deben describirse:

  • Estructuras de datos: Son los tipos de datos que existen en la base y la forma en que se relacionan.
  • Restricciones de integridad: Condiciones que deben cumplir los datos para reflejar correctamente la realidad.
  • Operaciones de manipulación de datos: Básicamente operaciones de inserción, eliminación, modificación y recuperación de datos.

En particular, las Bases de datos relacionales modelan la realidad utilizando relaciones. Estas relaciones pueden considerarse en forma lógica como conjuntos de datos. Pensamos cada relación como tablas compuestas por registros (las filas de la tabla) y campos (las columnas de la tabla).

Los temas que iremos abordando en los próximos capítulos son:
  • Álgebra Relacional
  • SQL
  • Dependencias Funcionales
  • Normalización de Base de Datos 

jueves, 12 de septiembre de 2013

Capítulo 21. Algoritmos Greedy: Ejemplo de la mochila (Parte III)

Realizamos una ligera modificación al pseudocódigo del algoritmo de la mochila para poder almacenar los elementos que forman parte de la solución y devolverlos como resultado

Pseudocódigo



Análisis de Complejidad Temporal

El análisis es idéntico al realizado para el algoritmo del capítulo previo. La complejidad queda en el orden O(n*log(n)) si utilizamos MergeSort para ordenar la cadena por la razón Beneficio/Peso.