Pergunta

Uma das coisas que me confunde sobre ERDs é se eles fazem qualquer prescrição sobre como seus relacionamentos devem ser implementados tecnologicamente.

No diagrama abaixo Eu não tenho certeza se o diagrama requer essas relações a serem implementadas no nível de banco de dados ou no nível do aplicativo.

É fazer quaisquer prescrições tecnológicas ou simplesmente definindo o relacionamento e deixá-lo até a mim decidir como implementá-lo?

Será que eu preciso para ter mais informações do criador do ERD antes de construir algo que se baseia em que?

text alt

Foi útil?

Solução

Um ERD não é uma "receita tecnológica" como você diz, mas simplesmente uma representação de relações lógicas.

Como você implementá-lo - no banco de dados ou a aplicação -. É com você

Mas o banco de dados é o local apropriado para fazer cumprir essas relações.

Outras dicas

Parece que você está transformando o problema de cabeça para baixo.

A resposta é claro: não, não há nada que irá forçá-lo a criar relações no banco de dados. Mas por que você não faz isso?

É por isso que o banco de dados é chamado banco de dados relacional - porque lhe oferece uma solução para essa questão que está prontamente disponível, bem integrado com ferramentas e persistência camadas, e as suas consequências para os desenvolvedores de aplicativos estão bem compreendida.

Seria loucura não implementar relações no nível de banco de dados.

Um ERD diagrama é um diagrama lógico que as relações entidade shows e sua cardinalidade embora possa interpretado como um diagrama de relação de tabela ou um diagrama de classe, ao mesmo tempo, no entanto, não é nem deles e você ainda vai precisar dos outros diagramas.

BTW, tanto quanto eu sei que é sempre bom ter relações aplicadas em seu modelo de banco de dados para manter a consistência do banco de dados.

Eu diria ser tão redundante quanto possível quando se trata de validação de dados que está sendo colocado em seu banco de dados.

cheques fazer no lado do aplicativo para garantir que tipo uniquness / data de validade é tudo bem. E estruturar o banco de dados para ter todas as relações de que necessita.

Não basta deixar o banco de dados / aplicação assumir que tudo está correto.

Isto pode poupar-lhe várias horas de fixação de registros órfãos e questões de consistência.

"É fazer quaisquer prescrições tecnológicas ..."

Ele não se parece com código. Talvez eu estou faltando alguma coisa.

"ou simplesmente definindo o relacionamento e deixá-lo até a mim decidir como implementá-lo?"

Isso depende de seu cliente.

Se eles acham que o diagrama é isomorfo ao código, então você vai ter que entender as peças que faltam de convenção ou de contexto.

Se eles não acho que o diagrama é isomorphic ao código, então você terá que decidir como implementá-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top