© Éditions Eyrolles
3
Introduction
Les clés
La clé primaire ( primary key ) d’une table est l’ensemble minimal de colonnes qui permet
d’identifier de manière unique chaque enregistrement.
Dans la figure précédente, les colonnes « clés primaires » sont notées en gras. La colonne
comp représente le code de la compagnie et la colonne brevet décrit le numéro du brevet.
Une clé est dite « candidate » ( candidate key ) si elle peut se substituer à la clé primaire à tout
instant. Une table peut contenir plusieurs clés candidates ou aucune.
Dans notre exemple, les colonnes nomComp et nom peuvent être des clés candidates si on
suppose qu’aucun homonyme n’est permis.
Une clé étrangère ( foreign key ) référence dans la majorité des cas une clé primaire d’une autre
table (sinon une clé candidate sur laquelle un index unique aura été défini). Une clé étrangère
est composée d’une ou de plusieurs colonnes. Une table peut contenir plusieurs clés étrangères ou aucune.
Dans notre exemple, la colonne compa (notée en italique dans la figure) est une clé étrangère,
car elle permet de référencer un enregistrement unique de la table Compagnie via la clé
primaire comp .
Le modèle relationnel est ainsi fondamentalement basé sur les valeurs. Les associations entre
tables sont toujours binaires et assurées par les clés étrangères. Les théoriciens considèrent
celles-ci comme des pointeurs logiques. Les clés primaires et étrangères seront définies dans
les tables en SQL à l’aide de contraintes.
MySQL
MySQL est à la fois le nom du SGBD et le nom de la société (qui se nomme en fait
MySQL AB, décrite sur http://www.mysql.com) dont le siège se trouve en Suède à Uppsala –
compter une cinquantaine de kilomètres au nord de Stockholm. Selon leurs dires, leur serveur
de données, qui est écrit en C et C++, serait installé de façon opérationnelle sur plus de six
millions de sites. D’un point de vue coût, l’utilisation du SGBD sur des projets importants
(entre 250 000 € et 500 000 € ) ferait économiser 90 % sur le prix des licences du serveur,
60 % sur les ressources système, 70 % sur le prix du matériel, 50 % sur les tâches d’administration et de support.
3
Introduction
Les clés
La clé primaire ( primary key ) d’une table est l’ensemble minimal de colonnes qui permet
d’identifier de manière unique chaque enregistrement.
Dans la figure précédente, les colonnes « clés primaires » sont notées en gras. La colonne
comp représente le code de la compagnie et la colonne brevet décrit le numéro du brevet.
Une clé est dite « candidate » ( candidate key ) si elle peut se substituer à la clé primaire à tout
instant. Une table peut contenir plusieurs clés candidates ou aucune.
Dans notre exemple, les colonnes nomComp et nom peuvent être des clés candidates si on
suppose qu’aucun homonyme n’est permis.
Une clé étrangère ( foreign key ) référence dans la majorité des cas une clé primaire d’une autre
table (sinon une clé candidate sur laquelle un index unique aura été défini). Une clé étrangère
est composée d’une ou de plusieurs colonnes. Une table peut contenir plusieurs clés étrangères ou aucune.
Dans notre exemple, la colonne compa (notée en italique dans la figure) est une clé étrangère,
car elle permet de référencer un enregistrement unique de la table Compagnie via la clé
primaire comp .
Le modèle relationnel est ainsi fondamentalement basé sur les valeurs. Les associations entre
tables sont toujours binaires et assurées par les clés étrangères. Les théoriciens considèrent
celles-ci comme des pointeurs logiques. Les clés primaires et étrangères seront définies dans
les tables en SQL à l’aide de contraintes.
MySQL
MySQL est à la fois le nom du SGBD et le nom de la société (qui se nomme en fait
MySQL AB, décrite sur http://www.mysql.com) dont le siège se trouve en Suède à Uppsala –
compter une cinquantaine de kilomètres au nord de Stockholm. Selon leurs dires, leur serveur
de données, qui est écrit en C et C++, serait installé de façon opérationnelle sur plus de six
millions de sites. D’un point de vue coût, l’utilisation du SGBD sur des projets importants
(entre 250 000 € et 500 000 € ) ferait économiser 90 % sur le prix des licences du serveur,
60 % sur les ressources système, 70 % sur le prix du matériel, 50 % sur les tâches d’administration et de support.
