Está en la página 1de 4

Porgrama 1: Manejador de Base de Datos

Jos Luis Quiroz Fabin e a

1.

Introduccin o

Un sistema manejador de bases de datos (DBMS) es el software encargado de administrar un conjunto de datos para garantizar permanencia, consistencia y una eciente administracin de los mismo. Un DBMS es una coleccin de o o numerosas funciones de software interrelacionadas, cada una de las cuales es responsable de alguna tarea espec ca. Entre las que podemos destacar son: Las operaciones de un sistema de Base de Datos se puden didivir en: Operaciones sobre con el Manejador Operaciones con una Base de Datos

1.1.

Operaciones sobre con el Manejador

Estas operaciones con las siguientes: Crear una Base de Datos Eliminar una Base de Datos Usar una Base de Datos Desplegar las Bases de Datos

1.2.

Operaciones sobre con una Base de Datos

Estas operaciones son las siguientes: Crear una tabla Eliminar una tabla Describir los campos de una tabla Actualizar nombre del campo de una tabla Insertar un nuevo registro en una tabla Eliminar un registro en una tabla 1

Actualizar un registro en una tabla En la siguiente seccin se muestra la estructura propuesta. Posteriormente las o operaciones que deber implementar. a

2.

Estructura propuesta
BASES DE DATOS

ListaBaseDeDatos
ListaDeTablas Tabla ListaDeTablas Tabla Tabla

BaseDeDatos
ListaRegistros Registro

BaseDeDatos

ListaRegistros Registro

ListaRegistros Registro

ListaRegistros Registro

ListaRegistros Registro

ListaRegistros Registro

Figura 1: Arquitectura de nuestro Manejador de Base de Datos


typedef struct Registro registro; struct Registro { char **v_campos; }; typedef struct ListaRegistros lista_registros; struct ListaRegistros { registro *info; lista_registros *siguiente; };

typedef struct Tabla tabla; struct Tabla { char *nombre;//Nombre de la tabla char **v_campos;//Valores de los campos char **t_campos;//Tipos de los campos lista_registros *inicio;//Inicia los registros int num_registros; //Cuantas registros tengo en una tabla int num_campos; };

typedef struct ListaDeTablas lista_de_tablas; struct ListaDeTablas { tablas info;//Info de una tabla lista_de_tablas *siguiente//La tabla siguiente };

typedef struct BaseDeDatos base_de_datos; struct BaseDeDatos { char *nombre;//Nombre de la BD lista_de_tablas *inicio;//Inician la tablas int num_tablas; //Cuantas tablas tengo };

typedef struct ListaBaseDeDatos lista_base_de_datos; struct ListaBaseDeDatos { base_de_datos info;//Info de una base de datos lista_base_de_datos *siguiente;//La base de datos siguiente };

typedef struct DBMS dbms; struct DBMS { int num_bd; //Cuantas bases de datos se tienen lista_base_de_datos *inicio;//Inicio de la primera base de datos };

3.

Operaciones para nuestro manejador de BD

Las operaciones que deber implementar para nuestro manejador de BD son las a siguientes: 1. show databases; : Muestra las bases de datos 2. show tables; : Muestra las tablas de la base de datos seleccionada 3. use nombre de la base de datos; : Selecciona una base de datos 4. describe nombre de la tabla; : Muestra los campos de una base de datos 5. create database nombre base; : Crea una base de datos 6. create table nombre tabla (campo1 tipo, campo2 tipo, ..., campoN tipo); : Crea una tabla 7. drop table tabla1, tabla2, ..., tablaN : Elimina las tabla indicadas 8. drop database nombre de la base de datos : Elimina una base de datos 9. select Nomcampo1 Nomcampo2 ...NomcampoN from tabla; : Muestra las valores de los campos (toda la tabla) seleccionados de la tabla seleccionada. No es necesario indicar todos los campos de la tabla. 3

10. select * from tabla; : Muestra todos los registros de una tabla 11. select Nomcampo from nombre de la tabla where Nomcolumna==x; : Muestra el valor del campo (en toda la tabla) para la tabla seleccionada. Se debe cumplir la condicin. o 12. select Nomcampo from nombre de la tabla where Nomcolumna > x ; : Muestra los valores del campo seleccionado para la tabla seleccionada. Se debe cumplir la condicin. o 13. select Nomcampo from nombre de la tabla where Nomcolumna >= x ; : Muestra los valores del campo seleccionado para la tabla seleccionada. Se debe cumplir la condicin. o 14. select Nomcampo from nombre de la tabla where Nomcolumna < x ; : Muestra los valores del campo seleccionado para la tabla seleccionada. Se debe cumplir la condicin. o 15. select Nomcampo from nombre de la tabla where Nomcolumna <= x ; : Muestra los valores de los campos para la tabla seleccionada. Se debe cumplir la condicin. o 16. select Nomcampo from nombre de la tabla where Nomcolumna != x ; : Muestra los valores del campo seleccionado para la tabla seleccionada. Se debe cumplir la condicin. o 17. insert into (campo1, campo2, ..., campoN ) values (valor1, valor2, ..., valorN ); : Inserta un nuevo registro en una tabla 18. update tabla set campo1=nuevoValor1, ..., campoN=nuevoValorN where campo1=Valor1, ..., campoN=ValorN : Actualiza un conjunto de campos de una tabla. Se debe cumplir cada una de las condiciones. 19. delete from nombre de la tabla where campo1=Valor1, ..., campoN=ValorN : Elimina de una tabla los registros que cumplan las condicin. No es neo cesario indicar todos los campos de la tabla. PD: Debe garantizar persistencia de datos, es decir debe almacenar en archivos.