Tutorial Java – Mi Modelo de Datos (DER)


Tutorial Java


Si antes de empezar a escribir cualquier código, realizas primero un minucioso análisis de las tablas, campos, indices y relaciones que vas a necesitar, puedes estar seguro que ya tienes el 40% de tu proyecto desarrollado, o incluso el 50% si haces un buen trabajo y tu planeamiento no requiere modificaciones en el medio del camino.

Es indispensable para llegar a buen puerto, que ántes de empezar a desarrollar cualquier aplicación, tengas completamente definido el diccionario de datos que va almacenar la información a ser manipulada por el sistema.

Es por eso que para este Tutorial de Java – ¨Creando aplicaciones Swing¨ quise crear un articulo independiente donde primero te muestro la estructura de datos con la cual vamos a trabajar, de forma que estés siempre al tanto de lo que vamos haciendo.

Mediante este artículo verás cómo es rápido el desarrollo de cualquier aplicacion, cuando se tiene de antemano la idea clara de cómo se va almacenar o recuperar la información.

Es muy importante, que observes detenidamente el modelo que te presento y que lo llamaremos de Diagrama de Entidad-Relación, también que veas cada una de las entidades para que desde el inicio del desarrollo estés familiarizado con los nombres de tablas y campos de forma que la programación sea más fácil.

Diagrama de Entidad-Relación

Para una fácil interpretación de toda la estructura de datos del Sistema de Biblioteca que vamos a crear, aquí puedes visualizar claramente de forma gráfica todo el conjunto de las tablas, indices, campos y relaciones.

Figura. Diagrama de Entidad-Relación

La leyenda AI encerrada en rectángulo al lado de cada campo indica que dicho campo es un camo de tipo AUTO_INCREMENT, este es un atributo que posteriormente asignaremos al momento de crear las columnas, para que dicho campo sea incrementado automáticamente.

Leyenda de íconos

Para una mejor comprensión del diccionario de datos, a continuación designo la  representación de cada imagen que se visualiza al lado de los campos de la Tabla:

Campo de clave primaria (PK – Primary Key)

Campo de clave extranjera (FK – Foreign Key)

Campo normal

Estructura de la base de datos

Siguiendo nuestro gráfico, la base de datos “Biblioteca” está compuesta de 7 tablas, que se citan a continuación según el orden que serán utilizadas:

–     Ciudades. (Tabla maestra)

–     Clientes. (Tabla maestra)

–     Autores. (Tabla maestra)

–     Libros. (Tabla maestra)

–     Libros_Autores. (Tabla intermedia)

–     Prestamos. (Tabla para movimiento)

–     Prestamos_Libros. (Tabla para movimiento, para el detalle)

Diccionario de Datos

A continuación te detallo la estructura de cada tabla, para que la tengas en cuenta en el momento de la creación, pero no te apures por crear todavia, ya que eso te mostraré en el siguiente tutorial, más bien ocupate de entender bien toda la estructura.

Autores

Campo

Tipo

NotNull  

Valor inicial

Comentario

 

aut_codigo

INT(3) AI

NN

 

Código auto incremental del Autor

 

aut_nombre

VARCHAR(30)  

NN

 

Nombre del Autor

 

aut_nacionalidad

VARCHAR(30)  

NN

 

Nacionalidad del Autor

 

 

Nombre de Indice

Tipo de Indice

Campo

 

PRIMARY

PRIMARY

aut_codigo

 

Clientes

Campo

Tipo

NotNull  

Valor inicial

Comentario

 

cli_codigo

INT(3) AI

NN

 

Código auto incremental del Cliente

 

cli_nombre

VARCHAR(30)  

NN

 

Nombre y Apellido del Cliente

 

cli_direccion

VARCHAR(30)  

NN

 

Dirección del Cliente

 

cli_ciudad

INT(3)  

NN

 

Código de la Ciudad del Cliente

 

cli_obs

VARCHAR(50)  

NN

 

Observación sobre el Cliente

 

 

Nombre de Indice

Tipo de Indice

Campo

 

PRIMARY

PRIMARY

cli_codigo

 

indice 1

Index

cli_ciudad

 

Libros

Campo

Tipo

NotNull  

Valor inicial

Comentario

 

lib_codigo

INT(10) AI

NN

 

Código auto incremental del Libro

 

lib_descripción

VARCHAR(50)  

NN

 

Descripción del Libro

 

lib_cantidad

INT(6)  

NN

 

Cantidad en Stock del Libro

 

lib_edicion

INT(1)  

NN

 

Número de la Edición del Libro

 

lib_observacion

VARCHAR(50)  

NN

 

Observación sobre el Libro

 

 

Nombre de Indice

Tipo de Indice

Campo

 

PRIMARY

PRIMARY

lib_codigo

 

Prestamos

Campo

Tipo

NotNull  

Valor inicial

Comentario

 

pre_numero

INT(10) AI

NN

 

Número auto incremental del Móvimiento de Prestamo

 

pre_cliente

INT(3)  

NN

 

Código del Cliente que realiza el prestamo

 

pre_fecha

DATE  

NN

 

Fecha del Prestamo

 

pre_observacion

VARCHAR(50)  

NN

 

Observación sobre el Prestamo

 

 

Nombre de Indice

Tipo de Indice

Campo

 

PRIMARY

PRIMARY

pre_numero

 

indice 1

Index

pre_cliente

 

Prestamos_Libros

Campo

Tipo

NotNull  

Valor inicial

Comentario

 

pli_libro

INT(10)  

NN

 

 

 

pli_prestamo

INT(10)  

NN

 

 

 

pli_estado

INT(1)  

NN

 

Estado del Prestamo 1=Prestado, 2=Devuelto

 

pli_dias

INT(2)  

NN

 

Días que se presta el libro

 

pli_valor

FLOAT(12,2)  

NN

 

Valor del Prestamo por día

 

pli_multa

FLOAT(12,2)  

NN

 

Valor de la Multa por atraso en la devolución

 

 

Nombre de Indice

Tipo de Indice

Campo

 

indice 1

Index

pli_prestamo

 

indice 2

Index

pli_libro

 

Ciudades

Campo

Tipo

NotNull  

Valor inicial

Comentario

ciu_codigo

INT(3) AI

NN

 

Código auto incremental de la Ciudad

ciu_descripcion

VARCHAR(30)  

NN

 

Descripción de la Ciudad

 

Nombre de Indice

Tipo de Indice

Campo

PRIMARY

PRIMARY

ciu_codigo

Libros_Autores

Campo

Tipo

NotNull  

Valor inicial

Comentario

lau_libro

INT(10)  

NN

 

Código del Libro

lau_autor

INT(3)  

NN

 

Código del Autor

 

Nombre de Indice

Tipo de Indice

Campo

indice 1

Index

lau_libro

indice 2

Index

lau_autor

Mi deseo es que todo el tutorial puedas llevarlo a la práctica, ya que lo que buscas aquí seguramente es mejorar tu aprendizaje sobre la herramienta Java, y que mejor forma de aprender que practicando y repitiendoo, repitiendo y practicando, por eso mi recomendación para que ésto ocurra es:

Tareas

  1. Cuanto antes puedas, imprime éste artículo, no desperdiciarás hojas ni tinta, pues ésta información la utilizarás a lo largo de todo el tutorial. (Si lo puedes imprimir ahora, hazlo ahora!)
  2. Busca una carpeta física para almacenar específicamente los artículos de este tutorial que estás siguiendo e incluye dentro, la hoja que imprimiste.
  3. Lleva contigo la carpeta adonde vayas de forma que puedas darle una mirada cada vez que tengas tiempo, cuando estás en el bus, esperando en sala de espera o de noche antes de dormir.
  4. Trata siempre de encontrar un lugar relajado y tranquilo y empieza a analizar detalladamente, campo por campo, tabla por tabla la Estructura General de la Base de Datos que te propongo, y que es la que vamos a utilizar.

En el próximo artículo, crearemos ésta estructura en el Servidor MySQL que ya tenemos instalado.

Hasta el próxima.

Marcos Jara
Esta entrada fue publicada en Uncategorized y etiquetada , , , , , , , , . Guarda el enlace permanente.

16 respuestas a Tutorial Java – Mi Modelo de Datos (DER)

  1. Ivan Grandi dijo:

    Buenas !, quisiera saber con que software hiciste el Diagrama de entidad – relación y el diccionario de datos, supongo que sera el mismo xD.

    Muchas gracias !

    • Marcos Jara dijo:

      Hola Ivan

      El diagrama se hace con una herramienta llamada DBDesigner, que es free!

      Saludos

      • Ivan Grandi dijo:

        Gracias, espero que no te allá molestado la aclaración que hice sobre el audio del otro vídeo, en realidad cada cosa que veo que este mal o me quede alguna duda por mas mínimo que sea te lo escribo, pero es para ayudarte a mejorar el sitio.

        Si te incomoda o algo decime y no te jodo =).

        Y nuevamente mil gracias por armar un lugar como este me ayuda un montón y esta todo mas que entendible.

        Si sacas un libro o algo avisa :O !, con mucho gusto compraría una edición.

        Nos vemos y suerte !

      • Marcos Jara dijo:

        Guau,

        Al contrario Ivan, ese tipo de sugerencias es lo que quiero escuchar, por que me ayuda a mejorar lo que haga falta para satisfacer el interés de los lectores.

        Muchas gracias y si notas algo raro, por favor, continua haciendolo te lo digo de corazon.

        Lo del libro!! jeje, bueno ojalá algún día, sería genial, por que no.!

        Saludos

  2. Raùl dijo:

    Hola amigo que tal, una pregunta, en tu pagina marcosjara.com, tienes 7 videotutoriales los cuales estan very good y en verdad siempre muchas gracias,pero una pregunta, hay mas videos o ahi quedan, porque parece ser que faltaria 0 fuese mas de 7, pues solo veo que hay hasta la sesion bean de producto 2/2 agradeceria mucho tu respuesta, nos vemos que pases buen dia…………………….:):):):)

  3. LUIS ALFONSO GALLEGO MURILLO dijo:

    profe gracias por los conocimiento en la instalacion del servidor y el diccionario de datos, me gustaria saber, que hago para agregar informacion a las tablas ya creadas y alimentarlas; ejemplo la tabla ciudades, para ingresar los codigos y nombres a la tabla creada y como hago para establecer los indices ya creados. gracias

  4. juan carlos dijo:

    Muy interesante u sitio amigo ,, comenzando a leerlo , me encanta esto de la programacion con base de datos , pero como soy novato estoy leyendome tuturiales para algun dia llegar a trabajar como programador java

  5. ALONSO ROSALES dijo:

    saludos
    me inicio en esto de la programacion java y quisiera saber si me pudieras orientar para empezar a aprender a programar en java desde lo elemental.. saludos

  6. saul dijo:

    Profesor no entiendo como sacaste las relaciones.
    Puedes explicarlo.
    Gracias.

    • Marcos Jara dijo:

      Hola Saul,

      En realidad no me dediqué mucho a explicar esa parte ya que quise centrarme más a que los lectores entendieran cómo crear aplicaciones en Swing, y ya que se supone también que es en esa parte donde más personas tienen problemas.

      El diseño y relaciones de la base de datos utiliza un modelo muy sencillo y básico, justamente para no hacer complicado el aprendizaje.

      Qué no entiendes?

      • saul dijo:

        Profesor
        1.¿Cómo sería la relación en palabras entre las tablas Libros y Prestamos_Libros?

        2.¿Qué quiere decir que los campos que no se repiten se colocan en la tabla Prestamos_Libros y los que no se repiten en la tabla Libros?

        Gracias por tu Ayuda.

  7. RoydCapella dijo:

    Hermano que placer leer tus articulos. son pocos los que hay en la web que te enseñen, sin saturarte de conceptos y teorias (que obviamente son necesarias), el manejo adecuado de las herramientas de desarrollo… Me he convertido en un asiduo lector de tu blog por lo visto!
    Hice una excepcion jeje trabajo con postgresql y linux por lo que voy adaptando a mis necesidades lo que veo por aqui y googleando por si desconosco de algo =)

    Saludos desde Venezuela

  8. Ronald dijo:

    Buenos días Maestro… Gracias por este tutorial, la verrdad es que le va abriendo la mente a uno, a veces los maestros no nos explican paso a paso lo que debemos hacer, pero con este tutorial vamos aprendiendo de manera muy dinamica sobre la manera de hacer las cosas. Gracias por tomarte el tiempo de enseñarnos.

  9. Antonio dijo:

    Genial, simplemente genial. Es el mejor blog que he visto y he buscado, no obstante me ha parecido que lo del libro no iba en serio. SI LO HACES CUENTA CON OTRO COMPRADOR. Piensa en cuanta gente ayudarías. Mira en lulu.com y piénsalo.
    Desde España también te doy animo para seguir.
    Antonio
    xxx

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s