The conceptual simplicity of the relational data model, and the widespread availability of database management systems based on that model, have greatly enhanced the accessibility of database technology. The design and implementation of a database is a model-building process. The components from which the final model (the database) is to be constructed are somewhat limited, and it follows that some characteristics of the ‘real world’ cannot readily be represented. In particular, the relational data model, and its commercial implementations, is poor in the areas of semantics and constraints; however, it is these semantics and constraints that make the difference between simple data and information. Although there have been a number of attempts to develop more expressive semantic data models, many of their advantages can be lost if the final implementation is to be in terms of the relational model. If the question of constraints is explored further, it becomes evident that the philosophy of the ANSI-SPARC architecture requires that these should form an integral part of the database, to be applied to all database transactions, and available for perusal as part of the meta-data. While performance criteria may lead to the constraint mechanism being a feature of an external interface, such decentralization can risk comprising database integrity. Finally, although the forthcoming revised standard for SQL will introduce a number of constraint mechanisms, it can be shown that a significant proportion of constraints that could be expressed in a ‘semantic’ data model will remain beyond the scope of SQL-2.