Professional Documents
Culture Documents
Introduction to
Database Management Systems
and ER Model
Introduction to Database Management Systems and ER Model
Introduction
► Database Management System (DBMS) DBMS contains information about a particular
enterprise Collection of interrelated data Set of programs to access the data
► An environment that is both convenient and efficient to use
► Database Applications:
► Banking: all transactions
► Airlines: reservations, schedules
► Universities: registration, grades
► Sales: customers, products, purchases
► Online retailers: order tracking, customized recommendations
► Manufacturing: production, inventory, orders, supply chain Human resources:
employee records, salaries, tax deductions Databases touch all aspects of our lives
https://slideplayer.com/slide/9217389/. https://www.db-book.com/db6/index.html
Database Management System (DBMS)
► Collection of interrelated data
► Set of programs to access the data
► DBMS contains information about a particular enterprise
► DBMS provides an environment that is both convenient and efficient to use.
► Database Applications:
►Banking: all transactions
►Airlines: reservations, schedules
►Universities: registration, grades
►Sales: customers, products, purchases
►Manufacturing: production, inventory, orders, supply chain
►Human resources: employee records, salaries, tax deductions
► Databases touch all aspects of our lives
Purpose of Database System
► In the early days, database applications were built on top of file systems
► Drawbacks of using file systems to store data:
►Data redundancy and inconsistency
►Multiple file formats, duplication of information in different files
►Difficulty in accessing data
►Need to write a new program to carry out each new task
►Data isolation — multiple files and formats
►Integrity problems
►Integrity constraints (e.g. account balance > 0) become part of program code
►Hard to add new constraints or change existing ones
Purpose of Database Systems ……
► Drawbacks of using file systems (cont.)
►Atomicity of updates
►Failures may leave database in an inconsistent state with partial updates
carried out
►E.g. transfer of funds from one account to another should either complete or
not happen at all
►Concurrent access by multiple users
►Concurrent accessed needed for performance
►Uncontrolled concurrent accesses can lead to inconsistencies
►E.g. two people reading a balance and updating it at the same time
►Security problems
► Database systems offer solutions to all the above problems
Levels of Abstraction
► SQL is a standard database programming language used for accessing and manipulating data in a
database.
► In this chapter, you will learn about the introduction of the structured query language.
► Users are differentiated by the way they expect to interact with the system
► Application programmers – interact with system through DML calls
► Sophisticated users – form requests in a database query language
► Specialized users – write specialized database applications that do not fit into the
traditional data processing framework
► Naïve users – invoke one of the permanent application programs that have been
written previously
►E.g. people accessing database over the web, bank tellers, clerical staff
Database Administrator
► Coordinates all the activities of the database system; the database administrator has
a good understanding of the enterprise’s information resources and needs.
► Database administrator's duties include:
►Schema definition
►Storage structure and access method definition
►Schema and physical organization modification
►Granting user authority to access the database
►Specifying integrity constraints
►Acting as liaison with users
►Monitoring performance and responding to changes in requirements
Transaction Management
► A transaction is a collection of operations that performs a single logical function in a
database application
► Transaction-management component ensures that the database remains in a
consistent (correct) state despite system failures (e.g., power failures and operating
system crashes) and transaction failures.
► Concurrency-control manager controls the interaction among the concurrent
transactions, to ensure the consistency of the database.
Storage Management
► Storage manager is a program module that provides the interface between the
low-level data stored in the database and the application programs and queries
submitted to the system.
► The storage manager is responsible to the following tasks:
►interaction with the file manager
►efficient storing, retrieving and updating of data
Overall System Structure
Application Architectures
26
What is an Entity Relationship Diagram (ERD)?
► Powerdesigner by SAP
► Data Modeler by Orcale
27
The Importance of Data Model
29
ERD
30
How to find entities?
►Entity:
► "...anything (people, places, objects, events, etc.) about which we store
information (e.g. supplier, machine tool, employee, utility pole, airline
seat, etc.).”
► Tangible: customer, product
► Intangible: order, accounting receivable
► Look for singular nouns (beginner)
► BUT a proper noun is not a good candidate….
31
Entity Instance
►Attribute:
► Attributes are data objects that either identify or describe entities
(property of an entity).
► In other words, it is a descriptor whose values are associated with
individual entities of a specific entity type
► The process for identifying attributes is similar except now you want to look for and
extract those names that appear to be descriptive noun phrases.
33
How to find relationships?
►Relationship:
► Relationships are associations between entities.
► Typically, a relationship is indicated by a verb connecting two or more
entities.
► Employees are assigned to projects
► Relationships should be classified in terms of cardinality.
► One-to-one, one-to-many, etc.
34
How to find cardinalities?
►Cardinality:
► The cardinality is the number of occurrences in one entity which are
associated to the number of occurrences in another.
► There are three basic cardinalities (degrees of relationship).
► one-to-one (1:1), one-to-many (1:M), and many-to-many (M:N)
35
Identifier
36
Crow’s Foot Notation
37
Attributes
38
Basic Cardinality Type
► 1-to-1 relationship
► 1-to-M relationship
► M-to-N relationship
Cardinality ….
Example Model
41
Data Model by Peter Chen’ Notation (first - original)
Classes of attributes
►Simple attribute
►Composite attribute
►Derived attributes
►Single-valued attribute
►Multi-valued attribute
43
Simple/Composite attribute
►A simple attribute cannot be subdivided.
► Examples: Age, Gender, and Marital status
►A composite attribute can be further subdivided to yield
additional attributes.
► Examples:
► ADDRESS -- Street, City, State, Zip
► PHONE NUMBER -- Area code, Exchange number
44
Derived attribute
►is not physically stored within the database
►instead, it is derived by using an algorithm.
► Example 1: Late Charge of 2%
► MS Access: InvoiceAmt * 0.02
► Example 2: AGE can be derived from the date of birth and the
current date.
► MS Access: int(Date() – Emp_Dob)/365)
45
Single-valued attribute
►can have only a single (atomic) value.
► Examples:
► A person can have only one social security number.
► A manufactured part can have only one serial number.
► A single-valued attribute is not necessarily a simple attribute.
► Part No: CA-08-02-189935
► Location: CA, Factory#:08, shift#: 02, part#: 189935
46
Multi-valued attributes
►can have many values.
► Examples:
► A person may have several college degrees.
► A household may have several phones with different numbers
► A car color
47
Reference
► Silberschatz A., Korth H., Sudarshan S., "Database System Concepts", McGraw
Hill Publishers, ISBN 0-07-120413-X, 6th edition
► https://www.db-book.com/db6/slide-dir/
Thank You !!