i have a question concerning db design.
i want to be able to display a user's status in different languages.
my first draft of the affected part of the db's structure looks like this:
user
------
id
user_status_id [foreign key: user_status.id]
...
language
-------------
id
name [varchar(255)]
user_status
-----------------
id
user_status_text
------------------------
user_status_id [foreign key: user_status.id]
language_id [foreign key: language.id]
name [varchar(255)]
a colleague suggested that i should simply drop the table user_status, as it introduces redundancy into my design. my first reply was: "ok, but what if i need extra fields in that table?". i am not sure whether or not i will need them, but let us suppose i don't. to me, my solution looks aestheticaly and logically more appealing ...
my question: how would YOU do it? are there any good reasons for or against my insisting on having that extra table, even if i won't add any attributes?
thanks in advance,
sean
i want to be able to display a user's status in different languages.
my first draft of the affected part of the db's structure looks like this:
user
------
id
user_status_id [foreign key: user_status.id]
...
language
-------------
id
name [varchar(255)]
user_status
-----------------
id
user_status_text
------------------------
user_status_id [foreign key: user_status.id]
language_id [foreign key: language.id]
name [varchar(255)]
a colleague suggested that i should simply drop the table user_status, as it introduces redundancy into my design. my first reply was: "ok, but what if i need extra fields in that table?". i am not sure whether or not i will need them, but let us suppose i don't. to me, my solution looks aestheticaly and logically more appealing ...
my question: how would YOU do it? are there any good reasons for or against my insisting on having that extra table, even if i won't add any attributes?
thanks in advance,
sean