REFENCES KEY

a la creation de la base de donnée j'ai pas bien compris le REFENCES KEY comment je les declare :( merci bcp :)

2 réponses

  1. Bonjour.
    Les contraintes de clés étrangères permettent de garantir une bonne intégrité des données. Imaginons une base de données pour un site ecommerce qui contient notamment les tables suivantes : client, produit, facture.
    Une facture est forcément créé par un client. Il y a donc un champ "client_id" dans la table "facture". Ce champ fait référence à l'identifiant unique du client dans la table "client". Le champ "client_id" de la table "facture" est donc d'une clé étrangère (FOREIGN KEY). Le champ "id" dans la table "client" est quant à lier la clé primaire (PRIMARY KEY).
    Il est possible d'ajouter une contrainte pour lier cette Foreign Key à la clé primaire de "client".

    Voici un exemple de cas, disponible sur la doc MySQL:
    CREATE TABLE parent(id INT NOT NULL,
                        PRIMARY KEY (id)
    ) TYPE=INNODB;
    CREATE TABLE child(id INT, parent_id INT,
                       INDEX par_ind (parent_id),
                       FOREIGN KEY (parent_id) REFERENCES parent(id)
                         ON DELETE CASCADE
    ) TYPE=INNODB;

    Source : http://dev.mysql.com/doc/refman/5.0/fr/innodb-foreign-key-constraints.html

    La contrainte est créé grâce au code "FOREIGN KEY ...".

    En espérant que cela vous aide.
    Cordialement,
    0