Structure BD hiérarchique
Une BD hiérarchique est une BD avec une structure d'arborescence dont chaque nœud a un seul parent. Dans MobileTogether, les relations entre les tables sont utilisées pour construire la structure de l'arborescence des sources de page. Une relation entre deux BD tables est définie soit (i) dans la BD de données (à travers les clés étrangères), soit (ii) dans le fichier design (dans la définition de la structure source-page BD). Les relations peuvent être utilisées de manière flexible pour définir la structure de la source de page. Par exemple, un enregistrement d’auteur peut avoir des enregistrements de livres enfants. De manière alternative, un enregistrement de livre peut avoir des enregistrements enfants d’auteurs La relation hiérarchique est utile quand les enregistrements sont représentés dans le design. Par exemple, un enregistrement d’auteur peut être créé comme commande de table dans le design, et les enregistrements de livres de l’auteur (d’une autre table de BD) peuvent être créés comme lignes de cette commande de table. (Notez la distinction entre les deux types de table dans cette discussion: table BD et commande de table.) De plus, lorsque les données sont réenregistrées dans la BD, les données sont enregistrées dans les tables BD respectives et les lignes correctes de ces tables BD selon la relation entre les tables BD.
Dans la BD de notre tutoriel, nous avons deux tables, Auteurs et Livres, avec les colonnes suivantes.
Auteurs | Livres |
Author_ID (PK) | Book_ID (PK) |
AuthorName | Titre |
Site Web | AuthorID (FK) = Authors.Author_ID |
Pays | ISBN |
Info | Éditeur |
NumPages | |
Année | |
Genre | |
BookCover | |
Prix |
La table Books est associée à la table Auteurs via la colonne Books.Author_ID, qui est la clé étrangère de la table Livres. Elle met en lien chaque livre avec un auteur en spécifiant l’entier qui est l’Authors.Author_ID dans la table Auteurs.
Quand nous ajoutons notre source de page BD, nous pouvons sélectionner la table Authors comme table principale, puis spécifier la table Books comme sa table (enfant) associée. Ceci créera automatiquement une hiérarchie en raison de la relation de la clé étrangère dans la BD. Chaque auteur aura zéro ou plus d’enfants livres - ces enregistrements livres dans la BD qui ont une clé étrangère égale à l’Author_ID de l’auteur. L’arborescence hiérarchique seraient représentée comme dans la capture d’écran ci-dessous de notre source de page \$BookCatalog.
Dans l’arborescence ci-dessus, notez que chaque nœud Auteur peut avoir des nœuds enfant Livre multiples - car de multiples livres peuvent être associés à un auteur (via la clé étrangère du livre). Le nœud Livre dans la source de page représente tous les livres qui peuvent appartenir au nœud Auteur. Le nœud Auteur représente tous les auteurs dans la BD. De cette manière, l’arborescence décrit une structure de nœuds Auteur avec leurs enfants Book respectifs.
Notez également que la clé étrangère de la table Books est automatiquement cachée dans la source de page. Ceci est dû au fait que la clé étrangère est le lien entre les tables et ne devrait pas être modifiée.