Re: Data Layer architecture

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



On Mon, 25 Jul 2005 10:42:43 +0200, "Wessel Troost"
<nothing@xxxxxxxxxxxx> wrote:

>> BL is a data-consuming tier, not part of the relational model. If you
>> pick up a book by Nijssen or Halpin, or Yourdon for that matter, you'll
>> learn that relational theory, e.g. the schema setup in your DBMS, is
>> not a theory which states anything about business rules. It only gives
>> context to the data its format it defines, no logic whatsoever.
>>
>I'd have to disagree with that. The relational model can enfore business
>rules-- like, at most one customer per order, every order has a unique
>identifier, and it's obligatory to fill in the postal code for an order.

Any DBMS must be able to enforce any business rule. If not, it is not
a DBMS.

For instance MS Jet is not a DBMS, it is a primitive file processor.

>Besides, there's more about a database than the relational model.

Indeed. Besides what you said, the Relational Model says nothing about
the objects you store in the tuple attributes, but they must be
validated by the DBMS either.

Here is a very interesting interview:

http://www.dbmsmag.com/int9410.html

>- It can restrict status transitions by controlling the change through a
>stored procedure (like moving an order from InProgress to Fullfilled;
>requiring a resolve-date when a help desk ticket is closed; ...)

It could be done with a declarative constraint too.

>- It provides a fool-proof way to ensure there's only one version of the
>business logic in production :)

Something essential.

>Such safeguards in the database are simple to develop, and more fool-proof
>than safeguards at another level. I think it's safe to say enforcing BL
>in the database is a "best practice".

It is the only sensible practice.


Regards
.



Relevant Pages

  • Re: Data Layer architecture
    ... >>database theory are rather old, say, the 80-ies. ... A distributed DBMS might have parts located in the PCs, ... > foolish to implement the business rules in the applications. ... >>> Server is only an special kind of distributed system. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Data Layer architecture
    ... >database theory are rather old, say, the 80-ies. ... A distributed DBMS might have parts located in the PCs, ... I readed several books about business rules and all of then say the ... >> Server is only an special kind of distributed system. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: SQL
    ... The enforcement of business rules could happen in another ... user interface to the low-level code that talks to the database, ... >>other business rules, than the DBMS. ...
    (comp.object)
  • Re: Searching OO Associations with RDBMS Persistence Models
    ... RDB is about data structure an OO is about ... The DBMS must store the data, manage the queries, and enforce some integrity rules. ... We don't want the business rules being done by the database. ...
    (comp.object)
  • Re: Data driven people arguments
    ... Then the execution of the behavior is an extension of the DBMS behaviors. ... the business rules and policies that determine the triggering have been incorporated in the DBMS itself. ...
    (comp.object)