Sto creando un design per diversi tipi geografici in cui ogni tipo è solo un piccolo "segnaposto" in più di ogni gerarchia.
Un esempio è
Zip code Belongs to Territory Belongs to District
Altro sarebbe
Zip code belongs to State belongs to Some Region
Abbiamo due scuole di pensiero una è quella:
1 create different tables like Zipcode, Territory, Regions etc
- other is that just create one table which is called Geographical Entity and then everything is just a type so you can assign a Type Id to each geographical entity and self reference the table
Ora, se passo al design n. 1, allora non devo preoccuparmi di alcuna decisione non tradizionale. Posso creare una classe nello spazio OO e quindi mappare su ogni tabella. Inoltre, l'imposizione di regole a livello di business come il Territorio può fare cose del genere, ma il Distrtict non può farlo. E anche cose come un Territorio possono appartenere al Distretto ma il Distretto non può appartenere al Territorio sono tutte contenute nel design stesso.
Tuttavia, se vado a Design # 2. È estensibile in modo tale che se abbiamo un nuovo tipo geografico chiamato "XYZ", non è necessario aggiungere una nuova tabella per questo. Possiamo semplicemente aggiungere un nuovo tipo in tipo Geography e sarebbe indirizzato.
Trovo che il design n. 2 sia estensibile ma inutilmente complesso. Ho ragione a pensarlo così? O quella è la strada da percorrere?