Chapter 9
Decisions in Business Areas
The Strategic
Management of
Information
Technology
Transaction Processing
System
Input Output Process
Information
Communication
Systems Development
Software Design
Database Types
? Hierarchical
? Network
? Relational
Hierarchical Tree Diagram
Node
Parent Parent
Child
Node
Child
Node
Architecture Program Database Indexing Locking
Files Files Performed Performed
Local File File Workstation File
Server Server Server
Client File Database Database Database
Server Server Server Server Server
1,Which of the methods yields,better” results?
2,Which of the methods is,easier” to use?
3,Which of the methods is preferred by the participant?
Normalized Record Type
Three Hypotheses
? H1,Performance/Quality - In pursuing simple
design tasks the quality of the results would be
better with normalization,whereas in complex
design tasks the quality would be better with IA,
? H2,Time - Normalization would require less time
to perform than IA,irrespective of the complexity
of the task involved,
? H3,Preference - Designers would prefer the
normalization method over the IA method,
Database
? Definition
– A collection of information on a well-
defined subject that is exhaustive,
nonredundant,and structured,
? Exhaustive,database contains all data about
the subject,
? Nonredundancy,no data element is stored
twice to insure consistency,
? Structuring the data,storing data to make
processing efficient,
Key Project Steps
? Preliminary Functional Specification
– What is the current situation?
– What should be obtained?
? functions
? printouts,results of queries
? data to be stored for future reference
? improvements
– Who should benefit from the new application?
– How much can the organization afford to pay?
– When are the results required/what schedule is considered?
? What will be the new information flow?
? What will the user activities be?
? What volumes of transactions are considered?
Key Project Steps
? Detailed Functional Specification
– Screen Dialog
– Screen and printout contents
– Data dictionary
– Logical groups or files
– Data integrity and consistency constraints
– Processing constraints
– Lists and cross-references
– Test data
– Illustrations of data and logic
– To check that the specifications described actually work
– To provide user acceptance criteria for the future software
– To provide complete training cases for future end users
Specify DBMS Characteristics
? Hardware and operating systems that support it
? Number of simultaneous users
? File volumes and maximum number of records
? Throughput and memory space for backup and recovery capabilities
? Availability and quality of data dictionary
? Ease of use for programming and evaluation
? Program-to-data interdependence
? Utilities,including screen forms management,query language,sorting,
restructuring,interfaces to other packages
? High-level language interfaces
? Security,including passwords,Read,Write,Append
? Vendor support
Database Views
? Views-defines a single-file or multi-file
access to a database,implying a search
operation
– selection,retrieval operation
– deletion,retrieve records to be retrieved
– modification,alter values of a field in all
records it has first retrieved
– insertion,perform a retrieval operation
before it adds new records it has retrieved
Level Views
? Single Level View
– Selection that retains a subset of the tuples
– Virtual attributes (calculated,not stored)
– Projection that retains subset of attributes
? Multi Level View
– Hierarchy of linked tuples
– Derived from relations
Database Schemas
? Data Fields and Data Groups
? Data Dictionary Existence Constraints
– Field-level
– File-level
– Subdatabase-level
– Integrity
– Consistency
– Cardinality
– Syntax
Database Schemas
? Conceptual
? Physical
? External
? Relation
– Static,dynamic
? 1:1 relationship between a key and its attributes
for a static group
? 1:many and additional calculations for a
dynamic group
– Absence of Key
? Event (of history) files
Internal Structure of Relationship,
Notation
? Vertical,set of groups of data,each group is defined
by a unique value of a key
– a relation is a set of data; each group is defined
by a unique value of a key
– number of elements is its cardinal
– example,customer file,each group is a record
? Horizontal,set of fields; some are the key; others
make up attributes of the key
– a relation is a set of fields; some fields,
considered together,make up the key; other are
attributes of the key
– number of attributes is the dimension
Notations
? Field,Physical space that contains a
data element
? Attribute,Former key,or former
attribute of a former key
? Tuple,What was previously called a
group
Rules of Fourth Normal Form
1,One key value determines one tuple with all its attributes,
2,The existence of the relation implies a functional dependence between each key
and its attributes,
3,The relation is represented as a flat table,where each tuple is a row and each
type of attribute occupies a given column; there is only one element per row,
4,All tuples have the same contents; the same attributes in the same order,
5,Each key and each tuple is unique; the relation is a set,
6,When a key is made of several attributes,a given nonkey attribute is determined
by the entire key,
7,An attribute is determined by no other attribute but the key,
8,In a given tuple,all attributes have a value,
9,A relation comprises at least one key attribute and one other attribute,
10.When the key of a relation comprises several attributes,these attributes are
mutually independent,
Dynamic Model of Data
? Operations on Data
– Data Structuring
– Selecting
– Updating
– Linking
– Evaluating
Detailed Functional Specification
? Scenarios
? Data dictionary
? Existence constraints
? Screen forms and report layouts
? Test data
? Lists and cross-references
? Dynamic and external schemas
Database Design Phase
? Complete the data dictionary
? Document the transactions
? Document the file accesses and relationships
? Decide when to use the area or clustering concept
? Calculate the DBMS load
? Calculate the response time at peak usage hour
? Iterate as required,changing the database structure
Decisions in Business Areas
The Strategic
Management of
Information
Technology
Transaction Processing
System
Input Output Process
Information
Communication
Systems Development
Software Design
Database Types
? Hierarchical
? Network
? Relational
Hierarchical Tree Diagram
Node
Parent Parent
Child
Node
Child
Node
Architecture Program Database Indexing Locking
Files Files Performed Performed
Local File File Workstation File
Server Server Server
Client File Database Database Database
Server Server Server Server Server
1,Which of the methods yields,better” results?
2,Which of the methods is,easier” to use?
3,Which of the methods is preferred by the participant?
Normalized Record Type
Three Hypotheses
? H1,Performance/Quality - In pursuing simple
design tasks the quality of the results would be
better with normalization,whereas in complex
design tasks the quality would be better with IA,
? H2,Time - Normalization would require less time
to perform than IA,irrespective of the complexity
of the task involved,
? H3,Preference - Designers would prefer the
normalization method over the IA method,
Database
? Definition
– A collection of information on a well-
defined subject that is exhaustive,
nonredundant,and structured,
? Exhaustive,database contains all data about
the subject,
? Nonredundancy,no data element is stored
twice to insure consistency,
? Structuring the data,storing data to make
processing efficient,
Key Project Steps
? Preliminary Functional Specification
– What is the current situation?
– What should be obtained?
? functions
? printouts,results of queries
? data to be stored for future reference
? improvements
– Who should benefit from the new application?
– How much can the organization afford to pay?
– When are the results required/what schedule is considered?
? What will be the new information flow?
? What will the user activities be?
? What volumes of transactions are considered?
Key Project Steps
? Detailed Functional Specification
– Screen Dialog
– Screen and printout contents
– Data dictionary
– Logical groups or files
– Data integrity and consistency constraints
– Processing constraints
– Lists and cross-references
– Test data
– Illustrations of data and logic
– To check that the specifications described actually work
– To provide user acceptance criteria for the future software
– To provide complete training cases for future end users
Specify DBMS Characteristics
? Hardware and operating systems that support it
? Number of simultaneous users
? File volumes and maximum number of records
? Throughput and memory space for backup and recovery capabilities
? Availability and quality of data dictionary
? Ease of use for programming and evaluation
? Program-to-data interdependence
? Utilities,including screen forms management,query language,sorting,
restructuring,interfaces to other packages
? High-level language interfaces
? Security,including passwords,Read,Write,Append
? Vendor support
Database Views
? Views-defines a single-file or multi-file
access to a database,implying a search
operation
– selection,retrieval operation
– deletion,retrieve records to be retrieved
– modification,alter values of a field in all
records it has first retrieved
– insertion,perform a retrieval operation
before it adds new records it has retrieved
Level Views
? Single Level View
– Selection that retains a subset of the tuples
– Virtual attributes (calculated,not stored)
– Projection that retains subset of attributes
? Multi Level View
– Hierarchy of linked tuples
– Derived from relations
Database Schemas
? Data Fields and Data Groups
? Data Dictionary Existence Constraints
– Field-level
– File-level
– Subdatabase-level
– Integrity
– Consistency
– Cardinality
– Syntax
Database Schemas
? Conceptual
? Physical
? External
? Relation
– Static,dynamic
? 1:1 relationship between a key and its attributes
for a static group
? 1:many and additional calculations for a
dynamic group
– Absence of Key
? Event (of history) files
Internal Structure of Relationship,
Notation
? Vertical,set of groups of data,each group is defined
by a unique value of a key
– a relation is a set of data; each group is defined
by a unique value of a key
– number of elements is its cardinal
– example,customer file,each group is a record
? Horizontal,set of fields; some are the key; others
make up attributes of the key
– a relation is a set of fields; some fields,
considered together,make up the key; other are
attributes of the key
– number of attributes is the dimension
Notations
? Field,Physical space that contains a
data element
? Attribute,Former key,or former
attribute of a former key
? Tuple,What was previously called a
group
Rules of Fourth Normal Form
1,One key value determines one tuple with all its attributes,
2,The existence of the relation implies a functional dependence between each key
and its attributes,
3,The relation is represented as a flat table,where each tuple is a row and each
type of attribute occupies a given column; there is only one element per row,
4,All tuples have the same contents; the same attributes in the same order,
5,Each key and each tuple is unique; the relation is a set,
6,When a key is made of several attributes,a given nonkey attribute is determined
by the entire key,
7,An attribute is determined by no other attribute but the key,
8,In a given tuple,all attributes have a value,
9,A relation comprises at least one key attribute and one other attribute,
10.When the key of a relation comprises several attributes,these attributes are
mutually independent,
Dynamic Model of Data
? Operations on Data
– Data Structuring
– Selecting
– Updating
– Linking
– Evaluating
Detailed Functional Specification
? Scenarios
? Data dictionary
? Existence constraints
? Screen forms and report layouts
? Test data
? Lists and cross-references
? Dynamic and external schemas
Database Design Phase
? Complete the data dictionary
? Document the transactions
? Document the file accesses and relationships
? Decide when to use the area or clustering concept
? Calculate the DBMS load
? Calculate the response time at peak usage hour
? Iterate as required,changing the database structure