RE: Re: Foreign Keys Question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: clive [mailto:clive_lists@xxxxxxxxxxxxxxxxxxx]
> Sent: Friday, December 12, 2008 1:07 AM
> To: PHP LIST
> Subject: Re:  Re: Foreign Keys Question
> 
> 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.

You are describing a data warehouse, or a data mart. That is not what transactional databases are there for. Make a historical database, and make a transactional database... but don't make one that tries to be both, or you're just shooting yourself in the foot.


// Todd


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux