DB03 - Database Development and Administration
DB03 - Database Development and Administration
Chapter 3
Database Development and
Administration
Contents
• System & Information System
• Data Flow Diagrams
• Database Administrator (DBA)
• Data Administrator (DA)
System & Information System
Chapter 3 - Database Development and Administration
System & Information System
• System → combination of different related components that interact with
each other to perform some specific tasks
• For example
• human circulatory system consists of blood, blood vessels, and the heart
• It makes blood flow to various parts of the body
• The circulatory system interacts with other systems of the body to ensure that the right
quantity and composition of blood arrives in various body parts
• Information system → similar to a physical system
• except that an information system manipulates data rather than a physical object like
blood
• Accepts data, processes it, and produces results (output) for decision making
• Databases are essential components of many information systems
• Developing an information system also involves the development of databases
System Development Life Cycle
• Process of developing a system (i.e. information system)
• An organized way to develop a successful system
• Consists of different phases that are required to develop a system
• Each phase of the SDLC uses the results of the previous one
• Phases → planning, analysis, design, implementation, and maintenance
• Each phase is further divided into steps
• System Planning
• Preliminary plan (or a feasibility study) in which it is decided to
develop a new system or improve the current system or leave
the system as it is
• Purpose → to define problems in current system, alternative
solutions, scope of the system, and resources such as budget
and personnel to develop a new system or modify the current
system
System Development Life Cycle
• System Analysis
• Entire system is studied and defined in detail
• Requirements for the system are collected, the end user’s requirements are
determined and documented
• System analysis is a problem-solving technique that improves system and specifies
what system should do
• System analysis is used in every field where something is developed
• System Design
• “Architectural" phase
• Model of system is prepared
• System Model → logical representation of the system
• Requirements collected in analysis phase are translated into a logical representation
of system
• Actual physical system is developed with the help of logical design
• Needs a lot of time, effort, and budget to develop the system
System Development Life Cycle
• System Implementation
• Once system is developed, before it is released for general use, it is tested against
the requirements to verify whether it works or runs correctly or not
• If runs smoothly without any error → considered ready to be launched
• After successfully testing system, it is delivered to customer for use
• System is documented and the users are trained for the use of the new or the
upgraded system
• Then the system is installed for general use
• System Maintenance
• Begins after system implementation
• Process of
• improving the system’s performance
• upgrading the system to accommodate new requirements of the users
• to correct problems in the system
• Regular maintenance is essential for the betterment of the system
Database Development Process
• Database → fundamental component of any information system of an
organization
• Database design is a part of system development
• In an automated environment → information system includes resources
• Resources → database, DBMS software, computer hardware, storage media, the people
who use & manage database and application programs, etc.
• Database development → creative task
• Activities
• First → design of data contents & structure of database
• Second → design of database applications
• Closely related to each other
• For example: by analyzing database application, data items can be identified that will be
stored in database
Strategies for Developing Database & Database
Applications
• Development team should thoroughly understand structure and data of an
organization
• Development team creates a data model that identifies data to be stored in database
and defines its structures and relationships among them
• This understanding must be obtained early in development process
• by interviewing users
• preparing a statement of requirements
• Strategies or approaches for developing database and database applications
• Top-Down Development
• Bottom-Up Development
Strategies for Developing Database & Database
Applications
• Top-Down Development
• A system consists of components in form of hierarchy
• Top-down development → starts from highest-level component of hierarchy
and proceeds towards lower level
• Starts with general issues of system and moves to specific issues
• Gives an abstract data model of system or organization
• User moves to specific issues in detail using this model
• Identifies a particular database and related applications to be designed
• Bottom-Up Development
• Starts from lowest level component of hierarchy and proceeds towards a
higher level or top-level component
• Starts with specific issues and moves to general issue
Database Development Life Cycle (DDLC)
• Similar to a system development life cycle (SDLC)
• Process of developing a database system
• An organized way to develop a successful database
system
• Phases of DDLC are similar to SDLC
• Major phases → planning, requirements analysis, design,
DBMS selection, implementation, and maintenance
• Each phase is divided into steps
Database Development Life Cycle (DDLC)
Planning
• First phase of database development process
• Begins when a customer requests to develop a database project
• Set of tasks or activities, which decide the resources, costs, time limits, and the
risks, etc. required in database development
• Activities of planning phase
• Reviewing various project requests → scope and a brief description of project, estimated
budget, & available resources, etc.
• Prioritizing the project requirements or requests
• Allocating resources → money, people, tools, etc.
• The cost of each resource type is calculated
• The cost and time needed for each project requirement are also calculated
• Arranging or identifying development team to develop database project
• Training of selected team members is also decided
• Should include development of standards that govern
• how data will be collected
• how format should be specified
• what necessary documentation will be needed etc.
Database Development Life Cycle (DDLC)
Requirements Analysis
• Requirements and expectations of users are collected and analyzed
• Collected requirements help to understand database system
• Analyst → person responsible for requirements analysis
• Activities of requirements analysis
• Problem Understanding or Analysis
• Analyst has to understand problem for development of database system according to user's or customer's
requirements
• Clear understanding is needed for the following
• identifying data entities and their relationships in organization
• main centers where actions are taken on data entities and their purposes
• inputs & outputs
• Information is collected from clients and end-users, as well as by studying the existing manuals and procedures
• Requirements Specifications
• After understanding problem → requirements are specified in requirement specification documents
• Activities of Requirement analysis
• requirements gathering through interviews, on-site observations, surveys, and documentation, etc.
• analyzing requirements
• recording requirements in various documents like forms, reports, and diagrams
• Steps in Requirements Analysis Phase (Details are given in PM Series book)
• Developing a conceptual data model
• Developing a process model
• Data Flow Diagram
Database Development Life Cycle (DDLC)
Design
• Information models that are developed during analysis are used to design a conceptual schema for
database and to design database applications
• Conceptual schema design → data requirements collected in requirement analysis phase are
examined and a conceptual database schema is produced
• Conceptual database schema → main entities (i.e. objects to be noted in a system) and their
relationships are defined
• Database applications design → database applications analyzed in requirement analysis phase are
examined and specifications of these applications are produced
• Steps in Design Phase (Details are given in PM Series book)
• Database Design
• Actual database structure is constructed
• Database designer → A person who is responsible for designing database
• Steps of database design
• Logical database design
• Physical database design
• Process Design
• Analysis phase → Processes required to manipulate database and data flows between those processes are
specified
• Process design step → processes are designed
• Steps of process design
• Designing logic for each process
• Designing user-interface
Database Development Life Cycle (DDLC)
DBMS Selection
• An appropriate DBMS is selected to support information system
• Many factors are involved → technical and economical factors
• Technical Factors
• Concerned with suitability of DBMS for information system
• Type of DBMS such as relational, object-oriented, etc.
• Storage structure and access methods that DBMS supports
• Interfaces available for users and programmers
• Types of query languages
• Development tools etc.
• Financial Factors
• Concerned with cost of DBMS and to operate it (Details are given in PM Series book)
• Software cost → development and licensing cost of DBMS software (database language,
interface tools, and software development tools)
• Maintenance Cost
• Hardware Cost → computers, printers, scanners, UPS, specialized DBMS storage devices, etc.
• Database Creation and Conversion Cost
• Training Cost
Database Development Life Cycle (DDLC)
Implementation
• Database system is tested to verify whether it works correctly or not
• After design phase and selecting a suitable DBMS
• If works correctly without any error → implemented or installed for use
• Purpose → to install database system according to plan and design as described in
previous phases
• Requirements in implementation of a database system
• Hardware
• Software
• Facilities and material (workspace, air-conditioning, classrooms for the training of staff, etc.)
• Staff
• Installation and configuration of systems and software etc.
• DBA normally requires a server computer(s) along with storage arrangements
• storage arrangements → Storage Area Network (SAN) or Network-Attached Storage (NAS), etc.
• DBA may also need services of network administrators to create and manage users
with servers
• Users can interact with database servers by following their defined privileges
Database Development Life Cycle (DDLC)
Maintenance
• Once implemented → maintenance phase begins
• Process of monitoring and maintaining & upgrading database system
• Monitoring → performance of database system is carefully observed
• If poor performance → tuning or reorganization of database system may require
• Tuning or reorganization → performed to improve performance of database system
• Maintaining & upgrading → when new requirements arise, new database
development life cycle will be done
• Database system requirements change → becomes necessary to
• add new tables or remove existing tables
• to reorganize some files
• By changing primary access methods
• By dropping old indexes and constructing new ones
• Some queries may be rewritten for better performance
• Database tuning or reorganization continues throughout the life of database
system, while the requirements keep changing
Data Flow Diagrams
Chapter 3 - Database Development and Administration
Data Flow Diagrams
• Late 1970s → DFD introduced
• DFD → graphical representation of flow of data through a process or system (i.e.
information system)
• Shows how data enters and leaves system, how data is used, and where data is
stored
• Does not mention anything about how data flows through system
• Purpose → to review flow of data through an information system
• Used as a communications tool between a system analyst and any person who
works in the information system
• Common tool for designing database systems
Difference between DFD and Flowchart
• DFD is not a flowchart
• DFD
• Represents flow of data in a system at various levels
• No control flow, no decision points or rules and no loops
• Flowchart
• Represents flow of control in a program or represents a sequence of steps to solve a problem
Applications of DFD
• System Analysis
• Helps to understand how data enters and leaves the system, how data is used, and
where data is stored
• Creating a Business Model
• Used to provide a clear representation of any business function
• Technique starts with an overall picture of business (known as context diagram) and
continues by analyzing each of the functional areas of interest
• Result is a series of diagrams that represent business activities
• Business model consists of one or more data flow diagrams → business process
diagrams
• Decision Making
• Help for making better decisions by providing an overall visual representation of system
• Database Designing
• Help in database designing
• DFD is drawn before database designing
• Provides conceptual and physical structure of database that can later be used
Symbols of DFD
• Data Flow
• Shows path (or route) for data to move from one part of the system to another
• Process
• Represent any action or task that is performed by system on input data
• Transforms input data into output
• External Entity
• External Entity → An object that communicates (interacts) with system , Terminator
• Represents where certain data comes or goes
Symbols of DFD
• Data Store
• Place where data is sored in a system → repository for storage of data
• Can be an input or output of a process as well
• Collector
• Used where multiple data flows are combined into a single data flow
• shows collector symbol which combines three data flows into a single data flow
• Separator
• Used where single data flow is separated into multiple data flows
• shows separator symbol which separates a single data flow into three data flows
Examples of DFD
Levels of DFD
• Level 0 DFD
• Context diagram
• Top-level DFD
• Provides a basic overview of whole system being analyzed or modeled
• Contains only a single process (bubble) that represents whole system and
different external entities that interact with the system
Levels of DFD
• Level 1 DFD
• Provides a more detailed view of system than
Level 0 DFD or context diagram
• Context diagram is decomposed into multiple
processes (or bubbles)
• Single process of context diagram is broken
down into multiple subprocesses
Levels of DFD
• Level 2 DFD
• Provides a more detailed view of system than Level 1 DFD
• Complicated processes that appear in Level 1 DFD are further divided into
subprocesses
• Offers a more detailed look at the processes that make up an information
system
• Can be used to plan or record the specific makeup of a system
DFD
+Simple and hides complexities of system
+Easier to understand by technical and non-technical persons
+Provide a detailed representation of system components
+Gives a functional overview of the system
+Helps in describing system scope and its boundaries
+Helpful for communicating existing system knowledge to the users
- Takes a long time to create
- Does not provide a complete picture of system and leaves some physical
entities
- Only shows flow of data through a system and does not provide decision
points (or decision-making actions)
Database Administrator (DBA)
Chapter 3 - Database Development and Administration
Database Administrator (DBA)
• Primary resource → database itself
• Secondary resource → DBMS and related software
• Responsibilities of DBA
• Administering these resources and overall security of database system
• Responsible for implementing, coordinating, and monitoring the database system
• An IT professional
• Must be technically competent, having excellent communication and management
skills
• Management skills → plan, coordinate and to supervise the staff
• Technical skills → because DBA has to implement the database system, must be an expert to
install and operate complex hardware and to handle hardware problems
• Must have knowledge of general-purpose programming languages, database
languages and to handle complex software
• Central authority for managing a database system
• Responsible for creating user accounts and authorizing access to them
• DBA has an account in DBMS → system or super-user account
Functions of DBA
• Preliminary Database Planning
• Identifying Users Requirements
• Developing and Maintaining Data Dictionary
• Designing the Logical Model
• Selecting a DBMS
• Developing the Physical Model
• Creating and Loading Database
• Developing User Views
• Training the Users
• Monitoring Performance
• Tuning and Reorganizing
• Keeping Database System Up-to-Date
• Creating and Maintaining User Accounts
• Maintaining Database Security
• Backup and Recovery of Data (Details are given in PM Series book)
Data Administrator (DA)
Chapter 3 - Database Development and Administration
Data Administrator (DA)
• Some big organizations also hire Data Administrator (DA)
• A person who is responsible for entire data resources of an organization
• Develops functional requirements for database being used in organization
• Main job
• to decide what data should be stored in database
• to establish policies for maintaining data, once it has been stored
• A manager of the organization and not an IT professional
• Serves as a bridge between users and database administrator
• Major duties
• Participates in developing logical design for each database
• Establishes data standards
• Supervises data distribution within organization and communicates with users when
necessary
• Participates in developing data dictionary and prepares documentation
• Conducts user training when needed
For more details, refers to
PM Series
Database Management
by
CM Aslam & Aqsa Aslam