2010-07-03 6 views
1

par exemple, accédez à l'exemple db, chaque enregistrement étudiant a une table imbriquée sur les tuteurs. http://img101.imageshack.us/img101/9881/53882937.jpgPuis-je créer des tables imbriquées sur MySQL?

+0

Comment voulez-vous imbriquées? Est-ce différent d'ajouter des colonnes supplémentaires "GuardianName, GuardianEmail", ou d'ajouter une table GuardianDetails (ou plus généralement Contact) et de la rajouter à la table des étudiants, ou autre chose? – Rup

+0

ajouter une table dans la table, dans l'exemple les tuteurs sont dans le dossier étudiant – SomeUser

+0

Est-ce vraiment une "table imbriquée"? Cela ressemble à une interface utilisateur qui montre des Gardiens pour l'Étudiant sélectionné. Dans la liste des tableaux sur le côté gauche, je vois à la fois les étudiants et les gardiens. – Ken

Répondre

6

No. Quelque chose comme ça est presque toujours fait comme une table de correspondance unique pour tous les étudiants, avec un pointage de colonne de clé étrangère à la table student pour spécifier étudiant une ligne particulière concerne.

Il suffit ensuite de filtrer la table pour qu'elle corresponde à un étudiant donné et de présenter cette liste sans colonne d'étudiant dans l'interface utilisateur. Cela ressemble à une table séparée pour l'utilisateur, mais ce n'est pas vraiment la façon dont il est stocké.

(Si vous avez créer une table guardians distincte pour chaque étudiant, vous feriez qu'il est impossible de faire des requêtes telles que "trouver des étudiants pour un tuteur particulier.)

+0

En variante, si par ex. vous vouliez suivre les enregistrements des tuteurs pour les frères et sœurs, vous pouvez utiliser une table de connexion: une table des étudiants, une table des tuteurs (sans la FKR) et une table des étudiants avec deux paires d'ID et de tuteur. ID, chaque FKRed à la table appropriée. Vous avez alors une cartographie plusieurs-à-plusieurs entre les étudiants et les tuteurs. (C'est peut-être ce que la table 'étudiants et tuteurs' est dans votre capture d'écran.) Bien que dans ce cas vous pouvez déplacer la valeur 'relation' dans la table de jointure. – Rup

Questions connexes