This project is read-only.

Seção destinada a informações sobre SGBD

  • Script Criação SGBD Inicial : SGBD INICIAL
    • Este é um script inicial e sofrerá muitas alterações , o banco de dados que roda no web service é em DBF . O script foi criado para Servidor MySQL, porém está mais fácil de converter para MS SQL EXPRESS EDITION. Eu ia postar aqui o projeto web service porém para que funcionasse voces teriam que ter as tabelas DBF também, caso queiram inicar algum estudo em cima dessa tecnologia posso disponibilizar o codigo fonte. Lembrando que esse foi o primeiro projeto web service que desenvolvi e funciona até hoje em um cliente sem nenhuma alteração. Poré necessita ser melhorado e adaptado para os servidores MYSQL E MS SQL
  • 1ª Revisão : Download
    • Baseado nas sugestões do amigo Luis, uma nova revisão do banco está disponível, abaixo segue as principais alterações :
    • Alteração dos nomes das tabelas seguindo um padrão definido pelo prefixo tbl conforme sugestão do amigo Luis.
    • Alteração dos nomes dos campos seguindo um padrão definido pelo prefixo cmp execto nos campos IDS conforme sugestão do amigo Luis
    • Alteração do nome da tabela MESA para tblAtendimento em função da possibilidade de termos vários tipos de atendimentos tais como :
  1. Balcão
  2. Mesa
  3. Comanda
  4. Cartão Consumo
  • Alteração do nome da tabela movimentomesa para tblProdutosAtendimento em função da alteração anterior
  • Criação da tabela tblTipomovimento para suprir a necessidade das tabelas tblAtendimentos e tblProdutosAtendimentos

Last edited May 29, 2009 at 12:07 AM by Admilson, version 6

Comments

barros266966 Jun 9, 2010 at 12:40 PM 
E o Script pra criação do banco, da Rev. 001, funciona perfeitamente no MySql. Só precisa criar o banco "Restaurante" antes. Sugiro, ainda, a padronização do nome do banco, como bdRestaurante.

Abraços,

Barros

barros266966 Jun 9, 2010 at 12:37 PM 
Galera. eu sugiro a utilização do MySql, pois ele é robusto e de fácil instalação.

O Tecla pediu e eu vou criar um tuto de instalação e alguns srcripts de criação de tabelas, triggers e stored procedures.

Até o fim da semana devo estar com tudo pronto.

Abraços,

Barros

RpMarques Jun 8, 2010 at 7:46 PM 
sim...consegui entender...pode ser assim....cada modulo é um campo com um valor booleano...tb pode ser...né...
mas entendi sim....
desculpe pelas perguntas básicas amigo...

Admilson Jun 8, 2010 at 7:41 PM 
Na tabela acesso tenho os campos USUARIO|OPERACAO|e os modulos que seriam |CLIENTE|PRODUTOS|PEDIDOS|ETC...ETC....
O usuario X poderia realizar uma operação de INCLUSAO no modulo CLIENTE, porém não poderia fazer uma OPERAÇÃO EXCLUSÃO no mesmo MÓDULO. Seria algo assim

ADMILSON|INCLUIR|Y|Y|Y|N
ADMILSON|EXLUIR|N|Y|N|Y

Não Sei se consegui ser bem claro.

RpMarques Jun 8, 2010 at 6:26 PM 
Obrigado pela ajuda Admilson,
e como funcionaria essa questão dos acessos sendo com essas duas tabelas...
desculpe as perguntas...mas sou novo no ramo da programação...hehehe...
valeu pelas dicas....

Admilson Jun 8, 2010 at 6:01 PM 
RpMarques,
O campo empresa é destinado para caso o restaurante tenha diversas por exemplo, sendo administrado da Matriz. Esta seria uma das finalidades.
Já o campo Status(que na verdade deve ser sStatus) define se o usuário está ativo, bloqueado, suspenso ou outra situação que ser mais coerente.
Com relação ao acesso a módulos, já tenho em meu sistema uma tabela chada tblAcesso que vincula a tblUsuarios.

Sendo assim, uma das possibilidades para controlar o acesso.

RpMarques Jun 7, 2010 at 9:58 PM 
obrigado pela resposta Admilson, la vai mais uma dúvida...
eu estava dando uma olhada ali no script SQL da tabela usuários...e me surgiu uma dúvida
o pq dos campos EMPRESA e STATUS nesta tabela, e outra coisa...
como é a lógica para que o programa "saiba" quais os módulos que vão estar liberados para aquele usuário específico?

Admilson Jun 7, 2010 at 7:58 PM 
Para resumir as Regras do negocio, é a parte onde definimos como a empresa irá operar sistematicamente falando.
Como ela funciona atualmente e como o sistema deverá se comportar diante dessa regras.
Por exemplo :
Não é permitido reserva de mesa sem telefone do cliente.
As formas de pagamentos podem ser consideradas regras de negócio.
Entre outras informações.

No wikipedia a definição para tudo isso é :
- São todas as regras existentes num sistema de informação, que ditam seu comportamento, suas restrições e validações.

RpMarques Jun 5, 2010 at 3:06 PM 
LuisVBM...me tira uma dúvida...
é uma dúvida báscia...afinal to iniciando esse estudo ...na parte de elaboração de um projeto de software...
o vem a ser o tópico "ELABORAR AS REGRAS DE NEGÓCIO"

LuisVBM May 31, 2009 at 3:07 PM 
É mas a microsoft já teve como citou, agora por outro lado a Apple é uma maçã então estamos no setor da culinária. O CCleaner é uma Pêra, e tem outras, acho que os donos devem ser todos "gordinhos".

Admilson May 31, 2009 at 12:55 AM 
Engraçado, não me recordo de nenhum bixinho referenciando os produtos da Microsoft com excessão do
VISUAL FOX PRO(que também é associado a uma raposa), assim como o FireFox.

Pessoal segunda estarei de volta.....
T+

LuisVBM May 31, 2009 at 12:35 AM 
Há lembrei de uma coisa, todo software de "Destaque" ou repercusão, geralmente tem nome de bichos ou logo de um bicho, ex: Linux (pinguim), o navegador esqueci o nome (Raposa), MySQL (golfinho) e mais um monte como: aranha, tubarão, polvo, cavalo, escorpião e um monte de outros.

Quem sabe é um caminho?

LuisVBM May 31, 2009 at 12:18 AM 
kkkkkkkkkkkkkkkkkkk
Por isso disse que precisamos PARAR, PENSAR e DECIDIR o que realmente fazer, pois as idéias estão ganhando um VULTO astronômico e daqui a pouco iremos ter um softwaerDroide nas mãos.
Por isso fiz o comentário.

Admilson May 30, 2009 at 3:57 PM 
Sábias palavras Luis, há comentários que prefiro não fazer com relação a interatividade dos usuários. Mas 5 minutos são apenas 5 minutos.

Confesso que "e-Restaurante" é meio grande aos meus olhos, gosto de nomes pequenos (por isso a minha tendencia à americanizar as palavras), seria "e-Food" ou "e-Cook", mas vamos aguardar mais nomes.

Você tocou no "Calcanhar de Aquiles" de sistema de gerenciamento cujo parte do processo inclui Estoques.

Um cliente de uma pizzaria Certa vez, fez um custo real da fabricação de uma pizza, ele compra azeitonas em toneis de 200 litros que no caso são vendidos em kilos, ele colocava 4 azeitonas em pizzas de 4 pedaços,, 6 em pizzas de 6 pedaços e 8 azeitonas em pizzas de 8 pedaços. Além disso, pesou o queijo, o presunto, a cebola e tudo que fosse de kilo foi pesado.

Partindo desse principio ele sabia que cada tonel de azeitona dava para fazer X pizzas e assim com todos os produtos integrantes de suas pizzas.

Na tabela de produtos há um campo chamado cmpComposto do tipo BOOLEAN que indica se o produto é composto, caso seja, o campo cmpCod_Composto receberá o codigo do produto que irá baixar o estoque.

Essa total automação, com certeza é fruto de um estudo e da idealização correta do projeto.
Ao meu ver o projeto está caminhando para ser não somente um simples gerenciamento mas sim quase um ERP. Algo que realmente irá administrar uma empresa voltada para o seguimento de FOODs Service.

Vou analizar uma possibilidade de termos reuniões através do Microsoft Live Meeting.


LuisVBM May 30, 2009 at 2:17 PM 
È Admilson, além da tecnologia aprenderemos também muitas outras coisas relativas ao processo desse seguimento. Boa explicação.

Concordo com o problema de tempo, também tenho como todos, a questão não é essa e sim que poucos chegaram a sequer colocar uma única mensagem ou comentário sobre o que foi feito. Sendo que tudo até agora é basicamente conceito e planejamento, 0,1% de código e mesmo assim muito genérico. Acho que 5 minutos para colocar uma opnião ou sugestão durante todos esses dias desde o início do projeto não é nada, mas tudo bem deixa quieto, vamos em frente que atrás vem gente.

Sobre seus comentários e seguindo seu raciocínio no exemplo, estava esperando uma ocasião oportuna para falar, mais especificamente quando chegasse o controle de estoques, pois da mesma forma há produtos que não são consumidos 100%, tipo extrato de tomate, óleo, batata, etc.. ou seja, tudo que vem em embalagens de atacado, 5, 10, 20, 60 kilos ou litros. Nesse sentido é preciso planejar muito bem como seria a baixa deste tipo de produto.

Já que o vulgo "e-Restaurante" parece que ganha funcionalidades a todo momento, em breve será um sistema robotizado auto-suficiente e com inteligência artifical (risos), então o cálculo fracionado da baixa de estoque servirá também para cálculo do preço de custo e consequentemente do preço de venda de cada produto do estabelecimento. Isso possibilitará automatizar este tarefa, onde o cliente só teria de incluir no cadastro de produtos o percentual de lucro desejado (produto a produto ou por categoria).

O que acham? Lá vai mais alteração no fluxo/banco (kkkkk)

Eu particularmente acho que deveríamos debater profundamente tudo que o software terá inicialmente. Não pensando em detalhes funcionais, mas na estrutura básica necessário. Depois disso definido se começa cada etapa do projeto para conseguirmos avançar solidamente. Então qualquer nova idéia para incluir funcionalidades ou módulos, seria incluída em uma área específica do site (futuras funcionalidades) e tratado ao final como atualização do sistema, pois do contrário nunca terminaremos já que sempre haverá algo novo para incluir ou melhorar. Uma idéia puxa a outra e assim vai.

Não sei se todos concorcam com isso. Só estou preocupado com a "dispersão" e também com o volume de "Retrabalho" gerado da forma que estamos caminhando. Como não temos contato de grupo (reunião) e meios para comunicação simultânea entre todos, até para debater mais repidamente do que por posts, temos de definir bem as estratégias de trabalho a fim de atingirmos a plenitude de nossas capacidades e produtividade da equipe, do contrário, não sei como isso terminará.

São apenas críticas e sugestões construtivas, pois tenho experiência em processos que começaram assim e o trabalho é muito grande depois. Trabalho com sistemas de gestão com base na qualidade e tudo isso é fundamental principalmente em software.

Admilson May 29, 2009 at 10:27 PM 
Concordo plenamente com você, mas o maior problema, acredito que de todos seja a disponibilidade de tempo(ao menos é o meu caso), mas vamos as duvidas.

Luis, como estamos tratando de um SGBD, e a este atribuimos revisões constantes, ao fazer uma atualização(revisão) acredito ser interessante que seja recriado todo o banco. Em contra-partida os dados já cadastrados serão perdidos a menos que eu inclua eles na re-criação do banco.

Conforme eu disse no primeiro post dessa pagina ele foi criado para MySQL.
A estrutura do escript segue o seguinte padrão 'banco'.'nomedatabela'.

Tipos de atendimentos.

Cartão Consumo - Um cartão com código de barras Unico que identifica um cliente. Este cartão é facilmente visto nas lojas de conviniencias da Rede GRAAL de postos de combustíveis.
Fucionalidade : Cartão Consmo Pré Pago(CCPRP ou Cartão Consumo Pós Pago(CCPOP), para facilitar a digitação utilizaremos algumas as siglas.

CCPRP - Utilizado principalmente em locias onde haja cobrança de consumação minima e/ou casas noturnas. Cliente faz um carga no cartão e utiliza-o conforme sua necessidade.
CCPOP - Utilizado principalmente em restaurantes, lanchonetes, pizzarias entre outros. A cada pedido do cliente é adicionado ao Cartão.

Comanda na verdade tem várias interpretações, comumente falando , em um restaurante é aquele papelzinho que o garçon faz a anotação do seu pedido, porém você pode estar em uma mesa, no balcão, ou em lugar indefinido, neste ultimo caso é anotado o nome da pessoa.

Sendo assim, temos :

Balcão : Cliente está sentado próximo ao balcão (não em uma mesa)
Mesa : Cliente se encontra na mesa XX
Comanda : Cliente em local indefinido(exemplo um clube), porém pode ser atribuido a este cliente o Cartão Consumo
Cartão Consumo : Cliente é identificado pelo Cartão que utiliza.

Temos ainda algmas situações que serão colocadas.
Veja o exemplo do seguinte cenário :

Um grupo de 5 amigos sentam em uma mesa, cada um faz pedido de um determinado prato, e uma determinada bebida. No sistema deverá ser informado a posição de cada um seja por numero ou seja por nome.

Ainda nesse raciocínio, os mesmos amigos na mesma mesa, cada um faz o pedido de um determinado prato, porém a bebida é compartilhada(as torres de chop por exemplo, ou o chop kilometrico).

Estas entre uma infinidade de possibilidades deverão ser levadas em conta.

LuisVBM May 29, 2009 at 7:20 PM 
Descontinuado?
Eu instalei a 2 semanas +/- nesse micro antigo. Vou tentar agora instalar no meu de trabalho.

Sobre o Script não entendi a parte incial da criação das tabelas, veja:
DROP TABLE IF EXISTS `restaurante`.`tblatendimento`; -> Você manda excluir a tabela para recriar?
CREATE TABLE `restaurante`.`tblatendimento` -> Essa estrutura de nome.nome é do SQL Express? porque o primeiro está sem tbl no início? ele se refere ao nome do banco ?

Sobre seus comentários da revisão 01, o tipo de atendimento (Cartão Consumo) o que seriam?
A comanda aqui está sendo encarada como um pedido externo (Delivery)? Isso porque comanda é o resultado final de qualquer pedido, seja mesa, delivery, etc...

Só um comentário geral: O procedimento correto de desenvolvimento de um software é:
1- Levantamento das necessidades do cliente
2- Elaboração das regras de negócio
3- Planejamento e modelagem do Banco de Dados
4- Criação do Fluxograma de processos do aplicativo
5- Criação do padrão visual (identidade visual do programa)
6- Criação das interfaces (telas ou Foms) como preferirem
7- Planejamento (OOP) com criação dos objetos do programa para cada entidade
8- Início da codificação
9- Testes das rotinas / entrada de dados
9.5 - Correções dos erros encontrados
10- Criação dos helps
11- Elaboração do instalador
12- Instalação/Treinamento Clientes
13- Correções de Bugs ou melhorias (atualizações/implementações periódicas) conforme necessidade.

Se não esqueci nada e partindo dessa lista geral, acredito que nosso projeto está no seguinte "pé":

4- Criação do Fluxograma de processos do aplicativo ----| começou aqui
3- Planejamento e modelagem do Banco de Dados ----| e agora ambos passaram a andar de "Mãos dadas"
6- Criação das interfaces (telas ou Foms) como preferirem
8- Início da codificação

Nota: Os dois últimos são o form de Login.

(VEJAM BEM) (risos), não estou querendo conduzir nada ok, só uma constatação. Não estamos colocando o carra a frente dos bois?
Tudo bem que estamos fazendo algo juntos pela primeira vez e durante o tempo livre (ou nem tanto no meu caso), mas estamos nos ajustando, como:
1) fizemos na montagem e organização das áreas disponíveis deste site
2) começamos a padronizar tanto a forma de colocar cada material no site (fluxo no Excel), (Script em TXT), etc...
3) padronização das nomenclaturas e números de revisões
4) manter histórico das revisões (boa Admilson)
5) Seguir um cronograma que sequer montamos, ou no mínimo consolidar cada etapa do desenvolvimento, pois se continuarmos assim certamente teremos muito mais trabalho do que seja possível imaginar, com dezenas de alterações, desde os conceitos do que ter no sistema, até refazer boa parte do planejamento, cofificação, layout de telas e por aí vai, sendo que o pior de tudo e mexer no banco e ter de fazer tudo em cascata depois.

Posso estar errado, mas gostaria da opnião dos colegas.
Ps.: O pessoal entrou no grupo, mas quase ninguém se manifestou até o momento em nenhum dos posts do projeto. Por que será?

Admilson May 29, 2009 at 12:06 AM 
Luis,
Tenho o vb6, o vb.net 2005, e o vb.net 2008 todos instalados na mesma maquina, e por sinal em duas maquinas, sendo meu notebook e meu servidor

o vb.net Expressa não tem prazo de validade, mas já ouvi dizer que já esta descontinuado.

LuisVBM May 28, 2009 at 11:56 PM 
Pessoal nunca pensei que ficaria tão empolgado em aprender VB.net, com a colaboração de todos a coisa vai ficando empolgante.
Porém queria tirar uma dúvida, eu tenho o VB 2008 Express instalado num micro mais velhinho e não o meu de trabalho que tem o VB 6. Lí que não há problema algum em instalar as duas versões no mesmo micro, mas gostaria de saber se não há conflito mesmo e se depois precisar desinstalar se não há problema também?
Outra coisa, o VB Express tem prazo de validade?

tecla May 28, 2009 at 9:37 PM 
Baixei os arquivos para análise.
Boa iniciativa, ADMILSON e LUIS HERRERA.
É isso aí!