Introduction to database development
Previously, in block 1 - database development, it was noted that certain assumptions should be made in applying a general model of system development to developing database systems. These are:
- Development of a database (specification, schema creation to define data) is separated from user processes using the database.
- Three schema architecture is the basis for highlighting schema activities.
- Semantics of data are represented in the database and not the user process.
Each of these processes have a clear purpose:
- Establishing requirements - consultation and agreement about persistency of data in a statement of data requirements.
- Data analysis - a conceptual data model from the above statement i.e. a formal representation of what data the database should contain.
- Database design - a logical schema based upon the above conceptual model.
- Implementation - construction of a database from the logical schema specification including specification of the storage schema.
The importance of database development lies in the organisation and management of the creation of database tables. uncontrolled table creation, by SQL etc, leads to unmanageable and unusable databases where data users cannot find the data they need and multiple copies of inconsistent data may exist.
Databases have desirable properties. Important properties include:
- Completeness - Users can access the data they want. (including ad hoc queries not originally in statement of requirements)
- Integrity of data is maintained. Data should be consistent and correct. there should be no contradictory data and the users must be able to trust the database.
- Flexibility to allow the database to evolve as user requirements change.
- Execution efficiency in preventing undue long response tomes when accessing data.
- Usability ensuring that users can use the database easily for accessing and manipulating data in ways that match the user requirements.
In short, a good database should satisfy all user requirements, contain no inconsistent or invalid data, be easy to change to allow evolvement and should not be slow or difficult to use. The data in the database must have meaning and that meaning and the relationships within it must be understood. This is the requirement of data analysis. Failure here would result in a database with incorrect properties.
Comments, suggestions, ideas to
Stuart Banner
