I have a general DB question, but since I'm using MySQL, I figure one of our friendly listreaders might be able to help me out. I have 4 tables, say "table1-table4", and I need to get some data from table4 which relies on some values from table1. However, the only way I can get those table1 values, is by going through tables 2 and 3. So... the query, in essence, looks like: select table4.id from table1,table2,table3,table4 where table4.table3_id = table3.id and table3.table2_id = table2.id and table2.table1_id = table1.id and table1.value = "VALUEIMLOOKINGFOR". now -- the reasons i have 4 tables such as this is each table holds a key peice of data. *BUT*, there's nothing from preventing me from adding a column to table4 called "table1_id" and doing something like select table4.id from table1,table4 where table4.table1_id = table1.id and table1.value = "VALUEIMLOOKINGFOR" my questions falls on the replication of data issue (and understand, a DB Guru I am not, but I've read Paul DeBois book and think i have a pretty fair handle of things). Anyway, since I can infer the data without having to replicate anything (ie: the first query) is it good DB practice that, if you are making this type of query, to go ahead of be able to reference the data directly (ie: the second query), even though table4 would, in essence, be storing the "table1_id" when it could be gotten via a query anyway? Am I making myself clear? I am trying to determine when it's ok to have extra columns the duplicate data you can get elsewhere but would make a query potentially faster (i believe) but the tables larger? If anyone can point me elsewhere as well... --jim -- And then there was one... --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php