- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
There is one very well known and every expensive piece of software that still doesn't use constraints in the DB, preferring the apps and app servers to control it. I think that is so the vendor can hire out consultants ( at $3000/day ) to maintain and fix the DB structures when some muppet decides to perform a manual update without going via the app!
Admin
I would disagree than an ORM eliminates the need for database administration.
ORMs aren't a panacea. Inevitably, you fall to complex query logic that you design keeping in mind the limitations of generated SQL. I often found myself writing an SQL query for the exact configuration we had and essentially backporting it to JPQL (so it could be processed and turned into SQL again).
You still need to optimize queries, and thus, have someone with knowledge about the DBMS you are using.
Furthermore, at least for a production database you would want to disable automatic DDL execution, because it's very dangerous - and a surest way to lose your data.
Admin
high five Gerald Totally the kind of shit i do when i am about to leave the boat, just don't you guys tell anyone.
Admin
Could be far worse. I once worked with a designer/spec person who insisted that database primary keys not be unique. It got to the point where I raised this in meetings as a problem I was just told to shut up - I was being silly again. We must set XYZ as the primary key on the database, and the system must accept duplicate values.
The person no longer works with us. I think he became a data warehouse architect elsewhere.
Admin
A nice thing I remember about Oracle is that you could configure when the constraints run - so you could temporarily allow a bad situation as long as you put it right before you committed. This made programming a lot easier.
Admin
Yeah, common case of good developer becomes bad manager.
They might have been a bit more lenient with Gerald and simply restored him to his old position where he had excelled for so many years, but I guess he deserved what he got for abuse of power.
Admin
Yes, you can set "deferrable" contraints, and when you defer them, they are checked at commit time. Basically, you can change the value of the PK of a table (this is not an usual activity on DB, but if you are using natural keys instead of surrogate ones it mey be needed from time to time), then update all of their child records, and at commit time this would be OK.
Admin
Directive 595, Part 5:
"Normalized relational tables give lack of flexibility, more costly evolution, inhibit the use of the database acting as a service to applications and make it an inhibitor to evolution."
As such, please change all data storage to use key/value pairs and NoSQL.
Admin
Directive 595 Part 4
NoSQL! we'll have the next 20 years to realize relational mathematical fondation and ACID transaction meant something
Admin
Almost every question on Tom Kyte's website resulted from someone's inane Directive.
http://thedailywtf.com/Articles/Tom_Kyte_on_The_Ultimate_Extensibility.aspx
Obviously, there are way more than 666 Directives!
Admin
If there were a significant number of pre-Gerald directives, I'd think there would've been one in there that would've been a great response to directive 595 - the prior directive that required all of that stuff. After all, running without not null constraints, sequences, and keys is running with scissors. Either directive 1 is bunk, or directive 595 is, since the prior directive indicates all discussion had been done a long time prior.
Admin
Seems like Gerald didn't really understand SQL, and was on a crusade to essentially turn the database into a giant CSV file.
Admin
asdsadad