Tenho uma pergunta sobre modelagem:
Qual a vantagem de relacionar tabelas (usando chave estrangeira) se nunca for preciso usar cláusulas como UPDATE, DELETE… (pra promover efeitos de cascata etc) ? Nesse caso (tabelas que se relacionam mas não são dependentes umas das outras), não seria melhor deixar desconectado?
Por exemplo: Se eu tiver uma entidade chamada RELATÓRIO e outra chamada ALUNO. Em RELATÓRIO, deve haver um campo chamado Criador que deve fazer referência ao nome de algum ALUNO. Mas se algum dia esse aluno for descadastrado do banco, não vou querer apagar os relatórios que ele fez. Eles podem continuar existindo, com um registro do nome do aluno, mesmo que esse nome não signifique nada pro banco.
Portanto, não seria melhor deixar o “relacionamento” a nível de aplicação, fazendo o campo Criador ser um VARCHAR? A aplicação vai setar Criador com um nome de aluno, sem que o banco precise saber disso… então eles estariam relacionados, mas a existência de um não dependeria do outro…