2.2 DEVELOPING A DATABASE
The database development process may follow a classical systems development life cycle.
1) Problem Identification—Interview the user, identify user requirements. Perform preliminary analysis of user needs.
2) Project Planning—Identify alternative approaches to solving the problem. Does the project need a database? If so, define the problem. Establish scope of the project.
3) Problem Analysis—Identify specifications for the problem. Confirm the feasibility of the project. Specify detailed requirements.
4) Logical Design—Delineate detailed functional specifications. Determine screen designs, report layout designs, data models and so on.
5) Physical Design—Develop physical data structures.
6) Implementation—Select DBMS. Convert data to conform to DBMS requirements. Code programs, perform testing.
7) Maintenance—Continue program modification until desired results are achieved.
An alternative approach to developing a database is through a phased process that will include designing a conceptual model of the system that will imitate real-world operation. It should be flexible and change when the information in the database changes. Furthermore, it should not be dependent upon the physical implementation. This process follows the following phases:
1) Planning and Analysis—This phase is roughly equivalent to the first three steps mentioned in the systems development life cycle. This includes requirement
specifications, evaluating alternatives and determining input and output and reports to be generated.
2) Conceptual Design—Choose a data model and develop a conceptual schema based on the requirement specification that was laid out in the planning and analysis phase. This conceptual design focuses on how the data will be organized without having to worry about the specifics of the Tables, keys and attributes. Identify the entities that will represent Tables in the database, identify attributes that will represent fields in a Table and identify each entity–attribute relationship. Entity-relationship diagrams provide a good representa-tion of the conceptual design.
3) Logical Design—Conceptual design is transformed into a logical design by creating a roadmap of how the database will look before actually creating the database. The data model is identified; usually it is the relational model. Define the Tables (entities) and fields (attributes). Identify primary and foreign keys for each Table. Define relationships between the Tables.
4) Physical Design—Develop physical data structures; specify file organization, data storage and so on. Take into consideration the availability of various resources, includ-ing hardware and software. This phase overlaps with the implementation phase. It involves the programming of the database, taking into account the limitations of the DBMS used.
5) Implementation—Choose the DBMS that will fulfill the users’ needs. Implement the physical design. Perform testing. Modify if necessary or until the database functions satisfactorily.