Practical Database Design Methodology and Use of UML
Diagrams
The Information System Life Cycle phases
1. Feasibility analysis: This phase is concerned with analyzing potential application areas, identifying
the economics of information gathering and dissemination, performing preliminary cost-benefit
studies, determining the complexity of data and processes, and setting up priorities among
applications.
2.Requirements collection and analysis: Detailed requirements are collected by interacting with
potential users and user groups to identify their particular problems and needs. Interapplication
dependencies, communication, and reporting procedures are identified.
3.Design. This phase has two aspects: the design of the database system and the design of the
application systems (programs) that use and process the database through retrievals and updates.
4.Implementation. The information system is implemented, the database is loaded, and the database
transactions are implemented and tested.
5.Validation and acceptance testing. The acceptability of the system in meeting users’ requirements
and performance criteria is validated. The system is tested against performance criteria and
behavior specifications.
6.Deployment, operation, and maintenance. This may be preceded by conversion of users from an
older system as well as by user training. The operational phase starts when all system functions are
operational and have been validated. As new requirements or applications crop up, they pass
through the previous phases until they are validated and incorporated into the system. Monitoring
of system performance and system maintenance are important activities during the operational
phase.
Implementation process
1. Requirements collection and analysis
2. Conceptual database design ::The goal of this phase is to produce a conceptual schema for the
database that is independent of a specific DBMS.We often use a high-level data model such as the ER
or EER model during this phase.
3. Choice of a DBMS:
4. Data model mapping (also called logical database design) :During this phase, which is also called
logical database design, we map (or transform) the conceptual schema from the high-level data
model used in Phase 2 into the data model of the chosen DBMS. We can start this phase after
choosing a specific type of DBMS—for example, if we decide to use some relational DBMS but have
not yet decided on which particular one.
5. Physical database design:During this phase, we design the specifications for the stored database in
terms of physical file storage structures, record placement, and indexes.
6. Database system implementation and tuning:During this phase, the database and application
programs are implemented, tested, and eventually deployed for service. Various transactions and
applications are tested individually and then in conjunction with each other. This typically reveals
opportunities for physical design changes, data indexing, reorganization, and different placement of
data—an activity referred to as database tuning.
After the logical and physical designs are completed, we can implement the database system. This is
typically the responsibility of the DBA and is carried out in conjunction with the database designers.
Language statements in the DDL, including the SDL (storage definition language) of the selected
DBMS, are compiled and used to create the database schemas and (empty) database files. The
database can then be loaded (populated) with the data. If data is to be converted from an earlier
computerized system, conversion routines may be needed to reformat the data for loading into the
new database.
1. Response time. This is the elapsed time between submitting a database transaction for execution
and receiving a response. A major influence on response time that is under the control of the DBMS
is the database access time for data items referenced by the transaction. Response time is also
influenced by factors not under DBMS control, such as system load, operating system scheduling, or
communication delays.
2. Space utilization. This is the amount of storage space used by the database files and their access
path structures on disk, including indexes and other access paths.
3. Transaction throughput. This is the average number of transactions that can be processed per
minute; it is a critical parameter of transaction systems such as those used for airline reservations or
banking. Transaction throughput must be measured under peak conditions on the system.
1. System-independent mapping. In this stage, the mapping does not consider any specific
characteristics or special cases that apply to the particular DBMS implementation of the data model.
2. Tailoring the schemas to a specific DBMS. Different DBMSs implement a data model by using
specific modeling features and constraints. We may have to adjust the schemas obtained in step 1 to
conform to the specific implementation features of a data model as used in the selected DBMS.
Conceptual Schema Design. The conceptual schema produced by this phase is usually contained in a
DBMS-independent high-level data model for the following reasons: 1. The goal of conceptual schema
design is a complete understanding of the database structure, meaning (semantics),
interrelationships, and constraints
Transaction Design. The purpose of Phase 2b, which proceeds in parallel with Phase 2a, is to design
the characteristics of known database transactions (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.
Different Types of Diagrams in UML
Structural Diagrams. These describe the structural or static relationships among schema objects,
data objects, and software components. They include class diagrams, object diagrams, component
diagrams, and deployment diagrams.
Class Diagrams.
Object Diagrams
Component Diagrams.
Deployment Diagrams.
Use Case Diagrams
Sequence Diagrams
Collaboration Diagrams
Statechart Diagrams
Activity Diagrams.
Behavioral Diagrams. Their purpose is to describe the behavioral or dynamic relationships among
components. They include use case diagrams, sequence diagrams, collaboration diagrams, statechart
diagrams, and activity diagrams.