db-update-2012-11-12.sql 1.87 KB
###########
# 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;