Alex Rivera | Logout

Why don't DBMS's support ASSERTION

Asked 2011-06-16T07:14:59.823
39

My databases course professor noted that major databases don't support ASSERTION, even though it is in the SQL-92 standard.

Why isn't ASSERTION supported by the vast majority of relational database packages?

Things I have considered:

  • It would incur significant performance costs
  • It could be intrinsically hard, ie. the design requirements of SQL databases does not allow it

Researching this question raises some additional, tangential questions:

  • Are there any database packages that implement it? (possibly an academic/teaching DB)
  • Why is there so little public discussion? It's not even mentioned in the Wikipedia page for SQL or SQL-92).
Edit
Report

2 Answers

4
answered 2011-06-16T07:39:07.383
1

Yeah, I asked this question to my instructor in the class a few months ago. It may be in standards but many DBMS vendors do not obey standards at all.

Probably, the reason behind DBMSes to not to support assertions is it is a very expensive operation and nobody is going to use it for this reason.

In order to provide a convenient way, DBMSes implemented TRIGGERs and CHECKs. By this way, nobody needs assertions indeed.

answered 2011-06-16T07:33:25.133

Your Answer