Bonjour, je dois créer une base de données avec 4 tables (clients, médecins, médicaments et ordonnances).

Les clés primaires sont:
numéro_rn pour clients et médecins
id_medicament pour médicaments
et id_ordonnances pour ordonnances

Mon terminal m'indique que j'ai une erreur de syntaxe, voici le message exact:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(medecins(numero_rn))'
Et voici mon fichier mysql où tout fonctionne jusqu’à -- Création de la clé étrangères:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
-- Création de la database avec l'encodage utf-8
CREATE DATABASE IF NOT EXISTS pharmacie CHARACTER SET 'utf8' ;  
USE pharmacie;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-- Création de la table clients (nom, prénom, date de naissance, numéro de registre national (clé primaire), 
-- adresse, médecins traitants (clé étrangaire), commentaires )
DROP TABLE IF EXISTS clients; 
 
CREATE TABLE IF NOT EXISTS clients(
	numero_rn BIGINT(11) PRIMARY KEY NOT NULL,
	nom VARCHAR(30) NOT NULL,
	prenom VARCHAR(30) NOT NULL,
	date_de_naissance DATETIME,
	adresse VARCHAR(50),
	localite VARCHAR(30) ,
	code_postal SMALLINT(4) UNSIGNED,
	commentaires TEXT
 
 
)
ENGINE=InnoDB;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
-- Création de la table médecins traitants (nom, prénom, date de naissance, numéro de registre national, adresse, clé primaire 
DROP TABLE IF EXISTS medecins; 
 
CREATE TABLE medecins(
	numero_rn BIGINT(11) PRIMARY KEY NOT NULL,
	nom VARCHAR(30) NOT NULL,
	prenom VARCHAR(30) NOT NULL,
	date_de_naissance DATETIME,
	adresse VARCHAR(50),
	localite VARCHAR(30) ,
	code_postal SMALLINT(4)
)
ENGINE=InnoDB;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
-- Création de la table médicaments (nom, indication, sous_prescription, remboursé)
DROP TABLE IF EXISTS medicaments;
 
CREATE TABLE medicaments(
	id_medicament MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
	indication TEXT,
	sous_prescription BOOLEAN DEFAULT NULL,
	remboursement BOOLEAN DEFAULT NULL,
	PRIMARY KEY(id_medicament)
)
ENGINE=InnoDB;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
-- Création de la clé étrangères
ALTER TABLE clients
ADD CONSTRAINT fk_medecin
		FOREIGN KEY (numero_rn)
			REFERENCES (medecins(numero_rn));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-- Création de la table ordonnances (date, médicament(s), médecin (key), client (key) )
DROP TABLE IF EXISTS ordonnances;
 
CREATE TABLE ordonnances(
	id_ordonnance MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
	date DATETIME NOT NULL,
	CONSTRAINT fk_medicament
		FOREIGN KEY (id_medicaments)
			REFERENCES (medicaments(id_medicament)),
 
	CONSTRAINT fk_medecin
		FOREIGN KEY (medecins)
			REFERENCES (medecins(numero_rn)),
 
	CONSTRAINT fk_client
		FOREIGN KEY (clients)
			REFERENCES (clients(numero_rn)),
 
	PRIMARY KEY(id_ordonnance)
)
ENGINE=InnoDB;
Merci pour votre aide, je ne comprends vraiment pas où est l'erreur