Database design; should I use numbers or descriptive text? -
i'm working on simple order html form , i'm not sure best way store in database be.
lets have form ask user:
"how order delivered?"
- send me
- send digitally
- pick @ store
using radio buttons can pick either one. question is, how store in database? should value be?
<input type="radio" name="delivered" id="delivered" value="">
i use descriptive text send, digitally, pickup , save varchar or can save int — 1, 2, 3.
with integers remove possibility of typos , might faster (?). downside is; have remember each value means. "was 2 pickup or digital?"
a databases should first , foremost care storing data. how data presented user should of secondary concern.
so in case, use integer in combination check (field in (...)) constraint (or possibly enum if available in dbms), , make sure each possible value documented. benefit both integrity , performance (smaller faster) @ database level. on top of that, can naturally used client code distinguish between radio buttons, instead of using strings of locally-defined integer/enum values need translated "db values".
after have done that, can consider whether need centrally stored presentation-related data. example:
- do want clients able change radio button labels automatically?
- do want implement localization mechanism centrally?
- etc...
in cases this, typically create additional "lookup" table listing valid integer values additional presentation data necessary. "main" table have foreign key towards lookup table.
Comments
Post a Comment