Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/11/2011, 10h21   #1
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Par défaut différence de syntaxe

Bonjour,

Est-ce que quelqu'un connait la différence de ces 2 syntaxes pour déclarer une clé étrangère :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CREATE TABLE Compagnie
	(comp CHAR(4) NOT NULL, nrue INTEGER(3),
	rue CHAR(20), ville CHAR(15),
	nomComp CHAR(15),
	CONSTRAINT un_Compagnie UNIQUE(comp),
	CONSTRAINT pk_Compagnie PRIMARY 	KEY(nomComp));


CREATE TABLE Pilote
(brevet CHAR(6), nom CHAR(15),
	nbHVol DECIMAL(7,2), compa CHAR(4),
	CONSTRAINT pk_Pilote PRIMARY KEY(brevet),
	INDEX (compa),
	FOREIGN KEY (compa) REFERENCES 	Compagnie(comp));


CREATE TABLE Avion
(immat CHAR(6), typeAvion CHAR(15), nbhVol DECIMAL(10,2),
	proprio CHAR(4) NOT NULL, 
	CONSTRAINT pk_Avion PRIMARY KEY(immat),
	INDEX (proprio),
	CONSTRAINT fk_Avion_comp_Compag FOREIGN KEY(proprio) REFERENCES Compagnie(comp));

Merci beaucoup
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 10h30   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 327
Points : 18 327
Envoyer un message via MSN à CinePhil
Dans la première, le nommage de la clé étrangère est automatique. Dans la seconde, c'est toi qui décide comment l'appeler.

Ceci dit, je n'ai jamais trouvé d'utilité au nommage des clés étrangères ou des index. Sauf peut-être pour les supprimer mais je crois n'avoir encore jamais eu à le faire en SQL.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h32.


 
 
 
 
Partenaires

Hébergement Web