miércoles, 6 de enero de 2010

Crear una tabla maestro sin ninguna línea de código

Hola, hoy voy a explicar cómo crear una tabla maestro-detalle usando el Visual Studio 2008 pero tengo la intención de no escribir ni una sola línea de código. En un video posterior explicaré como hacer lo mismo pero con código, concretamente utilizaré LINQToSQL para hacer las consultas a la base de datos, y así me olvido de usar T-SQL y a parte es más sencillo porque podré servirme de Intellisense.
Pero no sólo me voy a centrar en la creación del formulario sino que también voy a mostrar cómo se crea una base de datos desde 0, con sus respectivas tablas y relaciones en el SQL Server Management Studio. La base de datos la voy a crear de forma visual, es decir, sin escribir código en Transact-SQL. Lógicamente el proyecto es sencillo: una base de datos con dos tablas (Clientes y Facturas) y una relación de uno a varios (un cliente muchas facturas, pero no al contrario). Si fuera más complicado tendría que crear una consulta y escribir código en T-SQL, de hecho hay cosas como por ejemplo como la creación de un "Snaphot" de la base de datos que no se pueden hacer de forma visual y a parte el trabajar con código te da más flexibilidad, ya que a veces es complicado saber donde está cada cosa.
El problema es que hay que aprender otro lenguaje de programación y ya llevamos unos pocos... SQL Management Studio da la opción de crear scripts de forma automática, similar a lo de 'grabar nueva macro en Excel' e incluso si seleccionamos la base de datos y vamos a Tareas --> Generate Scripts encontraremos un asistente con el que podremos obtener el código en T-SQL con el que poder generar una base de datos e incluso sus tablas con sus respectivos datos. De hecho más abajo he colgado un script que generará la base de datos eBase.
El 100% de las aplicaciones empresariales funcionan así, acceden a los datos que se encuentran en SQL Server o cualquier otro servidor de base de datos o los tienen directamente en local, en una base de datos en el directorio de la aplicación. Por eso, lo que estamos diseñando no difierirá sustancialmente de las aplicaciones que están en producción, de hecho hay muchas que no llego a comprender como han superado la fase de testeo.
En este
link voy a colgar un script que permitirá crear la base de datos eBase. Sólo hay que abrirlo en el SQL Management Studio y ejecutar pulsando F5.





6 comentarios:

  1. Hola, le quería realizar una consulta.
    Ando realizando un programa sobre la planificación deportiva en deportes de resistencia, especialmente el atletismo.
    Básicamente en lo que estoy trabajando y me sugiere muchas dudas, es en crear un calendario que al pinchar en un día determinado genere una plantilla (tipo formulario, ya que un formulario de excel no permite crear varios submenus, por ejemplo calentamiento 20:00,series 3x1000,series 3x500, y asi con más casos), para introducir los datos sobre el entrenamiento. Después el programa debería juntar todos los días del entrenamiento de la semana solo cogiendo unos determinados datos y que no aparezcan los días que no se entrenase , después con una tabla dinámica se verían las estadísticas de toda la semana.
    Si se pudiera conseguir no estaria de mas poder introducir anotaciones en calendario para orientarte en la planificación
    Muchas Gracias

    ResponderEliminar
  2. Hola,
    No sé si te refieres a que en Excel puedes agregar a un formulario un control ActiveX Calendar y en su evento click haces que se cree una hoja o un libro con la estructura que tú quieres y así puedes entrar los datos, pero es muy básico.

    Otra cosa sería diseñar una aplicación propiamente dicha donde en un formulario selecciones la fecha/hora de inicio, la fecha/hora de fin, selecciones el deportista, selecciones la preparación deportiva y añadas unas anotaciones. Guardes todo en la base de datos y luego podrás obtener informes, gráficas y filtrar datos usando Crystal Reports.

    Saludos.

    ResponderEliminar
  3. Hola me puedes enviar un mensaje a mi correo y así poderte enviarte un documento con el proyecto, y así poder aconsejarme.
    mil: matabuelas@yahoo.es
    Muchas Gracias

    Un saludo

    ResponderEliminar
  4. Hola, te envié un mensaje, pero no sé si no te ha llegado.
    Saludos

    ResponderEliminar
  5. pero cuando creas una factura desde cero no guarda.....

    ResponderEliminar
    Respuestas
    1. en si ya para aplicaciones mas complejas hay que escribir un poco de codigo para hacer los insert y los update pero yo no he tenido problemas usando proyectos como este

      Eliminar