Bonjour,

Je me pose la question de savoir quelle est la meilleure architecture pour stocker une famille dans une base de données.

La famille est composée:
- Du père
- De la mère
- Des enfants

La famille a la même adresse.

Le père & la mère ont chacun un nom, un prénom, un age, etc. plus un certain nombre de paramètres spécifiques pour mon application

Les enfants ont eux aussi un nom, un prénom et un age plus des paramètres spécifiques de format différent des paramètres des parents

Enfant, l'ensemble de la famille doit avoir un seul et même numéro. L'adresse est commune à toute la famille.

Je voudrais savoir quelle est la meilleure solution pour structurer la base (sachant que je compte utiliser linq pour travailler en objet)

J'ai fait ceci:

Une table famille:
- N° Famille en clef primaire
- Adresse

Une table parents:
- N° parent en clef primaire
- N° Famille en FK sur la table famille
- Un champ qui permet de savoir si c'est le pere ou la mere
- Un champ Nom, prenom
- Mes champs spécifiques

Une table enfants:
- N° enfant en clef primaire
- N° Famille en FK sur la table famille
- Un champ nom prenom, etc...
- Mes champs spécifiques

=> J'ai réfléchis par A+B et cela me semble être la meilleure solution.

Cependant, on m'a conseillé de supprimer la table famille mais cela me gène pour deux raisons:
- Le champ adresse sera en double (quoi que on peut imaginer des cas ou le père et la mère sont séparés
- Il n'y a plus de N° de famille donc la structure ressemble à ça:

Une table parents:
- N° Famille en Clef Primaire
- Un champ qui permet de savoir si c'est le pere ou la mere en Clef Primaire aussi
- Un champ Nom, prenom
- Mes champs spécifiques

Une table enfants:
- N° enfant en clef primaire
- N° Famille en FK sur la table parents => Big problème ici car on fait une FK sur une moitié de clef primaire !
- Un champ nom prenom, etc...
- Mes champs spécifiques

Donc voila n'hésitez pas à me dire si ma solution est correcte ou si c'est de la grosse merde.
Je cherche vraiment la perfection donc allez y franco. Peut être qu'il existe d'autres solutions que je n'ai pas imaginé donc n'hésitez pas !

D'avance merci

A+