Re: Searching OO Associations with RDBMS Persistence Models
- From: frebe73@xxxxxxxxx
- Date: 30 May 2006 20:47:04 -0700
Disagree. There are COBOL programs that are 40 years old. There are CCOBOL and C/C++ are examples of long-living programming languages. But
and C++ programs that are 30 and 20 years old. There is no RDB program
that are older than about 20 years; and those wouldn't be compatible
with today's engines.
there are many examples of short-living languages, New Era, VB (before
..NET), PowerBuilder, Centura. How long do you think Ruby, Python,
Groovy, etc will survive? How many years do you think it will take
until Microsoft once again force you to migrate your VB applications? I
happen to work with an system using five different programming
languages, four of them is now obsolete.
And there's also a high degree of disparity driven by the fact thatWhat do you think is easiest: Migrate from RDB to Oracle or from
each vendor wants to differentiate itself from the other.
Centura to Java?
At the level of the data structure elements. E.g. SQL knows aboutIn what way is this different to C++. The primitive data types are the
integers, strings, dates, etc. It knows about tables and rows.
same. Both SQL and C++ can be extended with custom data types. But the
data structure elements in C++ (structs, arrays, etc) are more
low-level than the data structures in SQL (tables, keys).
It does not know about any application objects.Obviously it is hard for the RDBMS to know about applications objects.
But that is irelevant regarding hig/low level.
No, what you'd implement in the RDB is the notion that a particularThe applications doesn't have any idea either. Only humans has that
string column would be unique. The RDB has no idea that this is the
name of the customer.
kind of capability.
In the application objects the code would KNOW that the field was theAI has not yet come that far. That is the difference of being unique
name of the customer and would ensure that it was unique semantically,
not syntactically.
semantically instead of unique syntactically? Either it is unique or
not.
I didn't know line count was the metric! So "HLT" must be very high level.Line count is almost the the only metric availible. Do you have another
metric to use?
Or it might require a lot less code. Indeed, there are ways toCan you show how the original problem
eliminate the RDB and relace it with virtual files that is
automatically persistent.
"select * from company where location=? and name like ?"
can be replace with less code using virtual files
Or we could replace the RDB with an ODB thatSo, why is not everybody using a ODB? The failure of ODB are well
takes very few lines of code to persist.
known. What make you think that it takes you more than a few lines of
code to "persist" something in a RDB?
Or... The point is we areNow you are mixing two very different thing. Using ANSI SQL you are not
not bound to a particular database implementation or scheme.
bound to any particular database implementation. But the database
scheme is part of the business rules and of course you need to be bound
to them.
Sometimes the DATA is the heart of the system, but theThe programming language is also always a detail.
storage mechanisms is always a detail.
SQL is not a detail. Oracle/MySQL/SQL Servers are details, but it isIt's called decoupling. It's one of those pesky principles of goodThe database is a detail to be decided at the last possible moment andWhy does the database need to be in a flexible position? Why does it
kept in a
position so flexible that it can be swapped out for another at a whim.
need to be swapped out at a whim?
software development. The less you are coupled to detailed mechanisms
and implementations the better.
not very difficult to be decoupled from them using a subset of ANSI
SQL.
C++/C#/Java are also details. Can you show me how to decouple from
them?
Fredrik Bertilsson
http://frebe.php0h.com
.
- Follow-Ups:
- Re: Searching OO Associations with RDBMS Persistence Models
- From: Robert Martin
- Re: Searching OO Associations with RDBMS Persistence Models
- References:
- Searching OO Associations with RDBMS Persistence Models
- From: Richie
- Re: Searching OO Associations with RDBMS Persistence Models
- From: frebe73
- Re: Searching OO Associations with RDBMS Persistence Models
- From: Robert Martin
- Re: Searching OO Associations with RDBMS Persistence Models
- From: Alfredo Novoa
- Re: Searching OO Associations with RDBMS Persistence Models
- From: Robert Martin
- Re: Searching OO Associations with RDBMS Persistence Models
- From: frebe73
- Re: Searching OO Associations with RDBMS Persistence Models
- From: Robert Martin
- Searching OO Associations with RDBMS Persistence Models
- Prev by Date: Re: Searching OO Associations with RDBMS Persistence Models
- Next by Date: Re: Searching OO Associations with RDBMS Persistence Models
- Previous by thread: Re: Searching OO Associations with RDBMS Persistence Models
- Next by thread: Re: Searching OO Associations with RDBMS Persistence Models
- Index(es):
Relevant Pages
|