VIVEZ LE
FOOTBALL !

Posez votre question Signaler

MODELE RELATIONNEL ACCESS

ludivina40 - Dernière réponse le 26 janv. 2010 à 19:07
Bonjour,
Je souhaite mettre en place un systeme de gestion de base de données relationnelles pour mon entreprise et je bloque au niveau des relations.
Pourrait-on m'expliquer le principe des intégrités référentielles?
Merci
Lire la suite 

MODELE RELATIONNEL ACCESS »

2 réponses
Réponse
+1
moins plus
Salut,

en français (l'aide d'access donnée par Jean_Jacques me semble par trop académique :-))

imagine une table client et une table facture, les deux sont liés par une relation au sens 'base de données' du terme (généralement de type 1-n).
Un client achète des produits, on va donc créer une ligne dans la table facture. Cette table facture contiendra donc l'ensemble des factures de tous les clients.

L'intégrité référentielle va consister à établir des mécanismes qui vont empêcher que les données ne soient corrompues au sens 'relationnel' du terme.

Ex : on ne peut pas supprimer un client tant qu'il lui reste des factures dans la table facture.

Toute tentative de supprimer un client qui possède des factures se verra rejetée (à moins de prévoir le cas et d'autoriser la suppression de ses factures en même tant qu'on le supprime). Tout ça pour ne pas se retrouver avec des enregistrements dans une table qui seraient orphelins : une facture avec un client qui n'existe plus.
Par contre, un client n'ayant pas encore de facture n'est pas lié à la table facture, on peut donc le supprimer sans souci.

C'est plus clair ?
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour ludivina40,

Voilà ce que fournit Microsoft au sujet de l'intégrité référentielle :

Qu'est-ce que l'intégrité référentielle ?
L'intégrité référentielle est un système de règles que Microsoft Access utilise pour garantir que les relations entre les enregistrements dans les tables liées sont valides et que vous n'effacez pas ou ne modifiez pas par erreur des données liées. Vous pouvez utiliser l'intégrité référentielle si toutes les conditions suivantes sont réunies :

Le champ correspondant de la table primaire est une clé primaire ou possède un index unique.


Les champs liés ont le même type de données. Il existe deux exceptions : un champ Numérotation Auto peut être lié à un champ Numérique dont la propriété TailleChamp (FieldSize) est définie sur Entier long ; et un champ Numérotation Auto dont la propriété TailleChamp (FieldSize) est définie sur ID de réplica peut être lié à un champ Numérique dont la propriété TailleChamp (FieldSize) est aussi définie sur ID de réplica.


Les deux tables appartiennent à la même base de données Microsoft Access. Si les tables sont des tables liées, elles doivent être définies au format Microsoft Access, et vous devez ouvrir la base de données dans laquelle elles se trouvent pour définir l'intégrité référentielle. L'intégrité référentielle ne s'applique pas à des tables liées provenant de bases de données utilisant d'autres formats.
Lorsque vous appliquez l'intégrité référentielle, vous devez observer les règles suivantes :

Dans le champ clé étrangère de la table liée, vous ne pouvez pas entrer une valeur qui n'existe pas dans la clé primaire de la table primaire. Toutefois, vous pouvez entrer une valeur de type Null dans la clé étrangère pour indiquer que les enregistrements ne sont pas liés. Par exemple, une commande ne peut pas être attribuée à un client qui n'existe pas, mais elle peut n'être affectée à personne en entrant une valeur de type Null dans le champ Code client.


Vous ne pouvez pas effacer un enregistrement de la table primaire si des enregistrements correspondants existent dans une table liée. Par exemple, vous ne pouvez pas effacer l'enregistrement d'un employé dans la table Employés s'il y a des commandes affectées à celui-ci dans la table Commandes.


Vous ne pouvez pas changer une valeur clé primaire dans la table primaire si cet enregistrement possède des enregistrements liés. Par exemple, vous ne pouvez pas changer le N° d'un employé dans la table Employés si des commandes lui sont affectées dans la table Commandes.
Si vous souhaitez que Microsoft Access applique ces règles pour une relation, activez la case à cocher Appliquer l'intégrité référentielle lorsque vous créez la relation. Si vous appliquez l'intégrité référentielle alors qu'une des règles ci-dessus n'est pas respectée, Microsoft Access affiche un message d'erreur et n'autorise pas la modification.

Cordialement
Ajouter un commentaire
Ce document intitulé « MODELE RELATIONNEL ACCESS » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?