Projeto Supermercado - Estruturação 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. 2. 3. 4. 5. 6. 7. Controle de fornecedores Relação de produtos Controle de Estoque de produtos Vendas no caixa Controle de compras Clientes preferenciais 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 Projeto Supermercado - Estruturação 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: Projeto Supermercado - Estruturação 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: Projeto Supermercado - Estruturação 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 Projeto Supermercado - Estruturação Complete todas as tabelas de acordo com as informações dadas: Tabela: fornecedores `cod_fornecedor` `empresa` `rua` `numero` `complemento` `bairro` `cep` `cidade` `estado` `contato1` `telefone1` `email1` `contato2` `telefone2` `email2` `contato3` `telefone3` `email3` int varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar `cod_produto` `nome` `embalagem` `medida_unidade` `descricao` varchar varchar varchar varchar mediumtext `id_vendas` `num_caixa` `cod_vendedor` `data_venda` `hora_venda` `cod_formapgto` `cod_produto` `quantidade` `valor_venda` int varchar varchar varchar varchar int varchar float float primarykey auto_increment primarykey auto_increment primarykey auto_increment 80 80 10 30 50 10 50 2 80 20 80 80 20 80 80 20 80 Tabela: produtos 15 80 30 20 Tabela: vendas 30 15 10 10 15 Tabela: formadepagamento `cod_formapgto` `descricao` `num_cartao` `bandeira_cartao` `validade_cartao` `codigo_cartao` `limite_cartao` Prof. Alberto C. Carvalho - IFJF int varchar varchar varchar varchar varchar float 200 20 20 10 5 Página 5 Projeto Supermercado - Estruturação Tabela: estoque `id_estoque` `cod_produto` `cod_fornecedor` `data_compra` `data_validade` `custo` `preco` `estoque_atual` `estoque mínimo` `a_venda` int varchar int varchar varchar float float float float bool primarykey auto_increment 15 10 10 Tabela: clientespreferenciais `num_cartao` `nome` `rua` `numero` `complemento` `bairro` `cep` `cidade` `estado` `telefone1` `telefone2` `email` varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar 20 80 80 10 30 50 10 50 2 20 20 80 primarykey 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 Projeto Supermercado - Estruturação 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