Database Management/Database Development Process

This lesson allows users to learn, understand and apply skills to develop a database through a process of steps.

Objectives and Skills
Objectives and skills for this lesson include:

Readings

 * 1) Wikipedia: Top-down and Bottom-Up Design
 * 2) Watt: Database Design - Chapter 12 (Normalization)
 * 3) Watt: Database Design - Chapter 13 (Database Design Development)
 * 4) Supportive Information: Wikibooks: Database Design/Database Design Development Process
 * 5) Supportive Information: Wikibooks: Database Design/Normalization

Multimedia

 * 1) Youtube: Database Design - Learn How to Design and Plan a Database for Beginners
 * 2) YouTube: Designing Foreign Key in SQL https://www.youtube.com/watch?v=MttB3evjFJE

Activities

 * 1) Watt: Database Design - Chapter 12 (Normalization). Complete the exercises for this session.
 * 2) Watt: Database Design - Chapter 13 (Database Design Development).

Lesson Summary

 * Database design is the organization of data according to a database model. The designer determines what data must be stored and how the data elements interrelate. With this information, they can begin to fit the data to the database model.
 * The database application development process consists of obtaining real-world requirements, analyzing them, designing the data and functions of the system, and then implementing the operations in the system.

Key Terms

 * agile development
 * a software development approach where features are released in increments. An interactive approach between developers and users of the software to bring incremental value to business productivity.


 * analysis
 * As part of the second step in the waterfall process, analysis is to obtain a detailed description of the data that will suit user requirements so that both high and low level properties of data and their use are dealt with.


 * bottom-up approach
 * The bottom-up design approach begins by first identifying the specific design details and proceeds into the creation of a database. This is done by first identifying the fields/columns and then grouping them together in related tables.


 * database design
 * A conceptual, logical, and physical design of a database.


 * database designers
 * database designers have to interview the customers (database users) to understand the proposed system and obtain and document the data and functional requirements.


 * database design language (DBDL)
 * A standard database notation used to display tables and keys during the database design process. A table is represented by identifying the primary key along with listing all the fields/columns.


 * database development
 * Database development is just one part of the much wider field of software engineering, the process of developing and maintaining software.


 * design
 * The third step in the waterfall process is design. Design begins with a system specification, produces design documents and provides a detailed description of how a system should be constructed.


 * Flexibility
 * The ability for data requirements to change to meet future requirements.


 * implementation
 * The fourth step in the waterfall process is implementation. Implementation is the construction of a computer system according to a given design document and taking into account the environment in which the system will be operating (e.g., specific hardware or software available for the development).


 * logical design
 * Database design starts with a conceptual data model and produces a specification of a logical schema.


 * maintenance
 * Maintenance involves dealing with changes in the requirements or the implementation environment, bug fixing or porting of the system to new environments (e.g., migrating a system from a standalone PC to a UNIX workstation or a networked environment). Since maintenance involves the analysis of the changes required, design of a solution, implementation and testing of that solution over the lifetime of a maintained software system, the waterfall life cycle will be repeatedly revisited.


 * requirements
 * Establishing requirements is the initial step in the waterfall design process involving consultation with, and agreement among, stakeholders about what they want from a system, expressed as a statement of requirements.


 * software development life cycle
 * The development process into a series of phases, or steps, each of which focuses on one aspect of the development. The collection of these steps is sometimes referred to as the software development life cycle (SDLC).


 * SQL
 * Structured Query Language (SQL) is a special kind of computer language used for relational databases.


 * testing
 * Testing (fifth step in waterfall process) compares the implemented system against the design documents and requirements specification and produces an acceptance report or, more usually, a list of errors and bugs that require a review of the analysis, design and implementation processes to correct (testing is usually the task that leads to the waterfall model iterating through the life cycle).


 * top-down approach
 * The top-down approach begins with then general database design and is redesigned using normal forms into a normalized database design.


 * semantic rules
 * business rules applied to the database.


 * waterfall model
 * The waterfall model shows the process as a strict sequence of steps where the output of one step is the input to the next and all of one step has to be completed before moving onto the next.