miércoles, 8 de junio de 2011

Performance.

Durante el repaso de los ejercicios de la BD Facultad "saltó" la liebre de la doble relación de claves foráneas que tiene la tabla "RECOMENDACIONES".

Como todos recordaréis yo sostuve que mantener dos claves foráneas en una tabla compuesta por dos campos no tenía mucho sentido.

Cité, sin haberlo visto en PostgreSQL pero si en otros motores, que para resolver cualquier solicitud de datos relacionada con el segundo campo de la tabla "RECOMENDACIONES", lo más lógico sería acudir a la creación de una tabla temporal que estableciese el nexo necesario entre las tablas involucradas...

Esto condujo a que se pidiese resolver una consulta que permitiese ver los nombres de la asignatura y de la recomendación.

He aqui la solución:

Se elimina la segunda clave foránea de la tabla "RECOMENDACIONES", por innecesaria.

Se crea una tabla "TEMPORAL" que tenga tres campos, conteniendo como primer campo el código de la asignatura recomendada y como segundo campo el nombre de la asignatura que la recomienda, dejando el tercero para una actualización posterior, pues en la misma sql no es posible (o al menos yo no lo he descubierto), anidar más de un SELECT como origen del INSERT INTO.

Finalmente se actualiza la tabla "TEMPORAL", cargando el tercer campo utilizando un WHERE que relacione las tablas "TEMPORAL" y "ASIGNATURA".

El resultado en la imagen.

jueves, 26 de mayo de 2011

DbVisualizer.


Como ya os habréis dado cuenta, la mayor dificultad a la hora de utilizar el Lenguaje de Manipulación de Datos (DML) es la de obtener una perspectiva suficientemente clara de los entresijos de la base de datos, para manejar con soltura los nodos que la componen.

PgAdmin, aún siendo un magnífico programa para la Administración de Bases de Datos, tiene algunas carencias importantes como por ejemplo la imposibilidad, por ahora, de obtener un DER para disponer de una vista general de la base de datos y sus dependencias.

Por ello os recomiendo no dejéis de echar un vistazo a DbVisualizer, programa muy habitual entre quiénes se dedican a estos menesteres.

Lo bueno: pues casi todo.

Lo malo: es propietario, si bien disponen de una versión para uso personal con funcionalidad reducida (aunque más que suficiente para las tareas más habituales).

jueves, 19 de mayo de 2011

Manual muy interesante de PostgreSQL

En muchas ocasiones se nos queda la cara de este elefante ya que no encontramos una página con un tutorial que cuente con las 3 B's: bueno, "bonito" (el diseño deja un poco que desear), y sobre todo barato.

Pues aquí está. Es una página argentina en la que explican brevemente y de una manera muy práctica un listado bastante extenso de conceptos de PostgreSQL.

Espero que le echeis un vistazo, porque la verdad es que merece bastante la pena.

martes, 17 de mayo de 2011

Administrador de Bases de Datos: Contenido del curso.

MODULO 1: DISEÑO DE BASES DE DATOS RELACIONALES.
  • Información, sistemas, sistemas de información y procesos de negocio.
  • Datos, relaciones, entidades, atributos, cardinalidades, listas y conjuntos.
  • Diseño conceptual, lógico y físico.
  • Representación gráfica del modelo Entidad / Relación.
  • Dependencias y Normalización del modelo lógico: 1FN, 2FN, 3FN, FNBC.
  • Sistema de ficheros. Ficheros, registros, campos, formatos, claves ajenas y primarias e índices.
  • Bases de Datos (BD).
    • Jerárquicas.
    • En red.
    • Relacionales.
    • Orientadas a objeto.
  • Bases de Datos Relacionales (BDR).
    • Tablas.
    • Claves ajenas y primarias.
    • Claves ajenas y primarias.
    • Índices.
    • Integridad referencial.
    • Disparadores.
  • Ventajas de las Bases de Datos
    • Redundancia.
    • Fácil actualización.
    • Acceso común a los datos.
    • Control de concurrencia.
    • Independencia de los datos del nivel físico.
    • Integridad-Transacciones.
    • Seguridad.
    • Confidencialidad.

MODULO 2: CONFIGURACIÓN E IMPLEMENTACIÓN DE BASES DE DATOS RELACIONALES.
  • Sistemas Gestores de Bases de Datos (SGBD).
    • Funhciones.
    • Arquitectura.
  • Lenguajes de Definición (DDL) y de Manipulación (DML). El lenguaje SQL.
  • Sentencias de Definición. Creación, eliminación y modificación de
    • Tablas.
    • Campos.
    • Claves ajenas y primarias.
    • Índices.
    • Restricciones.
  • Concurrencia. Bloqueos de campo, registro, tabla y página
    • Confidencialidad.
    • Usuarios.
    • Roles y permisos.
    • Ficheros de auditoria.
  • Integridad de transacciones: métodos de integridad.
  • Seguridad: usuarios y permisos.
  • Copias de seguridad y restauraciones a un estado anterior válido de la base de datos. Ficheros Log y restauración ante fallos.
  • Esquemas externos y esquema Interno. Mantenimiento de vistas. Sentencias asociadas.
  • Metadato, diccionario de datos y repositorio.
  • Utilidades y formatos para la exportación e importación entre SGBD.

MODULO 3: GESTIÓN Y ADMINISTRACIÓN DE BASES DE DATOS RELACIONALES.
  • Lenguaje de Manipulación de base de datos (DML).
  • Actualizaciones y Consultas mediante las utilidades interactivas del SGBD.
    • Altas.
    • Bajas.Altas.
    • Modificaciones.
    • Consultas de registros.
  • Actualizaciones mediante las sentencias del SQL.
    • Altas: Insert-into.
    • Bajas: Delete-where.
    • Modificaciones: Update-set-where.
  • Consulta mediante sentencias del SQL.
    • Consultas de Registros: La sentencia SELECT.
    • La ordenación. Ascendente ó descendente, por un campo, ó por varios mediante la sentencia ORDER BY.
    • El complemento DISTINCT.
    • La sentencia JOIN.
    • Los JOIN’s anidados.
  • Agrupación de registros.
    • El complemento GROUP BY y el HAVING.
    • Los complementos SUM, COUNT, AVG, MAX y MIN.
  • Operaciones entre tablas.
    • UNION, JOIN, IN, MINUS, SOME, ALL, EXISTS.
  • Operadores de comparación: igual, distinto, mayor y menor, between y like.
  • Operadores aritméticos: +, - , * , /.
  • Funciones matemáticas y de carácter: SIN(), SQR(), LEFT(), LEN(), etc.
  • Integridad y Transacciones.
    • Inicio, fin y aborto de transacción.
    • Sentencias asociadas: Start-Transaction, Commit y Roll-Back.
  • Álgebra Relacional, operaciones.
    • Unión, diferencia, producto.
    • Proyección, selección.
    • División.
    • JOIN, EQUIJOIN, JOIN NATURAL Y SEMIJOIN.
  • Procedimientos Almacenados.
    • Cursores.
    • Variables, variables de entorno.
    • Funciones lógicas, aritméticas y de carácter.
    • Sentencias condicionales y de bucles.
    • Llamadas a otros procedimientos.
  • Utilidades para el análisis del rendimiento de las consultas y los procedimientos almacenados.

MODULO 4: ENTORNOS DE DESARROLLO DE CUARTA GENERACIÓN PARA BASES DE DATOS RELACIONALES.

  • Procesos interactivos y por lotes.
  • Arquitectura cliente-servidor. Acceso remoto.
  • Distintas formas de ejecución del SQL: interactivo, batch e inmerso.
  • Lenguajes de cuarta generación.
    • Generadores de menús.
    • Generadores de pantalla.
    • Generadores de informes.
    • Generadores de consultas.
  • Elaboración de prototipos.
  • Repositorio.
  • Herramientas de prueba.
  • Librerías del sistema.
  • Entornos de desarrollo: Editor, compilador, enlazador, depurador.
  • Manual de usuario de la aplicación creada.
  • Ayuda en línea de las aplicaciones.
  • Generadores de documentación.
    • Matrices de referencias cruzadas procesos-tablas.

Recopilatorio de algunas de las Leyes de Murphy de la Informática.




  • Si algo puede salir mal... saldrá mal..
  • Nada es tan fácil como parece.

martes, 10 de mayo de 2011

Sistemas Gestores de Bases de Datos

He encontrado un blog que compara diferentes SGBD. Como es colombiano los llama manejadores, pero se entiende bien.

Aparece Postgres, MySQL y SQL Server. Este último es de pago, los otros son gratuitos.

lunes, 2 de mayo de 2011

Que cosas.

(pincha para poder verla)

Por cierto... porque en estas batallitas se enfrenta siempre al dispositivo de unos contra el programa de los otros?

Es como si Ios no existiese y lo que de verdad contara fuera el aparatito, mientras que en el otro caso, es como si el dispositivo fuera secundario con respecto de Android.

opps!!! acabo de caer.

domingo, 1 de mayo de 2011

Comentarios.


Una de las tareas en que hace más hincapié cualquier profesor a la hora de enseñar programación, en el medio que sea, es la de comentar tu código.

sábado, 30 de abril de 2011

Postgres: El parto mas duro hasta ahora

El avance mas significativo de cara a los medios disponibles para el desarrollo curso ha sido la instalación de postgres. Gracias a Ismael, y a una tarde casi completa del curso, hemos conseguido disponer de la herramienta principal para el desarrollo del curso, a pesar de los equipos de que disponemos y de las restricciones de uso. Menos mal que la aplicación es gratuita.

El gusanillo
Poro otro lado, veo que postgre despierta en todos ese gusanillo que te impide levantarte hasta que no has conseguido ejecutar alguna consulta determinada. Antes de utilizar este programa nos íbamos a los descansos en estampida, ahora postgres nos ha "civilizado" un poco y vamos saliendo de forma sucesiva, eso sí, una vez  terminado lo que tengamos entre manos.

jueves, 28 de abril de 2011


¿Que puede ocurrir cuando una base de datos no es segura?

Pues entre otras muchas cosas... esto.

No cabe duda, las bases de datos relacionales son las reinas... ¿o no?

miércoles, 27 de abril de 2011

Diseño conceptual.

Parece oportuno decir en primer lugar que se ha formado un buen equipo entre el profesor, Don Ismael, y las personas que asistimos al curso.

En lo que respecta a esta cuestión, resaltar que aunque la diversidad de perfiles es tanta como personas asistimos al curso, el clima que se ha conseguido asentar finalmente es bastante bueno.

Por mi parte sólo puedo decir que os animo a todos y a todas para que persistáis con ilusión en la compleja tarea de asimilar como se manejan los datos en este mundo que hoy tenemos.

martes, 26 de abril de 2011

De las "Terneras Repulsivas" a las sentencias de SQL

Bueno, no puedo negar que no esté satisfecho con el curso, y con lo que promete. Ya sabemos realizar:

  • el diseño conceptual de una base de datos
  • conocemos el modelo Entidad Relación
  • sabemos hacer el diseño lógico
  • sabemos normalizar
  • y ya estamos con el diseño físico, vamos aprendiendo SQL 
  • conocemos y, pronto dispondremos de las herramientas que utilizaremos para crear un sistema integral de base de datos, incluso utilizable desde internet.

domingo, 24 de abril de 2011

Bienvenidos

Bienvenidos a tod@s a nuestro Blog del curso Administrador de bases de datos.
Este será nuestro rincón en la red para que compartamos nuestras dudas, experiencias, opiniones, artículos, etc.
Os animo a todos a participar y a colaborar para que este Blog se convierta en un lugar interesante para tod@s aquell@s, que como nosotros, estamos aprendiendo sobre este campo tan interesante como es la Administración de las Bases de Datos.
Bienvenidos.