Database - McMaster University
Download
Report
Transcript Database - McMaster University
Commerce 3KD3
Database Design and
Management
Yufei Yuan
Course Web Site
http://avenue.mcmaster.ca
1
Instructor Information
Name: Dr. Y. Yuan
Office: DSB AIC Wing A204
E-Mail: [email protected]
Phone: (905) 525-9140 Ext 23982
Web Site:
http://www.business.mcmaster.ca/ms
is/profs/yuan/
TA: John Gilbert
Email: [email protected]
Office: DSB A211
Office Hours: To be arranged
Tel: (905) 525-9140 x 26397
TA:Kenneth Owen
Email: [email protected]
Office: DSB A211
Office Hours: To be arranged
Tel: (905) 525-9140 x 26195
Course Description
Why should I take this course?
What can I learn from this course?
What is the business value of this
course?
How can I get a good grade from this
course?
Course Objective
The growth of Internet and electronic
commerce has tremendously amplified the
importance of database technology,
knowledge, and skills. In this course
students will be able to learn the basic
concepts of database and data warehouse,
and gain first-hand experience through
developing a real world e-commerce web
database application.
Course Topics
Basic concepts of database
Data modeling
Data definition and manipulation
language SQL
Database administration
Client/Server database development
Databases using Internet technology
Data warehouse and data mining
2
Business value of the course
Knowing database is essential for IT
related jobs and jobs that rely on the
use of IS.
Understand how to manage data, one
of the most important resource for
every organization.
Learn how to develop an e-business
web site with online database access.
Teaching Philosophy
Self-motivated active learning
Learning by doing. Combination of
theory and practice
Learn from each other through
class discussion and information
sharing
To be sensitive to the real world
business problems
Possible job titles that require
database knowledge
Database administrator
Database analyst
Database developer
System analyst
Database marketing
Business intelligence
Customer relationship management
Sample job postings
Database Analyst Posted: 19/08/2011 23:39:58
Location: Oakville, ON Salary: $40k to $45k/Yearly
Specific Skills: Collect and document user's requirements, Design
and develop database, Design, construct, modify, implement and
test data models and database management systems.
Architect, database Posted: 19/08/2011 23:39:54
Location: Toronto Centre, ON Salary: $100k to $125k/Yearly
Specific Skills: Collect and document user's requirements, Design
and develop database, Design, construct, modify, implement and
test data models and database management systems, Operate
database management systems to analyze data, Research and
document data requirements, data collection and administration
policy, and data access rules
Sample job postings
Database Developer
$75k - $85k Per Year
Industry: Aerospace Services. Requirements: You will have 5
years relevant work experience designing, building, installing,
configuring or supporting data warehouses. As the successful
candidate you will also have a strong understanding of relational
and dimensional database structures, theories, principles and
practices. You have experience with database platforms,
including IBM DB2 and Microsoft SQL Server. Experience with
SQL Server. Posted: 14/08/2008 21:53:05
Database Administrator
$80k-$90k Per Year
Industry: Financial Services. Requirements: SQL Server 2005
experience in a production environment. You must also have a
keen attention to detail a strong customer-service orientation
and the ability to work as part of a team. Excellent
communications skills are also necessary.
Posted: 16/08/2008 06:21:24
Course Material
Lecture Notes: http://avenue.mcmaster.ca
Recommended textbook: David M. Kroenke
and David J. Auer, Database Concepts,
Prentice Hall, Fifth Edition, 2011.
Reference: Mike Morrison and Joline
Morrison, Database-Driven Web Sites,
Course Technology, 2000.
Tutorials on the web
3
Course evaluation
Assignments (build a simple online flower store
web site) 35%
1.
2.
3.
4.
5.
E-R data modeling (5%)
Relational data modeling (5%)
SQL and Client/Server database (10%)
Web-database connection ASP (7.5%)
Web-database application (7.5%)
Team Project
Assignment
Assignment
Assignment
Assignment
Assignment
35%
proposal 5%, presentation 10%, report 20%
Final Exam
30%
4
Team Project
Design a database for an e-commerce
application
Real or hypothetic case
Idea team with 2 - 3 members
Sample projects available in INNIS
room
Team Project
Basic system setting:
Web
Server
Web
Browser
customer
Internet
connection
SQL
Server
LAN
connection
Client
Workstation
Administrator
Questions?
Suggestions?
Introduction to
Database Management System
7
Database Example
http://www.gtaa.com/webfids/arrivals.htm
http://www.1800flowers.com/Flowers/welcome.
asp?section=1
http://www.mapquest.com/
Database Approach
Why database is so important?
Data are viewed as an important,
shared resource that must be
managed like any other asset, such
as people, material, equipment, and
money
10
Evolution of Database
Technology
File processing
Early hierarchical and network database
Relational database
Distributed database
PC database
Client/Server database
Database using Internet technology
Data warehouse and data mining
Object-oriented database
9
Database - A Definition
A database is a shared collection of interrelated
data, designed to meet the needs of multiple types
of end users.
The data are stored so that they are independent of
the program that use them.
A common and controlled approach is used in
adding new data and modifying and retrieving
existing data.
A database is not only shared by multiple users, but
it is perceived differently by different users.
- Martin, 1981
11
A Database Approach
Customer
Order
Invoice
Product
Raw Material
Vendor
12
Benefit of the Database
Approach
Minimal data redundancy
Consistency of data
Integration of data
Data sharing
Enforcement of standards
Ease of application development
Uniform security , privacy, and integrity controls
Data accessibility and responsiveness
Data independence
Reduced program maintenance
13
Disadvantages of Database
Processing
Expensive
Complex
database management system
more hardware resources
higher operating costs
specialized personnel
technological
managerial
More vulnerable to failure, difficult to recover
14
Components of a Database
Environment
Database
Administration
Data
Dictionary
Directory
User
Group
User /
System
Interface
Database
Management
System
Database
15
Levels (or Views) of Data
ANSI/SPARC Model
External
Views
View
(User 1)
View
(User N)
Mappings
(logical data
independence)
Conceptual
Model
Mappings
(physical data
independence)
Internal
Model
Physical
Data
Organization
|
|
|
Mappings
(access method)
16
ANSI / SPARC Model
American National Standards Institute (ANSI)
Standards Planning and Requirements Committee (SPARC)
The conceptual model defines the entire information
resource at an abstract level.
Each user view is a subset of the conceptual model,
defined and formatted according to that user's needs.
The internal model is a definition of the physical
implementation of the data base by the DBMS (Schema,
Subschema)
The physical data organization determines how data are
actually organized and stored
17
External user views
Conceptual Model
Internal Model
Physical Data Organization
Data Independence
The property of being able to change
the logical or physical structure of data
without requiring changes to application
programs that manipulate that data.
18
Functions of Database
Management System
Store, retrieve, and update data
Provide integrity services to enforce database
constraints
Provide a user-accessible catalog of data descriptions
Control concurrent processing
Support logical transactions
Recover from failure
Provide security facilities
Interface with communication control programs
Provide utility services
19
Database Components
Page 26
Figure 2-1
© 2000 Prentice Hall
Database Development
Process
20
Database Planning
Analyze the goals and functions of
organization, identify the present and
future information needs (BSP).
Identify business entities and
relationships (Enterprise model)
Database Design
Requirement analysis - specify user's
information needs
Conceptual design - synthesize user
views into conceptual data model.
Implementation design - mapping
conceptual model into internal model
that can be processed by particular
DBMS
Top-Down Planning and
Bottom-Up Design
Top-Down
Planning
Business
System
Planning
Physical
(distributed)
Databases
Information
Model
Data
Models
Proposed
Databases
User
Views
Bottom-Up
Design
21
The Database Initial Study
Overall Purpose of the Initial Study:
Analyze the company situation.
Define problems and constraints.
Define objectives.
Define scope and boundaries.
Investigate possible solutions
22
Feasibility study
Evaluate possible alternatives
Organizational Feasibility - how well the
proposed system supports the strategic
objectives of the organization
Economic Feasibility - whether expected
cost savings, increased profits, and
other benefits exceed the cost of
developing and operating the system
Feasibility Study
Technical Feasibility - whether reliable
hardware and software needed can be
acquired or developed in the required
time
Operational Feasibility - the willingness
and ability of management, employees,
customers, suppliers, etc. to operate,
use and support the proposed system
Cost / Benefit Analysis
Tangible :
can be expressed in monetary terms
tangible cost : hardware, software,
development and operating costs
tangible benefits : increase in sales/profit,
cost savings
Cost / Benefit Analysis
Intangible :
difficult monetary measurement, but not
impossible to quantified
intangible cost : employee frustration, loss
of customer goodwill
intangible benefit : better customer
service, less errors
Approaches to Cost/Benefit
Analysis
Break-even Approach - attempts to measure
the time it will take to recoup in benefits the
original dollars invested
Present Value Approach - attempts to value
future dollars in terms of their values today
Internal Rate of Return Approach - calculates
the rate of return on the project investment
Portfolio Analysis - analyze and balance risk
and benefit among alternatives
Scoring methods - multi-objective rating
Conceptual Design
Data modeling is used to create an
abstract database structure that
represents real-world objects.
The design must be software- and
hardware-independent.
Minimal data rule: All that is needed is
there, and all that is there is needed.
23
Logical Design
Logical design translates the conceptual
design into the internal model for a
selected DBMS.
It includes the design of tables,
indexes, views, transactions, access
authorities, and so on.
24
Table Design in Access 2000
Page 32
Figure 2-4
© 2000 Prentice Hall
Relationships in Access 2000
Page 32
Figure 2-5
© 2000 Prentice Hall
Physical Design
Physical design is the process of
selecting the data storage and data
access characteristics of the database.
It affects not only the location of the
data in the storage device(s) but also
the performance.
25
Physical Design Issues
Performance
Security
Backup and Recovery
Integrity
Company standards
Concurrency controls
26
Database Application
development
User interface
Queries and user views
Forms
Reports
Embedded processing functions
Client/Server Access
Web Access
28
Menus in Access 2000
Page 34
Figure 2-12
Queries in Access 2000
Page 34
Figure 2-8
Forms in Access 2000
Page 34
Figure 2-6b
© 2000 Prentice Hall
Reports in Access 2000
Page 34
Figure 2-10
Database Application
development tools
Host programming language
Fourth generation language
Application development tools
Case tools
Object-oriented language
Web-Database connection tools
27