Link Details

Link 78041 thumbnail
User 111696 avatar

By bloid
via database-programmer.blogspot.com
Published: Apr 28 2008 / 16:40

Welcome to the Database Programmer! Every Monday morning this blog contains a new essay. This blog is for people who want to learn the practical realities of databases. Topics range from simple to advanced. The main theme of these essays is that your applications will be leaner, faster, and easier to write and maintain if you understand how databases work.
  • 7
  • 1
  • 1169
  • 373

Comments

Add your comment
User 233461 avatar

antych replied ago:

0 votes Vote down Vote up Reply

Voted down for suggesting that database structure is some prerequisite to code. I would rather see my application designed around use cases and user requirements not some rdbms quirks.

User 261835 avatar

Kenneth Downs replied ago:

0 votes Vote down Vote up Reply

I did not mean to suggest that table design is a pre-requisite to code. I meant to state it as an absolute fact.

User 233461 avatar

antych replied ago:

0 votes Vote down Vote up Reply

Well, I guess "The Database Programmer" explain a lot. Just remember that some people build applications, not db frontends.

User 236892 avatar

dorgan replied ago:

0 votes Vote down Vote up Reply

But in the end you still need a place to store the data for the application, so its still a front end to the data. All an application is, is an interface to data, whether it be photoshop (image data) or a word processor (formatting data) its still a front end. The only way to get rid of the front end would be to write in binary, which I am sure people do not want to do.

User 233461 avatar

antych replied ago:

0 votes Vote down Vote up Reply

Applications you mentioned offer functionality, you don't need them to open images or text files, simpler viewer would do. They would be usability nightmare if you would build them as data frontends. Maybe you were sleeping for past few years, but nowadays an application can talk to web services for example and don't even use any persistent storage. Most application are meant to serve users who don't give a damn where or how you store your data. If you make fundamental decision around your database schema you are doomed to fail, you end up with rigid inflexible design, this is frequent mistake made by people not understanding object oriented programming.

User 261835 avatar

Kenneth Downs replied ago:

0 votes Vote down Vote up Reply

"If you make fundamental decision around your database schema you are doomed to fail,"

My experience is the exact opposite. On this point we are not likely to agree or resolve our disagreements. There is no more I can offer except the experience presented in the entire blog series.

User 261835 avatar

Kenneth Downs replied ago:

0 votes Vote down Vote up Reply

As dorgan points out, all applications are front ends to data, even those you mention that do not appear to be. A spreadsheet is a front-end to spreadsheet data, a viewer is a front-end to data stored on the filesystem, a mashup is front-end to data stored elsewhere, and a conventional database web app is a front-end to data under the programmer's control. Possible exceptions include irc/im (when no logging is taking place), where there is no persistent data -- except for the configuration. In all of those cases your code follows the structure of your source data, or it does not work.

To conclude I would point out the best you can say is that an article on denormalization is not relevant to an application that does not have its own local relational store. All criticisms past that point are themselves irrelevant.

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.

Voters For This Link (7)



Voters Against This Link (1)