Hi,
I've laid out a _very_ simple database that tracks my artwork the
table 'works' looks like:
+---------+----------+------------+------------+-------------+
| work_id | title | media | category | year | etc....
+---------+----------+------------+------------+-------------+
| 1 | One | oil | painting | 2002 |
+---------+----------+------------+------------+-------------+
| 2 | Two | stone | sculpture | 2003 |
+---------+----------+------------+------------+-------------+
and so on...
My question is, if I KNOW that I'll never have more than 500 rows in
the table (I don't make that much work per year) do I need to
normalize the table?
Right now I have alot of repeating data (say I make 10 "oil" piecesper
year) and from what I gather about normalizing the media row should be
a media_id row, with intergers pointing to a media table that indexes
each media:
works:
+---------+----------+------------+------------+-------------+
| work_id | title | media_id | cat_id | year | etc....
+---------+----------+------------+------------+-------------+
| 1 | One | 1 | 1 | 2002 |
+---------+----------+------------+------------+-------------+
| 2 | Two | 2 | 2 | 2003 |
+---------+----------+------------+------------+-------------+
media:
+----------+----------+
| media_id | media |
+----------+----------+
| 1 | oil |
+----------+----------+
| 2 | stone |
+----------+----------+
but my question is, in a small table, one with at most 500 rows, am I
a loon to use the table at top, full of VARCHAR columns?
Most of the articles I've read about normalization talk about table
becoming very large, e.g. "I'm trying to SELECT 1,500,000 rows..." but
what I'm wondering is if you're making a table that has far less rows,
outside of "doing the right thing" by normalizing, is there a benefit
to spliting one large table into many small tables?
- Evan