Re : Les bases de données et le choix des clés

Ces forums sont actuellement fermés. Vous ne pouvez donc plus y poster de messages. Les sujets existants sont toutefois conservés pour historique.

Sujet en cours de lecture : Les bases de données et le choix des clés par | (Haut de page) |


Re : Les bases de données et le choix des clés

Tian Envoyé le : 31/03/2006 à 0:05
Bonjour,
racoo a dit :
Peut on me donner un exemple simple de bases de données bien expliqué avec clé prilmaire etrangere et cardinalité
Voici un petit exemple.

Imaginons une table contenant des personnes. La clé primaire est ce qui va permettre d'indentifier de manière unique un individu. On peut par exemple utiliser le numéro de sécurité sociale. La table pourrait être alors composée des colonnes suivantes :Numero_secu  |  Nom  |  Prénom  |  Adresse Pour un Numero_secu donné, on aura une seule ligne.

Maintenant on veut aussi stocker les numéros de téléphone d'une personne. Elle peut en avoir plusieurs (maison, bureau, portable,...). On pourrait ajouter une nouvelle colonne pour chaque type, mais ce n'est pas très souple et ça empêcherait quelqu'un d'avoir 2 portables par exemple.

On va donc avoir une nouvelle table téléphone avec les colonnes suivantes :Type  |  Numero_telephone Le Type contiendra 'maison' ou 'portable' par exemple.

On a besoin de rattacher cette table à la première. Pour se faire on va prendre la colonne permettant d'indenfier de manière unique un individu pour la rajouter ici. C'est là que l'on parle de clé étrangère. Une colonne dans cette table désigne de manière unique pour chaque valeur un élément d'une autre colonne. Mais les valeurs ne sont pas uniques ici. On peut avoir plusieurs lignes avec la même clé étrangère. La table devient alors :Numero_secu  |  Type  |  Numero_telephone Où Numero_secu est une clé étrangère vers la 1ère table. Les numéros de téléphone d'une personne donnée seront toutes les lignes où Numero_secu est le sien.

La cardinalité exprime combien de champs d'une table peuvent être associé à ceux de l'autre table. Dans notre cas on peut avoir pour chaque personnes autant de numéro que l'on veut (on note ça n pour dire un nombre quelconque). En revanche chaque numéro est associé à une seule personne uniquement (le titulaire de l'abonnement). On a alors une cardinalité 1. La relation entre les 2 tables est donc notée (1,n).

J'espère que c'est un peu plus clair à présent. Eventuellement je rajouterai cela à l'article déjà présent.  

Réponses...


Date serveur : 12/10/2008 à 19:56
Les heures sont affichées en GMT +2 (Heure d'été)