Ir para o conteúdo
VieiraPT

Tabelas Necessarias SQL

Mensagens Recomendadas

VieiraPT

Ora Boas pessoal, o meu problema é o seguinte...

estou a criar uma loja online para venda de albums (trabalho escolar) mas estou a ter grandes dificuldades em saber quais são as tabelas necessarias para criar em SQL (Myphpadmin)

o website é sobre venda de albums de Rock e Heavy Metal.. ja tenho o template pronto, sei como conectar o site a base de dados, sei o principal para colocar o site em andamento, o meu problema mesmo são as tabelas na base de dados... estou a ter grandes problemas nisto..

O meu formulario de registo tem: Primeiro Nome

Ultimo Nome

Email

User Name

Password

o meu problema está ai mesmo, eu não sei quantas tabelas eu vou ter de fazer... penso que sejam as seguintes tabelas:

Conta: ( para gravar os dados do registo)

Artigos: (para colocar o Titulo do album, ano, banda, categoria, imagem, preco etc...)

Carrinho de Compras: (para armazenar os artigos escolhidos para comprar)

estou certo? não tenho a certeza que sejam estes as tabelas certas, ou se falta alguma...

agradecia se alguem me pudesse dizer mais ou menos as tabelas que vou precisar.. e os campos delas para fazer a ligações

obrigado desde ja :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

Pensa quais são as entidades que precisas de armazenar.

Para além de contas, artigos, e carrinhos de compras (que provavelmente vai precisar de mais do que uma telas), podes também ter bandas e categorias, por exemplo.

Para os carrinhos de compras, tens que pensar que dados precisas de armazenar. Habitualmente tens vários carrinhos de compras, cada um deles com vários artigos, pelo que seria normal teres pelo menos duas tabelas.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
VieiraPT

Pensa quais são as entidades que precisas de armazenar.

Para além de contas, artigos, e carrinhos de compras (que provavelmente vai precisar de mais do que uma telas), podes também ter bandas e categorias, por exemplo.

Para os carrinhos de compras, tens que pensar que dados precisas de armazenar. Habitualmente tens vários carrinhos de compras, cada um deles com vários artigos, pelo que seria normal teres pelo menos duas tabelas.

a tabela de artigos (que vou fazer a postagem) que eu coloquei la em cima, não faz o mesmo efeito para armazenar as bandas? se usar uma busca.. vai directo ao album com o preço etc..

o que preciso de armazenar pro carrinho é: Nome do album, Banda, Ano, genero e o preço... dai o não entender o porquê de duas tabelas :P se me puderes explicar.. agradecia :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
VieiraPT

Pessoal, tive aqui a tentar fazer... não sei se ta certo, por isso é que preciso da vossa ajuda.. então é o seguinte:

vão ser 4 tabelas ao todo:

Registo

ID_Registo

Primeiro Nome

Ultimo Nome

E-Mail

Username

Password

Artigos

ID_Artigos

Nome do Album

Nome da Banda

Ano de lançamento

Genero

Imagem

preço

Carrinho de Compras

ID_Carrinho

ID_Artigo

Nome do Album

Nome da Banda

Ano

Genero

Preço

Imagem

Detalhe_Compra

ID_Carrinho

ID_Registo

estão certas?

Editado por VieiraPT

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

Acho que já percebeste por que é que precisas de duas tabelas paras as compras.

A ideia das tabelas separadas para Bandas e Géneros é para seguires as regras básicas de normalização. Mas também consegues resolver o problema sem essas tabelas.

Parece-me que tens demasiada informação replicada na tabela Carrinho de Compras. O Nome do Album, Nome da Banda, Ano, Genero e Imagem é informação que podes obter através do ID_Artigo. (O preço já será algo que pode variar, pelo que convém estar na compra.)

Na tabela Detalhe_Compra há mais informação que podes adicionar, como a data de criação, data de finalização, estado do carrinho (ainda está a adicionar items, já está fechada, já está pagada, etc.).

Isto é o básico. Depois há muita coisa que podia ser adicionada, por exemplo caso seja para suportar álbuns físicos e entregas, caso seja para emitir facturas, caso queiras suportar descontos, caso queiras gerir stocks, etc.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
VieiraPT

Acho que já percebeste por que é que precisas de duas tabelas paras as compras.

A ideia das tabelas separadas para Bandas e Géneros é para seguires as regras básicas de normalização. Mas também consegues resolver o problema sem essas tabelas.

Parece-me que tens demasiada informação replicada na tabela Carrinho de Compras. O Nome do Album, Nome da Banda, Ano, Genero e Imagem é informação que podes obter através do ID_Artigo. (O preço já será algo que pode variar, pelo que convém estar na compra.)

Na tabela Detalhe_Compra há mais informação que podes adicionar, como a data de criação, data de finalização, estado do carrinho (ainda está a adicionar items, já está fechada, já está pagada, etc.).

Isto é o básico. Depois há muita coisa que podia ser adicionada, por exemplo caso seja para suportar álbuns físicos e entregas, caso seja para emitir facturas, caso queiras suportar descontos, caso queiras gerir stocks, etc.

Boas, ja estou a perceber mais ou menos o que tu querias dizer e resolvi colocar mais duas tabelas: Banda e Generos, mas no entanto surgiu outra duvida...

não deveria fazer uma tabela chamada Albums? (com o ano de lançamento.. nome do album...) quando fizesse a postagem (tabela artigos) que vai aparecer no site.. iria buscar o Nome do Album... nome da banda...genero.. etc as respectivas tabelas.

provavelmente não vou utilizar os descontos, gerir stock, facturas etc.. pelo menos por enquanto senão vou-me confundir ainda mais..

vou continuar a fazer as tabelas e a pesquisar para não deixar duvidas, mais tarde, coloco aqui o resultado para dares uma vista de olhos e a tua opinião :P

Obrigado ;)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

A tabela para os álbuns faz sentido se os álbuns não forem exactamente o mesmo que os artigos. Caso contrário, não haverá grande vantagem em separar as tabelas (repara que também podes simplesmente mudar o nome da tabela para álbuns).

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
VieiraPT

pronto, penso que seja isto...mas não tenho a certeza

Registo

ID_Registo

Primeiro Nome

Ultimo Nome

E-Mail

Username

Password

Albums

ID_Album

Nome do Album

Nome da Banda (Vai buscar a tabela Banda)

Ano de lançamento

Genero_da_banda (Vai buscar a tabela Genero

Imagem

preço

Carrinho de Compras

ID_Carrinho

ID_Album

Preço_Total

Detalhe_Compra

ID_Carrinho

ID_Registo

Data_Criaçao

Data_Finalização

Estado

Bandas

ID_banda

ID_Albums

Nome da Banda

Ano de Inicio

Quantidade_membros

Genero

Genero

ID_Genero

ID_Banda

Genero_da_Banda

achas que funciona? por mais basica que seja...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

Parece-me que estás a trocar as referências...

No álbuns devias ter os ids em vez da banda e género.

Troca o carrinho de compras com o detalhe da compra (já tinhas isto trocado anteriormente, e assumi que era só uma questão de nomes, mas agora parece-me que tens mesmo os conceitos trocados). A data e estado são atributos de um carrinho. O álbum é um item de um carrinho de compras (e o preço será o do item, e não o total).

Na banda não é suposto teres os álbuns (a relação é de álbuns para a banda, e não o contrário). Se o género da banda for sempre único, podes ter lá o id do género (mas não o nome do género).

Nos géneros, só devias ter o id e o nome (mais uma vez, a relação será de banda para o género, e não o contrário).

Adicionalmente, talvez fosse boa ideia fazeres o diagrama ER para o teu modelo de dados. Penso que será útil para garantir que o mesmo é consistente. Em alternativa, podes também criar as tabelas no "papel", e adicionares meia-dúzia de linhas a cada uma, para veres se consegues fazer o que pretendes.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
VieiraPT

Mais uma vez, tens razão.. tinha mesmo os conceitos trocados e não estava a ligar as relações entre tabelas... fiz todas as alterações que disseste e sim, fazem sentido...são ao todo 6 tabelas que vou precisar... mas vou fazer o diagrama para ter a certeza que é consistente

Obrigado pela ajuda :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.