Projeto de Banco de Dados – Parte 4

Neste momento, chegamos ao primeiro passo de um projeto, ou seja, desenhar o modelo conceitual.

Até então, vimos todos os conceitos necessários para iniciar este passo. Agora veremos na prática o desenvolvimento de um modelo conceitual e, partindo dele, continuaremos seguindo os próximos passos na construção de um projeto completo.

Agora que conhecemos todos os conceitos necessários para a construção de uma modelo conceitual, através do Diagrama Entidade-Relacionamento (DER), podemos finalmente iniciar esta modelagem.

OK. Já sabemos o que temos que fazer, mas afinal, com base em que iremos iniciar? A informação que necessitamos neste momento é a descrição dos requisitos, que será obtida através de entrevistas com o cliente, ou “dono” da realidade a ser modelada. Vamos então começar por aí.

A próxima seção é a descrição da realidade a ser modelada e, como não poderia deixar de ser, esta realidade é a desenvolvida por Carlos Tsuyoshi Matsuki e apresentada na coluna Desafio das edições 41 a 44. Um obrigado especial ao Carlos por me permitir utilizar o seu estudo de caso.

Descrição dos Requisitos – “Minha coleção de CDs e controle de empréstimo”

“Com o avanço cada vez mais acentuado das tecnologias, comprar CDs vem se tornando algo quase obsoleto, ultrapassado.... hoje em dia é muito mais fácil baixar as músicas da Internet, trocar arquivos mp3, etc..., do que comprar CDs dos quais você gosta de umas 3 ou 4 músicas, e o resto você simplesmente ignora.

Mas podem me chamar de velho, saudosista: eu ainda compro CDs... e como eu tenho uma coleção razoavelmente grande de CDs (em torno de 1000 CDs, todos originais - para alguém que não vive de música é uma boa quantidade) muitos de meus amigos me pedem CDs emprestados, mas sempre esqueço de algum CD que emprestei (já perdi alguns).

Então o que eu proponho é um banco de dados onde eu possa cadastrar meus CDs, podendo fazer uma busca por músicas, gêneros, cantor(a), conjunto, etc..., junto com um controle sobre meus “empréstimos” de CDs para meus amigos...

Primeiro, vamos definir que informações serão necessárias para esta modelagem:

  1. Sobre os autores, gostaria de informações sobre cada uma das bandas/cantores/cantoras: nome, ano e local de origem, gênero do artista (punk, rock, ska, MPB, etc...), um pequeno texto descritivo da banda... além disso, gostaria de informações adicionais sobre os artistas de influência da banda, além das bandas com um tipo de música parecido, e o número de CDs que estão no cadastro; Como artista devemos cadastrar também um artista chamado “vários”, o que usaremos para os artistas de CDs de trilhas sonoras e/ou coletâneas.
  2. Sobre os CDs, gostaria de saber a informação sobre o autor, título, número de CDs (existem CDs duplos ou coleções com vários CDs), categoria do CD (cantor(a) nacional, internacional, banda internacional, trilha sonora, coletânea, etc..) além das músicas em si.
  3. Para facilitar o trabalho aqui, só haverá cadastro de músicas diretamente relacionados com os CDs, isto é, não é necessário um cadastro de músicas e depois um relacionamento entre as músicas e os CDs – isto quer dizer que algumas músicas podem ser cadastradas mais de uma vez, mas sempre relacionado a diferentes CDs.
  4. Nas informações das músicas, pode-se colocar uma informação do tipo de gravação (estúdio – que é o valor default, ao vivo, unplugged) e, para os CDs de coletânea, trilha sonora ou qualquer tipo de colaboração de outro artista em alguma música devemos ter qual o artista está cantando/colaborando na música (aqui algumas observações: não é necessário colocar como colaboração o próprio artista autor do CD, apenas os artistas que participaram na música como dueto, etc.; para coletâneas e trilhas sonoras os artistas devem ser relacionados com a música; e, finalmente, pode haver mais de 1 artista colaborando em determinada música).
  5. Sendo assim, quando se for fazer uma busca neste banco por música, teremos a informação se esta é uma versão ao vivo, ou se formos fazer uma busca por artista teremos como encontrar músicas deste artista que fazem parte de alguma coletânea e/ou colaboração em um CD de outro artista.
  6. Todos os artistas mencionados até aqui (artistas de influência da banda, artistas relacionados e/ou que fazem parte de alguma coletânea/trilha sonora) devem fazer parte do cadastro de artistas, independente de se existir ou não CDs para eles!
  7. E finalmente sobre o controle de meus CDs, para mim não seria necessário um “cadastro de usuários”, pois os “usuários” seriam todos conhecidos... assim, para o controle de empréstimos seria apenas necessário o código do CD, a pessoa que retirou (nome e/ou apelido) e a data de retirada.”

Bom, agora já temos com o que nos basear. A descrição dos requisitos é fundamental para iniciar nossos trabalhos, pois é com base nesta descrição que saberemos exatamente o que vamos modelar, ou seja, qual a realidade que se pretende interpretar e modelar em um banco de dados.

Iniciando a modelagem - Definindo as entidades

São várias as maneiras de se iniciar a modelagem de uma realidade, mas uma das mais interessantes e adotada por muitos Arquitetos de Dados é analisar a descrição dos requisitos e “pinçar” as informações mais relevantes. Esta técnica facilita muito a descoberta das entidades principais da realidade a ser modelada e estas serão as primeiras entidades desenhadas no modelo conceitual, será a “espinha dorsal” do modelo.

Seguindo por esta metodologia, observamos que os parágrafos 1 (“Sobre os autores...”), 2 (“Sobre os CDs...”) e 7 (“E finalmente...”) possuem as informações mais relevantes para o nosso problema.

Nestes três parágrafos, podemos extrair quatro entidades principais: CDs, músicas, artistas e usuários. Perceba que todas as informações da descrição giram em torno destas quatro entidades, portanto, podemos considerá-las como as principais do nosso banco de dados.

Bom, já temos material para começar a desenvolver o nosso modelo conceitual. Veja na Figura 1 as primeiras entidades modeladas.

Figura 1. Entidades principais do modelo conceitual, de acordo com a descrição de requisitos.

Temos agora que refinar um pouco mais a análise dos requisitos para encontrar outras possíveis entidades para o nosso modelo.

Perceba no parágrafo 1, “... gênero do artista (punk, rock, ska, MPB, etc...) ...” e no parágrafo 2, “...categoria do CD (cantor(a) nacional, internacional, banda internacional, trilha sonora, coletânea, etc..) ...” que identificamos gênero do artista e categoria do CD como informações candidatas a se tornarem entidades. A explicação é que são informações que podem conter uma série de valores possíveis. Nestes casos, definimos essas informações também como entidades, o que nos leva ao modelo apresentado na Figura 2.

Figura 2. Entidades definidas com base na análise dos requisitos.

Como já dissemos anteriormente, vários modelos diferentes podem representar a mesma realidade modelada. Tenha certeza que o “feeling ...

Quer ler esse conteúdo completo? Tenha acesso completo