Accéder au schéma de données. Schéma de base de données dans l'accès

Maison / Routeurs

Thème 2.3. Logiciels de présentation et bases de la programmation bureautique

Thème 2.4. Systèmes de gestion de bases de données et systèmes experts

2.4.11. Base de données de formation avec le formulaire principal "Training_students" - Télécharger

SGBD et systèmes experts

2.4. Systèmes de gestion de bases de données et systèmes experts

2.4.3. Création d'une base de données (établissement de relations entre les tables et remplissage des tables)

2.4.3.2. Établir des relations entre les tables dans le SGBD Access

Après avoir créé la structure des tables (Étudiants, Groupes d'étudiants, Disciplines, Progression académique) pour les entités de la base de données « Décanat », il est nécessaire d'établir des connexions entre les tables. Les relations entre les tables de la base de données sont utilisées lors de la génération de requêtes, du développement de formulaires et de la création de rapports.

Pour créer des relations, vous devez fermer toutes les tables et sélectionner la commande "Schéma de données" dans le menu Outils ; la boîte de dialogue active "Ajouter une table" apparaîtra sur l'arrière-plan de la fenêtre Schéma de données inactive.


Riz. 1.

Dans la boîte de dialogue Ajouter des tables qui apparaît, sélectionnez les noms des tables et cliquez sur le bouton Ajouter, et les tables seront ajoutées dans la fenêtre « Schéma de données ». Une fois que toutes les tables apparaissent dans la fenêtre Schéma de données, vous devez fermer la fenêtre Ajouter une table en cliquant avec le bouton gauche sur le bouton Fermer.



Riz. 2.

L'étape suivante consiste à établir des relations entre les tables dans la fenêtre Schéma de données. Pour ce faire, dans la fenêtre Schéma de données, vous devez faire glisser (déplacer) le champ Code de groupe de la table Groupes vers le champ correspondant dans la table Étudiants. À la suite de cette opération, la fenêtre « Modifier les liens » apparaîtra ;

Dans la boîte de dialogue "Modifier les relations" qui apparaît, vous devez cocher les cases : "Assurer l'intégrité des données", "Mise à jour en cascade des champs associés" et "Suppression en cascade des enregistrements associés", assurez-vous que le type de relation est défini sur un -à-plusieurs et cliquez sur le bouton Créer.



Riz. 3.

Dans la fenêtre Schéma de données, une relation un-à-plusieurs apparaît entre les tables Groupes d'étudiants et Étudiants. De la même manière, vous devez lier les champs Code de l'étudiant dans les tables Étudiants et Réussite, puis les champs Code de discipline dans les tables Réussite et Discipline. En conséquence, nous obtenons le schéma de données présenté dans la figure.



Riz. 4.

Après avoir établi les relations entre les tables, la fenêtre Data Schema doit être fermée.

Ensuite, vous devez remplir tous les tableaux. Il est conseillé de commencer à remplir les tableaux à partir de la table Groupes d'étudiants, car le champ Code de groupe de la table Étudiants est utilisé comme colonne de substitution pour remplir le champ correspondant dans la table Étudiants.

2.4.3.3. Remplissage des tableaux

Vous pouvez commencer à remplir les tableaux en remplissant le tableau Étudiants. Dans la fenêtre Base de données, sélectionnez la table souhaitée, puis cliquez sur le bouton Ouvrir.

La structure de la table de la base de données apparaîtra à l'écran en mode table. Le nouveau tableau se compose d'une ligne vide.


Riz. 5.

Le remplissage se fait selon les enregistrements, c'est-à-dire les informations sont saisies pour toute la ligne. Le champ du compteur est renseigné automatiquement. Une fois la première entrée saisie, l’entrée vide est déplacée à la fin du tableau. Le passage au champ suivant s'effectue en appuyant sur la touche Tab.

Riz. 9. L'application Access utilise diverses méthodes

se déplaçant autour de la table. Vous pouvez vous déplacer d'un enregistrement à l'autre en utilisant : les touches curseur ; les boutons de la zone Enregistrement situés en bas du tableau en mode tableau ; commandes Modifier - Aller.. Pour vous déplacer de champ en champ (de gauche à droite), utilisez les touches Tab et Entrée, et dans le sens opposé Maj+Tab.

La recherche de données dans un grand tableau à l'aide des boutons de navigation peut prendre beaucoup de temps. Vous devez donc utiliser la commande Edition - Rechercher pour rechercher et remplacer des données dans les champs. Une fenêtre de dialogue s'ouvrira. Dans le champ Echantillon de la boîte de dialogue de recherche, l'objet que vous recherchez est précisé et la recherche est effectuée. Pour remplacer des données dans des champs, vous devez vous rendre dans l'onglet Remplacement.

Après avoir créé la structure des tables, les avoir remplies et établi des relations entre les tables, vous pouvez commencer à créer des requêtes.

Une relation dans Access vous aide à combiner les données de deux tables différentes. Chaque relation de champs consiste en deux tables avec les données correspondantes. Par exemple, vous pouvez avoir un champ ProductID dans une table Products et dans une table OrderDetails. Chaque enregistrement de la table OrderDetails possède un ProductID qui correspond à un enregistrement de la table Products avec le même ProductID.

Avant de travailler avec des relations, assurez-vous de bien comprendre les concepts de base. Pour plus d’informations, consultez Guide des relations entre tables et Prise en main des relations entre tables.

Dans cet article

Aperçu

Dans une base de données Access, vous créez une relation de table à l’aide de l’une des méthodes suivantes :

    Dans la fenêtre Relations, ajoutez les tables que vous souhaitez associer, puis faites glisser le champ pour les associer d'une table à l'autre.

    Faites glisser un champ vers une feuille de données de table à partir du Liste des champs vitre.

Lorsque vous créez une relation entre des tables, il n'est pas nécessaire que les champs communs portent les mêmes noms, même si c'est souvent le cas. Les champs communs doivent avoir le même type de données. Toutefois, si le champ de clé primaire est un champ NuméroAuto, le champ de clé étrangère peut également être un champ Numéro si le Taille du champ la propriété des deux champs est la même. Par exemple, vous pouvez faire correspondre un champ NuméroAuto et un champ Numéro si le Taille du champ la propriété des deux champs est Long Integer. Lorsque les deux champs communs sont des champs numériques, ils doivent avoir le même Taille du champ cadre de propriété.

Créez une relation de table à l'aide de la fenêtre Relations

Créez une relation de table en utilisant le volet Liste des champs pour ajouter un champ

Vous pouvez ajouter un champ à une table existante ouverte en mode Feuille de données en le faisant glisser depuis le Liste des champs vitre. Le Liste des champs Le volet affiche les champs disponibles dans les tables associées ainsi que les champs disponibles dans d'autres tables de la base de données.

Liste des champs volet et la table vers laquelle vous avez fait glisser le champ. Cette relation, créée par Access, n'applique pas l'intégrité référentielle par défaut. Pour appliquer l'intégrité référentielle, vous devez modifier la relation. Voir la section pour plus d'informations.

Ouvrir une table en mode Feuille de données

    Dans le volet de navigation, double-cliquez sur le tableau.

Ouvrir le volet Liste des champs

Le Liste des champs Le volet affiche toutes les autres tables de votre base de données, regroupées en catégories. Lorsque vous travaillez avec une table en mode Feuille de données, Access affiche les champs dans l'une des deux catégories suivantes : Liste des champs vitre: Champs disponibles dans les tables associées et . La première catégorie répertorie toutes les tables ayant une relation avec la table avec laquelle vous travaillez actuellement. La deuxième catégorie répertorie toutes les tables avec lesquelles votre table n'a pas de relation.

Dans le Liste des champs volet, lorsque vous cliquez sur le signe plus ( + ) à côté du nom d'une table, vous voyez une liste de tous les champs disponibles dans cette table. Pour ajouter un champ à votre table, faites glisser le champ souhaité depuis le Liste des champs vers le tableau en mode Feuille de données.

Ajouter un champ et créer une relation à partir du volet Liste des champs

    Le tableau étant ouvert en mode Feuille de données, appuyez sur ALT+F8. Le Liste des champs apparaît.

    Sous Champs disponibles dans d'autres tables, cliquez sur le signe plus ( + ) à côté d'un nom de table pour afficher la liste des champs de cette table.

    Faites glisser le champ souhaité depuis le Liste des champs vers le tableau ouvert en mode Feuille de données.

    Lorsque la ligne d'insertion apparaît, déposez le champ en position.

    Le Assistant de recherche démarre.

    Suivez les instructions pour terminer le Assistant de recherche.

    Le champ apparaît dans le tableau en mode Feuille de données.

Lorsque vous faites glisser un champ depuis une table « autre » (sans rapport) et que vous exécutez ensuite l'Assistant de recherche, une nouvelle relation un-à-plusieurs est automatiquement créée entre la table du Liste des champs et la table vers laquelle vous avez fait glisser le champ. Cette relation, créée par Access, n'applique pas l'intégrité référentielle par défaut. Pour appliquer l'intégrité référentielle, vous devez modifier la relation. Voir la section pour plus d'informations.

Modifier une relation

Vous modifiez une relation en la sélectionnant dans la fenêtre Relations, puis en la modifiant.

    Positionnez soigneusement le curseur de manière à ce qu'il pointe vers la ligne de relation, puis cliquez sur la ligne pour la sélectionner.

    La ligne de relation apparaît plus épaisse lorsqu'elle est sélectionnée.

    La ligne de relation étant sélectionnée, double-cliquez dessus.

    Sur le Conception onglet, dans l'onglet Outils groupe, cliquez sur Modifier les relations.

Les relations d'édition La boîte de dialogue apparaît.

Ouvrez la boîte de dialogue Modifier les relations

Définir le type de jointure

Lorsque vous définissez une relation entre tables, les faits concernant la relation éclairent la conception de vos requêtes. Par exemple, si vous définissez une relation entre deux tables et que vous créez ensuite une requête qui utilise les deux tables, Access sélectionne automatiquement les champs correspondants par défaut en fonction des champs spécifiés dans la relation. Vous pouvez remplacer ces valeurs par défaut initiales dans votre requête, mais les valeurs fournies par la relation s'avéreront souvent être les bonnes. Étant donné que la mise en correspondance et le regroupement des données de plusieurs tables sont quelque chose que vous ferez fréquemment dans toutes les bases de données, sauf les plus simples, la définition de valeurs par défaut en créant des relations peut être un gain de temps et un avantage.

Une requête à plusieurs tables combine les informations de plusieurs tables en faisant correspondre les valeurs des champs communs. L'opération qui effectue la correspondance et la combinaison est appelée une jointure. Par exemple, supposons que vous souhaitiez afficher les commandes des clients. Vous créez une requête qui joint la table Clients et la table Commandes sur le champ ID client. Le résultat de la requête contient des informations sur le client et des informations sur la commande uniquement pour les lignes pour lesquelles une correspondance correspondante a été trouvée.

L'une des valeurs que vous pouvez spécifier pour chaque relation est le type de jointure. Le type de jointure indique à Access quels enregistrements inclure dans un résultat de requête. Par exemple, considérons à nouveau une requête qui joint la table Clients et la table Commandes sur les champs communs qui représentent l'ID client. En utilisant le type de jointure par défaut (appelé jointure interne), la requête renvoie uniquement les lignes Client et les lignes Commande où les champs communs (également appelés champs joints) sont égaux.

Supposons toutefois que vous souhaitiez inclure tous les clients, même ceux qui n’ont pas encore passé de commande. Pour ce faire, vous devez modifier le type de jointure d'une jointure interne à ce que l'on appelle une jointure externe gauche. Une jointure externe gauche renvoie toutes les lignes du tableau de gauche de la relation et uniquement celles qui correspondent dans le tableau de droite. Une jointure externe droite renvoie toutes les lignes de droite et uniquement celles qui correspondent à gauche.

Note: Dans ce cas, « gauche » et « droite » font référence à la position des tables dans le Modifier les relations boîte de dialogue, pas la fenêtre Relations.

Vous devez réfléchir au résultat que vous attendez le plus souvent d'une requête qui joint les tables dans cette relation, puis définir le type de jointure en conséquence.

Définir le type de jointure

    Dans le Modifier les relations boîte de dialogue, cliquez sur Type de jointure.

    Le Propriétés de jointure La boîte de dialogue apparaît.

    Cliquez sur votre choix, puis cliquez sur D'ACCORD.

Le tableau suivant (utilisant les tableaux Clients et Commandes) montre les trois choix affichés dans le Boîte de dialogue Propriétés de jointure boîte, le type de jointure qu'ils utilisent et si toutes les lignes ou les lignes correspondantes sont renvoyées pour chaque table.

1. Incluez uniquement les lignes où les champs joints des deux tables sont égaux.

2. Incluez TOUS les enregistrements des « Clients » et uniquement les enregistrements des « Commandes » où les champs joints sont égaux.

3. Incluez TOUS les enregistrements des « Commandes » et uniquement les enregistrements des « Clients » où les champs joints sont égaux.

Jointure externe droite

Lorsque vous choisissez l'option 2 ou l'option 3, une flèche s'affiche sur la ligne de relation. Cette flèche pointe vers le côté de la relation qui affiche uniquement les lignes correspondantes.

Apporter des modifications dans la boîte de dialogue Propriétés de jointure

Appliquer l’intégrité référentielle

Le but de l’intégrité référentielle est d’empêcher les enregistrements orphelins – c’est-à-dire les enregistrements qui font référence à d’autres enregistrements qui n’existent plus. Vous appliquez l’intégrité référentielle en l’activant pour une relation de table. Une fois appliqué, Access rejette toute opération susceptible de violer l’intégrité référentielle de cette relation de table. Cela signifie qu'Access rejettera à la fois les mises à jour qui modifient la cible d'une référence et les suppressions qui suppriment la cible d'une référence. Pour qu’Access propage les mises à jour et les suppressions référentielles afin que toutes les lignes associées soient modifiées en conséquence, consultez la section.

Activer ou désactiver l'intégrité référentielle

    Sur le Outils de base de données onglet, dans l'onglet Relations groupe, cliquez sur Relations.

    Sur le Conception onglet, dans l'onglet Relations groupe, cliquez sur Toutes les relations.

    Caché case à cocher dans le tableau Propriétés Options de navigation boîte de dialogue.

    Double-cliquez sur la ligne de relation. Le Modifier les relations La boîte de dialogue apparaît.

    Sélectionnez ou désactivez .

    D'ACCORD.

Si vous appliquez l'intégrité référentielle, les règles suivantes s'appliquent :

    Vous ne pouvez pas saisir une valeur dans le champ de clé étrangère d'une table associée si cette valeur n'existe pas dans le champ de clé primaire de la table primaire. Cela crée des enregistrements orphelins.

    Vous ne pouvez pas supprimer un enregistrement d'une table principale si des enregistrements correspondants existent dans une table associée. Par exemple, vous ne pouvez pas supprimer un enregistrement d'employé de la table Employés si des commandes sont affectées à cet employé dans la table Commandes. Vous pouvez cependant choisir de supprimer un enregistrement principal et tous les enregistrements associés en une seule opération en cochant la case.

    Vous ne pouvez pas modifier une valeur de clé primaire dans la table primaire si cela risque de créer des enregistrements orphelins. Par exemple, vous ne pouvez pas modifier un numéro de commande dans le tableau Commandes si des éléments de ligne sont affectés à cette commande dans le tableau Détails de la commande. Vous pouvez cependant choisir de mettre à jour un enregistrement principal et tous les enregistrements associés en une seule opération en cochant la case Mettre à jour en cascade les champs associés.

    Remarques : Si vous rencontrez des difficultés pour activer l'intégrité référentielle, notez que les conditions suivantes sont requises pour appliquer l'intégrité référentielle :

    • Le champ commun de la table primaire doit être une clé primaire ou avoir un index unique.

      Les champs communs doivent avoir le même type de données. La seule exception est qu'un champ NuméroAuto peut être associé à un champ Numéro ayant un Taille du champ réglage de la propriété de Entier long.

      Les deux tables existent dans la même base de données Access. L'intégrité référentielle ne peut pas être appliquée aux tables liées. Toutefois, si les tables source sont au format Access, vous pouvez ouvrir la base de données dans laquelle elles sont stockées et activer l'intégrité référentielle dans cette base de données.

Définir les options de cascade

Vous pourriez rencontrer une situation dans laquelle vous avez un besoin légitime de modifier la valeur du côté « un » d'une relation. Dans un tel cas, vous avez besoin d’Access pour mettre automatiquement à jour toutes les lignes concernées dans le cadre d’une seule opération. De cette façon, la mise à jour est entièrement terminée afin que votre base de données ne soit pas laissée dans un état incohérent - avec certaines lignes mises à jour et d'autres non. Access vous aide à éviter ce problème en prenant en charge l’option Champs associés de mise à jour en cascade. Lorsque vous appliquez l’intégrité référentielle et choisissez l’option Mettre à jour en cascade les champs associés, puis mettez à jour une clé primaire, Access met automatiquement à jour tous les champs qui font référence à la clé primaire.

Vous devrez peut-être également supprimer une ligne et tous les enregistrements associés, par exemple un enregistrement d'expéditeur et toutes les commandes associées pour cet expéditeur. Pour cette raison, Access prend en charge l’option Cascade Supprimer les enregistrements associés. Lorsque vous appliquez l’intégrité référentielle et sélectionnez le Supprimer en cascade les enregistrements associés case à cocher, Access supprime automatiquement tous les enregistrements qui font référence à la clé primaire lorsque vous supprimez l'enregistrement qui contient la clé primaire.

Activer ou désactiver la mise à jour en cascade et/ou la suppression en cascade

    Sur le Outils de base de données onglet, dans l'onglet Relations groupe, cliquez sur Relations.

    Sur le Conception onglet, dans l'onglet Relations groupe, cliquez sur Toutes les relations.

    Toutes les tables avec des relations sont affichées, montrant les lignes de relation. Notez que les tables masquées (tables pour lesquelles le Caché case à cocher dans le tableau Propriétés(la boîte de dialogue est sélectionnée) et leurs relations ne seront pas affichées à moins que l'option Afficher les objets cachés ne soit sélectionnée dans la boîte de dialogue Options de navigation boîte de dialogue.

    Cliquez sur la ligne de relation correspondant à la relation que vous souhaitez modifier. La ligne de relation apparaît plus épaisse lorsqu'elle est sélectionnée.

    Double-cliquez sur la ligne de relation.

    Le Modifier les relations La boîte de dialogue apparaît.

    Sélectionnez le Appliquer l'intégrité référentielle case à cocher.

    Sélectionnez soit le, soit le Supprimer en cascade les enregistrements associés case à cocher ou cochez les deux.

    Apportez des modifications supplémentaires à la relation, puis cliquez sur D'ACCORD.

Note: Si la clé primaire est un champ NuméroAuto, en sélectionnant le Champs associés à la mise à jour en cascade La case à cocher n'aura aucun effet, car vous ne pouvez pas modifier la valeur dans un champ NuméroAuto.

Supprimer une relation de table

Important: Lorsque vous supprimez une relation, vous supprimez également la prise en charge de l'intégrité référentielle pour cette relation, si elle est activée. Par conséquent, Access n’empêchera plus automatiquement la création d’enregistrements orphelins du côté « plusieurs » d’une relation.

Pour supprimer une relation de table, vous devez supprimer la ligne de relation dans la fenêtre Relations. Positionnez le curseur de manière à ce qu'il pointe vers la ligne de relation, puis cliquez sur la ligne. La ligne de relation apparaît plus épaisse lorsqu'elle est sélectionnée. Avec la ligne de relation sélectionnée, appuyez sur SUPPR.

    Sur le Outils de base de données onglet, dans l'onglet Relations groupe, cliquez sur Relations.

    Sur le Conception onglet, dans l'onglet Relations groupe, cliquez sur Toutes les relations.

    Toutes les tables avec des relations sont affichées, montrant les lignes de relation. Notez que les tables masquées (tables pour lesquelles le Caché case à cocher dans le tableau Propriétés(la boîte de dialogue est sélectionnée) et leurs relations ne seront pas affichées à moins que l'option Afficher les objets cachés ne soit sélectionnée dans la boîte de dialogue Options de navigation boîte de dialogue.

    Cliquez sur la ligne de relation correspondant à la relation que vous souhaitez supprimer. La ligne de relation apparaît plus épaisse lorsqu'elle est sélectionnée.

    Appuyez sur la touche SUPPR.

    Access peut afficher le message Êtes-vous sûr de vouloir supprimer définitivement la relation sélectionnée de votre base de données ?. Si ce message de confirmation apparaît, cliquez sur Oui.

Note: Si l'une des tables utilisées dans la relation de table est utilisée - peut-être par une autre personne ou un autre processus, ou dans un objet de base de données ouvert, tel qu'un formulaire - vous ne pourrez pas supprimer la relation. Vous devez fermer tous les objets ouverts qui utilisent ces tables avant d'essayer de supprimer la relation.

Créer, modifier ou supprimer une relation dans une application Web Access

Il existe des différences importantes lorsque vous travaillez avec des relations dans une application Web Access.

Créer une relation

La fenêtre Relations n'est pas disponible dans une application Web Access. Au lieu de créer une relation dans une application Web Access, vous créez un champ de recherche qui obtient les valeurs d'un champ associé dans une autre table. table Employés et vous souhaitez ajouter une recherche à une table Régions afin de pouvoir indiquer dans quelle région travaille chaque employé.

Note: Le champ que votre recherche utilisera comme source des valeurs doit déjà exister avant de créer votre champ de recherche.

Voici comment créer un champ de recherche dans une application Web Access :

Modifier une relation

La fenêtre Relations n'est pas disponible dans une application Web Access. Vous utilisez un champ dans une table comme source (champ de recherche) pour les valeurs du champ associé dans une autre table.

Supprimer une relation

La fenêtre Relations n'est pas disponible dans une application Web Access. Vous utilisez un champ dans une table comme source (champ de recherche) pour les valeurs du champ associé dans une autre table afin de supprimer une relation entre deux tables dans une autre table. Accédez à l'application Web, vous devez supprimer le champ de recherche et ses données associées.

Créer ou modifier une relation dans une base de données Web Access 2010

Pour créer une relation dans une base de données Web Access 2010, vous utilisez l'Assistant Recherche. La fenêtre Relations n'est pas disponible dans une base de données Web. Vous utilisez un champ dans une table comme source des valeurs du champ associé dans une autre table.

Note: Le champ que vous utilisez comme source de valeurs doit déjà exister avant que vous puissiez utiliser l'assistant de recherche.

Créer une relation dans une base de données Web Access 2010 à l'aide de l'Assistant de recherche

    Ouvrez la table qui doit récupérer ses valeurs de l'autre table.

    À droite du dernier champ, cliquez sur Cliquez pour ajouter, puis cliquez sur Recherche et relation.

    Note: Vous devrez peut-être faire défiler horizontalement pour voir Cliquez pour ajouter.

    Sur le premier écran de l'assistant de recherche, sélectionnez Je veux que le champ de recherche récupère les valeurs d'une autre table, puis cliquez sur Suivant.

    Sélectionnez la table contenant les valeurs sources, puis cliquez sur Suivant.

    Dans le Champs disponibles, double-cliquez sur le champ contenant les valeurs source, puis cliquez sur Suivant.

    Vous pouvez éventuellement spécifier un ordre de tri pour le champ de recherche. Cliquez Suivant.

    En option, ajustez la largeur du champ de recherche – une bonne idée si les valeurs sont longues. Cliquez Suivant.

    Entrez un nom pour le nouveau champ. Si vous voulez vous assurer que les valeurs des deux tableaux correspondent toujours, sélectionnez l'option Activer l'intégrité des données case à cocher, puis cliquez sur l’une des options suivantes :

    • Supprimer en cascade– cette option signifie que si vous supprimez un enregistrement d'une table, les enregistrements correspondants dans l'autre table sont également supprimés.

      Restreindre la suppression– cette option signifie que si vous tentez de supprimer un enregistrement d'une table mais qu'il existe un enregistrement correspondant dans l'autre table, l'opération de suppression n'est pas autorisée.

      Note: Ne sélectionnez pas Autoriser plusieurs valeurs dans l'Assistant de recherche lorsque vous utilisez l'Assistant pour créer une relation.

Modifier une relation dans une base de données Web Access 2010

    Ouvrez la table qui obtient ses valeurs d'une autre table.

    Sélectionnez le champ qui obtient ses valeurs d'une autre table.

    Sur le Champs onglet, dans l'onglet Propriétés groupe, cliquez sur Modifier les recherches.

    Suivez les étapes de l'assistant pour apporter les modifications souhaitées. Vous pouvez modifier les éléments suivants :

    • Le champ qui est la source des valeurs

      L'ordre de tri des valeurs

      La largeur du champ et s'il faut masquer la colonne clé

      L'étiquette du champ de recherche

      Si l'intégrité des données est activée

      Si l'intégrité des données est activée, si les suppressions sont en cascade ou restreintes

Après avoir créé toutes les tables de la base de données, il ne reste plus qu'à établir les connexions entre elles. Pour ce faire, vous avez besoin de :

1. Cliquez sur l'onglet « Tables » de la fenêtre de la base de données.

2. Au menu Service sélectionner un élément Schéma de données...

3. Par la fenêtre Schéma de données ajoutez toutes les tables liées. Pour ce faire, ouvrez le menu Relations et sélectionnez l'élément Ajouter un tableau... ou cliquez sur le bouton dans la barre d'outils. Dans la fenêtre qui apparaît Ajouter un tableau mettez en surbrillance le nom de la table souhaitée avec la souris et cliquez sur le bouton Ajouter (Fig.1).

Riz. 1. Ajouter un tableau à la fenêtre Schéma de données .

Après cela, la disposition du tableau correspondant apparaîtra dans la fenêtre Schéma de données. Après avoir fini d'ajouter toutes les tables nécessaires à la fenêtre Schème données dont vous avez besoin pour fermer la fenêtre Ajouter un tableau bouton Fermer .

4. Dispositions des tableaux dans la fenêtre Schéma de données utilisez la souris pour positionner comme vous le souhaitez en utilisant la méthode glisser-déposer. Ajustez la taille des dispositions de tableau et étirez-les avec la souris.

5. Pour établir une relation entre deux tables :

UN) Cliquez sur la clé primaire de la table située du côté « 1 » de la relation.

b) Cliquez bouton gauche souris et, sans la relâcher, déplacez le champ clé primaire vers la table subordonnée (lors du déplacement, le pointeur de la souris change d'apparence).

V) Relâchez le bouton gauche de la souris sur la clé étrangère de la sous-table.

6. Dans la fenêtre qui apparaît Changer les connexions Les noms des champs par lesquels les tables sont liées seront affichés. Il est nécessaire de marquer l'article Assurer l’intégrité des données . Dans ce cas, Access rendra impossible l'écriture dans une sous-table d'une valeur d'un champ commun qui ne se trouve pas dans la table principale (Fig. 2). .

Riz. 2. Établir une connexion entre les tables.

Une fois l'intégrité des données établie, deux options supplémentaires Mise à jour en cascade des champs associés Et Suppression en cascade des champs associés . La première option vous permet de mettre à jour n'importe quelle valeur d'un champ clé dans la table principale et de la modifier automatiquement dans toutes les tables subordonnées. La deuxième option fonctionne de la même manière : supprimer les enregistrements des tables subordonnées qui correspondent à la clé supprimée de la table principale. Après avoir vérifié tous ces points, vous devez cliquer sur le bouton créer.

Dans la fenêtre Schéma de données Une connexion est établie entre les tables sous la forme d'une ligne marquée. Pour supprimer une connexion, sélectionnez-la avec la souris (la ligne devient en gras) et appuyez sur le bouton Supprimer sur le clavier.

7. Répétez les étapes p. 5-6 pour établir toutes les connexions.

8. Fermer la fenêtre Schéma de données , répondant " Oui » lorsque le système vous invite à enregistrer la modification dans la disposition du schéma de données.

Pour l'exemple considéré, nous suivrons la procédure décrite ci-dessus pour établir toutes les relations dans le modèle de données. Le diagramme de données construit dans ce cas correspondra exactement à la Fig. 3.

Commentaire. Lors de la création d'un schéma de données, les tables doivent être vide.

Riz. 3. Diagramme de données de l'exemple considéré.


Conférence 6

Recherche d'informations dans les tables de la base de données

Trier les informations dans des tableaux

Pour faciliter la visualisation, vous pouvez trier les enregistrements du tableau dans un ordre spécifique, par exemple dans le tableau Pneus les enregistrements peuvent être triés par ordre décroissant de leur rayon. Boutons de tri sur la barre d'outils (chaînes de commandes de menu Messages - Trier - Trier par ordre croissant ou Trier par ordre décroissant) Vous permet de trier les colonnes par ordre croissant ou décroissant. Avant de cliquer sur le bouton de tri, vous devez sélectionner les champs à utiliser pour le tri. Pour sélectionner un champ, placez simplement le curseur dans l'une de ses entrées. Après cela, cliquez sur le bouton de tri et les données seront affichées dans l'ordre trié.

Riz. 1. Trier le tableau Pneu à travers le champ Rayon

En vue Tableau, vous pouvez sélectionner deux ou plusieurs colonnes adjacentes à la fois, puis les trier. Par défaut, Access commence à trier les enregistrements à partir de la colonne sélectionnée la plus à gauche. Dans ce cas, les enregistrements du tableau seront triés d'abord par la colonne sélectionnée la plus à gauche, puis (pour des valeurs identiques dans la première colonne triée) - par la seconde, etc. Si vous devez restaurer l'ordre dans lequel les enregistrements sont affichés, utilisez la chaîne de commande Articles - Supprimer le filtre .

Filtres

Lorsque vous travaillez avec un tableau en mode en ligne, vous pouvez définir un filtre, c'est-à-dire demander expression logique, ce qui vous permettra d'afficher uniquement les enregistrements pour lesquels cette expression est vraie.

Il existe trois types de filtrage des données dans Access :

Filtre régulier-utilisé pour sélectionner les valeurs souhaitées dans la liste sans visualiser tous les enregistrements du tableau ou du formulaire, ou en spécifiant plusieurs conditions de sélection en même temps (le critère de sélection est formé à l'aide d'un opérateur logique Ou ).

Pour effectuer un filtrage des données, vous devez ouvrir le tableau, puis dans le menu du menu Messages activons l'équipe Filtre , et dans le sous-menu qui s'ouvre, la commande Changer le filtre . Ensuite, dans la fenêtre de création de filtre, le critère de sélection des informations est indiqué dans le champ requis (Fig. 2).

Une base de données relationnelle, créée conformément à la conception du modèle de données canonique du domaine, se compose de tables normalisées reliées par des relations à une valeur et à plusieurs valeurs. Une telle base de données garantit qu'il n'y a pas de duplication des données descriptives, qu'elles sont saisies une seule fois et que l'intégrité des données est maintenue par le système. Les relations entre les tables vous permettent de combiner les données de différentes tables, ce qui est nécessaire pour résoudre la plupart des tâches de saisie, d'affichage et d'ajustement des données, d'obtention d'informations à partir de requêtes et de génération de rapports.

Les relations entre les tables sont établies conformément au projet structure logique base de données et sont stockés dans le schéma de données Access. Le schéma de données dans Access n'est pas seulement un outil affichage graphique structure logique de la base de données, elle est activement utilisée par le système dans le processus de traitement des données. La création d'un schéma de données vous permet de simplifier la conception de formulaires, de requêtes et de rapports multi-tables, et également de garantir que l'intégrité des données interdépendantes est maintenue lors de la saisie et de l'ajustement des données dans les tableaux.

Création d'un schéma de données

La création d'un schéma de données commence par l'exécution de la commande Schéma de données(Relations) dans le groupe Relation(Relations) sur l'onglet du ruban Travailler avec des bases de données(Outils de base de données). Suite à l'exécution de cette commande, une fenêtre de diagramme de données et une boîte de dialogue s'ouvrent Ajouter un tableau(Afficher le tableau), dans lequel vous sélectionnez les tableaux inclus dans le diagramme (voir Fig. 3.48). Boîte de dialogue Ajouter un tableau s'ouvrira automatiquement si aucune relation n'est déjà définie dans la base de données. Si la fenêtre ne s'ouvre pas, sur la bande Travailler avec des connexions | Constructeur(Outils relationnels | Conception) dans le groupe Relations(Relations) cliquez sur le bouton Afficher le tableau(Afficher le tableau).

Inclure des tables dans votre schéma de données

Dans la fenêtre Ajouter un tableau(Afficher la table) (Fig. 3.48) affiche toutes les tables et requêtes contenues dans la base de données. Sélectionnez un onglet Tableaux(Tableaux) et en utilisant le bouton Ajouter(Ajouter) placez-le dans la fenêtre Schéma de données(Relations) toutes les tables de base de données créées précédemment Livraison d'articles affichée dans la fenêtre Ajouter un tableau(Afficher le tableau). Appuyez ensuite sur le bouton Fermer(Fermer). En conséquence, dans la fenêtre Schéma de données Les tables de la base de données (Relations) seront représentées par des fenêtres avec des listes de leurs champs et clés mises en évidence en gras (voir Fig. 3.52).

Création de relations entre les tables de schéma de données

Lors de la création de relations dans un schéma de données, une conception de la structure logique d'une base de données relationnelle est utilisée, qui montre toutes les relations entre tables simples et multiples. Les relations sont réalisées en ajoutant des champs communs appelés clé de communication. Dans le cas de relations univoques entre tables, la clé de la relation est la clé de la table principale (simple ou composite). Dans une table subordonnée, elle peut faire partie d'une clé unique ou ne pas faire partie du tout de la clé de la table. Les relations simples à multiples sont fondamentales dans les bases de données relationnelles. En règle générale, les relations un à un sont utilisées lorsqu'il est nécessaire de distribuer grand nombre champs définis par la même clé dans différentes tables qui ont des règles de maintenance différentes.

Créer des relations à l'aide d'une simple clé

Établissons une connexion entre les tables BUYER et CONTRACT, qui sont dans une relation un-à-plusieurs. Lors de l'établissement de connexions entre une paire de tables qui sont dans une relation de type 1 : M, nous sélectionnons dans la table principale BUYER le champ clé CODE_POK, par lequel la connexion est établie. Ensuite, tout en maintenant le bouton de la souris enfoncé, faites-le glisser dans le champ correspondant de la sous-table CONTRAT.

Étant donné que le champ de relation est une clé unique dans la table de relations principale mais pas dans la table de relations enfants, le schéma de données dans Access identifie une relation un-à-plusieurs entre les enregistrements de ces tables. La valeur One-To-Many apparaîtra dans la fenêtre Changer les connexions(Modifier les relations) en ligne Type de relation(Type de relation) (Fig. 3.49).

COMMENTAIRE
Si le champ de lien est une clé unique dans les deux tables liées, le schéma de données dans Access identifie la relation " en tête-à-tête". Si un index unique est utilisé pour lier les tables au lieu du champ clé de la table principale, le système indique également la relation des tables comme 1 : M ou 1 : 1.

Définir des relations à l'aide d'une clé composite

Définissons les relations entre les tables SHIPPING INvoice, qui sont reliées par la clé composite NOM_INCLUSION + CODE_SC. Pour cela, dans la table principale INVOICE, sélectionnez ces deux champs en appuyant sur la touche et faites-les glisser dans la table subordonnée SHIPMENT.

Dans la fenêtre Changer les connexions(Editer les relations) (Fig. 3.50) pour chaque champ de la clé composite de la table principale INVOICE, nommé Table/requête(Table/Requête), sélectionnez le champ correspondant de la table subordonnée SHIPPING, nommé Table/requête associée(Table/Requête associée).

Mise à jour en cascade et suppression des enregistrements associés

Si l'intégrité est conservée pour la relation sélectionnée, vous pouvez définir le mode de suppression en cascade pour les enregistrements associés et le mode de mise à jour en cascade pour les champs associés. De tels paramètres permettent respectivement dans la table principale de supprimer des enregistrements et de modifier la valeur dans un champ clé, car avec ces paramètres, le système apportera automatiquement les modifications nécessaires dans les tables subordonnées, garantissant ainsi que les propriétés d'intégrité de la base de données sont conservé.

En mode cascade de suppression des enregistrements associés, lorsque vous supprimez un enregistrement de la table principale, tous les enregistrements associés dans les tables subordonnées seront automatiquement supprimés. Lorsque vous supprimez un enregistrement de la table principale, la suppression des enregistrements subordonnés à tous les niveaux est effectuée si ce mode est spécifié à chaque niveau.

En mode de mise à jour en cascade des champs associés, lorsque vous modifiez la valeur d'un champ clé dans un enregistrement de la table principale, Access mettra automatiquement à jour les valeurs du champ correspondant dans les enregistrements subordonnés.

Installer dans la fenêtre Changer les connexions(Modifier les relations) (voir Figure 3.49) mise à jour en cascade des champs associés(Champs associés à la mise à jour en cascade) et suppression en cascade des enregistrements associés(Cascade Supprimer les enregistrements associés) n'est possible qu'après avoir défini le paramètre d'intégrité des données.

Une fois les relations créées, les images des tableaux peuvent être déplacées dans l'espace de travail de la fenêtre du diagramme de données. Le déplacement et le redimensionnement des fenêtres avec des listes de champs de table dans la fenêtre du diagramme de données sont effectués à l'aide des méthodes Windows standard.

Notez que si les suppressions en cascade ne sont pas activées, il n'est pas possible de supprimer un enregistrement dans la table principale s'il existe des enregistrements associés dans la table enfant.
Regardez la vidéo :

Voici la principale chose dont nous voulions parler sur le sujet « Schéma de données dans Access ».

Il existe des connexions entre les tables de la base de données qui vous permettent d'éviter la redondance dans la conception. Autrement dit, n'entrez pas les mêmes valeurs dans plusieurs objets, mais créez-en une seule et utilisez-la dans d'autres, en ajoutant un lien vers le principal. Dans ce cas, il est nécessaire de respecter l’exigence d’intégrité de la base de données.

Liens vers la base de données

A titre d'exemple, considérons les connexions dans la base de données d'une agence de voyages. Il comprend un tableau des hôtels en Thaïlande, le pays dans lequel l'agence de voyages envoie des invités. Les hôtels sont implantés dans diverses régions du Royaume.

Si une entreprise travaille avec des hôtels dans quelques régions seulement et que dans chaque région il y a des dizaines ou des centaines d'hôtels, remplir à chaque fois le champ de région pour chaque hôtel est une perte de temps. Par conséquent, un tableau séparé est créé dans la base de données, contenant uniquement une liste de régions, et lors de la saisie d'un hôtel, l'utilisateur sélectionne simplement celle souhaitée dans la liste déroulante.

Par analogie, une liste de pays a été ajoutée pour une entreprise travaillant avec plusieurs pays. Ensuite, un autre champ est ajouté à la liste des régions - « Pays », et un répertoire de pays est entré dans la base de données, dont les noms sont ensuite sélectionnés dans la liste.

Les tables sont liées de manière un à plusieurs. Cela signifie qu'un enregistrement de la table Régions apparaît plusieurs fois dans la table Hôtels. De plus, il existe des types plusieurs-à-plusieurs et un-à-un. Mais cette dernière est extrêmement rarement utilisée en pratique. Ci-dessous, nous verrons comment ces types sont désignés dans les diagrammes de données dans Access.

Schéma de base de données

Dans l'exemple ci-dessus, les « Hôtels » sont associés aux « Régions », et celles-ci, à leur tour, sont associées aux « Pays ». Ces informations, écrites sous forme de texte, ne montrent pas clairement les liens entre les objets. Et dans notre base de données, il n'y a que trois tables, mais il peut y en avoir des centaines. Il est difficile pour un développeur de garder toutes les connexions en tête.

En tant qu'outil auxiliaire, des diagrammes de données sont créés dans des bases de données qui montrent clairement visuellement tous les objets et les relations entre eux. Dans Access, les schémas de données sont créés à l'aide d'un outil spécial. Pour notre base de données, cela ressemble à ceci :

Les rectangles indiquent des tableaux avec une liste de champs, les lignes entre eux indiquent les connexions. Sur la ligne de communication, aux endroits où se rejoignent les rectangles du tableau, les désignations suivantes sont faites : « 1 » et « ∞ ». Ils montrent quel type de connexion est appliqué à cet égard. Une icône « 1 » sur la table source avec une icône « ∞ » sur la table de destination indique une vue un-à-plusieurs. Les deux connexions de notre base de données sont de ce type.

En conséquence, deux unités aux deux extrémités de la ligne indiquent une vue « un-à-un », et deux signes infini indiquent une vue « plusieurs-à-plusieurs ».

Création d'un schéma de données

Pour créer un schéma de données dans Access, un outil a été ajouté au panneau « Travailler avec des bases de données ». Le SGBD crée automatiquement un schéma basé sur les tables et les relations qui existent dans la base de données. Le diagramme ci-dessus est créé par le système lui-même. L'utilisateur peut apporter des modifications à la mise en page. Certains d'entre eux n'affecteront pas la structure de la base de données, mais uniquement l'affichage des informations. Et certains entraîneront des changements de structure.

En mode Conception, l’opération « Effacer la mise en page » est disponible. Une fois exécuté, l’écran du schéma de données dans Access est effacé et les tables et relations sont masquées. Cela ne signifie pas qu'ils disparaissent de la base de données - ils ne sont tout simplement pas reflétés dans la configuration du circuit.

L'opération « Masquer la table » effectuera la même action sur l'objet sélectionné. Il disparaîtra simplement de l'écran avec ses lignes relationnelles. L'opération « Afficher la table » aidera à ramener les tables masquées. Sélectionnez les objets à ajouter à la mise en page. Dans ce cas, les connexions avec celui-ci s'affichent automatiquement.

Créer des relations entre les tables

Dans notre exemple, les relations entre les tables étaient déjà définies au moment de la création. Examinons de plus près comment procéder. Comme nous le savons déjà, « Hôtels » contient le champ « Région » dont les données sont extraites de la table du même nom. Lorsque vous ajoutez une colonne Région, vous spécifiez un type de champ Recherche et Relation.

L'assistant de création de champ s'ouvre, dans lequel nous sélectionnons l'option d'obtenir les valeurs de cellule d'un autre objet. A la deuxième étape de l'assistant, on sélectionne l'objet à partir duquel les valeurs seront substituées. Dans notre cas, il s’agit du tableau « Régions ». Dans la liste des champs disponibles pour l'affichage, nous avons besoin de « Nom » - les noms des régions seront affichés dans le tableau des hôtels. Si nécessaire, définissez l'ordre de tri des titres et la largeur des colonnes.

À la dernière étape, nous donnons un nom au nouveau champ et spécifions le paramètre d'intégrité. Nous y reviendrons plus en détail ci-dessous. Après avoir cliqué sur le bouton « Terminer », la colonne « Région » est ajoutée au tableau de l'hôtel ; ses valeurs sont extraites de l'objet spécifié.

La relation entre les tables d'hôtels et de régions est désormais affichée dans le diagramme.

Changer les relations

Si aucune relation n’est ajoutée lorsque vous ajoutez une colonne à un objet, cela est effectué directement dans la présentation du schéma de données dans Access. Nous allons vous montrer comment créer une nouvelle connexion avec un exemple. Cliquez sur le bouton "Modifier les liens". Lors de la modification des relations, pour créer une nouvelle relation, cliquez sur Nouveau. Dans le formulaire « Création », sélectionnez les tables de connexion et les champs qui se correspondront.

Pour une connexion déjà créée, il est possible de modifier les paramètres de combinaison d'enregistrements dans les requêtes. Pour ce faire, appelez la boîte de dialogue du schéma de données MS Access « Modifier les liens » et cliquez sur le bouton « Fusionner ». Le formulaire d'édition des paramètres propose des options d'associations :

  • Dans le premier cas, les résultats de la requête affichent uniquement les lignes dans lesquelles les champs des tables « Hôtels » et « Régions » correspondent.
  • Dans le second cas, toutes les lignes de « Régions » et uniquement les « Hôtels » correspondants sont combinés.
  • Dans le troisième, la situation est à l'opposé de la seconde : toutes les lignes « Hôtels » sont combinées avec les « Régions » correspondantes.

Nous quittons la sélection automatique du système - la première option.

Intégrité des données de base de données

Les connexions entre les objets de base de données dans le diagramme de données dans Access nous amènent au concept d'intégrité des données. Comme indiqué ci-dessus, lors de la création de connexions entre les champs des objets de base de données, le paramètre d'intégrité est spécifié. Si cette option est activée, les relations entre les objets sont maintenues et protégées par le système.

Montrons-le clairement en utilisant l’exemple de la base de données d’une agence de voyages. Dans « Hôtels », un hôtel portant le nom Anantara Lawana Koh Samui Resort appartient à la région de Koh Samui. Disons que nous avons supprimé cette zone des « Régions ». Le champ fait désormais référence à un enregistrement qui n'existe pas. Il s’agit d’une violation de l’intégrité.

De même, avec l'exigence d'intégrité définie, nous ne pourrons pas sélectionner la région de Chiang Mai dans ce champ car elle n'existe pas dans la table des régions.

Si nécessaire, les schémas de base de données Access sont téléchargés dans un rapport et envoyés à une imprimante, convertis en fichier ou envoyés par courrier électronique.

© 2024 ermake.ru -- À propos de la réparation de PC - Portail d'information