Bonjour,
J'ai essayé de modéliser la partie adresses de la bases de données sur laquelle je travaille selon la norme française, mais je me retrouve à devoir enregistrer des adresses étrangères peu compatibles avec mon modèle. Ou, du moins, je ne sais pas toujours où enregistrer les données dans mes colonnes (et ce sera encore pire quand ce seront les utilisatrices qui devront le faire ! ).
En googlant le problème, je suis retombé sur une vielle discussion de 2012 à laquelle j'avais participé.
Les solutions proposées par SQLPro sont essentiellement en rapport avec les normes française et européenne alors que les adresses me posant problème sont principalement africaines.
Voici la structure de ma table des adresses postales (en MySQL/MariaDB) :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE TABLE `te_adresse_adr` ( `adr_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Identifiant de l''adresse', `adr_id_ville` int(11) NOT NULL COMMENT 'Identifiant de la ville où est située l''adresse', `adr_numero_voie` int(11) NOT NULL DEFAULT '0' COMMENT 'Numéro dans la voie (0 = pas de numéro)', `adr_complement_numero` varchar(10) NOT NULL COMMENT 'Complément au numéro dans la voie (B, T, Q, C)', `adr_nom_voie` varchar(32) NOT NULL COMMENT 'Nom de la voie', `adr_localite` varchar(32) NOT NULL COMMENT 'Hameau, lieu-dit...', `adr_code_postal` char(5) NOT NULL COMMENT 'Code postal de l''adresse', `adr_precision_int` varchar(32) NOT NULL COMMENT 'Précision interne à l''adresse (apt., Boîte à lettre, étage...)', `adr_precision_ext` varchar(32) NOT NULL COMMENT 'Précision externe à l''adresse (bâtiment, voie, résidence...)', PRIMARY KEY (`adr_id`), KEY `x_adr_id_ville` (`adr_id_ville`), CONSTRAINT `fk_adr_id_ville` FOREIGN KEY (`adr_id_ville`) REFERENCES `tr_ville_vil` (`vil_id`) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE=InnoDB AUTO_INCREMENT=152 DEFAULT CHARSET=utf8 COMMENT='Adresse postale'
Les adresses françaises rentrent nickel mais voilà le genre d'adresses que j'ai à enregistrer :
L'adresse à Bamako, comme disait Zézette ÉpouseX : "Ça rentre pas dans les cases !"Gendarmerie Nationale Burkina Faso - 01BP361
OUAGADOUGOU
BURKINA FASO
14 Quartier Théard - Canapé-Vert - HT 6113
Port-au-Prince
Haïti
Rue 402 Porte 95 - Hamdallaye ACI 2000 - Aeroport international Président Modibo KEITA Sénou - BP 36
Bamako
Mali
Angle Rue 062 et 087 Avénou BP 13633
Lomé
Togo
Cuntum Madina - Zona 8 C-77
Bissau
Guinée-Bissau
Comme ça urge un peu, j'en viens à envisager la solution brutale de la colonne TEXT pour les adresses étrangères, dans une table héritant de la table présentée ci-dessus.
Mais j'aimerais bien trouver une modélisation plus correcte.
Partager