OBJETIVO: Este projeto tem a finalidade de repassar aos alunos do Curso Técnico de Informática a forma de criação de um Banco de dados utilizando a Linguagem de Programação Delphi. Para tal, tomamos como ponto inicial a criação de um banco de dados aplicável ao controle de um Supermercado procurando explorar as diversas necessidades que um empreendimento como este requer. Este projeto visa possuirmos o controle sobre os seguintes aspectos de um Supermercado: 1. Controle de fornecedores 2. Relação de produtos 3. Controle de Estoque de produtos 4. Vendas no caixa 5. Controle de compras 6. Clientes preferenciais 7. Controle do faturamento Devido ao pouco tempo para desenvolvimento de um Sistema como este em sala de aula, ainda proporemos outros controles para os alunos realizarem na forma de trabalhos extra-classe. A ANÁLISE DO SISTEMA: Para tal, por não fazer parte do escopo deste nosso curso, iremos partir imediatamente para a construção das tabelas e seus relacionamentos, supondo que todos os passos iniciais de conversa com o cliente, estudos sobre funcionamento atual, etc., já tenham sido realizados. Acreditamos que sejam necessárias 6 tabelas, assim distribuídas: Fornecedores, Produtos, Vendas, Formas de pagamento, Estoque, Clientes preferenciais. ESTRUTURA DAS TABELAS: As estruturas que mostramos a seguir, foram montadas no programa phpmyadmin que se encontra no localhost fruto da instalação do pacote Xampp que recomendamos instalar para tornar viável este nosso curso. O pacote Xampp é gratuito e poderá ser baixado a partir do link: http://superdownloads.uol.com.br/download/176/xampp/, este pacote contém programas que tornarão seu computador um servidor de banco de dados local. Para acessar o phpmyadmin entre no seu browser de preferência e digite: localhost/phpmyadmin. Prof. Alberto C. Carvalho - IFJF Página 1
Inicialmente, rode o programa Xampp, e aparecerá a seguinte tela: Marque as opções Svc (serviço) do Apache e do MySQL, e em seguida clique em Start destes dois programas. Daí, a tela ficará com o seguinte aspecto:
Abra o seu browser favorito e digite o seguinte DNS: http://localhost/phpmyadmin. Surge o programa com o seguinte aspecto: Dê o nome ao banco de dados que será criado e clique no botão Criar. Por exemplo, criaremos o banco de dados 3INFD. Após acionarmos o botão Criar a tela toma o seguinte aspecto:
Agora, podemos informar o nome de uma tabela e a quantidade de campos (número de arquivos) que a mesma vai ter. Inicialmente, crie a tabela fornecedores que irá conter 18 campos abaixo descritos. Na primeira coluna colocamos o nome do campo, na segunda o tipo de campo, na terceira a quantidade de caracteres quando os campos forem do tipo varchar. Role a tela para a direita e marque as informações de auto-incremento (A_I) e chave primária (Índice), quando existirem: Prof. Alberto C. Carvalho - IFJF Página 4
Complete todas as tabelas de acordo com as informações dadas: Tabela: fornecedores Tabela: produtos Tabela: vendas `cod_fornecedor` int primarykey auto_increment `empresa` varchar 80 `rua` varchar 80 `numero` varchar 10 `complemento` varchar 30 `bairro` varchar 50 `cep` varchar 10 `cidade` varchar 50 `estado` varchar 2 `contato1` varchar 80 `telefone1` varchar 20 `email1` varchar 80 `contato2` varchar 80 `telefone2` varchar 20 `email2` varchar 80 `contato3` varchar 80 `telefone3` varchar 20 `email3` varchar 80 `cod_produto` varchar 15 `nome` varchar 80 `embalagem` varchar 30 `medida_unidade` varchar 20 `descricao` mediumtext `id_vendas` int primarykey auto_increment `num_caixa` varchar 30 `cod_vendedor` varchar 15 `data_venda` varchar 10 `hora_venda` varchar 10 `cod_formapgto` int `cod_produto` varchar 15 `quantidade` float `valor_venda` float Tabela: formadepagamento `cod_formapgto` int primarykey auto_increment `descricao` varchar 200 `num_cartao` varchar 20 `bandeira_cartao` varchar 20 `validade_cartao` varchar 10 `codigo_cartao` varchar 5 `limite_cartao` float Prof. Alberto C. Carvalho - IFJF Página 5
Tabela: estoque `id_estoque` int primarykey auto_increment `cod_produto` varchar 15 `cod_fornecedor` int `data_compra` varchar 10 `data_validade` varchar 10 `custo` float `preco` float `estoque_atual` float `estoque mínimo` float `a_venda` bool Tabela: clientespreferenciais `num_cartao` varchar 20 primarykey `nome` varchar 80 `rua` varchar 80 `numero` varchar 10 `complemento` varchar 30 `bairro` varchar 50 `cep` varchar 10 `cidade` varchar 50 `estado` varchar 2 `telefone1` varchar 20 `telefone2` varchar 20 `email` varchar 80 Caso queira, poderá gerar o código SQL de todo o banco criado. Para tal, clique no nome do banco (na coluna da esquerda) e depois na opção Exportar do menu. Você será levado à seguinte tela: Prof. Alberto C. Carvalho - IFJF Página 6
Rolando a tela para baixo, poderemos notar as inúmeras formas de exportar o banco de dados (coluna da esquerda), bem como de se exportar também os dados, além da estrutura, se a opção dados estiver selecionada: Verifica-se que a opção de exportação SQL já está marcada como padrão, e do lado direito notamos que dados não está marcada, então o comando SQL irá criar todas as estruturas das tabelas, ignorando os dados que porventura existam: Se você selecionar todo o texto (Ctrl A) que se encontra do lado direito da tela e que contém os comandos SQL para gerar as tabelas do banco de dados e copiar (Ctrl C), poderá transferí-lo para um editor de textos e gravar um arquivo (script) que gera as tabelas automaticamente. Para que possamos utilizar dentro do programa em Delphi, o script de criação de cada uma das tabelas deve estar separado. Disponibilizamos estes arquivos no nosso site para download. Para gerar as tabelas a partir destes tais arquivos, procedemos da seguinte forma: a) Clique na opção de menu SQL b) Transfira para o retângulo branco todo o texto (script) que contém os comandos SQL para gerar a tabela. c) Clique em executar. Pronto! A tabela é criada instantaneamente, repita esta operação para todas as tabelas. Prof. Alberto C. Carvalho - IFJF Página 7