322 Chapter 10 Practical Database Design Methodology and Use of UML Diagrams
Phase 2b: Transaction Design. The purpose of Phase 2b, which proceeds in
parallel with Phase 2a, is to design the characteristics of known database transac-
tions (applications) in a DBMS-independent way. When a database system is being
designed, the designers are aware of many known applications (or transactions)
that will run on the database once it is implemented. An important part of database
design is to specify the functional characteristics of these transactions early on in
the design process. This ensures that the database schema will include all the infor-
mation required by these transactions. In addition, knowing the relative importance
of the various transactions and the expected rates of their invocation plays a crucial
part during the physical database design (Phase 5). Usually, not all of the database
transactions are known at design time; after the database system is implemented,
new transactions are continuously identified and implemented. However, the most
important transactions are often known in advance of system implementation and
should be specified at an early stage. The informal 80–20 rule typically applies in this
context: 80 percent of the workload is represented by 20 percent of the most fre-
quently used transactions, which govern the physical database design. In applica-
tions that are of the ad hoc querying or batch processing variety, queries and
applications that process a substantial amount of data must be identified.
A common technique for specifying transactions at a conceptual level is to identify
their input/output and functional behavior. By specifying the input and output
parameters (arguments) and the internal functional flow of control, designers can
specify a transaction in a conceptual and system-independent way. Transactions
usually can be grouped into three categories: (1) retrieval transactions, which are
used to retrieve data for display on a screen or for printing of a report; (2) update
transactions, which are used to enter new data or to modify existing data in the
database; and (3) mixed transactions, which are used for more complex applica-
tions that do some retrieval and some update. For example, consider an airline
reservations database. A retrieval transaction could first list all morning flights on
a given date between two cities. An update transaction could be to book a seat on a
particular flight. A mixed transaction may first display some data, such as showing a
customer reservation on some flight, and then update the database, such as cancel-
ing the reservation by deleting it, or by adding a flight segment to an existing reser-
vation. Transactions (applications) may originate in a front-end tool such as
PowerBuilder (Sybase), which collect parameters online and then send a transaction
to the DBMS as a backend.
3
Several techniques for requirements specification include notation for specifying
processes, which in this context are more complex operations that can consist of
several transactions. Process modeling tools like BPwin as well as workflow model-
ing tools are becoming popular to identify information flows in organizations. The
UML language, which provides for data modeling via class and object diagrams, has
a variety of process modeling diagrams including state transition diagrams, activity
diagrams, sequence diagrams, and collaboration diagrams. All of these refer to
3
This philosophy has been followed for over 20 years in popular products like CICS, which serves as a
tool to generate transactions for legacy DBMSs like IMS.