Re: Business objects, subset of collection




Responding to Frebe...

Isn't views a good tool for providing mappings othan than 1:1?
Depends upon which flavor of views you are talking about.

I am talking about database or SQL views.

IOW, join datasets. How are they not a 1:1 mapping of the schema?

But mixing paradigms is usually a very bad idea from an OOA/D
perspective once one is outside the realm of CRUD/USER processing.
That's because the data structures needed to optimize the customer's
problem solution are usually not the same as those needed to optimize
data storage or display and the 1:1 mapping breaks down.
The database schema should be optimized for the customer's problem
solution.
Such optimization utterly defeats the entire relational database model,
which is designed to provide data storage and access that in independent
of the way the data is used.

1. Do you have any references to support the claim that the
"relational database model" is designed to provide data storage and
access that in independent of the way the data is used?

Pretty much the entire literature of the field. "Data Modeling Essentials" by Simsion was the first book I took off my shelf. Chapter 1 has sections on "data reusability", "stability and flexibility", and "simplicity and elegance" -- all of which address the notion that the RDB provides data storage that is independent of the use of the data.

2. If (1) would be true, how does that fact utterly defeats the entire
model?

If the database is optimized for a particular problem solution then it will not be optimized properly when different problem solutions need the same data. IOW, it will not provide generic data storage and access.


I point all this out because it reflects a major disconnect between
OOA/D and the RAD infrastructures. So far your application sounds like
classic CRUD/USER processing. In that case using the RAD paradigm and
infrastructures will probably save you a ton of keystrokes.
Indeed. One could also argue 80-90% of all business applications seem
to be CRUD/USER according to your definition.
That was true in the '60s and CRUD/USER processing is still a major part
of IT. But today the proportion has shrunk substantially, probably down
to the 20-30% range.

Do you have references to a definition of CRUD/USER processing? If we
don't have a working definition, we use of the term seem to be rather
pointless.

Google it. You'll find plenty references to CRUD and USER acronyms.

CRUD => Create, Report, Update, Delete
USER => Update, Sort, Extract, Report

The acronyms pretty much say it all.

But that
will necessarily result in different models than I would use as an OOA/D
guy when solving non-CRUD/USER problems.
Yes, because an OO model would be a network model (with pointers
between
object/records), and not a relational model.
We've been here before, yet you persist in making statements like this.
The reality is that an OOA/D Class Model is normalized using exactly the
same relational rules as an RDB schema.

How do you apply 2NF to your classes?

The same as you do. Every non-identity responsibility must be a simple domain (1NF) and must be fully dependent on the object identity.

I'm surprised you selected 2NF; the DBMS mavens usually follow the Chris Date lead and attack 3NF applied to behavior responsibilities. However, I have no intention of getting into Chris Date debate.


The differences between an OO
Class Model and a Data Model lie in the way their relational model is
constructed, not in whether they are relational models.

From Wikipedia ("Relational model"): "The fundamental assumption of
the relational model is that all data is represented as mathematical n-
ary relations". Does the apply to an OO class model?

Of course.

--
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
hsl@xxxxxxxxxxxxxxxxx
Pathfinder Solutions
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
"Model-Based Translation: The Next Step in Agile Development". Email
info@xxxxxxxxxxxxxxxxx for your copy.
Pathfinder is hiring: http://www.pathfindermda.com/about_us/careers_pos3.php.
(888)OOA-PATH
.



Relevant Pages

  • Re: Data Layer architecture
    ... > the first week of>> any serious database course). ... rules were described to be inside the RDBMS, ... is not a theory which states anything about business ... > The Relational Model is nothing but a direct application of set theory ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: WWW/Internet 2009: 2nd CFP until 21 September
    ... afterwards focussed on the application of the relational model to the ... organization of data banks for large scale sharing of data. ... by a single application inside which the database is to be embedded. ... lack of transaction control wasn't really the reason reservation systems ...
    (comp.databases.theory)
  • Re: Table Design Question
    ... > requires more than two probes, no matter how large the database. ... > acceptable (in the relational model) to have an Identity attribute to ... the gap in the sequence is not filled in and the sequence ... > vin CHARNOT NULL REFERENCES Motorpool); ...
    (microsoft.public.sqlserver.programming)
  • Re: SQL
    ... >business and presentation rules in the applications. ... DBMS were created ... The fundamental purpose of a DataBase Management ... >Around a corruption of THE Relational Model. ...
    (comp.object)
  • Re: Databinding - Best Practice (object-oriented)
    ... >>relational model throughout your application severely restricts the ... The Relational Model is not SQL. ... difficult to persuade developers to ditch the database independance this ... What SQL domains should be but they are not. ...
    (microsoft.public.dotnet.framework.windowsforms)

Quantcast