Când ar trebui să harta o coloană de tipul Enum în codul

voturi
1

Poate că aceasta este o chestiune de prost, dar când trebuie să harta o coloană într-un tip enum. De exemplu, știm cu toții că coloana „Sex“, care este ca reprezinta „M“ sau „F“ în baza de date poate fi harta unui enum numit de gen. Din moment ce există, în general, 2 :) gen, putem fi destul de sigur că acest enum nu va avea nevoie de actualizare. Cu toate acestea, ceea ce despre enum creat pentru logica de afaceri? De exemplu, să spunem pentru regiune, dacă aveți un Enum care reprezinta toate regiune in baza de date, de fiecare dată când introduceți o altă regiune în baza de date, care enum trebuie să se schimbe, prin urmare, este nevoie de o altă promoție. Este o bună practică? Există cele mai bune practici în jurul valorii de acest lucru?

Mulțumiri!

Întrebat 12/03/2009 la 14:59
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
0

Ești mai bine a face un tabel separat pentru regiune, cu propria identitate, unic. Apoi, utilizați ID-ul regiunii în tabelul principal.

Acest lucru permite o mai mare flexibilitate în viitor, deoarece adăugarea unei regiuni este doar adăugarea unui nou record.

A se vedea orice text privind baza de date de normalizare pentru detalii și explicații complete.

Publicat 12/03/2009 la 15:02
sursa de către utilizator

voturi
1

Aceasta este de fapt o întrebare complicată: atunci când utilizați un enum, este tradițional să aibă, de asemenea, un tabel de căutare în PB după cum sugerează Reed. Dar acest lucru ridică problema sincronizării definițiilor.

Ceea ce facem este genera tabelele de la definițiile ENUM, ca parte a construi / implementarea script-uri noastre pentru a se asigura că ambele reflectă același set de valori juridice.

Avem apoi funcții de comoditate care să ia un set de date întors dintr-o interogare DB, și ID hartă coloane în coloane (nou create), cu valori ENUM. Dar noi facem acest lucru imediat după rezultatele interogării sunt recuperate. Deci, sfatul meu ar fi să le hartă cât mai curând posibil, de preferință în DAL dumneavoastră.

Publicat 12/03/2009 la 15:13
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more