Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #22742

Re: Memorizzare le province/sigle italiane e straniere

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Re: Memorizzare le province/sigle italiane e straniere
Date 2019-10-04 11:02 +0100
Message-ID <gvojlgFfi29U1@mid.individual.net> (permalink)
References <qn5h1o$1ug0$1@gioia.aioe.org>

Show all headers | View raw


On 03/10/2019 20:09, ^Bart wrote:

> in Italia e, se non erro, in altri stati esteri esistono regioni e 
> province ora devo capire come memorizzarle al meglio in un db per poi 
> associarle alle città con le seguenti tabelle:

Sì, ma i sistemi sono parecchio diversificati.

Per esempio, per l'UK hai Country (England, Scotland, ...), Region 
(North-East, North-West, ...), County (Essex, Wessex, Devon, *shire, 
...), District (che può essere city o borough) e, scendendo ancora, Parish.

Per il Giappone non mi metto nemmeno a elencare tutti i livelli :D

Semplificando a Country, Region, District, City come hai fatto tu, la 
struttura è quasi perfetta, ma ti
conviene avere una tabella a parte per i district:

country:
- id
- name

region:
- id
- name
- country_id

district:
- id
- name
- region_id

city:
- id
- name
- district_id

> C'è sempre da migliorare quindi accetto tutti i consigli e tutte le 
> critiche! :)

Se vuoi modellare tutti i casi possibili puoi usare una singola tabella 
e joinarla con sè stessa:

area:
- id (auto increment)
- type (varchar)
- parent_area (nullable fk verso id)
- name

Questo rende relativamente semplice (tramite una catena di query) avere 
tutta la gerarchia ufficiale.

Ma rende complicato fare query tipo "dammi tutte le città", 
semplicemente perché alcuni Paesi potrebbero non avere il concetto di 
città, o magari alcune c'è distinzione tra città e paese (pensa a "city" 
e "town" in inglese), o tra città e metropoli (pensa a Milano, Londra, 
Tokyo, ...)

I alternativa puoi inventarti un sistema e mettere "type" numerico, 
assegnando un certo valore a ogni livello che tu consideri equivalente. 
Per esempio 10 per lo Stato sovranazionale (UK, Italia, Francia), 20 per 
le country in UK (England, Wales, ...) o per gli stati in USA (Texas, 
California, ...), 30 per la regione (Marche, North-East, ...), ecc. ecc.

Questo ti lascerebbe un po' di buchi in mezzo per aggiungere cose a cui 
non avevi pensato, e di avere la lista della "città" semplicemente 
filtrando per type.

Penso che peggio della geografia ci sia solo il calendario, tra le cose 
create dall'umanità. :P

Bye.

Back to it.comp.www.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Memorizzare le province/sigle italiane e straniere ^Bart <gabriele1NOSPAM@hotmail.com> - 2019-10-03 21:09 +0200
  Re: Memorizzare le province/sigle italiane e straniere oibò <oibò@ooo.it> - 2019-10-03 22:19 +0200
    Re: Memorizzare le province/sigle italiane e straniere ^Bart <gabriele1NOSPAM@hotmail.com> - 2019-10-05 16:38 +0200
  Re: Memorizzare le province/sigle italiane e straniere Alessandro Pellizzari <shuriken@amiran.it> - 2019-10-04 11:02 +0100
    Re: Memorizzare le province/sigle italiane e straniere fmassei@gmail.com - 2019-10-04 09:06 -0700
      Re: Memorizzare le province/sigle italiane e straniere ^Bart <gabriele1NOSPAM@hotmail.com> - 2019-10-06 21:32 +0200
      Re: Memorizzare le province/sigle italiane e straniere Ammammata <ammammata@tiscalinet.it> - 2019-10-07 07:32 +0000
    Re: Memorizzare le province/sigle italiane e straniere ^Bart <gabriele1NOSPAM@hotmail.com> - 2019-10-06 20:14 +0200

csiph-web