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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
CREATE TABLE Participant (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    nom VARCHAR(40) NOT NULL,
    prenom VARCHAR(40),
    tlphn  SMALLINT UNSIGNED,
    adresse TEXT,
    date_naissance DATETIME,
    commentaires TEXT,
    certif
    PRIMARY KEY (`id`),
    INDEX ind_prenom (`prenom`),  
    INDEX ind_nom (`nom`),                    
)
ENGINE=INNODB;
 
CREATE TABLE Formaparti (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_formation  INT UNSIGNED NOT NULL ,
    id_participant VARCHAR(40) NOT NULL,
    commentaire,
    PRIMARY KEY (`id`)
)
ENGINE=INNODB;
 
CREATE TABLE Formation (
    id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    libele_formation VARCHAR(40) NOT NULL,
    commentaire TEXT,
    PRIMARY KEY (`id`)
)
ENGINE=INNODB;
 
CREATE TABLE Grpparti (
    id_grp VARCHAR(40) NOT NULL,
    id_participant VARCHAR(40) NOT NULL,
    referent (oui non),
    PRIMARY KEY (`id`)
)
ENGINE=INNODB;
 
CREATE TABLE Grp (
    id_grp_cat VARCHAR(40) NOT NULL,
    libele_grp,
    PRIMARY KEY (`id_grp_cat`,`libele_grp`)
)
ENGINE=INNODB;
 
CREATE TABLE Grp_cat (
    libele_grp_cat VARCHAR(40) NOT NULL,
    PRIMARY KEY (`libele_grp_cat`)
)
ENGINE=INNODB;
 
CREATE TABLE Qualifparti (
    id_qualif VARCHAR(40) NOT NULL,
    id_participant VARCHAR(40) NOT NULL,
    date_qualif DATE NULL,
    PRIMARY KEY (`id_qualif`,`id_participant`)
)
ENGINE=INNODB;
 
CREATE TABLE Qualif (
    libele_qualif VARCHAR(40) NOT NULL,
    PRIMARY KEY (`libele_qualif`)
)
ENGINE=INNODB;
 
CREATE TABLE Nivparti (
    id_niveau SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_participant SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    date_niveau DATE NOT NULL,
    verif_niveau DATE NULL,
    PRIMARY KEY (`id_niveau`,`id_participant`)
)
ENGINE=INNODB;
 
CREATE TABLE Niveau (
    id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    libele VARCHAR(40) NOT NULL,
    parametre VARCHAR(50),
    PRIMARY KEY (id)
)
ENGINE=INNODB;
J'ai fais le squelette, les id de certains tableaux associatifs je pense en avoir besoin
mais alors il me faut une primary key sur les autres tableaux ?
Et le reste j'ai du mal a déterminer ce que je devrai mettre comme type de champ ou si ceux que j'ai choisis vont bien.

voici le lien du schema de ma base

merci d'avance