On Sep 3, 2009, at 10:13 AM, Anthony Sorace wrote:

you can do things like
data constraints and validations in the application code, rather than
in the sql database itself, which always feels like this random
bolt-on to the application logic.


I think it's useful to think of relational databases as integration technology rather than merely storage technology. Having everything important in the application layer means you have to go through the application layer to do anything. Part of the point of SQL and RDBMSes being so complex is that it liberates the data from any one particular application that wants to access the data. This fact is often forgotten these days because most databases are only accessed through the web via one app. But I usually find that eventually one needs to get at the data directly, for reporting, maintenance or some other task that isn't intrinsically part of the website. Then the database can take on the data management role and make sure you don't make your data incomprehensible, as well as provide you with a little security.

Of course, it's best of all if you have a database that supports things like views; otherwise you will need application code to have any abstractions at all.

—
Daniel Lyons


Reply via email to