Bonjour DontShootMe (),
Eh bien, ce n'est déjà pas si mal !...
Tout d'abord, tu as, semble-t-il, des difficultés avec les relations n,n : un petit tour sur ce billet de CinePhil qui balaye tous les cas possibles.
Ensuite :
Personne(idPersonne, pseudo)
Adresse(idAdresse, addresse)
CanalCommunication(idCanalCommunication, libelle)
TypeDeCanalCommunication(idTypeDeCanalCommunication, libelle)
Lieu(idLieu, libelle)
Envoyé par
DontShootMe
une personne est unique
une personne possède 0 ou N adresse
une adresse est possédée par 1 ou N personne
==> Personne_Adresse(#idPersonne, #idAdresse, ...)
Envoyé par
DontShootMe
une adresse est située dans un lieu pour une personne
un lieu pour une personne situe une adresse
==> un "type d'adresse" semble un terme plus approprié : Personne_Adresse(#idPersonne, #idAdresse, #idLieu, ...)
Envoyé par
DontShootMe
Une personne utilise 0 ou N CanalCommunication
Un CanalCommunication est utilise par 0 ou N personne
Un CanalCommunication est attaché à un 0 ou 1 lieu d'une personne
==> la 3ème règle ne me paraît pas pertinente (à débattre). Suggestion : Personne_CanalCommunication(#idPersonne, #idCanalCommunication, ...)
Envoyé par
DontShootMe
Un TypeDeCanalCommunication type 0 ou N CanalCommunication
Un CanalCommunication est typé par 0 ou N CanalCommunication
==> CanalCommunication_TypeDeCanalCommunication(#idCanalCommunication, #idTypeDeCanalCommunication, ...)
Envoyé par
DontShootMe
Un TypeDeCanalCommunication pour une personne type 1 CanalCommunication
Un CanalCommunication pour une personne est typé par 0 ou N TypeDeCanalCommunication
==> Personne_CanalCommunication(#idPersonne, #idCanalCommunication, #idTypeDeCanalCommunication, ...) ==> {#idCanalCommunication[/U], #idTypeDeCanalCommunication} référençant un couple existant de CanalCommunication_TypeDeCanalCommunication.
Cela pourrait constituer une base de travail.
Pour imager la chose, je te suggère de modéliser tes données avec un logiciel adéquat (par exemple, JMerise est gratuit et très simple d'utilisation).
Partager