Como posso mostrar um banco de dados graficamente?

7

Gostaria de fornecer uma visualização intuitiva e não técnica do meu banco de dados para pessoas familiarizadas com os dados subjacentes, mas não com o design do banco de dados. A figura será incluída em um artigo de revista e o público será principalmente estudantes e cientistas, muitos dos quais não entenderão conceitos como "muitos para muitos" ou chaves estrangeiras e primárias.

Meu objetivo é transmitir um entendimento conceitual, e não técnico, desses relacionamentos, e como eles são uma maneira útil de entender os dados em si. Uma descrição técnica e abrangente do banco de dados será fornecida como um apêndice.

Vejo que existem muitos tipos de diagramas de Entidade-Relacionamento , mas não tenho certeza de qual deles, se houver algum, é mais adequado para explicar um modelo de dados para o meu público. Talvez haja outra abordagem.

Como posso representar isso de uma maneira não técnica que evita chaves e fornece uma compreensão mais intuitiva dos relacionamentos entre tabelas?

Aqui está um exemplo do meu ponto de partida:

insira a descrição da imagem aqui

O banco de dados real terá 11 tabelas, incluindo 3 usadas para definir relacionamentos muitos para muitos e muitos campos que podem ser eliminados.

update: mas observe que não estou procurando uma maneira de criar um diagrama de ER. Estou procurando algo mais abstrato, que evite dependência de chaves.

Aqui está um esboço muito aproximado de uma idéia: ela usa sobreposição para mostrar hierarquia e uma borda em negrito na tabela principal e para mostrar o nível 'ideal' de abstração (se puder conter e comunicar as informações importantes). Felizmente, esses pontos podem expandir o escopo de possíveis soluções. É um "esboço" em que ainda não descobri como mapear esses elementos visuais para relacionamentos específicos.

insira a descrição da imagem aqui

Conforme discutido na meta deste site , essa pergunta está aberta e permanece sem resposta em stats.SE

Abe
fonte
11
Algumas pessoas publicaram respostas sobre quais ferramentas usar: temos uma pergunta anterior separada sobre quais ferramentas usar para criar diagramas de links de nós . (também, Abe diz (abaixo) é a abordagem não é a ferramenta que esta pergunta é sobre)
user56reinstatemonica8

Respostas:

4

Vou abordar isso de um ponto de vista puramente gráfico.

Olhando para o que basicamente é um banco de dados ... é um contêiner que contém vários itens incomparáveis. Para esse fim, eu abordaria isso como tal. O quanto você é literário ou abstrato depende da impressão desejada no leitor.

Você pode ser muito básico e abstrato:

  • Um balde cheio de brinquedos coloridos diferentes - cada brinquedo representa dados diferentes. Duplique um brinquedo específico para indicar dados semelhantes.
    brinquedos
  • um brinquedo de formas em que cada forma representa dados diferentes:
    formas
  • Uma caixa de ferramentas em que cada ferramenta possui dados diferentes:
    Caixa de ferramentas
  • Uma estante em que cada livro representa dados diferentes:
    estante de livros

Basicamente, qualquer coisa que possa ser classificada como um "contêiner" que contém itens variados. Eu, pessoalmente, acho que uma estante de livros é provavelmente a melhor opção aqui. Prateleira é igual a banco de dados, livros são iguais a tabelas e páginas são iguais a campos db.

Então você pode se tornar mais literário com o visual usando fluxogramas, como mencionado em outras respostas. Novamente, isso realmente depende do público e de quão básico você precisa ser com o visual. Vejo fluxogramas e perco o interesse quase imediatamente, mas vejo um pictograma usando imagens que reconheço e informações são transmitidas instantaneamente.

(todas as imagens disponíveis para compra em www.Dreamstime.com )

Scott
fonte
2

Sendo um designer gráfico que se tornou desenvolvedor da Web que se dedica ao gerenciamento de bancos de dados de tempos em tempos, costumo criar representações visuais dos dbs que preciso gerenciar para minha própria sanidade. Sou muito orientada visualmente, então isso me ajuda.

Com isso dito, do meu entendimento da sua pergunta, acredito que você já está no caminho certo. Eu continuaria representando cada uma das 11 tabelas com seus campos listados como você começou. Para os campos que se relacionam com campos em outras tabelas, eu desenharia as linhas da maneira mais organizada possível para suas contrapartes. Isso já é bastante não técnico.

Acho que o Wiki que você forneceu fornece uma boa visão para uma representação mais técnica, mas se você estiver tentando manter as coisas simples, eu apenas expandirei o exemplo que você forneceu.

ckpepper02
fonte
11
Obrigado por sua resposta - eu estava pensando que poderia abstrair ainda mais o conteúdo da tabela que não necessariamente exigiria o mapeamento individual dos campos nas tabelas para o diagrama.
Abe
2

Olhe para o Visio no Windows. Eu o usei no passado, com preços razoáveis, mas pode ajudar e para mim é um programa de diagrama bem arredondado. De acordo com sua pergunta, eu poderia ir com o Visio porque você pode usar ícones gráficos para exibir o que você precisa. Além disso, ao criar diagramas no Visio, ele pode testar seu banco de dados por relação e chaves.

Exemplos de Visio:

insira a descrição da imagem aqui insira a descrição da imagem aqui


Para mac, você pode criá-los no xcode, criando e escolhendo o diagrama de modelos.

**

Exemplo para xcode:

insira a descrição da imagem aqui


Alternativas de código aberto ao Visio:

  1. OpenOffice | LibreOffice Draw
  2. Dia
  3. LucidChart
  4. Diagramly
  5. Pencil Project

Espero que isso ajude e seja o que você está precisando e procurando.

DᴀʀᴛʜVᴀᴅᴇʀ
fonte
Obrigado pela sugestão, mas estou procurando uma abordagem mais intuitiva do que os exemplos que você fornece. Talvez exista outra abordagem que possa ser gerada usando uma dessas ferramentas, mas estou mais interessado na abordagem do que na ferramenta.
Abe
desculpas, mas eu estava passando pelo seu post e acho que você acabou de analisar tudo. Você afirmou The figure will be included in a journal article, and the audience is primarily students and scientists. Por essa suposição, eu assumiria que, pensando demais, o aspecto do design os confundiria e como Horatio afirmou non-technical people, you MUST avoid over charting. Além disso, pelo seu ponto de partida, você basicamente criou uma tabela como faria no Visio.
D 2Vᴀᴅᴇʀ
2

Para pessoas não técnicas, você DEVE evitar o excesso de gráficos. Você deve identificar as tabelas pai exclusivas e mostrar visualmente o conceito de muitos registros filhos para cada um, com no máximo três níveis de profundidade. Isso significará muito mais recursos visuais - em pedaços pequenos - com sobreposição.

Além disso, forneça definições básicas dos termos mais importantes como "muitos para 1". A maioria das pessoas não tem nenhum problema relacionado a um pai ou mãe com 5 filhos que compartilham um identificador.

A ilustração da sua amostra não é a melhor porque se baseia na palavra "muitos". Uma possibilidade é mostrar um único registro de autor com 3 registros de livros e a palavra "muitos" (tendo sido definida antes do uso) sobrepondo as 3 linhas que conectam os livros ao autor. A idéia é mostrar, não contar.

A próxima ilustração pode ser um pouco mais tradicional e, no final, você pode dizer mais do que mostrar, porque o conceito foi definido, ilustrado e depois usado.

horatio
fonte
1

Você pode experimentar o OmniGiraffe, que é um gerador de fluxograma para Mac. Eu o vi usado apenas uma ou duas vezes, por isso não posso falar sobre o quão bem ele funciona, mas pode ser adequado à sua conta.

Lauren-Clear-Monica-Ipsum
fonte
Obrigado pela sugestão, mas estou procurando mais uma abordagem do que uma ferramenta específica.
Abe