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:
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.
Conforme discutido na meta deste site , essa pergunta está aberta e permanece sem resposta em stats.SE
Respostas:
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:
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 )
fonte
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.
fonte
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:
Para mac, você pode criá-los no xcode, criando e escolhendo o diagrama de modelos.
**
Exemplo para xcode:
Alternativas de código aberto ao Visio:
Espero que isso ajude e seja o que você está precisando e procurando.
fonte
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 afirmounon-technical people, you MUST avoid over charting
. Além disso, pelo seu ponto de partida, você basicamente criou uma tabela como faria no Visio.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.
fonte
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.
fonte