DEFS.4.4.1.Assignment - sj50179/IBM-Data-Science-Professional-Certificate GitHub Wiki

Approach to Database Design (Including ERD)

Importance of database design

  • Crucial to the success of a project
  • Contributes to:
    • Integrity of data
    • Reduction of redundancy
    • Performance
    • User satisfaction
  • Avoids costly problems

Database design process

  1. Requirements analysis: analyse the data you are working with and the requirements for the use of that data
  2. Logical design: plan how to organise your data
  3. Physical design: plan how to implement your logical design in the database management system you will be using

Requirements analysis

  • Need to identify the base objects in the data and the relationships between these objects
  • How you obtain the information: Reviewing any existing stores of this data, be that in a database, other electronic format, or even a paper-based system.

Logical design

  • Take the requirements you identified in the analysis stage and map them to entities, attributes, and relationships
  • Logical models should not specify any technical requirements, so should not be thinking about any implementation considerations at this stage
  • Generally entities are people, events, locations, or things
  • The characteristics of the objects will become attributes
  • Should also think about the attributes of your entities

Physical design

  • How your database will look
  • Impact of database management system:
    • Data types
    • Naming rules
    • Indexes
    • Constraints

Hands-on Lab: Database Design using ERDs

Hands-on Lab: Final Project