Modo relação: clique na tabela de origem, depois na de destino. Esc para cancelar.
Modo relação: clique na tabela de origem, depois na de destino. Esc para cancelar.
id marcado como PK. Clique nela para editar o nome e os campos no painel à direita.VARCHAR(150)] e marque as flags que se aplicam: PK [chave primária], FK [chave estrangeira], NN [obrigatório] e UQ [único]. Use "+ Adicionar campo" para incluir mais linhas.1, 0..1, 1..N ou 0..N. Um rótulo opcional pode ser adicionado.CREATE TABLE pronto, com um botão para copiar..svg, pronto para uma aula, slide ou post..json para guardar ou retomar depois, sem conta nem nuvem.MER [Modelo Entidade-Relacionamento] é o modelo conceitual dos dados de um domínio, descrito por entidades, atributos e relacionamentos, sem depender de banco nenhum. Foi proposto por Peter Chen em 1976.
DER [Diagrama Entidade-Relacionamento] é a representação gráfica desse modelo, o desenho com as entidades e as ligações entre elas. No uso diário, muita gente trata MER e DER como sinônimos; a rigor, o MER é o modelo e o DER é o diagrama que mostra o modelo.
Este app trabalha no DER: você desenha as entidades [tabelas], os atributos [campos] e os relacionamentos [com cardinalidade em notação Crow's Foot] e exporta o resultado como SQL.
CREATE TABLE] no dialeto do banco [MySQL, PostgreSQL ou SQLite], gerado pelo botão "Exportar SQL".Notação. Este app desenha a cardinalidade em Crow's Foot [pé de galinha], a mais usada no mercado. O pé de galinha [três traços] marca o lado "muitos".
| Tabela [entidade] | Representa um conjunto de dados do mesmo tipo, por exemplo cliente ou pedido. Vira uma tabela real no banco de dados. |
|---|---|
| Campo [coluna] | Cada informação guardada dentro de uma tabela, por exemplo o campo nome dentro da tabela cliente. |
| PK, chave primária | O campo que identifica cada linha de forma única dentro da tabela [não se repete]. Toda tabela deveria ter uma. |
| FK, chave estrangeira | Um campo que aponta para a chave primária de outra tabela, criando a ligação entre elas [a relação]. |
| NN, NOT NULL | Marca um campo como obrigatório: nenhuma linha pode ficar sem esse valor preenchido. |
| UQ, único | Marca um campo cujo valor não pode se repetir entre as linhas da tabela, mesmo não sendo a chave primária. |
| Relação | A ligação entre duas tabelas; no diagrama, a linha desenhada entre elas, com uma FK por trás. |
| Cardinalidade | Quantas linhas de um lado da relação podem se ligar a quantas do outro lado: 1 [exatamente uma], 0..1 [zero ou uma], 1..N [uma ou muitas], 0..N [zero ou muitas]. |
| Notação Crow's Foot [pé de galinha] | O jeito de desenhar a cardinalidade nas pontas da linha de relação; o pé de galinha [três traços] indica o lado "muitos". É a notação mais usada no mercado e a que este app desenha. |
| MER, Modelo Entidade-Relacionamento | O modelo conceitual dos dados [entidades, atributos e relacionamentos], independente de banco. Proposto por Peter Chen em 1976. Ver "MER e DER". |
| DER, Diagrama Entidade-Relacionamento | A representação gráfica do MER: o desenho com as tabelas e as relações entre elas, que é o que este app produz. |
| DDL, Data Definition Language | A parte do SQL usada para criar e alterar a estrutura do banco; o comando CREATE TABLE que este app exporta é DDL. |
| Dialeto SQL | Cada banco [MySQL, PostgreSQL, SQLite] tem pequenas variações na sintaxe do SQL; o app gera o script já ajustado ao dialeto escolhido. |
| Tipo de dado | Define que espécie de valor um campo guarda, por exemplo INT [número inteiro], VARCHAR(150) [texto de até 150 caracteres] ou DATE [data]. |