Este documento presenta un proyecto que simula una base de datos SQL en Java utilizando archivos CSV. El proyecto incluye comandos como crear, modificar y eliminar tablas y registros, y comandos de selección y unión. El proyecto sigue un diseño de capas con capas de datos, lógica y GUI. La capa de datos incluye clases como Registros y Campos, y la capa lógica incluye clases para procesos como crear y eliminar tablas. El proyecto provee tres interfaces gr
3. Introducción
En el presente proyecto presentamos una simulación de base de datos, parecida a SQL,
en donde demostraremos lo aprendido en clases, el manejo de archivos e interfaces,
todo en el lenguaje de JAVA.
Se utilizó archivos CSV para este proyecto, porque que son archivos que nos permiten
manejar y utilizar de mejor manera los datos que se tiene en los mismos ya que Java
nos ayuda con diferentes clases para su uso.
Se desarrollará comandos que deben ser reconocidos por el programa para que
realicen las operaciones solicitadas, tales comandos se asemejan al SQL.
4. Comandos
Principalmente los comando se centran en Crear, Modificar y Eliminar Archivo y Registros.
Archivos (Tablas)
CREAR TABLA nombre_tabla CAMPOS campo1=10,campo2=10 CLAVE campo1
ELIMINAR TABLA nombre_tabla
MODIFICAR TABLA nombre_tabla CAMPO nombre_campo POR nombre_campo
Registros
CREAR REGISTRO nombre_tabla VALOR nombreCampo1,nombreCampo2....
MODIFICAR REGISTRO nombre_tabla CLAVE valorCampoClave CAMPO campo POR
valor_campo_nuevo
5. Comandos
Se tiene a disposición los comando se SELECCIONAR y UNIR
SELECCIONAR DE nombre_tabla DONDE nombre_campo=“Algo”
Permite obtener los registros de una sola tabla, que contenga en el nombre_campo indica el valor de
”Algo”.
UNIR nombre_tabla1,nombre_tabla2 POR nombre_campo=”Algo”
Une los registros de dos tablas que tengan en el campo común nombre_campo, el valor de “Algo”.
6. Archivos - META_BD
Para simular una base de Datos, se utiliza principalmente un archivo denominado META_BD.csv, el
cual contiene la información de cada tabla que se creada, eliminada (lógicamente en META_BD),
modificada.
Este archivo META_BD, contendría,por ejemplo: la siguiente información,:
0,tabla1,1,campo1;campo2;campo3
0,tabla2,1,campo1;nombre;campo3
0,tabla3,2,nombre;campo2;campo3
Existencia
● 0 si existe
● 1 no existe Nombre
de Tabla
Número de
Registros
Nombre de
Campos
7. Archivos
Los archivos para cada tabla también serán .csv, en los cuales se podra visualizar los valores de los
campos que tiene una tabla.
Una vez que una tabla tenga un registro o mas no se podrá modificar el nombre de los campos.
Cada uno de estos archivos contará como cabecera los nombres de los campos, por ejemplo:
cédula,nombre,apellidos,edad
0101010101,Christian,Salinas,20
0202020202,Jefferson,Arias,20
0303030303,Emily,Arteaga,20
Cabecera, nombre de Campos
Registros
10. Capa de Datos
Como se conoce, la capa de Datos es donde existen las clases las cuales nos ayudan a registrar y
acceder a la información que manejamos en la aplicación.
En este caso, se tiene principalmente las clases Registros y Campos, que necesarias para crear la
información de la aplicación y cada una cuenta con las funciones get y set, para obtener la
información y de la misma manera acceder y modificarlas,
12. Capa Lógica
En esta capa se encuentran los diferentes procesos de creación, modificar, eliminar etc, para toda la
información de la aplicación.
Se encuentran clases tales como
InicializadorArchivo: al simular una base de datos, obviamente se tiene que contar con todos los
datos anteriormente ingresados, pero también se tiene la opción de comenzar otra vez.
CreadorTabla: Contiene un Patrón Singleton para obtener una única tabla cuando se crea un
archivo
EliminadorTabla: Elimina una tabla cuando se requiera ese proceso.
13. Capa Lógica - Gestor Archivo
Gestor Archivo administra los Archivos(Tablas), que están registradas en la aplicacion, aqui se
utilizarán Estructuras de Datos para poder manejar la información y diferentes procesos como crear
Tabla, separar Longitud.
Aunque la información se guarde en los archivos CSV, cada estructura se serializa para poder
recuperar las información.
14. Capa Lógica - Gestor Archivo
De la misma manera que Gestor Archivo, aquí se administra y se tiene procesos para, en este caso,
los registros que añadamos a una tabla, como crear registro, ver si es repetido, actualizar tabla,
modificar, además de las opciones de Seleccionar y Unir.
De igual forma se tienen Estructuras de Datos, para el manejo de la información, también se
serializan.
16. Capa GUI
Existen 3 interfaces gráficas de usuario.
RecuperarDatos: Es la primera ventana que aparece al correr el programa el cual nos permite
seleccionar si queremos seguir con la información anterior o comenzar sin nada de información.
17. Capa GUI - Ventana Principal
Es la interfaz principal, en donde se puede ver toda la aplicación, el campo de texto para ingresar los
comandos, muestras el historial y la información de cada tabla.
18. Capa GUI - MostrarTabla
Esta Interfaz nos muestra la información de los comandos Selección y Unir,
19. CONCLUSIONES
- Un gestor de SQL realizado en archivos de
extensión txt nos enseñan a ver lo que tuvieron
que trabajar los creadores de MySQL u Oracle
para diseñar y plasmar una base de datos.
- Las claves primarias ayudan mucho a que no
hayan datos homónimos.
- Al poner longitudes fijas para cada variable nos
permite controlar de una mejor manera el uso
del espacio en la memoria.
20. RECOMENDACIONES
- Realizar el diseño correspondiente, antes
de ponerse a codificar.
- Usar siempre una llave primaria en todos
los campos
- Usar colecciones de Java para guardar los
objetos necesarios para nuestra base de
datos
21. Link de Proyecto en Github
https://github.com/ChristianPaulSalinas/Proyecto-Base-Datos-SQL-Java