On Fri, 2008-12-12 at 09:06 +0200, clive wrote:
> Colin Guthrie wrote:
> > 'Twas brillig, and tedd at 11/12/08 18:46 did gyre and gimble:
> >> As for my "Foreign Keys Question", I think the answer is that it 
> >> enforces rules upon the configuration (i.e., deleting, altering, and 
> >> such), but does not provide any significant service beyond that.
> >
> > Well that's a fairly significant service in itself. The whole 
> > "deleting data" case is where FK's have saved me significant amount of 
> > coding.
> >
> > The ON DELETE CASCADE option is key here... "DELETE FROM students 
> > where student_id=1" will remove all traces of that student from the 
> > db... all the course they've attended, all the instructors who have 
> > taught them etc. keeps things nice and tidy without having to put the 
> > structure in your code all over the place.
> >
> > Col
> >
> Is it just me or does anyone else here not like deleting from a 
> database, I normally have a status field to indicated if a row has been 
> deleted.
> 
> What about historical data, would you not want to know that studentX was 
> enrolled at some point in the past, if you just delete that student and 
> all related data how would you know this?
> 
> You could also have a 2nd database with the same table structure and 
> move old/delete data into there.

It depends on the data. Certainly for student enrolments I would want a
paper trail (so to speak) and would just set a status field. But if it
was say, an online shopping cart or cached data... I'd just purge it.

Cheers,
Rob.
-- 
http://www.interjinn.com
Application and Templating Framework for PHP


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to