Relative Content

Tag Archive for sqlmysqlentity-relationshipcardinality

Como lidar com diferentes obrigatoriedades/cardinalidades em relacionamentos com SQL?

Me surgiu uma dúvida grande em relação a como descrever diferentes obrigatoriedades em relacionementos com SQL, para entender melhor fiz a imagem utilizando o MySQL Workbench (antes que perguntem, sim, tentei usar a ferramenta que transforma os diagramas em código SQL mas ela mesma pareceu não saber como indicar essas obrigatoriedades peculiares, com exceção das três que marquei em verde na imagem) para representar as obrigatoriedades que são mais simples de serem descritas via SQL e as que ainda não sei como.
Na relação entre table3 e table4 não há nada que indique que a tabela que recebeu a chave estrangeira é opcional para a tabela que a forneceu, ao menos eu não encontrei.
Na relação entre table 7 e 8 a mesma coisa, há dois ‘mínimo 0’, mas só o da tabela 8 para a 7 é fácil de descrever (basta deixar a chave estrangeira como nullable), o contrário não.
Nas relações representativas à direita as coisas ficam ainda mais estranhas:
A relação entre a tabela 11 e 12 sofre do mesmo problema que comentei nas anteriores; já a relação entre 13 e 14 não faz sentido, visto que a tabela 13 não pode receber dados nulos na chave estrangeira já que ela também é chave primária; já a última relação (tabelas 15 e 16) sofre de ambos os problemas ao mesmo tempo.