db-update-2012-11-12.sql
1.87 KB
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
###########
# 12/11/12 : materiel.description transformé en champ texte
###########
ALTER TABLE `materiels` CHANGE `description` `description` TEXT NULL DEFAULT NULL;
###########
# 13/11/12 : ajout du domaine
###########
START TRANSACTION;
# Ménage dans les tables suivis, emprunts, et materiels, en vue de modifier ensuite les structures
delete from suivis;
delete from emprunts;
delete from materiels;
# Ajout d'une nouvelle table sur_categories(id,nom)
CREATE TABLE IF NOT EXISTS sur_categories (
id int(11) NOT NULL AUTO_INCREMENT,
nom varchar(45) DEFAULT NULL,
PRIMARY KEY (id),
UNIQUE KEY nom_UNIQUE (nom)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
# Ajout dans la table categories d'une clé étrangère sur_categorie_id
ALTER TABLE categories
ADD sur_categorie_id INT( 11 ) NULL DEFAULT NULL,
ADD CONSTRAINT fk_sur_categorie_id FOREIGN KEY (sur_categorie_id) REFERENCES sur_categories (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
# Ajout dans la table categories d'une clé étrangère sur_categorie_id
ALTER TABLE materiels
ADD sur_categorie_id INT( 11 ) NOT NULL after designation,
ADD CONSTRAINT fk_materiels_sur_categorie_id FOREIGN KEY (sur_categorie_id) REFERENCES sur_categories (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
# Ajout de quelques sur-catégories
insert into sur_categories (id,nom) values
(1, 'Electronique'),
(2, 'Informatique'),
(3, 'Instrumentation'),
(4, 'Logistique'),
(5, 'Mecanique'),
(6, 'Optique');
;
# Relier toutes les catégories à une sur-catégorie (la 1)
update categories set sur_categorie_id=1 where id<10;
update categories set sur_categorie_id=2 where id>=10 and id<20;
update categories set sur_categorie_id=3 where id>=20 and id<25;
update categories set sur_categorie_id=4 where id>=25 and id<30;
update categories set sur_categorie_id=5 where id>=30 and id<40;
update categories set sur_categorie_id=6 where id>=40;
COMMIT;