Universidad de Cuenca
Programación 3
Christian Collaguazo
Ronaldo Rendon
William Sanchez
Esteban Vizhñay
Código:
https://github.com/XaviColla/Gestor-de-Base-de-Datos
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Gestor de Base de Datos
1. SISTEMA DE GESTIÓN DE BASE DE DATOS
SQLUC
Programación III: Estructura de
Archivos
2. SISTEMA DE GESTIÓN DE BASE DE DATOS
SQLUC
Autores:
Christian Collaguazo Malla
Ronaldo Rendón Loja
William Sanchez Sanchez
Esteban Vizhñay Enderica
Facultad de Ingeniería
3. OBJETIVOS
1. Crear nuestra propia base de datos e implementar un algoritmo de ordenamiento
de archivos y uno de encriptación para mejorar el rendimiento de nuestro gestor
de base de datos.
2. El sistema debe tener una interfaz en la cual el usuario pueda ingresar los
comandos para realizar una acción específica.
3. Se solicita un sistema que permita la realización de tres acciones fundamentales
para la gestión de base de datos: mantenimiento de tablas, registros y consultas.
4. 1. Creación
2. Edición
3. Eliminación
TABLAS
CREAR TABLA nombre_tabla CAMPOS campo1, … , campoN CLAVE campo1 LONGITUD
longitudCampo1,…, longitudCampoN ENCRIPTADO campo1,…, campoN
ELIMINAR TABLA nombre_tabla
MODIFICAR TABLA nombre_tabla CAMPO nombre_campo POR nombre_campo
5. 1. Inserción
2. Eliminación
3. Edición
REGISTROS
CREAR REGISTRO nombre_tabla VALOR vCampo1 , vCampo2 ,... , vCampoN
ELIMINAR REGISTRO nombre_tabla CLAVE valorCampoClave
MODIFICAR REGISTRO nombre_tabla CLAVE valorCampoClave CAMPO campo POR valor_campo_nuevo
6. 1. Selección
2. Join(Unión)
CONSULTAS
SELECCIONAR DE nombre_tabla DONDE nombre_campo = “Algo” ORDENADO asc/desc VER
numero_registros
UNIR nombre_tabla1, nombre_tabla2 POR nombre_campo = “Algo” ORDENADO asc/desc VER
numero_registros
7. Archivo que sirve para almacenar la información de las tablas
registradas en el sistema, así como el número de registros de dicha
tabla, los campos que posee, el campo clave y la longitud que
deberán llevar cada uno de los registros.
Formato del archivo CSV (atributos separados por comas):
ARCHIVO META.BD
nombre_tabla,numero_registros,campo_clave,longitud_campos,campos...
9. PATRÓN PROXY - PROTECCIÓN
¿QUÉ UN PROXY?
1.Patrón de diseño Estructural
2. Intermediario entre un objeto y los
demás que lo utilizan.
3.Controla el acceso al objeto original.
10. PATRÓN PROXY - PROTECCIÓN
¿POR QUÉ HEMOS UTILIZADO EL PATRÓN
PROXY?
1.Validar que el cliente haya utilizado la sintaxis correcta para
realizar la acción requerida.
2.Acto siguiente empezar el proceso de acción pertinente.
12. PATRÓN ABSTRACT FACTORY
¿QUÉ ES ABSTRACT FACTORY?
•Permite trabajar con objetos de distintas
familias de manera que las familias no se
mezclen entre sí y haciendo transparente
el tipo de familia concreta que se esté
usando.
13. ¿POR QUÉ HEMOS USADO
ESTE PATRÓN?
PATRÓN ABSTRACT FACTORY
Porque necesitamos que nos devuelva instancias
para la creación, modificación y eliminación de
talas y registros.
15. PATRÓN TEMPLATE METHOD
¿QUÉ ES TEMPLATE METHOD?
Define el funcionamiento general de un
algoritmo en una operación de una clase y
permite que subclases redefinan ciertos pasos
del algoritmo sin cambiar su comportamiento
general.
16. PATRÓN TEMPLATE METHOD
¿POR QUÉ HEMOS USADO ESTE PATRÓN?
Uno de los requerimientos es que en la base de datos se encuentre un archivo
llamado Metadata en el cual se encuentren especificado los valores de cada
tabla.
El usuario al momento de ingresar los comandos para realizar cualquier acción
el sistema llamara a los métodos de identificar la orden, realizar la acción y
actualizar el archivo Metadata.
Por lo tanto, la aplicación del patrón Template nos ayudará a que el sistema con
la llamada a un solo método realice todas estas acciones y que el orden de
llamada a estos métodos no se pueda modificar.
18. PATRÓN FACTORY METHOD
¿QUÉ ES FACTORY METHOD?
Este patrón se usa para la creación de objetos pero
siendo las subclases las que deciden cuando
instanciar dicho objeto.
19. PATRÓN FACTORY METHOD
¿POR QUÉ USAMOS ESTE PATRÓN?
Define el funcionamiento general de un algoritmo
en una operación de una clase y permite que
subclases redefinan ciertos pasos del algoritmo sin
cambiar su comportamiento general.
21. PATRÓN SINGLETON
¿QUÉ ES EL PATRÓN SIGLETON?
Es un patrón el cual consiste en garantizar que una
clase tenga una única instancia y proporcionar un
punto de acceso global a ella.
22. PATRÓN SINGLETON
¿POR QUÉ USAMOS ESTE PATRÓN?
Debido a que la base de datos necesita crear una sola
vez la instancia del gestor, por que este patrón
restringe la creación de mas instancias de una clase
en particular.
24. ALGORITMO DE ENCRIPTACIÓN AES
Es un algoritmo de cifrado por bloques destinado a
reemplazar al DES.
Es muy seguro ya que tiene un solo ataque exitoso
registrado en el 2011.
25. ALGORITMO DE ORDENAMIENTO
Se basa en particiones tomando secuencias ordenadas
que pueden mezclarse y dar lugar a nuevas
secuencias ordenadas.
INTERCALACIÓN BALANCEADA
26. RESULTADOS
•El ordenamiento intercalado balanceado al ser 50% mas rápido que los
otros ordenamientos, haciendo uso de 20 archivos auxiliaries, mejora
notablemente las funciones de modificar y seleccionar a comparación
de un archivo no ordenado.
•Se logró con éxito la creación del gestor de base de datos,
implementando con éxito los comandos
•También se logró con éxito la implementación y uso de los patrones
para mejorar la fiabilidad y eficiencia del gestor.