UCSQL
Autores: David Buñay, Mateo Quizhpi,
Edisson Sigua.
CONTENIDO
• Objetivos.
• Introducción.
• Descripción del producto.
• Estructuras de Datos.
• Estructuras de Archivos.
• Estructuración del Proyecto
• Capa Lógica de Negocio.
• Capa Interfaz Gráfica.
• Capa Base de Datos.
CONTENIDO
• Datos del proyecto.
• Inconvenientes.
• Restricciones.
• Resultados de la aplicación.
OBJETIVOS
• Creación, eliminación, edición y unión de tablas.
• Creación, eliminación , selección y edición de registros.
• Almacenar cada una de las tablas en memoria externa
para su posterior recuperación cuando el cliente lo
necesite.
• Comprender como funciona internamente una Base de
Datos.
DESCRIPCIÓN
• UCSQL es una aplicación de escritorio destinada para la
gestión de tablas.
• Las tablas están conformadas por un número ilimitado
de registros y a su vez cada registro contiene un número
ilimitado de campos.
• UCSQL trabaja con la creación de archivos (tablas) que
se almacenan en memoria externa para su posterior
recuperació.
SENTENCIAS
• TABLAS:
• Sentencia crear Tabla:
• CREAR TABLA nombre_tabla CAMPOS campo1, … , campoN CLAVE campo1 LONGITUD 5.
• Sentencia Modificar Tabla:
MODIFICAR TABLA nombre_tabla CAMPO nombre_campo_anterior POR nombre_campo_nuevo
• Sentencia Eliminar Tabla:
ELIMINAR TABLA nombre_tabla
• Sentencia Selecciona tabla:
SELECCIONAR DE nombre_tabla DONDE nombre_campo = “Algo”
• Sentencia Unir tabla:
UNIR nombre_tabla1, nombre_tabla2 POR nombre_campo
• REGISTROS:
• Sentencia Crear Registro:
CREAR REGISTRO nombre_tabla VALOR vCampo1,vCampo2 ,... , vCampoN
• Sentencia Eliminar Registro:
ELIMINAR REGISTRO nombre_tabla CLAVE valorCampoClave
• Sentencia Modificar Registro:
MODIFICAR REGISTRO nombre_tabla CLAVE valorCampoClave CAMPO campo_anterior POR valor_campo_nuevo
ESTRUCTURA DE
DATOS
• La estructura de datos utilizada en la aplicación es ArrayList()
ya que en ella vamos a almacenar las palabras de cada
sentencia. Por ejemplo:
ELIMINAR REGISTRO tabla1 CLAVE 500
• Entonces se almacena en tokens las 5 palabras de la
sentencia del ejemplo anterior para posteriormente realizar
las validaciones correspondientes.
ESTRUCTURA DE
ARCHIVOS
• Utilizamos la librería CSV para poder escribir y leer los
archivos necesarios.
• Para poder leer un archivo usamos :
• Para poder escribir un archivo usamos:
• Al momento de crear una tabla usamos un archivo
metaBD el cual contiene el nombre,campos, campo
clave,longitud de campos, variable borrado lógico y
número de campos.
ESTRUCTURA DE
ARCHIVOS
• Para poder eliminar un archivo lo hacemos de manera
lógica mediante la asignación del valor 1 al campo de
borrado_logico en el archivo metaBD.
• Al momento de crear una tabla buscamos el valor 1 en
el campo borrado_logico y si lo encontramos nos
ayudamos de un archivo metaBDaux para poder copiar
los demás registros y nuevamente volverlos a escribir
en el archivo metaBD , de esa manera conseguimos
crear una tabla o archivo .
ESTRUCTURACIÓN DEL
PROYECTO
Para la realización de UCSQL se realizó la programación
en Capas. El numero de Capas utilizadas es 3:
• Capa Lógica de Negocio.
• Capa Interfaz Gráfica.
• Capa Bases de Datos.
CAPA LÓGICA DE
NEGOCIO
• En esta capa realizamos el proceso de validaciones de
sentencias mediante un patrón de diseño llamado Chain
of Responsability, también en esta capa llamamos a
cada uno de los comandos mediante el patrón de
diseño llamado Command y por último en la capa lógica
realizamos tres procesos: poner sucesor ,obtener
sucesor , ejecutar proceso mediante el patrón de
diseño llamado TemplateMethod.
•
CAPA LÓGICA DE
NEGOCIO
•
CAPA DE BASE DE
DATOS
• En esta capa vamos a abrir los flujos necesarios ya sean de lectura o
escritura tanto del archivo metaBD como de cada una de las tablas que han
sido creadas por el usuario.
• La capa de base de datos es llamada constantemente por la capa lógica
para obtener la información necesaria de los archivos almacenados en
memoria externa.
CAPA INTERFAZ
GRÁFICA
• Desde esta capa se va a llamar a la capa de lógica de
negocios y por ende a la capa de base de datos es decir
desde esta capa se va a iniciar la aplicación.
•
DATOS DEL PROYECTO
INCONVENIENTES
• Al momento de agregar una tabla en el archivo metaBD
cuando una tabla ha sido anteriormente eliminada de
manera lógica se hizo necesario un archivo metaBDaux.
RESTRICCIONES
• Para poder modificar los campos de una tabla se
requiere que dicha tabla no tenga registros.
• Para poder unir 2 tablas se requiere que las 2 tengan al
menos un registro y que tengan el mismo campo.
• El número de registros de cada tabla es limitado por la
capacidad de la memoria externa es decir es muy
grande la cantidad de registros que posee cada tabla.
CONCLUSIONES
• El uso de patrones de diseño nos facilita el desarrollo
del código ya que si ocurre un problema en
determinada clase no afectará en las demás clases.
• Mediante la librería CSV se puede manejar de mejor
manera la manipulación del archivo metaBD como de
cada una de las tablas con sus respectivos campos y
registros.
• El estilo de programación por capas nos ayuda a
separar los procesos y hacer mas legible la
diagramación.
•
ENLACES
• Aplicación en github:
• https://github.com/EdissonSigua/UCSQL

Presentación de UCSQL

  • 1.
    UCSQL Autores: David Buñay,Mateo Quizhpi, Edisson Sigua.
  • 2.
    CONTENIDO • Objetivos. • Introducción. •Descripción del producto. • Estructuras de Datos. • Estructuras de Archivos. • Estructuración del Proyecto • Capa Lógica de Negocio. • Capa Interfaz Gráfica. • Capa Base de Datos.
  • 3.
    CONTENIDO • Datos delproyecto. • Inconvenientes. • Restricciones. • Resultados de la aplicación.
  • 4.
    OBJETIVOS • Creación, eliminación,edición y unión de tablas. • Creación, eliminación , selección y edición de registros. • Almacenar cada una de las tablas en memoria externa para su posterior recuperación cuando el cliente lo necesite. • Comprender como funciona internamente una Base de Datos.
  • 5.
    DESCRIPCIÓN • UCSQL esuna aplicación de escritorio destinada para la gestión de tablas. • Las tablas están conformadas por un número ilimitado de registros y a su vez cada registro contiene un número ilimitado de campos. • UCSQL trabaja con la creación de archivos (tablas) que se almacenan en memoria externa para su posterior recuperació.
  • 6.
    SENTENCIAS • TABLAS: • Sentenciacrear Tabla: • CREAR TABLA nombre_tabla CAMPOS campo1, … , campoN CLAVE campo1 LONGITUD 5. • Sentencia Modificar Tabla: MODIFICAR TABLA nombre_tabla CAMPO nombre_campo_anterior POR nombre_campo_nuevo • Sentencia Eliminar Tabla: ELIMINAR TABLA nombre_tabla • Sentencia Selecciona tabla: SELECCIONAR DE nombre_tabla DONDE nombre_campo = “Algo” • Sentencia Unir tabla: UNIR nombre_tabla1, nombre_tabla2 POR nombre_campo • REGISTROS: • Sentencia Crear Registro: CREAR REGISTRO nombre_tabla VALOR vCampo1,vCampo2 ,... , vCampoN • Sentencia Eliminar Registro: ELIMINAR REGISTRO nombre_tabla CLAVE valorCampoClave • Sentencia Modificar Registro: MODIFICAR REGISTRO nombre_tabla CLAVE valorCampoClave CAMPO campo_anterior POR valor_campo_nuevo
  • 7.
    ESTRUCTURA DE DATOS • Laestructura de datos utilizada en la aplicación es ArrayList() ya que en ella vamos a almacenar las palabras de cada sentencia. Por ejemplo: ELIMINAR REGISTRO tabla1 CLAVE 500 • Entonces se almacena en tokens las 5 palabras de la sentencia del ejemplo anterior para posteriormente realizar las validaciones correspondientes.
  • 8.
    ESTRUCTURA DE ARCHIVOS • Utilizamosla librería CSV para poder escribir y leer los archivos necesarios. • Para poder leer un archivo usamos : • Para poder escribir un archivo usamos: • Al momento de crear una tabla usamos un archivo metaBD el cual contiene el nombre,campos, campo clave,longitud de campos, variable borrado lógico y número de campos.
  • 9.
    ESTRUCTURA DE ARCHIVOS • Parapoder eliminar un archivo lo hacemos de manera lógica mediante la asignación del valor 1 al campo de borrado_logico en el archivo metaBD. • Al momento de crear una tabla buscamos el valor 1 en el campo borrado_logico y si lo encontramos nos ayudamos de un archivo metaBDaux para poder copiar los demás registros y nuevamente volverlos a escribir en el archivo metaBD , de esa manera conseguimos crear una tabla o archivo .
  • 10.
    ESTRUCTURACIÓN DEL PROYECTO Para larealización de UCSQL se realizó la programación en Capas. El numero de Capas utilizadas es 3: • Capa Lógica de Negocio. • Capa Interfaz Gráfica. • Capa Bases de Datos.
  • 11.
    CAPA LÓGICA DE NEGOCIO •En esta capa realizamos el proceso de validaciones de sentencias mediante un patrón de diseño llamado Chain of Responsability, también en esta capa llamamos a cada uno de los comandos mediante el patrón de diseño llamado Command y por último en la capa lógica realizamos tres procesos: poner sucesor ,obtener sucesor , ejecutar proceso mediante el patrón de diseño llamado TemplateMethod. •
  • 12.
  • 13.
    CAPA DE BASEDE DATOS • En esta capa vamos a abrir los flujos necesarios ya sean de lectura o escritura tanto del archivo metaBD como de cada una de las tablas que han sido creadas por el usuario. • La capa de base de datos es llamada constantemente por la capa lógica para obtener la información necesaria de los archivos almacenados en memoria externa.
  • 14.
    CAPA INTERFAZ GRÁFICA • Desdeesta capa se va a llamar a la capa de lógica de negocios y por ende a la capa de base de datos es decir desde esta capa se va a iniciar la aplicación. •
  • 15.
  • 16.
    INCONVENIENTES • Al momentode agregar una tabla en el archivo metaBD cuando una tabla ha sido anteriormente eliminada de manera lógica se hizo necesario un archivo metaBDaux.
  • 17.
    RESTRICCIONES • Para podermodificar los campos de una tabla se requiere que dicha tabla no tenga registros. • Para poder unir 2 tablas se requiere que las 2 tengan al menos un registro y que tengan el mismo campo. • El número de registros de cada tabla es limitado por la capacidad de la memoria externa es decir es muy grande la cantidad de registros que posee cada tabla.
  • 18.
    CONCLUSIONES • El usode patrones de diseño nos facilita el desarrollo del código ya que si ocurre un problema en determinada clase no afectará en las demás clases. • Mediante la librería CSV se puede manejar de mejor manera la manipulación del archivo metaBD como de cada una de las tablas con sus respectivos campos y registros. • El estilo de programación por capas nos ayuda a separar los procesos y hacer mas legible la diagramación. •
  • 19.
    ENLACES • Aplicación engithub: • https://github.com/EdissonSigua/UCSQL