Sistema de Gerenciamento de Banco de Dados (SGBD) da matéria de Introdução às Técnicas de Programação (ITP), UFRN.
-
Criação de Tabela:
- Solicita o nome da tabela, número de colunas e o nome da chave primária.
- Verifica a unicidade do nome da tabela e da chave primária.
- Permite a definição do tipo de cada coluna.
-
Listagem de Tabelas:
- Apresenta os nomes das tabelas presentes no banco de dados.
-
Adição de Linhas à Tabela:
- Permite a inserção de uma ou mais linhas em uma tabela existente.
- Verifica se os valores inseridos correspondem aos tipos definidos para cada coluna.
- Garante a unicidade da chave primária.
-
Listagem de Dados da Tabela:
- Exibe as colunas e linhas de uma tabela específica.
- Indica o tipo de cada coluna.
-
Remoção de Linha da Tabela:
- Solicita o valor da chave primária para identificar e apagar a linha correspondente.
-
Remoção de Tabela:
- Remove completamente uma tabela, liberando seu espaço.
- Salvamento e Carregamento de Dados:
- Implementadas funções para salvar e carregar o estado do banco de dados em um arquivo.
- O arquivo
bancodados.itpé utilizado para armazenar os dados persistentemente.
-
Execute o programa.
Para compilar e executar o programa, utilize a linha de comando abaixo:
gcc main.c modules/impl/* -I modules/include
Após a compilação bem-sucedida, um arquivo executável chamado a.exe será gerado.
Para executar o programa, utilize o seguinte comando: ./a
- Escolha a operação desejada digitando o número correspondente.
- Siga as instruções apresentadas na tela para completar a operação.
-
Tratamento de Erros Aprimorado:
- Implementaria um sistema robusto de tratamento de erros, utilizando exceções ou retornos de erro mais estruturados. Isso melhoraria a capacidade de diagnóstico de problemas e tornaria o programa mais resiliente.
-
Utilização de Bibliotecas de Terceiros:
- Exploraria o uso de bibliotecas de terceiros para tarefas específicas, como detecção de tipos. Isso poderia simplificar o código e aproveitar soluções testadas pela comunidade.
Autores do Projeto: Emilly Miller Moreira e Murilo Antonio Lima Da Costa.
- Implementação das funções relacionadas à manipulação e verificação de arquivos (
salvar_arquivosecarregar_arquivos). - Desenvolvimento das funções para verificar a unicidade da chave primária, da coluna e do nome da tabela (
verificarChavePrimaria,verificarNomeColunaeverificarNomeTabela). - Participação no desenvolvimento da interface do usuário (
interface).
-
Implementação das funções relacionadas à criação e manipulação de tabelas (
criaTabela,apagaTabela). -
Desenvolvimento das funções para listar tabelas e seus dados (
listarTabelas,listarDadosTabela). -
Implementação das funções para criar e apagar linhas em uma tabela (
criaLinha,apagaLinhaTabela).Juntos fizemos a implementação de funções auxiliares, como a detecção de tipos de dados (
detectarTipos) e na definição da estrutura global do banco de dados.