<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.5" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: updatable views and instead of triggers</title>
	<link>http://laurentschneider.com/wordpress/2007/04/updatable-views-and-instead-of-triggers.html</link>
	<description>Oracle Certified Master</description>
	<pubDate>Fri, 25 Jul 2008 10:36:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.5</generator>

	<item>
		<title>by: Joe Celko</title>
		<link>http://laurentschneider.com/wordpress/2007/04/updatable-views-and-instead-of-triggers.html#comment-2241</link>
		<pubDate>Mon, 07 May 2007 15:55:11 +0000</pubDate>
		<guid>http://laurentschneider.com/wordpress/2007/04/updatable-views-and-instead-of-triggers.html#comment-2241</guid>
					<description>This design fallacy goes by the name EAV (Entity-Attribute-Value).  It mixes data and meta-data in the schema.  You also spit on ISO-11179 data element naming rules with vague, magical, universal names like "type" (what kind of type? blood? customer?)  and "id" (identifier of what?).   There is no magical, universal identifier or vague generic attributes in RM -- "To be is to be something in particular; to be nothing in particular or everything in general is to be nothing." -- Aristotle 

I worked for a company that did this sort of non-design.  It falls apart in a about year of production work.  By that time, orphaned rows and inconsistent data have accumulated and it is time for the annual reports.</description>
		<content:encoded><![CDATA[<p>This design fallacy goes by the name EAV (Entity-Attribute-Value).  It mixes data and meta-data in the schema.  You also spit on ISO-11179 data element naming rules with vague, magical, universal names like &#8220;type&#8221; (what kind of type? blood? customer?)  and &#8220;id&#8221; (identifier of what?).   There is no magical, universal identifier or vague generic attributes in RM &#8212; &#8220;To be is to be something in particular; to be nothing in particular or everything in general is to be nothing.&#8221; &#8212; Aristotle </p>
<p>I worked for a company that did this sort of non-design.  It falls apart in a about year of production work.  By that time, orphaned rows and inconsistent data have accumulated and it is time for the annual reports.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Laurent Schneider</title>
		<link>http://laurentschneider.com/wordpress/2007/04/updatable-views-and-instead-of-triggers.html#comment-2162</link>
		<pubDate>Mon, 30 Apr 2007 21:27:02 +0000</pubDate>
		<guid>http://laurentschneider.com/wordpress/2007/04/updatable-views-and-instead-of-triggers.html#comment-2162</guid>
					<description>Good suggestion for the partition. It is better to keep the small lookup tables as tables, I think. If any column or so is added to the table, the java code generates a new ddl, which I can compare to the database with tools like ERwin. Thank you for your feedback :-)</description>
		<content:encoded><![CDATA[<p>Good suggestion for the partition. It is better to keep the small lookup tables as tables, I think. If any column or so is added to the table, the java code generates a new ddl, which I can compare to the database with tools like ERwin. Thank you for your feedback <img src='http://laurentschneider.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: amihay gonen</title>
		<link>http://laurentschneider.com/wordpress/2007/04/updatable-views-and-instead-of-triggers.html#comment-2161</link>
		<pubDate>Mon, 30 Apr 2007 19:40:08 +0000</pubDate>
		<guid>http://laurentschneider.com/wordpress/2007/04/updatable-views-and-instead-of-triggers.html#comment-2161</guid>
					<description>I think , the global table is more accetable. If you have the application running on oracle. just make the table partition by list . and you won't have to worry on performance.</description>
		<content:encoded><![CDATA[<p>I think , the global table is more accetable. If you have the application running on oracle. just make the table partition by list . and you won&#8217;t have to worry on performance.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: vidya</title>
		<link>http://laurentschneider.com/wordpress/2007/04/updatable-views-and-instead-of-triggers.html#comment-2160</link>
		<pubDate>Mon, 30 Apr 2007 18:49:35 +0000</pubDate>
		<guid>http://laurentschneider.com/wordpress/2007/04/updatable-views-and-instead-of-triggers.html#comment-2160</guid>
					<description>Laurent,

The Global table approach is what I have always gone with - pretty scared about triggers in Production. However, it will be good to knowif anyone has had a successful trigger implementation.</description>
		<content:encoded><![CDATA[<p>Laurent,</p>
<p>The Global table approach is what I have always gone with - pretty scared about triggers in Production. However, it will be good to knowif anyone has had a successful trigger implementation.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Dominic</title>
		<link>http://laurentschneider.com/wordpress/2007/04/updatable-views-and-instead-of-triggers.html#comment-2155</link>
		<pubDate>Mon, 30 Apr 2007 16:40:49 +0000</pubDate>
		<guid>http://laurentschneider.com/wordpress/2007/04/updatable-views-and-instead-of-triggers.html#comment-2155</guid>
					<description>I have previously used a similar approach on the content model for a news website publshing system where the shared attributes of the different content types were held in a single table and the extra individual attributes were held in tables for each specific content type (where content type were things like articles, adverts, flash thing, and loads more).

One of the additional reasons for this was that the 3rd party content management technology imposed certain restrictions on the data model which I though were best abstracted away into the views rather than the base tables (difficult to explain now and hard to remember).

One of the pains that I had was the the INSTEAD OF triggers called stored procedures to do the inserts and I never got around to writing a management api so that you could call a proc to add a column to the base shared attribute table which would then automatically add the new attribute to the various triggers and procs.</description>
		<content:encoded><![CDATA[<p>I have previously used a similar approach on the content model for a news website publshing system where the shared attributes of the different content types were held in a single table and the extra individual attributes were held in tables for each specific content type (where content type were things like articles, adverts, flash thing, and loads more).</p>
<p>One of the additional reasons for this was that the 3rd party content management technology imposed certain restrictions on the data model which I though were best abstracted away into the views rather than the base tables (difficult to explain now and hard to remember).</p>
<p>One of the pains that I had was the the INSTEAD OF triggers called stored procedures to do the inserts and I never got around to writing a management api so that you could call a proc to add a column to the base shared attribute table which would then automatically add the new attribute to the various triggers and procs.
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
