normalizePays.sql 3.21 KB
tee normalisePays.log

DROP TABLE IF EXISTS pays;

CREATE TABLE pays (
  ID_PAYS int(11) NOT NULL AUTO_INCREMENT,
  LIB_PAYS varchar(100) DEFAULT NULL,
  PRIMARY KEY (ID_PAYS)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

insert into pays select * from v2.pays;

DROP TABLE IF EXISTS editeur;

CREATE TABLE editeur (
  ID_EDITEUR int(11) NOT NULL AUTO_INCREMENT,
  NOM_EDITEUR varchar(50) NOT NULL,
  ADR_EDITEUR varchar(300) DEFAULT NULL,
  CP_EDITEUR varchar(15) DEFAULT NULL,
  VILLE varchar(50) DEFAULT NULL,
  PAYS varchar(50) DEFAULT NULL,
  TEL_EDITEUR varchar(25) DEFAULT NULL,
  EMAIL_EDITEUR varchar(50) DEFAULT NULL,
  URL_EDITEUR varchar(100) DEFAULT NULL,
  STATUT_EDITEUR varchar(50) DEFAULT NULL,
  IND_AMATEUR bit(1) DEFAULT NULL,
  HISTORIQUE longtext,
  ID_JOURNALISABLE int(11) DEFAULT NULL,
  ID_LINKABLE int(11) DEFAULT NULL,
  PRIMARY KEY (ID_EDITEUR)
) ENGINE=InnoDB AUTO_INCREMENT=3267 DEFAULT CHARSET=utf8;

insert into editeur select * from v2.editeur;

-- PREPARATION TABLE editeur
-- Standardisation des valeurs de PAYS dans editeur
update editeur set PAYS='Allemagne' where PAYS in ('Deutschland');
update editeur set PAYS='Australie' where PAYS in ('Australia');
update editeur set PAYS='Espagne' where PAYS in ('España');
update editeur set PAYS='Pologne' where PAYS in ('Polska');
update editeur set PAYS='Royaume-Uni' where PAYS in ('United Kingdom', 'Royaume Uni', 'Grande-Bretagne', 'United Kingdoms', 'Royaumes Unis', 'Angleterre', 'UK');
update editeur set PAYS='États-Unis' where PAYS in ('USA', 'Etats Unis', 'Etats-Unis d\'Amérique', 'Etats Unis d\'Amérique', 'Caroline du Sud');
update editeur set PAYS='République tchèque' where PAYS in ('Ceska Republika');
update editeur set PAYS='Finlande' where PAYS in ('Suomi / Finlande');
update editeur set PAYS='Suède' where PAYS in ('Sverige / Suède');
update editeur set PAYS='Italie' where PAYS in ('Italia');
update editeur set PAYS='Grèce' where PAYS in ('Ellada  / Grèce', 'Ellada / Grèce');
update editeur set PAYS='Brésil' where PAYS in ('Brasil/Brésil', 'Brasil', 'Brasilia');
update editeur set PAYS='Nouvelle-Zélande' where PAYS in ('New Zealand', 'New-Zeland');
-- Suppression d'un pays imaginaire
--	http://www.legrog.org/editeurs/hugin-munin
update editeur set PAYS=NULL where PAYS='France / Canada';

-- PREPARATION TABLE pays
-- Ajouts dans la table pays pour intégration
insert into pays (LIB_PAYS) values ('République tchèque');
insert into pays (LIB_PAYS) values ('Finlande');
insert into pays (LIB_PAYS) values ('Suède');
insert into pays (LIB_PAYS) values ('Italie');
insert into pays (LIB_PAYS) values ('Grèce');
insert into pays (LIB_PAYS) values ('Brésil');
insert into pays (LIB_PAYS) values ('Nouvelle-Zélande');
insert into pays (LIB_PAYS) values ('Japon');
insert into pays (LIB_PAYS) values ('Corée du Sud');
insert into pays (LIB_PAYS) values ('Pays-Bas');
insert into pays (LIB_PAYS) values ('Hongrie');
update pays set LIB_PAYS='États-Unis' where LIB_PAYS='USA';

-- CONTROLE UNICITE LIBELLES PAYS
select LIB_PAYS, count(LIB_PAYS) co, 'ERROR' from pays group by LIB_PAYS having co > 1;

-- CONTROLE MATCHING PAYS DES EDITEURS
select NOM_EDITEUR, 'ERROR' from editeur
where PAYS is not null
and PAYS not in (select LIB_PAYS from pays);