Jump to content
doglas

Banco De dados projeto farmácia

Recommended Posts

doglas

Boa noite estou iniciando um projeto windows form em c#, oque vocês acham da estrutura do bd

estou aberto a sugestões e correção de eventuais erros

obrigado

CREATE TABLE USUARIOS
(
ID INT PRIMARY KEY IDENTITY,
USUARIO NVARCHAR(30) NOT NULL,
SENHA NVARCHAR(20) NOT NULL,
PERMICAO INT NOT NULL DEFAULT '1',
IDFUNCIONARIOS INT REFERENCES FUNCIONARIOS NOT NULL
)
CREATE TABLE CLIENTES
(
ID INT PRIMARY KEY IDENTITY,
NOME NVARCHAR(60) NOT NULL,
CPF NVARCHAR(11) NOT NULL UNIQUE,
RG NVARCHAR(7) NOT NULL UNIQUE,
DATANASC DATE NOT NULL,
SEXO NVARCHAR(10) NOT NULL,
EMAIL NVARCHAR(60) NOT NULL UNIQUE,
ENDERECO NVARCHAR(80) NOT NULL,
TELEFONE1 NVARCHAR(20) NOT NULL,
TELEFONE2 NVARCHAR(20) NOT NULL,
PONTOS INT NOT NULL,
DEPENDENTE NVARCHAR(60) NOT NULL
)
CREATE TABLE FUNCIONARIOS
(
ID INT PRIMARY KEY IDENTITY,
NOME NVARCHAR(60) NOT NULL,
CPF NVARCHAR(11) NOT NULL UNIQUE,
RG NVARCHAR(7) NOT NULL UNIQUE,
DATANASC DATE NOT NULL,
SEXO NVARCHAR(10) NOT NULL,
EMAIL NVARCHAR(60) NOT NULL UNIQUE,
ENDERECO NVARCHAR(80) NOT NULL,
TELEFONE NVARCHAR(20) NOT NULL,
)
CREATE TABLE FORNECEDORES
(
ID INT PRIMARY KEY IDENTITY,
RAZAOSOCIAL NVARCHAR(60) NOT NULL,
CNPJ INT NOT NULL UNIQUE,
NOMECONTATO NVARCHAR(60) NOT NULL,
TELEFONE NVARCHAR(20) NOT NULL,
EMAIL NVARCHAR(60) NOT NULL UNIQUE
)
CREATE TABLE PRODUTOS
(
ID INT PRIMARY KEY IDENTITY,
DESCRICAO NVARCHAR(60) NOT NULL,
LABORATORIO NVARCHAR(60) NOT NULL,
QTDESTOQUE INT NOT NULL,
PRECO MONEY NOT NULL,
LUCRO INT NOT NULL,
DATAVALIDADE DATE NOT NULL,
IDFORNECEDORES INT REFERENCES FORNECEDORES NOT NULL,
)
CREATE TABLE VENDAS
(
ID INT PRIMARY KEY IDENTITY,
IDCLIENTES INT REFERENCES CLIENTES NOT NULL,
IDPRODUTOS INT REFERENCES PRODUTOS NOT NULL,
DATAVENDA DATETIME NOT NULL,
VALORFINAL MONEY NOT NULL,
)
CREATE TABLE ITENSVENDA
(
IDVENDA INT REFERENCES VENDAS NOT NULL,
IDPRODUTO INT REFERENCES PRODUTOS NOT NULL,
QUANTIDADE INT NOT NULL,
PRIMARY KEY (IDVENDA, IDPRODUTO)
)

Share this post


Link to post
Share on other sites
djonpereira

Boas,

Já agora de tipo de base de dados (calculo que MS SQL SERVER mas pergunto para ter a certeza) é e para que fim (treino/produção)?

Como tens a tabela neste momento não consegues ter um mesmo produto com fornecedores diferentes e o campo idprodutos não deveria estar na tabela vendas porque senão não faz sentido a tabela itensvenda... na tabela vendas tens info sobre a venda e na itensvenda tens a relacao de produtos e quantidades numa determinada venda...

As tabelas clientes e funcionarions tem quase os mesmos campos... sendo que um funcionario pode ser um cliente poderias ter um campona tabela cliente que indicava se era funcionario ou nao (0 para nao funcionario e id de funcionario caso fosse) e excusavas de ter tantos dados repetidos...

Reparei que tens umas virgulas no final das declaracoes das tabelas que não devem existir porque vai dar erro na criação das tabelas (calculo que seja a força do copy/paste...lol)


----------------------------------

DjonPereira

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.