IT1090 - Information Systems and Data Modeling
Introduction to Database
Modelling
Lecture - 04
1
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Introduction to Database
To better understand what drives the design of databases,
first need to understand the difference between data and
information.
What is Data?
What is Information?
What is Database (DB)?
What is Database Management System (DBMS)?
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
File based Approach
This is one of the obsolete approach which used to data
management. Such a system would typically consist of a
set of application programs (separate computer files) that
perform various tasks. Each program would define and
manage its own data.
Basic File Terminologies
Data
Field
Record
File
Cont.
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Cont.
File based Approach
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Cont.
File based Approach
Billing Purchasing
Program Program
Accounts Buyer Inventory Vendor
Customer
receivable file file file
file
file
Sales Order
Accounts Payable Processing Payroll
Program Program Program
Inventory Employee
Vendor Invoice Customer
file file
file file file
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Cont.
Database Approach
Limitations of Conventional File-based Approach:
Uncontrolled redundancy ( data redundancy)
Data inconsistence
Inflexibility
Limited data sharing
Poor enforcement of standards
Extensive program maintenance
Directed Reading Section 1.1 and 1.2 in Elmasri and Navathe.
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Database Approach
Arose because:
Definition of data was embedded in application
programs, rather than being stored separately and
independently
No control over access and manipulation of data
beyond that imposed by application programs
Result:
The Database and Database Management System
(DBMS).
Cont.
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Database Approach
Order Dept. Accounting Payroll
Dept. Dept.
Program Program Program
A B C
Ordering Invoicing Payroll
filing System System
System
Back Inventory Customer Inventory Employee
Orders Master Master Pricing Master
file file file file file
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Database Approach
Cont.
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Cont.
History in a Nutshell
First DBMS: Bachman at General Electric, early 60’s
(Network Data Model). Standardized by CODASYL.
Late 60’s : IBM’s IMS (Inf. [Link].) (Hierarchical Data
Model).
1970: Edgar Codd (at IBM) proposed the Relational Data
Model. Strong theoretical basis.
1980’s -90’s: Relational model consolidated. Research on
query languages and data models => logic-based
languages, OO DBMSs => Object-relational data model
(extend DBMSs with new data types)
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Cont.
Database system Environment
Database system environment normally can be considered
to have five major parts.
Hardware
Software - Operating System Software, DBMS Software
Application Program and Utilities
People - System Administrators, DB Administrators, DB
Designers, System Analyst and Programmers, End
Users
Procedures
Data
Directed Reading Section 1.4, 1.5 and 1.6 in Elmasri and Navathe.
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Cont.
Database Management System
“Database is a logically coherent collection of data with
some inherent meaning.”
DBMS is a collection of programs that enables users to
create and maintain a database
“DBMS is a general-purpose software system that facilitates
the processes of defining, constructing, manipulating, and
sharing databases among various users and applications”
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Cont.
Three-Tier Architecture of a DBMS
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Cont.
Three-Tier Architecture of a DBMS
The main objective of the three-schema architecture is to
separate a user’s views of the database from the way that
the data is physically represented.
All users should be able to access same data
A user’s view is immune to changes made in other views
Users should not need to know physical database storage
details
DBA should be able to change database storage structures
without affecting the users’ views
Internal structure of database should be unaffected by changes
to physical aspects of storage
DBA should be able to change conceptual structure of database
without affecting all users
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Three-Tier Architecture of a DBMS
Defines DBMS schemas at three levels:
Internal schema at the internal level to describe physical
storage structures and access paths. Typically uses a
physical data model.
Conceptual schema at the conceptual level to describe
the structure and constraints for the whole database for
a community of users. Uses a conceptual or an
implementation data model.
External schemas at the external level to describe the
various user views. Usually uses the same data model as
the conceptual level.
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Cont.
Three-Tier Architecture of a DBMS
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Cont.
Data Independence
Data Independence is the capacity to change the
schema at one level of a database system without
having to change the schema at the next higher
level.
Logical Data Independence: Change conceptual
schema without having to change external schemas
and their application programs.
Physical Data Independence: Change internal
schema without having to change conceptual
schema.
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Data Independence
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Database Design
Why is Database Design important?
Without careful planning you may create a database that…
• contains unnecessary data which occupies the storage space
• omits data required to create critical reports
• takes a considerable time to respond to user questions
• produces results that are incorrect or inconsistent
• is unable to accommodate changes in the user's requirements
A poorly designed database will require more time in the long-
term…!
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Database Design process
1. Requirements Analysis
What does the user want?
2. Conceptual Database Design
Model Data requirements using a Conceptual Data Model --> ER model
3. Logical Database Design
Model Data requirements using a Logical Data Model Relational Data Model
4. Schema Refinement
Fine tune the result
5. Physical Database Design
Implementation of the design using a Database Management System
6. Security Design
Implement Controls to ensure security and integrity
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Data Modeling
What is a Data Model?
• A data model focuses on what data should be stored in
the DB and how it should be organized
• Without representing the data as a database would see
it, a data model represents the data as the user sees it in
the ‘real world’
• A data model can be considered similar to an architect's
building plan
The goal of the data model is to make sure that all data objects
required by the database are completely and accurately represented
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Types and Examples of Data Models
1) High Level Conceptual Data Models
• Provide concepts for presenting data in ways that
are close to the way people perceive data.
Ex: Entity Relationship Model/Diagram
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Entity Relationship (ER) Model
Represents data as ‘real world’ Objects (Entities)
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Types and Examples of Data Models
2) Record-based Logical Data Models
• Provide concepts users can understand but are not
too far from the way data is stored in the computer
Ex: Hierarchical Model,
Network Model,
Relational Model,
Object Oriented Model, etc…
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Hierarchical Model
Represents data as a hierarchical tree structure. Each branch of the
hierarchy represents a number of related records.
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Network Model
Represents data as record types
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Relational Model
Represents data as relations/tables
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Properties of a good Data Model
• Completely and accurately represents the data
requirements of the end users/application
• Uses simple notations and natural language so it can be
easily understood by the end user
• Detailed enough to be used by a database designer to build
the database.
• Eliminates redundant data
• Independent of any hardware and software constraints
• Adapts to changing requirements with minimum of effort
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Database Design process (Revisited)
[Link] Analysis
What does the user want?
[Link] Database Design *
Model Data requirements using a Conceptual Data Model --> ER model
[Link] Database Design *
Model Data requirements using a Logical Data Model Relational Data Model
[Link] Refinement *
Fine tune the result
[Link] Database Design
Implementation of the design using a Database Management System
[Link] Design
Implement Controls to ensure security and integrity
* Will be discussed in this module
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Step 1: Requirements Analysis
The goals of the requirements analysis are:
• to determine the data requirements of the database in terms of
objects
• to identify and describe the information about these objects
• to identify the relationships among these objects
• to identify different transactions that will be performed on the
database
• to identify performance, integrity, security or administrative
constraints to be imposed on the database
• to identify design and implementation constraints if any (ex: specific
technologies, hardware and software, programming languages,
policies, standards, etc…)
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Step 1: Requirements Analysis…
Information needed for the requirements analysis can be gathered in
several ways:
• Review of existing documents –
Can become familiar with the organization/ activity you need to model
by reviewing the existing documentation. Ex: existing forms and reports,
written guidelines, job descriptions, personal narratives, etc…
• Interviews with end users –
Can organize individual/group meetings with the end users. Can use a
blackboard, flip chart, or overhead transparencies to record information
gathered from the interviews.
• Review of existing automated systems –
Can review the system design specifications and documentation, if the
organization already has an automated system
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Step 2: Conceptual Database Design
The information gathered in the requirements analysis phase is used
to create a:
high-level description of the data in a conceptual data model or
Semantic Data Model.
E.g. ER Model
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Step 3: Logical Database Design
• In this step, we determine the DBMS to implement the
database & also the data model.
• We utilize the conceptual schema created in the
previous step and convert it into a schema of a
particular data model* (E.g. Relational Data Model)
• *We will cover this in the next two lectures.
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Step 4: Schema Refinement
The schema created by the logical database design
phase is further refined for potential problems such
as redundancies.
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Step 5: Physical Database Design
In this step, performance criteria are taken into
consideration and further enhancements to the
schema & creation of indexes are considered.
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
Step 6: Security Design
Different user groups and their roles are identified.
Appropriate levels of access are then provided to the
data ensuring that users have access to only the
necessary data.
Eg. Bank
Customer – read access
Teller – read/update (limited)
Manager – read/update
SLIIT - Faculty of Computing
IT1090 - Information Systems and Data Modeling
End of Lecture - 04
Questions ?
37
SLIIT - Faculty of Computing