Avant de créer une base de données relationnelle avec le graphe de liens, tracez votre base de données sur papier ou à l'écran. Dans le vocabulaire des bases de données, le plan que vous développez est appelé diagramme des liens d'entités.
Pour savoir comment concevoir une solution FileMaker Pro Advanced dans les grandes lignes, consultez la section Création d'une app personnalisée.
1. Déterminez les catégories d'informations dont votre base de données relationnelle a besoin. Ces catégories correspondront aux tables dans FileMaker Pro Advanced.
Par exemple, une solution Ventes peut utiliser les tables suivantes : Clients (qui stocke les données des clients), Factures (qui stocke les données de commande) et Produits (qui stocke les données sur les produits).
2. Déterminez la façon dont les tables sont liées entre elles. Pour cela, écrivez des phrases simples décrivant la façon dont les catégories vont interagir l'une avec l'autre, par exemple « produits des commandes clients » et « suivi de facturation des commandes clients ».
3. Connectez une table à l'autre pour indiquer un lien entre elles. Par exemple, les clients peuvent avoir des factures et les factures des produits.
Si une table n'a aucun lien avec une autre table, c'est qu'elle ne sert probablement à rien. Dans cet exemple, une table Employés n'a aucun sens dans cette base de données relationnelle.
4. Indiquez le type de lien entre les tables en les connectant au moyen d'un symbole représentatif.
•Dans un lien un à un, un enregistrement de Table A correspond à un enregistrement de Table B.
•Dans un lien un à plusieurs, un enregistrement de Table A correspond à plusieurs enregistrements de Table B.
•Dans un lien plusieurs à plusieurs, plusieurs enregistrements de Table A correspondent à plusieurs enregistrements de Table B.
Consultez la section A propos des liens.
Parmi les enseignements de cet exemple :
•Un client peut avoir plusieurs factures.
•Un produit peut apparaître dans plusieurs factures.
•Une facture peut contenir plusieurs produits
5. Notez qu'il existe un lien plusieurs à plusieurs entre Factures et Produits. Vous ne pouvez pas configurer de lien plusieurs à plusieurs directement entre deux tables.
Les bases de données relationnelles gèrent les liens un à un et un à plusieurs directement. Vous devez résoudre le lien plusieurs à plusieurs au moyen d'une table intermédiaire. Celle-ci divise le lien plusieurs à plusieurs en deux liens un à plusieurs. Pour résoudre le problème dans l'exemple fourni, ajoutez la table intermédiaire Articles pour stocker des informations sur les produits vendus.
Une fois le lien plusieurs à plusieurs résolu, cet exemple offre les enseignements suivants :
•Un client peut avoir plusieurs factures.
•Une facture peut contenir plusieurs articles.
•Un produit peut apparaître dans plusieurs articles.
6. Déterminez les rubriques dont chaque table a besoin.
Chaque table n'a qu'un seul objet et toutes les rubriques d'une table décrivent uniquement cet objet. Par exemple, les rubriques d'un enregistrement de la table Clients stockent la totalité des informations concernant un client.
Pour cette même raison, nous vous conseillons d'attribuer un numéro d'identification unique à chaque client. Dans votre base de données, il s'agit d'une clé primaire. Il est inutile de saisir un numéro d'identification client dans la table sauf si vous ajoutez un nouveau client. L'existence d'un numéro de client détermine donc l'existence d'un enregistrement. Une table Clients peut également contenir des rubriques relatives au nom du client, à son adresse et à son numéro de téléphone.
Une table Produits peut contenir des rubriques, telles qu'un numéro d'identification du produit, le prix à l'unité de chaque produit et la quantité en stock. Une table Articles peut contenir des rubriques, telles que les numéros d'identification des produits et des factures, le nom, le prix à l'unité, la quantité et le prix total de chaque produit vendu. Une table Factures peut contenir des rubriques, telles qu'un numéro d'identification des factures, la date de commande et le vendeur.
7. Déterminez la rubrique de clé primaire (ou les rubriques pour un lien à plusieurs critères) pour chaque table, puis indiquez-les dans votre plan. Indiquez ensuite la ou les rubriques de clé étrangère dans chaque table.
Dans cet exemple :
•Les clés primaires sont Clients::N° client, Factures::N° facture, Produits::N° produit et Articles::N° article.
•Les clés secondaires sont Factures::N° client et Articles::N° produit.
Pour afficher les données Clients dans la table Factures, les deux tables doivent avoir une rubrique en commun afin de créer un lien. N° client est cette rubrique. Dans la table Clients, il s'agit de la clé primaire. Dans la table Factures, il s'agit de la clé étrangère.
Dans la table Articles, N° produit est la rubrique que les tables Articles et Produits ont en commun. Dans la table N° produit, cette rubrique est la clé primaire. Dans la table Factures, cette rubrique est la clé étrangère.
Ces rubriques clés sont un type de rubrique source. Consultez la section A propos des liens.
8. Pour chacune des tables, choisissez les rubriques qui contiendront les données et définissez les rubriques qui seront utilisées à partir d'autres tables (liées).
L'objet d'une table permet de déterminer l'emplacement logique de stockage et d'utilisation des données d'une table liée. Outre les rubriques clés, les rubriques ne doivent apparaître qu'une fois dans votre base de données. Retirez les occurrences de rubrique n'appartenant pas à l'objet de la table.
9. Connectez chaque clé primaire à la clé étrangère qui lui correspond dans la table liée.
Le lien entre les tables s'explique par le fait que leurs rubriques clés contiennent des données qui correspondent aux critères du lien.
Ce plan indique à présent plusieurs choses :
•Un client peut avoir plusieurs factures différentes, mais une facture ne peut être associée qu'à un seul client.
•Une facture peut contenir plusieurs articles, mais une seule ligne pour chaque article apparaît sur une facture.
•Un produit peut apparaître dans plusieurs articles différents, mais à une ligne d'article correspond uniquement un produit.