Re: OO DB question



Hi Joanna,

Thankyou for the detailed reply. I'm still digesting what you've written,
so I'll reply with any questions soon :).

Chris
"Joanna Carter [TeamB]" <joanna@xxxxxxxxxxxx> wrote in message
news:ORNkdeYCGHA.4076@xxxxxxxxxxxxxxxxxxxxxxx
> "Joanna Carter [TeamB]" <joanna@xxxxxxxxxxxx> a écrit dans le message de
> news: OmX7YQYCGHA.532@xxxxxxxxxxxxxxxxxxxxxxx
>
> And I still didn't really answer your question.
>
> There really isn't anything that allows you to retrieve objects directly
> froma database, which is why I mentioned the OPF idea. A database is not
> modelled on tha same paradigm as an object model; the database uses a
> relational model which is subtly different from an object model.
>
> e.g.
>
> database :
>
> OrderLine
> - ID: integer
> - OrderID: integer
> - Quantity: integer
> - ProductID: integer
> - UnitPrice: float
> - Total: float
>
> Order
> - ID: integer
> - Ref: string
> - Date: DateTime
> - CustomerID: integer
> - Total: float
>
> object model :
>
> OrderLine
> - ID: integer
> - Quantity: integer
> - Product: Product
> - UnitPrice: float
> - Total: float
>
> Order
> - ID: integer
> - Ref: string
> - Date: DateTime
> - Customer: Customer
> - Lines: List<OrderLine>
> - Total: float
>
> Notice that in the relational model, the Order table has no knowledge of
> the
> OrderLine table but the OrderLine table has to have a foreign key field to
> link its records to a particular record in the Order Table; there may be
> additional referential integrity constraints and things like cascade
> deletion to ensure that when an Order is deleted, all its Lines are also
> deleted.
>
> Using an OO approach, we can dispense with the foreign key from the Line
> to
> the Order as the Order already knows about its Lines; in fact, there
> really
> is no need for the Line to know about the Order, as in the relational
> model.
> Notice also that we do not use integer IDs to link object together, but
> instead real references to real objects.
>
> It is this "impedance mismatch" between the relational model and the
> object
> model that is resolved in an OPF. A mapping hierarchy lets us specify the
> relational foreign key field links without polluting the object model. In
> fact all a relational database behind an OPF has to do is simple single
> table selects, updates and deletes, most of the time, as all the integrity
> between objects is taken care of in the business object layer.
>
> Joanna
>
> --
> Joanna Carter [TeamB]
> Consultant Software Engineer
>
>


.



Relevant Pages

  • Re: OO DB question
    ... froma database, which is why I mentioned the OPF idea. ... OrderLine ... - UnitPrice: float ... Notice that in the relational model, the Order table has no knowledge of the ...
    (microsoft.public.dotnet.languages.csharp)
  • 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: 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.databinding)