# 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

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

## Multimedia

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

## Activities

* Watt: Database Design - Chapter 12 (Normalization). Complete the exercises for this session.
* 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.

## Review Questions

* __________ are the people whose jobs require access to a database for querying, updating and generating reports. End users are the people whose jobs require access to a database for querying, updating and generating reports.
* ______________________ are individuals that act upon or are impacted by the system. People are individuals that act upon or are impacted by the system.
* What is something that triggers a change in the database system? ____________ Events can triggers changes in the database system.
* ____________ involves testing, training, and installation. This is also the fourth step of the waterfall process. Implementation
* ________________ involves classifying data and identifying interrelationships. Database design involves classifying data and identifying interrelationships.
* ____________: involves dealing with changes in the requirements or the implementation environment, bug fixing or porting of the system to new environments Maintenance: involves dealing with changes in the requirements or the implementation environment, bug fixing or porting of the system to new environments.

## See Also

* Wikibooks: Database Design/Database Development Process
* Microsoft: Implementing a Relational Database
* Quizlet: Database Development Process
* OERCommons.org: Database Development Life Cycle