You’re just another knucklehead. Think of it this way: would you take seriously a guy who’s spent 20 years on the line at Tyson dismembering chickens announcing that he was really a neurosurgeon? And that he’s got the perfect way to remove that tumor that’s been giving you massive headeaches? The folks who’ve spent decades developing RDBMSs and systems from same, really do know more about it than you do.
That said; RDBMS is about shared transactional data. If you really don’t care about keeping the data right all the time, then how you store it doesn’t matter. Read Codd’s papers or Date’s book. If you haven’t bothered to do either (you haven’t, right?), then why should your opinion matter?
There are reasons Codd drew his conclusions. He didn’t just make it up.
Some thoughts I’ve collected over the years.
Not only am I not aware of any resource that would advocate logical modeling of data in an unnormalized fashion, I would be against anyone reading it if it existed. The logical data model should be normalized. Normalization is the process of identifying the one best place each fact belongs.
– Craig Mullins/2007
There’s a tendency, especially among managers of smaller shops, to assume that any developer knows how to set up a database. Frankly, this perplexes me. You wouldn’t assume that any given developer knows how to code in C# or set up a Web Service, so why is it that we’re all supposed to be database pros? The end result is that too many databases are designed by people who have never even heard the term normalization, never mind developed any understanding of the various normal forms.
– Mike Gunderloy/2006
This is a great book on building databases the correct way. I highly recommend this book[Database Modeling and Design by Teorey] and if you cannot understand it you shouldn’t be building a database anyway.
– Robert C/1999 [the current 4th edition/2006 is even better]
Many of the existing formatted data systems provide users with tree-structured files or slightly more general network models of the data. Application programs developed to work with these systems tend to be logically impaired…
– E. F. Codd, A Relational Model of Data for Large Shared Data Banks/1970
[Dr.] Codd had a bunch of …fairly complicated queries, and since I’d been studying CODASYL (the language used to query navigational databases), I could imagine how those queries would have been represented in CODASYL by programs that were five pages long that would navigate through this labyrinth of pointers and stuff [XML anyone?]. Codd would sort of write them down as one-liners. …[T]hey weren’t complicated at all. I said, ‘Wow.’ This was kind of a conversion experience for me. I understood what the relational thing was about after that.
– Don Chamberlin/1995
Proper data management is the key to great architecture. Ignoring this and abstracting data access and data management away just to have a convenient programming model is … problematic. … Many of the proponents of O/R mapping that I run into (and that is a generalization and I am not trying to offend anyone – just an observation) are folks who don’t know SQL and RDBMS technology in any reasonable depth and/or often have no interest in doing so.
– Clemens Vasters/2006
The big myth perpetrated by architects who don’t really understand relational database architecture (me included early in my career) is that the more tables there are, the more complex the design will be. So, conversely, shouldn’t condensing multiple tables into a single catch-all table simplify the design? It does sound like a good idea, but at one time giving Pauly Shore the lead in a movie sounded like a good idea too.
– Louis Davidson/2007
Technologies like OODBMS sacrifice sound, application technology agnostic data management for short-term convenience (convenience for one single application, written using one particular programming language). Relational technology essentially completely replaced network or hierarchical database technology, and there were excellent reasons why that happened. We should most certainly not be reviving either of those discredited approaches by slapping on the latest buzzwords (OO, XML, etc) as window dressing. …We don’t see any future for JDO.
– Gavin King/2004 [he wrote Hibernate]
…the logic exercised by the database to maintain referential integrity is not free, but if the rdbms does not do it, it gets done in the application, where it costs the same if not more - just now the application becomes slower versus the rdbms. Whether the logic of triggers or RI is performed in the application or the database, it’s going to have similar pathlength - the only question is whether the rdbms or application can be more efficient. As more applications are written in languages that emphasize portability over performance (Java) or ease of learning over performance (Visualbasic), the benefits of putting logic that centres around data further down into the database engine become stronger.
– Blair Adamache/2003
In CS we don’t have a lot of formal models to guide us, as in engineering or other science. Much of CS is entirely ad-hoc. However we do have a sound and complete model for data storage (relational model) and hardly anyone uses it. It boggles my mind. Do people not want their programs to work predictably? [corollary: if you must interact with an Application to modify data, the data specification isn’t relational]
– Anonymous Coward/2005
The people using SQL to store data often don’t grasp that there’s a difference between expressing various facts as a set of relations and stuffing data into a database like you stuff material into a file.
– Christopher Browne/2005
Programmers will always gravitate towards viewing the data in their databases as their private bailiwick, and insist that users of the data access it through their own API. Learning SQL is certainly better than learning a hundred programmer’s different APIs.
– David Cressey/2005
It is very obvious that a lot of people have absolutely no idea what a business model is or for that matter a database. The number of times I have seen business rule code that should be imbedded in the database definition and not in the BLL (Business Logic Layer) just makes me want to scream. As soon as data rules (the backbone of a business model) are moved away from a relational style declarative constraint, you have reduced the effectiveness, meaning and integrity of your business model/database.
Normalizing is an attempt to optimize generally. Denormalization is an attempt to normalize for a particular application, to introduce a bias.
– Gulutzan Pelzer/2003
If you store all your business logic within the database, then it doesn’t matter what flaky applications people write you can guarantee the integrity of the data.