Again, true.
Except that we were discussing Oracle here. Whether or not RMAN can detect logical corruption is, after all, a moot point if you happen to be using DB2 or Sybase. Unless RMAN does much more than I think it does. ;-)
Yes, I agree, that logical datamodels are not (directly) concerned with Indexes. In fact, if you really want to split hairs, a "physical" data "model" might not be either, as indexes are indeed simply "performance enhancements" (except where they are otherwise mandated by the RDBMS) and therefore have nothing to do with the actual data.
Nonetheless, I'll stick to my original statement; if you find an Oracle database containing a large number of tables with no indexes, somebody usually deserves a kick in the butt. (That said, in my wanderings, I have actually encountered more than a few databases containing hundreds or tables with nary a Primary Key constraint in sight. Of course, had it actually been in my power, I probably would have kicked some butts -- I have yet to encounter a situation where that lack of primary keys was actually correct -- although I can imagine a few where it would be...)
Primary key does not imply an index... indexed primary key is just a performance feature.
In Oracle RDBMS they have made it mandatory, but the only reason for that is performance, there is no fundamental need to have an index on primary key column(s).
Oracle has solved it using a B-tree derivative, others (like TimesTen) have solved it using hash index, others might be using yet another approach. That's the physical layer.
So, indexing, including primary key indexing should be responsibility of DBA/physical designer role, not data modeler role (unless, as Jared said, the data modeler happens to be a DBA too). Of course a very good data modeler should at least be aware of the implications of physical layer, just as a very good DBA must understand the OS below the databases.
Tanel.
------------------------------ *From:* oracle-l-bounce@xxxxxxxxxxxxx [mailto: oracle-l-bounce@xxxxxxxxxxxxx] *On Behalf Of *Mark Brinsmead *Sent:* Saturday, October 28, 2006 10:54 *To:* Jared Still *Cc:* Christian Antognini; oracle-l@xxxxxxxxxxxxx *Subject:* Re: RMAN impact
True enough! Sort of. Except that a primary key implies an index. As does a foreign key. (Actually, unless you're crazy, many foreign keys will imply two indexes, one on each table.)
Conversely, no indexes means no primary keys. In my personal fantasy world, lack of Primary Keys means unemployed data modelers, but sadly the so-called real-world seems to be quite different... ;-)
A (logical) data model may not specify indexes, but if it's done correctly, it's going to imply at least one on every table. If the physical data model fails to embody those indexes, then somebody ought to be in trouble! ;-)
-- Cheers, -- Mark Brinsmead Senior DBA, The Pythian Group http://www.pythian.com/blogs