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
doglas

é para fim de treino mesmo, estou iniciando na linguagem, obrigado pelas sugestões

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • 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.