Quel est le meilleur moyen de stocker des adresses internationales dans une firebase database?

Quel est le meilleur moyen de stocker des adresses internationales dans une firebase database? Répondez sous la forme d’un schéma et expliquez les raisons pour lesquelles vous avez choisi de normaliser (ou non) la manière dont vous l’avez fait. Expliquez également pourquoi vous avez choisi le type et la longueur de chaque champ.

Note: Vous décidez quels champs vous pensez être nécessaires.

Texte libre de forme libre.

Valider tous les codes postaux / postaux du monde est trop difficile; une liste fixe de pays est trop sensible politiquement; État / région / autre subdivision administrative obligatoire est tout simplement inapproprié (on me demande trop souvent dans quel comté je vis – quand ce n’est pas le cas, car le Grand Londres n’est pas du tout un comté).

Plus précisément, c’est tout simplement inutile. Il est très peu probable que votre application soit une adresse de modélisation sérieuse. Si vous voulez une adresse postale, demandez l’adresse postale. La plupart des gens ne sont pas aussi stupides que de mettre quelque chose d’autre qu’une adresse postale, et s’ils le font, ils peuvent emarmser leur nouvel article au moment voulu.

L’exception à cette règle est que si vous faites quelque chose qui est naturellement limité à un pays de toute façon. Dans cette situation, vous devriez demander, par exemple, la paire {code postal, numéro de maison}, ce qui suffit à identifier une adresse postale. J’imagine que vous pourriez réaliser des choses similaires avec le code postal étendu aux États-Unis.

Dans le passé, j’ai modélisé des formulaires qui devaient être internationaux après les formulaires d’adresses d’expédition UPS / Fedex sur leurs sites Web (je pensais que s’ils ne savaient pas comment gérer une commande internationale, nous sums tous arrêtés). Les champs qu’ils utilisent peuvent être utilisés comme référence pour configurer votre schéma.

En général, vous devez comprendre pourquoi vous voulez une adresse. Est-ce pour l’expédition / envoi postal? Ensuite, il n’y a qu’une seule exigence, séparer le pays. Les autres lignes sont de forme libre, à remplir par l’utilisateur. La raison en est la stratégie de transmission commune du courrier: tout courrier entrant dans un pays étranger est transféré sans regarder les autres lignes d’adresse. Par conséquent, les informations détaillées sont analysées uniquement par le sortingeur de courrier situé dans le pays même. Comme le récepteur, ils seront familiarisés avec les conventions nationales.

(UPS peut regrouper quelques petits pays européens, e .. tous les Pays-Bas sont probablement desservis par la Belgique – l’idée est toujours valable.)

Je pense que l’ajout de pays / ville et de texte d’adresse sera correct. le pays et la ville doivent être séparés pour les rapports. Les gestionnaires demandent toujours ce type de rapport auquel vous ne vous attendez pas et je ne préfère pas exécuter une requête LIKE via une grande firebase database.

Ne pas donner à Facebook un respect indu. Cependant, la structure globale de la firebase database semble être négligée dans de nombreuses applications Web lancées chaque jour. De toute évidence, je ne pense pas qu’il existe une solution parfaite qui couvre toutes les variables potentielles avec une structure d’adresses sans travail. Cela dit, combiné avec autocomplete, Facebook parvient à prendre des données d’emplacement et à éliminer la majorité de ses entrées redondantes. Pour ce faire, ils organisent suffisamment bien leur firebase database pour fournir au client, en temps réel et à faible coût, des informations de saisie semi-automatique leur permettant de choisir plus ou moins le bon emplacement dans une liste existante.

Je pense que la meilleure solution consiste à accéder à une firebase database tierce qui contient la scope géographique souhaitée et à l’utiliser pour créer initialement les informations de localisation de l’utilisateur. Cela vous permettra d’éviter de faire le grand travail de créer le vôtre. Avec un peu de chance, vous pouvez réduire la charge de votre serveur en permettant à vos nouveaux utilisateurs de recevoir les informations de saisie semi-automatique correctes directement auprès de votre fournisseur tiers. Finalement, vous pourrez remplir la plupart des données de saisie semi-automatique pour des informations de localisation telles que la ville, le pays, etc. à partir des informations contenues dans votre propre firebase database à partir des données saisies par l’utilisateur.

Vous devez fournir un peu plus de détails sur la façon dont vous prévoyez d’utiliser les données. Par exemple, les champs comme Ville, État, Pays peuvent être soit du texte dans la table unique, soit des codes liés à une table distincte avec une clé étrangère.

Le plus simple serait

Address_Line_01 (Obligatoire, Non vide) Address_Line_02 Address_Line_03 Landmark City (Obligatoire) Pin (Obligatoire) Province_Dissortingct Etat (Obligatoire) Pays (Obligatoire)

Tout ce qui précède peut être Texte / Unicode avec des longueurs de champs appropriées.

Numéros de téléphone, le cas échéant.