Week 7 October 10 • Database Planning and Design 1

advertisement
1
Week 7
October 10
• Database Planning and Design
R. Ching, Ph.D. • MIS • California State University, Sacramento
Embedded SQL and Host Variable
Host variable
R. Ching, Ph.D. • MIS • California State University, Sacramento
2
3
Value assigned to the host variable
R. Ching, Ph.D. • MIS • California State University, Sacramento
Output
4
All
sales
revenue
for store
number
101
R. Ching, Ph.D. • MIS • California State University, Sacramento
Host Variable, Lower Function, Wildcards,
Calculation
5
Calculation
LOWER function,
concatenation and
wildcards
Host variable
R. Ching, Ph.D. • MIS • California State University, Sacramento
Dynamic SQL in Oracle Graphics
The value of table_name is assigned
during the execution of the program
Ampersand (&)
specifies a lexical
reference
select title, sum(sales_revenue) from &table_name
where record_label_code = :label group by title
Colon (:) indicates a host variable
R. Ching, Ph.D. • MIS • California State University, Sacramento
6
Dynamic SQL
Lexical Reference Variables
Query
select &column_names
from &table_names
where &condition
Text assigned at runtime
product_code, sales_revenue
sales_99
manufacturer_code = ‘SON’
Equivalent to...
select product_code, sales_revenue
from sales_99
where manufacturer_code = ‘SON’
R. Ching, Ph.D. • MIS • California State University, Sacramento
7
8
Data Resource
R. Ching, Ph.D. • MIS • California State University, Sacramento
Frequency of Use
Very frequent
Infrequent
Required Accuracy
Low
9
High
Future
Aggregate
Quite old
Currency
Highly current
R. Ching, Ph.D. • MIS • California State University, Sacramento
Time Horizon
Data are organizational resources and
must be properly managed.
Historical
Scope
Well defined
Operational
Control
Level of Aggregation
Source
Management
Control
Internal
Strategic
Planning
Detailed
Wide
Information Requirements
External
Robert Anthony's Taxonomy of Managerial
Information Requirements
Database Planning
10
Database Planning
Operational maintenance
Systems Definition
Testing
Data conversion
and loading
Management
Activities
Requirements
collection/analysis
Database design
Implementation
DBMS selection
Prototyping
(Application)
Application design
R. Ching, Ph.D. • MIS • California State University, Sacramento
Database Planning
Formulating an IS strategy:
• Identify enterprise plans and goals with a subsequent
determination of IS needs
• Evaluate current IS to determine and understand existing
strength and weakness
• Appraise IT opportunities that might yield a competitive
advantage
Enterprise Data Model
R. Ching, Ph.D. • MIS • California State University, Sacramento
11
System Definition
• Identify boundaries (scope) of the new system
– Current users and application areas
• User views
• Ensures no major users forgotten from database
requirements
• Defines data and transactions
– Future users and applications
R. Ching, Ph.D. • MIS • California State University, Sacramento
12
Requirements Collection
• Information about each major user view
– Description of the data used or generated
– Details of how data is to be used or generated
– Any additional requirements
• Approaches to managing requirements for multiple user
views
– Centralized – gather all requirements to form a global
data model
– View integration – gather requirements of users to form
local data models and combine local data models to
form a global data model
– Combination centralized/view integration
R. Ching, Ph.D. • MIS • California State University, Sacramento
13
Database Design
• Conceptual database design - process of constructing a
model of the information used in an enterprise,
independent of all physical considerations
• Logical database design - process of constructing a model
of the information used in an enterprise based on a specific
data model, but independent of a particular DBMS and
other physical considerations
• Physical database design - process of producing a
description of the implementation of the database on
secondary storage; it describes the base relations, file
organizations, and indexes used to achieve efficient access
to the data and any associated integrity constraints and
security measures
R. Ching, Ph.D. • MIS • California State University, Sacramento
14
DBMS Selection
• Define terms of reference of study – State objectives and
scope of study, and tasks
• Shortlist 2 to 3 products – Depends on organization
• Evaluate products – Create categories (groups) for
evaluation based on features
– Scorecard approach
• Recommend selection and produce reports
R. Ching, Ph.D. • MIS • California State University, Sacramento
15
Application Design
• Design of the user interface and the application programs
that use and process the data
• Transaction Design
– Transaction is a event applied to the database
– Purpose is to define and document high-level
characteristics of the transactions
• Data to be used
• Functional characteristics
• Output
• Importance to users
• Expected rate of usage
R. Ching, Ph.D. • MIS • California State University, Sacramento
16
Application Design
• Transaction Design
– Three types of transactions
• Retrieval
• Update
• Mixed
• User Interface Design Guidelines
– User layout of form or report
– Guidelines:
• Meaningful titles
• Comprehensible instructions
• Logical group and sequencing of fields
R. Ching, Ph.D. • MIS • California State University, Sacramento
17
Application Design
• User Interface Design Guidelines
– Guidelines:
• Visually appealing layout
• Familiar field labels
• Consistent terminology and
abbreviations
• Consistent use of color
• Visible space and boundaries for dataentry fields
• Convenient cursor movement
• Error correction for individual
characters and entire fields
• Error messages for unacceptable values
R. Ching, Ph.D. • MIS • California State University, Sacramento
18
Follow form
or report
layout
Edit checks
Application Design
• User Interface Design Guidelines
– Guidelines:
• Optional fields marked clearly
• Explanatory messages for fields
• Completion signal
R. Ching, Ph.D. • MIS • California State University, Sacramento
19
Prototyping
• Working model less all required features and functionality
• Types
– Requirements (proof of concept) - Used to determine
requirements and afterwards is discarded
– Evolutionary – Used to determine requirements and
evolves to become the actual application
R. Ching, Ph.D. • MIS • California State University, Sacramento
20
Implementation and
Data Conversion and Loading
Implementation
• Physical realization f the database and application designs
• Define database entities (i.e., users, tables, columns, views,
etc.)
• Implement security and integrity controls
Data conversion and loading
• Transfer existing data into new database
• Converting existing applications to run on the new
database
R. Ching, Ph.D. • MIS • California State University, Sacramento
21
Testing
Testing
• Run database system with the intent of finding errors
– Methodology and test cases
– Usability criteria
• Learnability
• Performance
• Robustness (error tolerance)
• Recoverability
• Adaptability
R. Ching, Ph.D. • MIS • California State University, Sacramento
22
Operational Maintenance
• Monitoring performance
• Maintaining and upgrading
R. Ching, Ph.D. • MIS • California State University, Sacramento
23
Administration
• Data Administrator (DA) – management of the data
resources, including the database planning, development,
and maintenance of standards, policies and procedures, and
conceptual and logical database design
• Database Administrator (DBA) – management of the
physical realization of a database system, including
physical database design and implementation, setting
security and integrity controls, monitoring system
performance, and reorganizing the database (when
necessary)
R. Ching, Ph.D. • MIS • California State University, Sacramento
24
Database Design
• Data modeling
– Understanding the meaning of data
• Identify the user’s perspective of data
• Identify the data themselves
• Identify the applications supported by the data
– Communication information requirements
• Diagram with ERD (entity-relationship diagram)
Satisfying the information needs of the organization
R. Ching, Ph.D. • MIS • California State University, Sacramento
25
Optimal Logical Design Criteria
•
•
•
•
•
•
•
Structural validity - reflects the enterprise
Simplicity - ease of understanding
Expressability - distinguishability of data
Nonredundancy - exclusion of extraneous information
Shareability - nonexclusive data
Extensibility - support future information requirements
Integrity - consistency with organization’s information use
and management
• Diagrammatic representation - ability to graphically model
data
R. Ching, Ph.D. • MIS • California State University, Sacramento
26
Logical vs. Physical Design
27
• Logical
– Defines the whats (e.g., what information needs to be
present)
• Physical
– Defines the hows (e.g., how data will be stored)
What
How
Sequence
R. Ching, Ph.D. • MIS • California State University, Sacramento
Fact-Finding Techniques
•
•
•
•
•
Examining documents
Interviewing
Observing the enterprise in operation
Research
Questionnaires
R. Ching, Ph.D. • MIS • California State University, Sacramento
28
Design Tools
Relational database design
• Entity relationship diagram (ERD)
– Relations, relationships, constraints
• Data normalization
– Method for establishing relations
R. Ching, Ph.D. • MIS • California State University, Sacramento
29
For relational
model only
For relational
database only
30
Data Modeling: Entity Relationship Modeling
R. Ching, Ph.D. • MIS • California State University, Sacramento
Entity Relationship (ER) Model
(applies to relational data model)
• High-level conceptual model
– Describes the structure of the database, and the
associated retrieval and update transactions on the
database
– Composed of
• Entity types
• Relationship types
• Attributes
R. Ching, Ph.D. • MIS • California State University, Sacramento
31
ER Modeling
32
Relationship type
Products
Stock number
Product description
Retail price
Stock on hand
Stock on order
Manufacturers
Manufacturer code
Manufacturer name
Attributes
Entity type
R. Ching, Ph.D. • MIS • California State University, Sacramento
ER Modeling
33
Relationship type
Products
Stock number (PK)
Product description
Retail price
Stock on hand
Stock on order
Manufacturers
Manufacturer code
Manufacturer name
Attributes
Entity type
R. Ching, Ph.D. • MIS • California State University, Sacramento
ERD Notation
Entity type
34
Primary key (underscored)
Relationship type
Relationship name
Music_categories
Attributes
Music_category_code
Music_category_title
Cardinality
CDs
Classify
Stock_number
CD_title
Artist
Music_category_code
Record_label_code
Zero
(circle)
Minimum
Maximum (inside) Many
(outside)
(crows feet)
R. Ching, Ph.D. • MIS • California State University, Sacramento
1. Entity Types
35
• Strong Entity Type
– Not existence-dependent on another entity type
• Weak Entity Type
– Existence-dependent on another entity type (i.e., child,
dependent, subordinate)
Entity type
Entity
Entity
Entity
R. Ching, Ph.D. • MIS • California State University, Sacramento
Uniquely identifiable
Entity Types
36
Strong entity?
Music_categories
Music_category_code
Music_category_title
CDs
Classify
R. Ching, Ph.D. • MIS • California State University, Sacramento
Stock_number
CD_title
Artist
Music_category_code
Record_label_code
Definition of a Weak Entity Type
“An entity type that borrows all or part of its primary key.
Identifying relationships indicate the entity types that
supply components of the borrowed primary key.”
Entity type 1
Mannino, 1999
Key
attributes...
Method to Follow
Have
Entity type 2
Key
Composite key
Key
attributes...
R. Ching, Ph.D. • MIS • California State University, Sacramento
Weak entity type
37
Diagramming Weak Entity Types
An account cannot exist without an customer.
Customers
Strong entity type (parent,
owner, dominant)
attributes...
Minimum must be one
Customer_Accounts
attributes...
Weak entity entity (child, dependent,
subordinate)
*A customer can have more than one account
Designates a weak entity type
R. Ching, Ph.D. • MIS • California State University, Sacramento
38
2. Attributes
39
Property of an entity or relationship type
Customers
Cust_account Cust_name Cust_address Cust_phone Soc_Sec_Num
Customer_Accounts
Cust_account Current_balance
Credit_limit
Active_date
Expire_date
• Attribute domain
– Set of values that may be assigned to a single-valued
attribute
R. Ching, Ph.D. • MIS • California State University, Sacramento
Attributes of Attributes
40
• Simple (atomic attributes) - composed of a single
component
• Composite - composed of multiple components
• Single valued - one value for an entity
• Multi-valued - one or more values for an entity
• Derived - value derived from a related attribute or set of
attributes
Student_ID FName MName
LName
Multi-valued Student_ID
Single-valued
Semester
Course_ID
More than one semester, more than one course_id
R. Ching, Ph.D. • MIS • California State University, Sacramento
Attribute Domain
41
Customers Composite
Cust_account Cust_name Cust_address Cust_phone
Soc_Sec_Num
Cust_first_name
Cust_last_name
John
William
Anita
Homer
Brown
Tell
Breake
Simpson
R. Ching, Ph.D. • MIS • California State University, Sacramento
• On an ER model,
should customer
name be shown as a
composite or simple
attribute?
• What is the attribute
domain of
Cus_name?
Derived Attributes
42
• Derived - value derived from a related attribute or set of
attributes
Student_ID Semester Course_ID Units Grade Grade_point
Student_ID Semester Course_ID Units Grade Grade_point
Student_ID Semester Course_ID Units Grade Grade_point
Units x Grade = Grade point
R. Ching, Ph.D. • MIS • California State University, Sacramento
Attributes as Keys
43
Uniquely identifies an entity
Candidate key
Primary key
• Keys cannot change their values
(good for the life of the entity)
• An efficient means for identifying
an entity
• Alternate key - candidate that can also be used to access
an entity
• Composite key - composed of multiple attributes
(components)
R. Ching, Ph.D. • MIS • California State University, Sacramento
Diagrammatic Representation
Method to Follow
Composite attribute
Composite attribute
44
Customers
Cust_account
Cust_name
First_name
Middle_name
Last_name
Cust_address
Street_number
Zip_code (fk)
Cust_phone
Soc_sec_num
R. Ching, Ph.D. • MIS • California State University, Sacramento
Key
Foreign key
3. Relationship Types
• A set of associations between
two (or more) participating
entity types
• Each is given a name that
describes the function
45
Customers
Customer_account
Own
Customers_accounts
Customer_account
R. Ching, Ph.D. • MIS • California State University, Sacramento
Entity Relationship Diagram
Customers
Customer_account
Own
• Degree of a relationship Strong number of entities participating
in a relationship (binary, ternary,
quaternary, etc.)
Relationship
• “Dog-ear” lines indicate a
Customers_accounts
relationship between a weak and
Weak
Customer_account
strong entity
R. Ching, Ph.D. • MIS • California State University, Sacramento
46
Data Modeling
47
Music_categories
Strong Entity (parent)
Music_category_code
Music_category_title
Relationship
Classify
All children (CDs) must have a parent
(music categories or record labels)
Strong Entity (parent)
CDs
Stock_number
CD_title
Artist
Music_category_code (fk)
Record_label_code (fk)
Record_labels
Produce
Weak Entity
(child)
R. Ching, Ph.D. • MIS • California State University, Sacramento
Record_label_code
Record_label
Method to Follow
Degree of a Relationship
Customers
A customer purchases products and
places them on his/her account
Buy
Products
Relationship of degree three or ternary
Cust_Accounts
R. Ching, Ph.D. • MIS • California State University, Sacramento
48
Degree of a Relationship
49
An employee is managed by only one manager
(an employee is related to a maximum and
minimum of one manager)
Manages
Employees
Self-referencing
relationship
Employee_number
Employee_name
Classification
Project_ID
R. Ching, Ph.D. • MIS • California State University, Sacramento
A manager manages
one to many employees
(a manager is related
to a minimum of one
and a maximum of
many employees)
Structural Constraints
• Cardinality
– Determines the number of possible relationships for
each participating entity
• 1:1 - one to one
• 1:M - one to many
Defined by
• M:N - many to many
business rules
• Participation
– Determines whether the existence of an entity depends
upon its being related to another entity through the
relationship
R. Ching, Ph.D. • MIS • California State University, Sacramento
50
Cardinality
• 1:1 (one to one)
– Each entity in X is associated with at most one entity in
Y and conversely each entity in Y is associated with at
most one entity in X
• 1:M (one to many)
– Each entity in X can be associated with many entities in
Y but each entity in Y is associated with at most one
entity in X.
• M:N (many to many)
– Each entity in X can be associated with many entities in
Y and each entity in Y can be associated with many
entities in X.
R. Ching, Ph.D. • MIS • California State University, Sacramento
51
Cardinality
52
1:1 Relationships
Strong entity type
Weak entity type
Customers
Customer_ID
Customer_name
Customer_address
Zip_code
Accounts
Own
Mandatory
participation
A customer owns a
minimum and maximum
of one account
Account_number
Customer_ID
Account_type
Current_balance
An account is owned
by a minimum and
maximum of one
customer
Note. This would be avoided in the logical design, but could be implemented in
the
physical.
R. Ching, Ph.D. • MIS • California State University, Sacramento
Cardinality
53
1:M Relationships
Strong entity type
Weak entity type
Customers
Customer_ID
Customer_name
Customer_address
Zip_code
A customer owns a
minimum one and
maximum of many
accounts
Accounts
Own
Mandatory
participation
Account_number
Customer_ID
Account_type
Current_balance
An account is own by a
minimum and maximum
of one customer
Note. This would be avoided in the logical design, but could be implemented in
the
physical.
R. Ching, Ph.D. • MIS • California State University, Sacramento
Cardinality
• M:N relationship if a customer can own more than one
account (e.g., revolving, long-term), and one account can
have more than one owner (e.g., joint account).
R. Ching, Ph.D. • MIS • California State University, Sacramento
54
Cardinality
55
M:N Relationships
Strong entity type
Weak entity type
Customers
Customer_ID
Customer_name
Customer_address
Zip_code
A customer owns a
minimum of one and a
maximum of many
accounts
Accounts
Own
Mandatory
participation
Account_number
Customer_ID
Account_type
Current_balance
An account is owned
by a minimum of one
and a maximum of
many customers
Note. This would be avoided in the logical design, but could be implemented in
the
physical.
R. Ching, Ph.D. • MIS • California State University, Sacramento
Participation Constraints
56
• Determines whether the existence of an entity depends on
it being related to another entity through the relationship
– Total (mandatory) - If the existence of one requires
another
– Partial (optional) - If the existence of one does not
require the other
Existence Dependency: An entity that cannot exist unless another
related entity exists. A mandatory relationship produces an existence
dependency.
Mannino, 1999
R. Ching, Ph.D. • MIS • California State University, Sacramento
ERD Notation
Entity type
57
Primary key (underscored)
Relationship type
Relationship name
Music_categories
Attributes
Music_category_code
Music_category_title
Cardinality
CDs
Classify
Stock_number
CD_title
Artist
Music_category_code
CDRecord_label_code
is related to a
Zero
(circle) A
Minimum
minimum and maximum
Maximum (inside) Many
of one music category
(outside)
(crows feet)
R. Ching, Ph.D. • MIS • California State University, Sacramento
ERD Notation
Entity type
58
Primary key (underscored)
Relationship type
Relationship name
Music_categories
Attributes
Music_category_code
Music_category_title
CDs
Classify
Stock_number
CD_title
Artist
Music_category_code
Record_label_code
Zero
(circle)
A music category is related
to
a minimum of zero and Minimum
Cardinality
(inside)
Maximum
maximum of many
CDs
Many
(outside)
(crows feet)
R. Ching, Ph.D. • MIS • California State University, Sacramento
ERD Notation
Entity type
59
Minimum cardinality of one
(a music category has to have at least one CD)
Music_categories
CDs
Music_category_code
Music_category_title
Classify
Weak entity type
(all four corners)
R. Ching, Ph.D. • MIS • California State University, Sacramento
Stock_number
CD_title
Artist
Music_category_code
Record_label_code
ERD Notation
60
Music_categories
Music_category_code
Music_category_title
CDs
Classify
A record label is related to
a minimum of zero and
maximum of many CDs
Stock_number
CD_title
Artist
Music_category_code
Record_label_code
Produce
Record_labels
Record_label_code
Record_label
R. Ching, Ph.D. • MIS • California State University, Sacramento
ERD Notation
61
Music_categories
Music_category_code
Music_category_title
CDs
Classify
A CD is related to a
minimum and maximum of
one record label
Stock_number
CD_title
Artist
Music_category_code
Record_label_code
Produce
Record_labels
Record_label_code
Record_label
R. Ching, Ph.D. • MIS • California State University, Sacramento
ERD Notation
62
Music_categories
Music_category_code
Music_category_title
CDs
Classify
Quantity_produced
Attribute of a relationship
Stock_number
CD_title
Artist
Music_category_code
Record_label_code
Produce
Record_labels
Record_label_code
Record_label
R. Ching, Ph.D. • MIS • California State University, Sacramento
63
R. Ching, Ph.D. • MIS • California State University, Sacramento
Download