Dúvida - modelo relacional

Dúvida - modelo relacional

por Claudio Henrique Pizarro da Silva -
Número de respostas: 2

Por favor,

Recebi em mãos um modelo relacional real, reconheci todos os elementos ensinados em sala de aula, porém notei que há relacões unidas por linhas cheias e outras por linhas tracejadas, o que seriam estas tracejadas?

Muito obrigado,

Atenciosamente

Em resposta à Claudio Henrique Pizarro da Silva

Re: Dúvida - modelo relacional

por Rafael Sampaio -

Oi, Cláudio!

Seria interessante saber a procedência desse diagrama. Alguns softwares exibem uma notação particular, que, normalmente, pode ser depreendida comparando-se as características dos relacionamentos. Dessa forma, vou apenas "arriscar" o que imagino que seja (mas me mande o diagrama, se você tiver): - integridade referencial.

Vou tentar explicar o conceito com um exemplo. Imagine que você vai cadastrar os seus DVDs de shows. Mas você tem vários títulos do Coldplay, Genesis, U2 etc. Então, você vai criar um relacionamento que mapeará os DVDs às bandas através de uma chave. Por exemplo, banda_id. A sua tabela DVD terá uma chave primária DVD_id e uma chave estrangeira banda_id.  E a sua tabela de BANDA terá uma chave primária banda_id. Tudo bem?

Num banco de dados em que existe integridade referencial, se existir uma tupla na tabela DVD relacionada a uma tupla de BANDA e você tentar apagar tal tupla de BANDA, o banco de dados gerará um erro. Isso porque você está tentando eliminar uma banda que está sendo "usada" por outra tabela (DVD).  Quando não existe integridade referencial, você aceita que pode haver chaves estrangeiras quebradas.

Esse tipo de restrição dá origem a algumas opções "perigosas" para consultas de remoção, como é o CASCADE, que, na situação acima, eliminaria a banda desejada, mas também todos os DVDs daquela banda.

No SQL Server, por exemplo, utiliza-se a linha pontilhada quando não há integridade referencial, e linha contínua caso contrário. De toda forma, é um palpite apenas!

Abraço,
Rafael