Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jack O'Brian

Design de Banco de Dados

Recommended Posts

Bem, como já dito na descrição do tópico, estou criando um site de música e tenho certas dúvidas em sua organização. Levando em consideração que eu estou completamente enrolado, baixei o DBDesigner4 pra ver se me ajudava em alguma coisa.

 

Imagem Postada

 

Esse foi o resultado da minha tentativa em criar um banco de dados com as informações básicas que eu preciso.

 

O objetivo do site é possuir todas as informações possíveis sobre todas as bandas de rock e metal existentes. Logo, teoricamente, o site tem que possuir informações sobre:

- Bandas (nome da banda, integrantes, ex-integrantes)

- Artistas (nome do artista, se toca algum instrumento e se canta[vocal/back vocal] )

- CDs (nome do cd, informação resumida sobre o cd, tempo de duração, quantidade de músicas)

- Vídeos (nome do vídeo, tempo de duração)

- Músicas (nome da música, tempo de duração)

- Período de Atuação (início e término da banda)

- Estilo Musical (ex: black metal, metalcore, ....)

- Tablaturas e Partituras

- Letras e Traduções

- Fotos (caminho da foto[ex: images/foto.jpg], legenda da foto]

- Agenda de Shows (Data, local, nome do evento)

- Gravadoras (nome da gravadora)

- Compositores (nome do compositor)

- país (nome do país, abreviação)

entre outras possíveis informações...

 

Na foto acima, obviamente eu não botei nem metade.

Mas o que eu queria entender é o seguinte...

 

Se cada banda tem muitos artistas (1 para N), e cada artista pode ter várias bandas (1 para N), então o certo seria criar uma tabela separada para juntar Bandas e Artistas (N para N), correto?

Sendo assim, para cada CD, teria uma linha com os campos Banda_ID(recebendo ID_Banda da tabela Banda) e CD_ID (recebendo ID_CD da tabela CD).

 

Se alguém puder me dar idéias para compor o resto do Banco de Dados e conferir o acima já existente, assim como me dar idéias de como usar tais informações corretamente, estamos ai... Estou procurando gente que curta a idéia de um site de música f***, para botar isso ai pra funcionar a todo vapor. E que se possível entenda de HTML, CSS, Javascript, PHP+Mysql...

 

Agradeço desde já a todos...

Para quem quiser manter contato....

Orkut

MSN = jack_obrian27@hotmail.com

E-mail = jack.obrian27@gmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ora aqui está um problema interessante e que não vai ser fácil de resolver.

 

Pessoalmente não gosto de relações N para N, simplesmente não uso e não acho uma boa forma de programar. Neste caso parece-me que simplesmente nem vai servir. Com a solução que estás a apontar vais cair na situação em que uma banda tem em cada momento todos os artistas que já a constituiram.

 

Esta é a minha solução. Considerar uma tabela com as bandas (master), uma tabela com versões das bandas (master) com uma chave composta pela banda da tabela anterior e uma chave que identifica a versão da banda, uma tabela dos artistas (master) e uma tabela que associa artistas a versões das bandas - esta solução pode ser refinada com campos cronológicos na tabela das versões das bandas ,não necessáriamente datas, por exemplo, 1998-2003 ou JUN 1998 - FEV 2003.

Esta estrutura permite-te ter informação da evolução das bandas e do percurso dos artistas. Naturalmente esta solução exige mais do código (ou não) mas parece-me bastante mais funcional para os objectivos pretendidos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu mudaria o seguinte:

 

na tabela artista - deixaria só o id_artista como PK

 

e na tabela astista_has_banda tiraria o artista_pais_id_pais, se o id_artista é auto incremento, não se repetir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas algumas perguntas para refletir...

 

Todo artista necessariamente tem uma banda?

Toda música necessariamente esta em um CD?

A tabela CD neste caso tem conceito amplo? DVDs, albuns digitais, serão considerados como CDs ou estes tipos de trabalhos não fazem parte do seu site?

Gravadora no seu modelo esta meio solto, perdido, nem todo "CD" necessariamente possui uma gravadora, mas é um caso a se pensar.

 

Por enquanto é tudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.