Codd's Rules [message #54502] |
Wed, 20 November 2002 04:32 ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
Devashish Rughwani
Messages: 6 Registered: November 2002
|
Junior Member |
|
|
Out of the 12 rules given by Codd, what are the points/rules/subpoints that Oracle Server does not satisfy ??
|
|
|
Re: Codd's Rules [message #54506 is a reply to message #54502] |
Wed, 20 November 2002 05:03 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
sriram
Messages: 58 Registered: September 2000
|
Member |
|
|
now it satisfies all...
previously it was not supporting 'DML thru views'
then instead of triggers were introduced to address this codd rule.
that makes oracle a perfect d/b.
regards
|
|
|
Re: Codd's Rules [message #54508 is a reply to message #54506] |
Wed, 20 November 2002 05:59 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
sriram
Messages: 58 Registered: September 2000
|
Member |
|
|
Yes,
these instead of triggers are the only triggers which are written on views...
their body is used to write inserts to tables underlying the view..
simple, summary is that instead of an insert failing on the view .. execute the body of instead off trigger..
regards
|
|
|
Re: Codd's Rules [message #54511 is a reply to message #54506] |
Wed, 20 November 2002 06:58 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
![](/forum/images/custom_avatars/43055.jpg) |
Maaher
Messages: 7065 Registered: December 2001
|
Senior Member |
|
|
Partly. In Oracle you have certain views that are already updatable. And you can even specify in the view definition if a user is allowed to insert a record through a view that
A view is not directly updatable if its view query contains joins (with some exceptions), set operators, aggregate functions, or GROUP BY or DISTINCT clauses.
If a view isn't directly updatable, e.g. because it has a join, you can create an INSTEAD OF trigger for insert, update and delete to perform the required processing on the underlying tables and making the view updatable. For the user this all happens transparent.
One remark though: not all triggers are used to do updates on other tables. INSTEAD OF triggers are the only allowed triggers on views. On tables you'll have BEFORE INSERT/UPDATE/DELETE and AFTER INSERT/UPDATE/DELETE triggers. These come in two flavours: fire for each row (row triggers) and fire one time (statement triggers). Again, I refer to the Oracle documentation: otn.oracle.com/docs is a nice place to start.
With the introduction of INSTEAD OF triggers, things became a lot easier concerning DML. You can even prevent inserts are updates of records that won't be selected by the view afterwards (WITH CHECK OPTION)
Regards,
MHE
|
|
|
|
Re: Codd's Rules [message #54572 is a reply to message #54506] |
Thu, 21 November 2002 22:06 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
Devashish Rughwani
Messages: 6 Registered: November 2002
|
Junior Member |
|
|
Sriram
i was checking out the oracle metalink site ,in one of the messages it say's that
"the 3rd rule (Systematic Treatment of Null Values) isn't fully satisfied too (I haven't checked this in 9i yet!) - Oracle is treating a zero-length character string as Null."
In 9i also the same behavior was observed.
What is ur comments on this ??
Thanks
|
|
|
|