Estou usando o LaTeX ou outra ferramenta/biblioteca de macro de texto. Como posso (1) usar texto em linguagem natural para descrever relacionamentos e, em seguida, (2) gerar um Diagrama de Entidade-Relacionamento e (3) gerar SQL DDL para criar o esquema de banco de dados a partir dele?
relate perguntas
-
Os índices filtrados podem ajudar a melhorar as consultas baseadas em uma hora inserida ou isso deve ser evitado?
-
Qual é a diferença entre os tipos de dados MySQL VARCHAR e TEXT?
-
É melhor armazenar os valores calculados ou recalculá-los a pedido? [duplicado]
-
Armazenar vs calcular valores agregados
-
Quais são algumas maneiras de implementar um relacionamento muitos-para-muitos em um data warehouse?
Existem muitas maneiras de fazer isso, mas a coisa mais importante a saber é que existe um nome para o que você deseja fazer: Modelagem de Função de Objeto . É um processo para criar modelos conceituais usando semântica de linguagem natural.
Esta é uma visão geral muito boa (ainda que antiga) do processo.
A página da Wikipedia para ORM tem uma lista bastante completa das ferramentas disponíveis, muitas das quais são gratuitas.
A solução mais atualizada é NORMA , pois é mantida ativamente pela ORM Foundation , mas é um plug-in que requer o Visual Studio.
Se você não tem o Visual Studio, parece que o Infagon ainda está bastante desenvolvido e pode ser sua melhor aposta.
Também vale a pena dar uma olhada no CaseTalk . Gratuito para estudantes e educadores, mas comercial de outra forma.
Acho que vou escrever o SQL manualmente e gerar um diagrama usando o SchemaSpy.
A menos que você possa pensar em um mais rápido; maneira mais eficiente?
Eu fiz algo assim uma vez com uma ferramenta de análise de documentos que escrevi. Ele retiraria comentários especialmente formatados de uma instrução DDL e produziria um dicionário de dados. Isso foi renderizado com LaTeX. No entanto, ainda tive que fazer engenharia reversa do banco de dados no Visio para fazer diagramas ER.
Para um subconjunto limitado de SQL necessário para analisar as instruções de criação de tabela, não foi muito difícil escrever o analisador. Eu o tive trabalhando em alguns fins de semana.
Ei, se for alguma ajuda, usei o visio para criar meu ERD e reverenciá-lo no banco de dados usando sua ferramenta de engenharia reversa, que fornece suporte de engenharia reversa para ms access, ms sql server, ...