As this topic just hits my hot button, I'm going to chime in my 2 cents worth in as well. This in spite of the fact that you have already gotten some great responses.
I come from an environment where we have distributed data all over creation. IMS, DB2, Oracle, you name it we have it popping up everywhere. When a new project pops up, guess what the first question is: Does the source of record that we need for this application already exist somewhere? Now, if it does, I've got a HUGE problem if I am not enforcing the RI on this source data, particularly if this new application is going to be manipulating it somehow. Then, as others have mentioned, there are the "power" users who figure out ODBC and access or Excel.. God help you when they get busy. Another issue with regards to FK/PK's is the use of some Oracle features, such as query rewrite and MViews, which require these structures to be used. While you may not plan on using those features now, there is no telling what the future may hold. Simply put, using defined Pk/FK is a best practice. If you have issues with the validation of FK's (for example in a warehouse environment) then enable them without validation. This leads me to another related hot button topic, thats business logic. In my mind (though I'm having a hard time selling it to apps) the business logic belongs in the database. This for the very same reasons that FK/PK's need to be in place, scalability. That way, when I have new applications coming on line that need to interface with the data, the same business rules are consistently followed. Bottom line, one has to think about tomorrow when one designs, not just today. More to churn on, Robert Robert G. Freeman - Oracle OCP Oracle Database Architect CSX Midtier Database Administration Author of several Oracle books you can find on Amazon.com! Londo Mollari: Ah, arrogance and stupidity all in the same package. How efficient of you. � -----Original Message----- Sent: Wednesday, October 23, 2002 1:45 PM To: Multiple recipients of list ORACLE-L The developers working on our new VB app are also responsible for setting up the Oracle DB behind it. The app is for an order entry/despatch/warehouse system with >5 million customers and >1000 orders per day. We have nearly 400 tables. They are not planning on using primary keys/secondary keys, as they say they will handle all the constraints via VB. I only have a theoretical knowledge of database design, which says this is very wrong. Is the Oracle system being used as anything more than an expensive file system? In real world scenarios, is this a common practice? Regards Craig Healey **************************************************************************** ****** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. Statements and opinions expressed in this e-mail may not represent those of the company. If you have received this email in error please notify [EMAIL PROTECTED] This footnote also confirms that this email message has been swept by MIMEsweeper for the presence of computer viruses (www.mimesweeper.com) **************************************************************************** ******* -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Craig Healey INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Freeman, Robert INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
