http://www.perlmonks.org?node_id=379607


in reply to Re: OO concepts and relational databases
in thread OO concepts and relational databases

You're saying that columns can have an is-a relationship with abstract types. That's equivalent, in my mind, to saying that the attributes of an instance have an is-a relationship with the native datatypes of the language I'm working in.

IS-A and HAS-A are more often discussed in reference to the object, not the attributes. That would, in my mind, correspond to the row in the table or the table definition itself. So, tables don't have IS-A relationships. Rows in tables don't have IS-A relationships. A given row in a table has a HAS-A relationship with every row that it is the N side of a 1:N relationship. (The confusion might be arising in that OO theory gives the container the HAS-A control while DB theory gives the contained the HAS-A control.)

That said, you can approximate an IS-A relationship between tables, but it's cumbersome and prone to mistakes. (It's kinda like doing OO in AppleBASIC or Fortran.)

------
We are the carpenters and bricklayers of the Information Age.

Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

I shouldn't have to say this, but any code, unless otherwise stated, is untested