title: What is the best way to store categorical references in SQL tables?
body: <p>I'm wanting to store a wide array of categorical data in MySQL database tables. Let's say that for instance I want to to information on "widgets" and want to categorize attributes in certain ways, i.e. shape category.</p>
  
  <p>For instance, the widgets could be classified as: round, square, triangular, spherical, etc.
  Should these categories be stored within a table to reference them best from an application? Another possibility, I would imagine, would be to add a column to widgets that contained a shape column that contained a tiny int. That way my application could search shapes by that and then use a coordinating enum type that would map the shape int meanings.</p>
  
  <p>Which would be best? Or is there another solution that I'm not thinking of yet?</p>