1.
1: <<Topic
3. Database DesignName>>
Process
IT2306 - Database Systems
Level I - Semester 2
© 2020 e-Learning Centre, UCSC
Database Design Process
• Database design and the creation of an entity relationship
diagram (also known as an " ERD” or data model) is an
important yet sometimes overlooked part of the application
development lifecycle.
• An accurate and up to date data model can serve as an
important reference tool for DBAs, developers, and other
members of a JAD (joint application development) team.
• The process of creating a data model helps the team uncover
additional questions to ask of end users Effective database
design also allows the team to develop applications that
perform well, from the beginning.
• By building quality into the project, the team reduces the
overall time it takes to complete the project, which in turn
reduces project development costs.
• The central theme behind database design is to "measure
twice, cut once“ .
© 2020 e-Learning Centre, UCSC 2
Data Modeling
• A data model represents a business' data and act as a
blueprint and foundation of a database. If the data model is
flawed, the database and all programs that use the database
will be flawed.
• This data model is a conceptual representation of Data
objects, the associations between different data objects and
the rules.
• The data model and subsequently the database should be
designed, to be extensible and expandable.
• Therefore, understanding the business environment and the
initial reason for the database is essential.
• Data modeling helps in the visual representation of data and
enforces business rules, regulatory compliances, and
government policies on the data.
© 2020 e-Learning Centre, UCSC 3
Data Modeling
• Data model emphasizes on what data is needed and how it
should be organized instead of what operations need to be
performed on the data.
• Ex: House Plan
• The two types of Data Models techniques are
• Entity Relationship (E-R) Model
• UML (Unified Modelling Language)
• Many CASE tools are available to assist in data modeling.
© 2020 e-Learning Centre, UCSC 4
Goals of Data Modeling
• Ensures that all data objects required by the database are
accurately represented.
• Helps design the database at the conceptual, physical and
logical levels.
• Data Model structure helps to define the relational tables,
primary and foreign keys and stored procedures.
• It provides a clear picture of the base data and can be used
by database developers to create a physical database.
• Helpful to identify missing and redundant data.
• Initial creation of data model is labor and time consuming, in
the long run, it makes the IT infrastructure upgrade and
maintenance cheaper and faster.
© 2020 e-Learning Centre, UCSC 5
• A poor database design can cripple an application,
producing problems with redundancy, inaccuracy,
consistency, and concurrency of your data.
• Normalization is a process that serves to reduce, if not
eliminate, these problems with data.
© 2020 e-Learning Centre, UCSC 6
Database Design Process
• Effective database designers will keep in mind the principles
of normalization while they design a database. Normalization
is a database design approach that seeks the following four
objectives.
1. Minimization of data redundancy,
2. Minimization of data restructuring,
3. Minimization of I/O by reduction of transaction sizes, and
4. Enforcement of referential integrity.
© 2020 e-Learning Centre, UCSC 7
Types of Data Models
• Conceptual
• Defines WHAT the system contains.
• This model is typically created by Business stakeholders and Data
Architects. The purpose is to organize, scope and define business
concepts and rules.
• Logical
• Defines HOW the system should be implemented regardless of the
DBMS.
• This model is typically created by Data Architects and Business
Analysts. The purpose is to developed technical map of rules and
data structures.
• Physical
• This Data Model describes HOW the system will be implemented
using a specific DBMS system.
• This model is typically created by DBA and developers. The
purpose is actual implementation of the database.
© 2020 e-Learning Centre, UCSC 8
Database Design
• The database design process can be broken down into four
phases.
Phase 1 -Requirements Collection
and analysis
Phase 2 -Conceptual Design
Phase 3 -Logical Design
Phase 4 -Physical Design
© 2020 e-Learning Centre, UCSC 9
Database Design...
1
© 2020 e-Learning Centre, UCSC
0
Database Design...
1
© 2020 e-Learning Centre, UCSC
1
Database Design...
1
© 2020 e-Learning Centre, UCSC
2
Database Design...
1
© 2020 e-Learning Centre, UCSC
3
Phases of DB Design
1
© 2020 e-Learning Centre, UCSC
4
Types of Database Models
1
© 2020 e-Learning Centre, UCSC
5
Types of Data Models
1
© 2020 e-Learning Centre, UCSC
6
Conceptual Data Model
1
© 2020 e-Learning Centre, UCSC
7
Logical Data Model
1
© 2020 e-Learning Centre, UCSC
8
Physical Data Model
1
© 2020 e-Learning Centre, UCSC
9
2
© 2020 e-Learning Centre, UCSC
0
Database Development Activities
• Enterprise Modelling
• Conceptual Data Modelling
• Logical Database Design
• Physical Database Design and Creation
• Database Implementation
• Database Maintenance
2
© 2020 e-Learning Centre, UCSC
1
Enterprise Modelling
• Analyze current data processing
• Analyze the general business functions and their database
needs
• Justify need for new data and databases in support of
business
Project Identification &Selection
2
© 2020 e-Learning Centre, UCSC
2
Conceptual Data Modelling
• Identify scope of database requirements for proposed
information system
• Analyze overall data requirements for business function(s)
supported by database
• Develop preliminary conceptual data model including
entities and relationships
• Compare preliminary conceptual data model with
enterprise data model
Analyze
2
© 2020 e-Learning Centre, UCSC
3
Conceptual Data Modelling...
Analysis
2
© 2020 e-Learning Centre, UCSC
4
Logical Database Design
Logical Design
2
© 2020 e-Learning Centre, UCSC
5
Physical Database Design
Physical Design
2
© 2020 e-Learning Centre, UCSC
6
Database Implementation
Implementation
2
© 2020 e-Learning Centre, UCSC
7
Database Maintenance
• Analyze database and database applications to ensure that
evolving information requirements are met
• Tune database for improved performance
• Fix errors in database and database applications and
recover database when it is contaminated
Maintenance
2
© 2020 e-Learning Centre, UCSC
8
Thank You
2
© 2020 e-Learning Centre, UCSC
9