· 9 years ago · Nov 04, 2016, 11:24 PM
1TP1
2
32)
4Clé primaire: permet d identifier une ligne précise de base de données de manière unique.
5
63)
7Categories : code_categorie
8stage : Num_stage
9ville: CP
10chevaux: Num_C
11Inscrire : Num_adhérent / Num_stage / Num_cheval
12Adherents: Num_adhérent
13
144)
15Vérifier que les informations sont valides et que la clé primaire soit unique
16
175)
18Oui c est possible mais inutile car il existe déjà dans une table
19
206)
21
22 Clé étrangère référence les lignes de la table à partir d autre table de la base de données.
23 Liste clé étrangère:
24 - inscrire: les 3
25 - Adherents: CP / Cat
26
27Réalisation:
28
295)
30DROP TABLE IF EXISTS CATEGORIES CASCADE;
31DROP TABLE IF EXISTS STAGES CASCADE;
32DROP TABLE IF EXISTS VILLES CASCADE;
33DROP TABLE IF EXISTS CHEVAUX CASCADE;
34DROP TABLE IF EXISTS INSCRIRE CASCADE;
35DROP TABLE IF EXISTS ADHERENTS CASCADE;
36
37create table CATEGORIES (
38Code_categorie text PRIMARY KEY,
39libelle_categorie text,
40Montant_cotisation double precision );
41
42create table STAGES (
43Num_stage int PRIMARY KEY NOT NULL,
44Du date,
45Au date,
46Prix_forfaitaire double precision);
47
48create table VILLES (
49CP int PRIMARY KEY NOT NULL,
50Ville text);
51
52create table CHEVAUX (
53Num_C int PRIMARY KEY NOT NULL,
54Nom_cheval text,
55Sexe_C text,
56Encolure int NOT NULL,
57DN_C date,
58Niv_C text NOT NULL );
59
60create table ADHERENTS (
61Num_adherent int PRIMARY KEY NOT NULL,
62Nom_adherent text,
63Prenom text,
64Sexe text,
65CP int REFERENCES VILLES (CP),
66Date_nais date,
67Echeance_cot date,
68Niveau int,
69Cat text);
70
71create table INSCRIRE (
72Num_adherent int ,
73Num_stage int REFERENCES STAGES (Num_stage),
74Num_cheval int,
75PRIMARY KEY (Num_adherent , Num_stage , Num_cheval)
76);
77
786)
79
80insert into Categories values
81 ('AA','Adulte à l année',900.00),
82 ('AT','Adulte au Trimestre',250.00),
83 ('EA','Enfant à l année', 800.00),
84 ('ET','Enfan au Trimestre', 250.00);
85
86insert into Stages values
87 (10, '2013-09-13', '2013-09-14',50.00),
88 (15, '2013-12-14','2013-12-19',300.00);
89
90insert into Villes values
91 (13001,'Marseille'),
92 (13002,'Marseille'),
93 (13500, 'Martigues'),
94 (13700, 'Martigues');
95
96insert into Chevaux values
97 (01,'Doumé','M',140,'2011-05-15', 3),
98 (02,'Camomille','F',169,'2003-02-26',3),
99 (11,'Roméo','M',158,'2012-04-18',1),
100 (13,'Roméo','F',145,'2008-11-02',2);
101
102insert into Inscrire values
103 (0165,10,13),
104 (0166,15,01),
105 (0165,15,11),
106 (0167,10,13);
107
108insert into Adherents values
109 (0165,'Martin','Claude','M',13500,'1967-07-13','2014-05-29',04,'AA'),
110 (0166,'Dupond','Louise','F',13002,'1974-11-25','2014-08-29',03,'AT'),
111 (0167,'Favre','Olivier','M',13001,'2000-06-06','2013-09-30',01,'ET'),
112 (0168,'Favre','Julie','F',13001,'2000-06-06','2013-09-30',01,'ET');