Prévia do material em texto
base.vendas id_vendas SERIAL * id_usuario BIGINT FK id_cliente BIGINT FK nb_valor_total NUMERIC(27,4) PK_vendas base.itens_vendas id_vendas INTEGER FK id_produto INTEGER FK tx_quantidade INTEGER nb_valor_total_itens NUMERIC(16,2) FK_produto_vendas_vendas base.nivel_acesso id_nivel SERIAL * tx_nome_perfil VARCHAR(40) PK_nivel_acesso O Sr. Pedro possui um mercadinho e deseja controlar suas vendas e seu estoque. Ao comprar seus produtos, ele precisa registrar o que foi comprado, o valor de compra, a quantidade, o nome do produto e o seu código. Em cada venda, podem ser comprados um ou mais produtos. Antes de realizar cada venda, o Sr. Pedro precisa verificar se existe estoque disponível. Em seguida, cada item comprado é registrado no sistema, e deve ser realizada a baixa no estoque, para que as quantidades de produtos estejam sempre atualizadas. Após cada compra, os dados do cliente devem ser armazenados, para agilizar a próxima compra. Além disso, o Sr. Pedro deve possuir mais de um tipo de usuário atendente, com diferentes níveis de acesso, sendo ele o administrador que pode consultar todos os dados do banco, e os atendentes do caixa podem somente realizar vendas. base.produto id_produto SERIAL * tx_nome_produto VARCHAR(240) tx_codigo_produto VARCHAR(40) dt_fabricacao DATE dt_validade DATE nb_preco_compra NUMERIC(27,4) nb_preco_venda NUMERIC(27,4) nb_quantidade_entrada NUMERIC(20,4) nb_quantidade_saida NUMERIC(20,4) nb_valor_real NUMERIC(27,4) PK_produto IX_tx_codigo_legado IX_tx_nome_produto FK_produto_vendas_produto base.funcionario id_funcionario SERIAL * id_nivel INTEGER FK tx_login VARCHAR(20) tx_senha VARCHAR(64) cs_administrador CHAR(1) img_foto BLOB tx_nome_usuario VARCHAR(240) tx_email VARCHAR(120) id_digital BIGINT PK_funcionario IX_tx_login FK_usuario_nivel_acesso FK_vendas_usuario base.cliente id_cliente SERIAL * id_status BIGINT FK id_estado_civil BIGINT FK dt_cadastro DATE img_foto BLOB tx_nome VARCHAR(240) dt_nascimento DATE cs_sexo CHAR(1) tx_cpf VARCHAR(16) tx_nacionalidade VARCHAR(240) tx_email VARCHAR(40) tx_telefone VARCHAR(20) PK_cliente IX_cliente FK_vendas_cliente base.status id_status SERIAL * tx_nome VARCHAR(40) PK_status IX_status base.estado_civil id_estado_civil SERIAL * tx_nome VARCHAR(40) PK_estado_civil IX_estado_civil FK_cliente_status FK_cliente_estado_civil