• This approach becomes difficult if you need to enforce domain constraints within the database through the use of referential integrity.  Such a solution forces then constraints into the program code rather than in the database.   In a complex enterprise application this leads to poor data quality.

    It also adds complexity if you have very complex reporting requirements .