modelo relacional

Actualmente está navegando por las entradas correspondientes a la categoría modelo relacional.

A estas alturas de curso, con tantas y tantas clases y prácticas a vuestras espaldas, y llegamos nosotros y nos metemos con un tema de base de datos titulado “la perspectiva lógica del modelo relacional”. Y venga fórmulas, y venga “para-todos”, y venga “existes”, y que si el universo de discurso, y que si predicados, y que si…

Desde un punto de vista práctico es difícil justificar el porqué de este tema en un curso básico de bases de datos: “cuando yo tenga jefe, como le hable de cálculo relacional dejo de tener jefe…”. No obstante, el cálculo y el álgebra relacionales forman parte de la historia del modelo relacional.

Parece que solo exista SQL como lenguaje de manejo de datos en bases de datos relacionales. Pero pongamos perspectiva al asunto, antes no existía SQL. ¿De dónde salió SQL? Continuar leyendo »

Etiquetas: , , , ,

Como nos parecía poca cosa titular un tema con una simple palabra, “Introducción al diseño de bases de datos relacionales” es el encabezado del tema que nos ocupa y que hemos iniciado. En realidad, normalización, o teoría de la normalización, hubiera sido mucho más tradicional.

La normalización es un ejercicio de sentido común —convenientemente traducido a un lenguaje formal que, por cierto, nosotros no vamos a utilizar— para conseguir esquemas de base de datos eficientes. El término clave es redundancia. No la queremos. La odiamos.

El ejemplo clásico es el vecino que un día descubrió el Access® dentro de su disco duro y que a fuerza de autoaprendizaje ha declarado al mundo que las bases de datos son su pasión. Regenta un kiosko de periódicos que, como es habitual, también vende chuches y juguetillos de plástico de todo a 1€. Pues este señor nuestro Continuar leyendo »

Etiquetas: ,

Llegados a este punto del curso, siempre se nos plantea a nosotros, como docentes, si seremos capaces de transmitir la importancia de este tema dentro de la asignatura. Sin esforzarnos demasiado, citemos la bibliografía recomendada:

El álgebra relacional es muy importante por varias razones. La primera, porque proporciona un fundamento formal para las operaciones del modelo relacional. La segunda razón, y quizá la más importante, es que se utiliza como base para la implementación y optimización de consultas en los SGBD-R [...]. Tercera, porque algunos de sus conceptos se han incorporado al lenguaje estándar de consultas SQL.

Elmasri, Navathe. Fundamentos de Sistemas de Bases de Datos.

Y una cuarta razón, no se puede entender el modelo relacional y el SQL sin el álgebra relacional, es una oportunidad más para profundizar en la naturaleza subyacente de una tabla: que es un conjunto de tuplas.

Es interesante recalcar una de las diferencias fundamentales entre el álgebra y los cálculos relacionales, incluso con el SQL (particularizando, si acaso, en la orden select): podemos decir que el álgebra es un lenguaje procedimental, establecemos una secuencia de operaciones a realizar con los datos, mientras que los cálculos relacionales son declarativos, como veremos próximamente.

Etiquetas: , , , ,

Para que no digáis que somos como los de Teletienda, y que todo en esta vida es susceptible de ser criticado y mejorado, he aquí un par de enlaces sobre algo que más o menos hemos mencionado en clase: el modelo relacional, hoy en día, es imbatible en cuanto a penetración en los sistemas de gestión de datos del mundo entero, pero esta situación de privilegio o casi monopolio, muy posiblemente, se debe más a la falta de alternativas claras.

En Barrapunto, una entrada que es, a su vez, un comentario de un artículo titulado The End of an Architectural Era (It’s Time for a Complete Rewrite), donde se plantea la necesidad de actualizar (revisar, rediseñar, reescribir, … ¿abandonar?) el modelo relacional a la vista de las nuevas necesidades generadas por, entre otros, la web 2.0.  El artículo en sí es demasiado avanzado para la asignatura, así que tampoco recomiendo su lectura salvo para los más lanzados. Más interesante es la discusión subsiguiente por las distintas visiones que se aporta al asunto —hasta que llega el típico usuario anónimo-sectario “tipo Barrapunto” que empieza a “gritar” como un “fumbolero”, pero está visto que es lo que se lleva.

Y más interesante todavía, el enlace que lleva hasta Microsiervos titulado “Batallitas con bases de datos gigantescas” donde se habla, por ejemplo, de un problema que parecía tonto hasta que vieron como se quedaban sus discos duros: ¿cómo almacenar los tags de Bloglines o Flickr para dar un servicio eficiente?

Etiquetas: , , , , , , ,

Ya no pedimos yogur, pedimos Danone. Hay quien escribe “a parte” cuando debería escribir “aparte” o dice “poneros” cuando debería decir “poneos” y ni vagamente avergonzado se siente. “Pero tú entiendes lo que quiero decir ¿no?”.

Todo esto viene a cuento de lo adecuado o no que es usar el término “registro” cuando hablamos de filas de una tabla, o “campo” si de sus columnas se trata. Registro y campo son propios de la estructura de datos fichero. Relajando la definición, y olvidándonos de sus múltiples organizaciones posibles, un fichero es una secuencia de registros que se definen por los campos que contienen. Los registros, se use o no, están ordenados dentro del fichero. El acceso a un campo de un registro se realiza utilizando su nombre de campo —aunque no necesariamente, hay otras formas de recuperar datos de un fichero y todo es muy relativo dependiendo del lenguaje que se use.

Continuar leyendo »

Etiquetas: , , , , , ,

Era 1970. Cuentan en Wikipedia que Edgar Frank Codd trabajaba en IBM por entonces y que después de conseguir publicar en la Communications of the ACM el artículo “A Relational Model of Data for Large Shared Data Banks” (también aquí) se enfadó con sus jefes por no hacerle mucho caso. De hecho, parece ser que otros se le adelantaron en la puesta en marcha de sus ideas.

Es lectura “obligada”, el artículo que dio origen a todo lo que hoy se atribuye el título de sistema de gestión de bases de datos relacionales. La idea de Codd era utilizar la lógica de predicados de primer orden y, de rebote, la teoría de conjuntos para conseguir un modelo lógico que permitiera el uso de lenguajes declarativos, no procedurales. En otras palabras, algo que pudiera usar el oficinista de toda la vida. Pero es que lo simple hay que trabajárselo.

En la asignatura, sin hacer referencias explícitas, vamos a ir exponiendo su contenido de forma gradual, muchas veces simplificada en exceso. Pero para eso están las fuentes.

Etiquetas:

Cerrar
Enviar por Correo