Post on 20-Mar-2017
UNIVERSIDAD DE CUENCAGESTOR DE BASE DE DATOS(SQLUC)
Integrantes:Tania Landivar
Jonnathan PeñarandaGabriela Verdugo
Asignaturas:Análisis y Diseño de Software II
Programación III: Estructura de Archivos
Índice1. Introducción al proyecto 2. Objetivos3. Contenido 3.1 Diseño e implementación de SQLUC 3.1.1 Patrones Utilizados
3.1.1.1. Chain of Responsability 3.1.1.2. Proxy 3.1.1.3. Factory Method 3.1.1.4. Template Method 3.1.2. Diagrama de Clases Completo 3.2. Estructuras de datos utilizadas
3.3. Estructuras de archivos 3.4. Librerías utilizadas. 3.5. Conclusiones 3.5. Sintaxis del Sistema 3.6. Enlaces de interés
Introducción
SQLUC es un sistema de gestión de base de datos, el cual nos permitirá almacenar, manipular y recuperar datos almacenados en la base de datos. El sistema incluye operaciones como crear, modificar, borrar, tablas o registros de la base de datos.
Objetivos:
● Usar patrones de creación, patrones estructurales o patrones de comportamiento para la elaboración de la Base de Datos.
● Identificar qué patrón puede ser utilizado en diferentes partes de la implementación de la Base de Datos.
● Con el uso de los patrones mencionados anteriormente facilitar la codificación y el diseño del proyecto.
● Hacer el uso mínimo de estructuras de datos.
PATRONES DE DISEÑO UTILIZADOS
❖ Chain of Responsability
Chain of Responsability:❏ Aprobador: Es nuestro Handler que proporciona el método
analizarInstruccion, que será el método utilizado para reenviar las solicitudes.
❏ GestorTabla, GestorRegistros, TablaSelectRegistros, TablaUnirRegistros: Son nuestros ConcreteHandler encargados de controlar o responder a la petición que se le solicita.
Encargado de reenviar las solicitudes.
Handler
ConcreteHandler
Manejan la petición.
❖ Proxy protección
Lo que hace el proxy es analizar qué la instrucción que recibe desde los ConcreteHandler que son GestorTabla y GestorRegistros, cumplan con la sintaxis adecuada para ejecutar dicha instrucción, es decir evalúa la expresión que ingrese el usuario.
Partes de un proxy:Subject :GestorTabla, GestorRegistros. Es clase común entre el proxy y el objeto real.Proxy: ProxyGestorTabla, ProxyGestorRegistros. Mantiene una referencia al objeto real.RealSubject: FabricaTabla, FabricarRegistros. Objeto real que el proxy representa.
Subject
Proxy
RealSubject
ProxyGestorTabla
ProxyGestorRegistros
Factory Method:
Dentro del sistema el “Factory Method” nos permite que la clase delegue a sus subclases que objeto debe ser creado. En este sistema hemos utilizado dicho patrón para la creacion y manipulacion (Eliminar o Modificar) de Tablas y Registros.
❖ Factory Method.
Tablas:❏ Tabla: Se define una clase abstracta de los objetos que se van
a crear.❏ Fábrica Tabla: De acuerdo al comando indicado se devuelve
la instancia que se necesita.❏ Tabla Crear, Tabla Eliminar, Tabla Modificar: Son los
productos concretos.
Factory Method Tablas
Tabla
Fábrica Tabla
TablaCrear
TablaEliminar
TablaModificar
❖ Factory Method.
Registros:❏ Registro: Define una clase abstracta de los objetos que se
van a crear.❏ Fabrica Registros: De acuerdo al comando indicado
devuelve la instancia que se necesita.❏ RegistrosAAgregar, RegistrosAModificar,
RegistrosAEliminar: Estas clases son los productos concretos.
Factory Method Registros
Registro
FabricaRegistros
RegistrosAAgregar
RegistrosAEliminar
RegistrosAModificar
❖ Template Method
❏ Template: Es la interfaz que implementa el método Template y los métodos que deben implementar siempre las clases que implementen esta interfaz.
❏ TablaCrear, TablarEliminar, TablaModificar: Son las clases concretas del manejo de las tablas que implementan los métodos de la clase template.
❏ RegistrosAAgregar, RegistrosAModificar, RegistrosAEliminar: Son las clases concretas para el manejo de los registros estas clases implementan los métodos de la clase Template.
Template
Diagrama de Clases Completo
Estructuras de Datos y Archivos
ESTRUCTURAS DE DATOS UTILIZADAS
ArrayList: Se utilizó para cargar los campos ya se de las tablas o registros.
ESTRUCTURA DE ARCHIVOS
● Se utilizarán archivos(.csv), para hacer físico las tablas con sus respectivos registros.
● Tendremos un archivo llamado METADATA, en el cual constará el nombre de las tablas y cada tabla con el número de registros que tiene, los campos , su estado de borrado y lo más importante la clave para identificar cada tabla.
TABLA:
Programación en Capas
❖ La programación por capas se refiere a un estilo de programación que tiene como objetivo separar la lógica de diseño de la lógica de negocios. Una de las ventajas que podemos destacar sobre este estilo es que el desarrollo del software se puede llevar a cabo en varios tipos de niveles, así, cuando suceda algún cambio solo nos iremos sobre el nivel requerido.
❖ En nuestro sistema hemos implementado tres capas en cuanto a lo que es el gestor base de datos➢ Capa de Lógica.➢ Capa de Presentación➢ gestorbd
❖ Para la implementación de los patrones de Diseño hemos implementado las capas necesarias para identificar cada uno de los patrones.➢ p.cadenaResponsibilidad➢ p.fabricaRegistros➢ p.fabricasTabla➢ p.proxy➢ p.templateMethod
Capas
Capa de Lógica
Capa de Presentación
GestorBD
LIBRERÍAS UTILIZADAS
Permite crear ficheros CSV (del inglés comma-separated values) son un tipo de documento sencillo para representar datos en forma de tabla, en las que las columnas se separan por comas y las filas por saltos de línea.
Hace mucho más sencilla el acceso al contenido de estos ficheros.
CONCLUSIONES
● En la realización del proyecto no sirvió de gran ayuda hacer uso de la programación en capas para así hacer una buena distribución de cada una de las clases y para realizar cambios cuando fueron necesarios sólo en la capa que contenía la clase que necesitaba ser cambiada.
● Gracias al uso de patrones ya sea de creación, comportamiento o estructurales se facilitó la codificación dentro de la base de datos.
● Para que la implementación sea fácil de compresión para otros programadores no se debe implementar más patrones de los posibles dentro del diseño del proyecto o sistema ya que en lugar de tornarse fácil de compresión lo haríamos difícil y confuso para que alguien más pueda implementarlo.
● El uso de estructuras de datos también fue de gran ayuda para asi hacer el manejo de los datos más llevadero
SINTAXIS DEL SISTEMATABLAS
Eliminar tablas:
ELIMINAR TABLA nombre_tabla
Modificar tablas:
MODIFICAR TABLA nombre_tabla CAMPO nombre_campo POR nombre_campo
Crear tablas:
CREAR TABLA nombre_tabla CAMPOS campo1, … , campoN CLAVE campo1 LONGITUD ##
REGISTROS
Crear Registro:
CREAR REGISTRO nombre_tabla VALOR vCampo1 , vCampo2 ,... , vCampoN
Modificar Registro:
MODIFICAR REGISTRO nombre_tabla CLAVE valorCampoClave CAMPO campo POR valor_campo_nuevo
Eliminar Registro:
ELIMINAR REGISTRO nombre_tabla CLAVE valorCampoClave
SELECCIONAR TABLAS
SELECCIONAR DE nombre_tabla DONDE nombre_campo = “Algo”
JOIN - UNIR TABLAS
UNIR nombre_tabla1, nombre_tabla2 POR nombre_campo = ”Algo”
ENLACES DE INTERÉS
● Ficheros CSV : https://www.adictosaltrabajo.com/tutoriales/csv/
ENLACE DEL CÓDIGO DEL PROYECTO.
● https://github.com/TaniaLandivar/Gestor-BaseDatos-SQLUC/tree/master