Chapter 14 of Database Design, Application Development, and
Download
Report
Transcript Chapter 14 of Database Design, Application Development, and
Chapter 14
Data and Database Administration
McGraw-Hill/Irwin
Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
Outline
Organizational context
Tools of database administration
Processes for database specialists
Overview of processing environments
14-2
Database Support for Decision
Making
Management Hierarchy
Top
(strategic)
Middle
(tactical)
Lower
(operational)
External data sources and
summarized, tactical databases
Summarized, integrated
operational databases
Individual operational
databases
Operational databases
14-3
Decision Making Examples
Level
Example Decisions
Data Requirements
Top
Identify new markets
and products; plan
growth; reallocate
resources across
divisions
Economic and technology
forecasts; news
summaries; industry
reports; medium term
performance reports
Middle Choose suppliers;
forecast sales,
inventory, and cash;
revise staffing levels;
prepare budgets
Historical trends; supplier
performance; critical path
analysis; short term and
medium term plans
Lower
Problem reports;
exception reports;
employee schedules; daily
production results;
inventory levels
Schedule employees;
correct order delays;
find production
bottlenecks; monitor
resource usage
14-4
Information Life Cycle
Usage
Acquisition
Dissemination
Storage
Formatting
Protection
Processing
14-5
Knowledge Management
Technology
Human information
processing
Organization
dynamics
14-6
Database Specialists
Data administrator
Middle or upper management
Broad view of information resources
Database administrator (DBA)
Support role
Emphasis on individual databases and
DBMSs
14-7
Responsibilities of Specialists
Data administrator
Develops enterprise data model
Establishes inter database standards
Negotiates contractual terms
Database administrator
Performs database development tasks
Consults on application development
Evaluates DBMS capabilities and features
14-8
Database Administration Tools
Security
Integrity
Management of stored procedures and
triggers
Data dictionary access
14-9
Database Access Control
Authorization rules
DBA
Authentication,
access requests
Database security
system
Users
Data dictionary
14-10
Discretionary Access Control
Assign access rights or privileges to users
Specify ability to read, write, and delete
specified parts of a database
Use views for fine level of control
Use groups to reduce the number of
authorization rules
14-11
SQL Statements for Security I
CREATE ROLE ISFaculty
CREATE ROLE ISAdministrator
WITH ADMIN CURRENT_ROLE
CREATE ROLE ISAdvisor
14-12
SQL Statements for Security II
GRANT SELECT ON ISStudentGPA
TO ISFaculty, ISAdvisor, ISAdministrator
GRANT UPDATE ON ISStudentGPA.StdGPA
TO ISAdministrator
REVOKE SELECT ON ISStudentGPA FROM ISFaculty
RESTRICT
GRANT ISAdministrator TO Smith WITH GRANT
OPTION;
14-13
Common SQL Privileges
Privilege
Explanation
SELECT
Query the object; cannot be specified for
individual columns
UPDATE
Modify the value; can be specified for
individual columns
INSERT
Add a new row; can be specified for
individual columns
DELETE
Delete a row; cannot be specified for
individual columns
TRIGGER
Create a trigger on the specified table
REFERENCES Reference columns of the given table in
integrity constraints
EXECUTE
Execute the stored procedure
14-14
Oracle Security Statements
CREATE USER statement
Predefined roles
CONNECT
RESOURCE
DBA
System versus object privileges
14-15
Access Security Tools
14-16
Mandatory Access Control
Less flexible security approach for highly
sensitive and static databases
Assign classification levels to database
objects
Assign clearance levels to users
Access granted if a user's clearance level
provides access to the classification level
of a database object
14-17
Encryption
Encoding data to obscure its meaning
Plaintext
Ciphertext
Encryption key
14-18
SQL Domains
Limited ability to define new domains
CREATE DOMAIN statement
CREATE DOMAIN StudentClass AS CHAR(2)
CHECK(VALUE IN ('FR','SO','JR','SR') )
Distinct type
CREATE DISTINCT TYPE USD AS
DECIMAL(10,2);
14-19
SQL Assertions
Supports complex constraints
Constraint specified through a SELECT
statement
Enforcement can be inefficient
Stored procedures and form events are
alternatives
14-20
Assertion Example
CREATE ASSERTION FullTimeEnrollment
CHECK (NOT EXISTS
( SELECT Enrollment.RegNo
FROM Registration, Offering,
Enrollment, Course
WHERE Offering.OfferNo =Enrollment.OfferNo
AND Offering.CourseNo = Course.CourseNo
AND Offering.RegNo = Registration.RegNo
AND RegStatus = 'F'
GROUP BY Enrollment.RegNo
HAVING SUM(CrsUnits) >= 9 ) )
14-21
CHECK Constraints
Use when a constraint involves columns of
the same table
Part of CREATE TABLE statement
Easy to write
Efficient to enforce
14-22
CHECK Constraints Example
CREATE TABLE Student
(…
CONSTRAINT ValidGPA CHECK
( StdGPA BETWEEN 0 AND 4 ),
CONSTRAINT MajorDeclared CHECK
( StdClass IN ('FR','SO') OR
StdMajor IS NOT NULL ) )
14-23
Coding Practice Concerns
Documentation
Parameter usage
Content of triggers and stored procedures
14-24
Management of Dependencies
Referenced tables, views, and procedures
Access plans for SQL statements
DBMS support incomplete
Obsolete statistics
Remotely stored procedures
No automatic recompilation after deletion
14-25
Managing Trigger Complexity
Coding guidelines to minimize interaction
Trigger analysis tools
Additional testing for interacting triggers
14-26
Metadata
Define the source, use, value, and
meaning of data
Stored in a data dictionary
DBMS data dictionary to track objects
managed by the DBMS
Information resource dictionary to track
objects relating to information systems
development
14-27
Catalog Tables
Most DBMSs provide a large collection
Definition Schema and Information
Schema in SQL:2003
Modify using data definition and control
statements
Use SELECT statement to retrieve from
catalog tables
Integrity of catalog tables is crucial
14-28
Sample Oracle Catalog Tables
Table Name
Contents
USER_CATALOG
Contains basic data about each table and view defined by
a user.
USER_OBJECTS
Contains data about each object (functions, procedures,
indexes, triggers, assertions, etc.) defined by a user. This
table contains the time created and the last time changed
for each object.
USER_TABLES
Contains extended data about each table such as space
allocation and statistical summaries.
USER_TAB_COLUMNS Contains basic and extended data for each column such as
the column name, the table reference, the data type, and a
statistical summary.
USER_VIEWS
Contains the SQL statement defining each view.
14-29
Information Resource Dictionary
CASE tool 1
Metadata
import
CASE tool 2
IRDS
CASE tool n
...
Metadata
export
DBMS
IRD
14-30
Processes for Database
Specialists
Data planning
DBMS selection and evaluation
14-31
Goals of Data Planning
Evaluate current information systems with
respect to the goals and objectives of the
organization
Determine the scope and the timing of
developing new information systems and
utilizing of new information technology
Identify opportunities to apply information
technology for competitive advantage
14-32
Planning Models
Enterprise models
Business goals
and objectives
Data
Processes
Organization
Align information
systems with
business environment
14-33
Level of Detail in Models
Model
Levels of Detail
Data
Subject model (initial level), entity model
(detailed level)
Process
Functional areas and business processes
(initial level), activity model (detailed level)
Organization
Role definitions and role relationships
Data-process
interaction
Matrix and diagrams showing data
requirements of processes
Process-organization
interaction
Matrix and diagrams showing role
responsibilities
Data-organization
Matrix and diagrams showing usage of data
by roles
14-34
DBMS Selection
Detailed process
Requires knowledge of organization goals
and DBMS features
Systematic approach is important
High switching cost if wrong choice
14-35
Selection Process Phases
Analyze
requirements
Determine
weights
Score
candidate
systems
Ranked
candidates
14-36
Analytic Hierarchy Process
Multi-criteria decision making tool
Supports systematic assignment of
weights and scores to candidate DBMSs
Uses pairwise comparisons
14-37
Rating Values for Comparisons
Ranking Value of Aij
1
3
5
7
9
Meaning
Requirements i and j are equally
important.
Requirement i is slightly more
important than requirement j.
Requirement i is significantly more
important than requirement j.
Requirement i is very significantly
more important than requirement j.
Requirement i is absolutely more
important than requirement j.
14-38
Analytic Hierarchy Process Details
Assign importance weights to pairwise
combinations of requirement groups and
requirement categories
Combine and normalize importance weights
Score candidate DBMSs for each requirement
Combine and normalize scores
Combine importance weights and DBMS scores
14-39
Final Selection Factors
Benchmarks and trial usage
Contractual terms
Vendor expectations
14-40
Benchmarking
Workload to evaluate the performance of a
system or product
A good benchmark should be relevant,
portable, scalable, and understandable.
Standard, domain-specific benchmarks by
TPC
14-41
TCP Benchmarks
Reasonable estimates about a DBMS in a
specific hardware/software environment
Total system performance and cost
measures
Audits to ensure unbiased results
14-42
Current TCP Benchmarks
TPC-C: order entry benchmark
TPC-App: business to business
transactions
TPC-H: decision support ad hoc queries
TPC-W: Ecommerce benchmark
14-43
Managing Database Environments
Transaction processing
Data warehouse processing
Distributed processing
Object data management
14-44
Responsibilities of Database
Specialists
Application development
Database infrastructure and architectures
Performance monitoring
Enterprise data model development
Contingency planning
14-45
Summary
Two roles for managing information
resources
Tools for security, integrity, rule
processing, stored procedures, and data
dictionary manipulation
Processes for data planning and DBMS
selection
Context for studying other Part 7 chapters
14-46