You are on page 1of 147

ITech Computer Training Institute

MODULE TITLE: Applying Quality Control


Overview of quality control
Quality Control is the overall system of operational techniques and activities that are used to fulfill requirements
for quality. The QC activities are used to produce and document the quality of the end product.
QC is similar to, but not identical with, quality assurance (QA).
Quality Assurance is a system of management activities involving planning, implementation, assessment, and
reporting to make sure that the type and quality of end product meet the needs of the user.
LO1. Confirming quality standards
Document quality standard procedure for hardware and network services
Standard Operating Procedures are written documents that describe the routine procedures to be followed for a
specific operation, analysis, or action.
Consistent use of an approved Standard Operating Procedure ensures conformance with:
. organizational practices, . improved data comparability,
. reduced work effort, . credibility,
. reduction in error occurrences, . Defensibility
Disseminate quality documents
Standard operating procedure is a written procedure prescribed for repetitive use as a practice, in accordance with
agreed upon specifications aimed at obtaining a desired outcome.
Developing a Standard operating procedure is about systemizing all of your processes and documenting them.
The importance of quality control system:
• To help trainees or training results reach a distinct level and reduce the fault probability.
• To ensure that the training institutes gain good reputation and achieve high performance level.
• To ensure the continuity of training evaluation in order to develop the system.
• To enhance work system at the establishment in order to continue improving the training output.
Introduce standard procedure
Procedures are system of sequential steps or techniques that describe in detail how a particular task or job is to be done.
Standard operation procedure is a procedure specific to your operation that describes the activities necessary to
complete tasks in accordance.
SOPs are detailed written instructions to achieve uniformity of the performance of a specific function.
LO2. Assess quality of service delivered
Check service delivery
Service delivery is getting services as effectively and quickly as possible to the intended recipient.
. It is a transport service organised by a supplier or a shop to take goods to customers
Check against specifications
Specification is detailed information about what or who is needed or about a product to be supplied
Specifications are that portion of Documents consisting of the written requirements for materials, equipment,
systems, or performance of related services.
Visual inspection of final output
Visual inspection is a common method of quality control, data acquisition, and data analysis.
Visual Inspection, used in maintenance of facilities, mean inspection of equipment and structures using human
senses such as vision, hearing, touch and smell or any non-specialized inspection equipment.

Education for Better Life!!!! Page 1


ITech Computer Training Institute

Evaluating Service Delivery


Standard specifications
Standard specification is a Precisely defined specification, established through a standardization process and meant
to be used for all purchases of a particular item.
Procedures
A procedure is step-by-step sequence of activities, work instruction or course of action (with definite start and end
points) that must be followed in the same order to correctly perform a task. Repetitive procedures are called routines.
. A procedure is a section of a program that performs a specific task.
. An ordered set of tasks for performing some action.
A procedure is a series of steps, taken together, to achieve a desired result. It is a particular way of accomplishing
something as in a repetitive approach or cycle to accomplish an end result
Materials
Material is the matter from which something can be made. Material can include but is not limited to raw and
processed material, components or parts.
Identify causes of any faults
Fault is a Defect that may or may not cause a failure of component or system.
A great skill to have is the ability to solve problems effectively.

LO3: Record Information


This learning outcome is developed to provide you the necessary information regarding the following content
coverage and topics:
• Quality performance in workplaces
• Work quality according to the company requirements
Recording basic information on the quality performance
Basic information on the quality performance is recorded in accordance with workplace procedures, where as
Record of work quality is maintained according to the requirements of the company.
Quality Performance
Performance is the results of activities of an organization or investment over a given period of time.
It is the accomplishment of a given task (fulfillment of an obligation) measured against preset known standards of:
- accuracy,
- completeness,
- cost,
- Speed.
Quality Performance is a numerical measurement of the performance of an organization, division, or process.
Quality of performance can be assessed through measurements of physical products, statistical sampling of
the output of processes, or through surveys of purchasers of goods or services.
Six-Factor Model of Personality in the Workplace
The following are the six-factor model with job performance and other job-related activities:
o Motivation o Absences
o Deviation o job satisfaction
o Departure in the workplace o Teamwork

Education for Better Life!!!! Page 2


. Motivation in the Workplace
Motivation is the driving force by which humans achieve their goals.
. Job Satisfaction
Job satisfaction is a pleasurable emotional state resulting from the consideration of one’s job; an affective reaction to
one’s job; and an attitude towards one’s job.
. Departure in the Workplace
Workplace deviance occurs when an employee voluntarily pursues a course of action that pressures the well-being
of the individual or the organization.
. Absences
Job absence is a part of job performance: employees are not performing effectively if they do not come to work.
Carefulness is the most predictive/indicator of job performance.
. Teamwork
In the workplace, the ability to be a team player is valued and is critical to job performance.
Use 5S to Increase Performance in the Workplace
5S is the name of a workplace organization methodology that describes how to organize a workspace for efficiency
and effectiveness.
- Seiri (Sorting) - identifying.
- seiton (Straightening or setting in order / stabilize) - storing the items used
- seiso (Sweeping or shining or cleanliness / systematic cleaning)
- Seiketsu (Standardizing) - maintaining the area and items.
- Shitsuke (Sustaining the discipline or self-discipline).
5S provides the foundation for improving performance through continuous improvement.
It focuses on:
Increasing quality by removing waste from the workplace.
Provide reduction in operating costs by reducing non-value added activities.
Improving delivery by simplifying processes and removing obstacles
Improving safety through improved housekeeping and identification of hazards
Provide an environment where continuous improvement is embraced through workers problem solving and
suggestions, thereby improving morale.
Work is best if the implementation of the program is based on the 5S Performance Improvement Formula:
P=Q+C+D+S+M
Where;
. P - Increase productivity.
. Q - Improve product quality.
. C - Reduce manufacturing costs.
. D - Ensure on-time delivery.
. S - Provide a safety working environment
. M - Increase worker morale.

Maintaining records of work quality


It is used basically for maintaining records of work quality procedures by finding out the cause and using the
following concepts. These are:
. Increase productivity
. Improve product quality
. Reduce manufacturing costs
. Ensure on-time delivery
. Provide a safety working environment Increase worker morale.
3
LO4: Study Cause of Quality Deviations
What is a Deviation?
A Deviation is a departure/difference from standard procedures or specifications resulting in non-conforming
material or processes or where there have been unusual or unexplained events which have the potential to impact on
product quality, system integrity or personal safety.
Types of Deviations:
The following are some examples of deviations raised from different functional areas of business:
1. Production Deviation - usually raised during the manufacture of a batch production.
2. Quality Improvement Deviation - may be raised if a potential weakness has been identified.
3. Audit Deviation - raised to flag non-conformance identified during internal, external, supplier or corporate audits.
4. Customer Service Deviation - rose to track implementation measures related to customer complaints.
5. Technical Deviation - can be raised for validation discrepancies. Example: changes in Manufacturing
Instruction.
6. Material Complaint - rose to document any issues with regards to non-conforming, superseded/outdated or
obsolete raw materials/components, packaging or imported finished goods.
7. System Routing Deviation - raised to track changes made to Bill of materials as a result of an Artwork change.
Investigate causes of deviation
When to Report Deviation:
A Deviation should be raised when there is a deviation from methods or controls specified in manufacturing
documents, material control documents, and standard operating procedure for products.
All batch production deviations (planned or unintended) covering all manufacturing facilities, equipments,
operations, distribution, procedures, systems and record keeping must be reported and investigated for corrective and
preventative action.
Different Levels of Deviation Risks:
For the ease of assessing risk, any deviation can be classified into one of the three levels based on the magnitude and
seriousness of a deviation.
Level 1: Critical Deviation
Deviation from Company Standards and/or current regulatory expectations that provide immediate and significant
risk to product quality, patient safety or data integrity or a combination/repetition of major deficiencies that indicate
a critical failure of systems
Level 2: Serious Deviation
Deviation from Company Standards and/or current regulatory expectations that provide a potentially significant risk
to product quality, patient safety or data integrity or could potentially result in significant observations from a
regulatory agency or a combination/repetition of "other" deficiencies that indicate a failure of system(s).
Level 3: Standard Deviation
Observations of a less serious or isolated nature that are not deemed Critical or Major, but require correction or
suggestions given on how to improve systems or procedures that may be compliant but would benefit from
improvement (e.g. incorrect data entry).
Recommending suitable preventive actions on workplace standards
How to Manage Reported Deviation:
The department Manager or delegate should initiate the deviation report by using a standard deviation form as soon
as a deviation is found.
Quality has to evaluate the deviation and assess the potential impact to the product quality, validation and regulatory
requirement.

4
LO5: Complete Documentation
Documentation describes handling, functionality and architecture of a technical product or a product under
development or use.
Documentation may include:
• Specifications of item or of components/materials
• Data sheets of item or of components/materials
• Manufacturing standards
• Quality management system requirements
• Information specified in laws or regulations
• Verification and validation . . . etc.

Record information on quality performance


Information on quality and other indicators of service performance must be recorded.
Record all services and process
All service processes and outcomes must be recorded
What is Production process?
The production process is concerned with transforming a range of inputs into those outputs that are required by the
market. The transforming resources include:
- Raw materials and components
- Machinery
- Computers, and
- People that carry out the transforming processes.
Any production process involves a series of links in a production chain. At each stage, value is added in the course of
production. Adding value involves making a product more desirable to a consumer.
Types of process
There are three main types of process:
. Job
. Batch
. Flow production.
Job (‘make complete’) production is the creation of single items by either one operative or a team of operative\'s.
- Cutting hair, and processing a customer’s order in a store are the best examples of job production in service
industries.
Batch production
The term batch refers to a specific group of components, which go through a production process together.
As one batch finishes, the next one starts.
Flow production
Flow production is a continuous process of parts and sub-assemblies passing on from one stage to another until
completion.

5
Assignment on Apply quality control

1. What is Quality?

2. What is a quality assurance?

3. List down the types of Deviations and the Levels of Deviation Risks.

4. List down the six-factor model with job performance and other job-related activities of personality in
workplaces.

5. List and Explain the Performance Improvement Formula

6. Explain workplace

7. Procedure.

8. List down the 5s’s.

9. What is the function of each 5S?

10. What are the main types of process?

6
MODULE TITLE: Using Basic Structured Query Language
NOMINAL DURATION: 150 hrs
LO1. Write an SQL Statement to retrieve and sort data
1.1 Introduction to SQL
1.1.1 What is SQL?
SQL (Structured Query Language) is a programming language designed for managing data in relational database
management systems (RDBMS).
. It is a standard (main query) language for relational DBMSs, like Microsoft Access, Microsoft SQL Server,
and Oracle, that used to communicate with a database.
SQL is used to perform basic data management tasks, such as the insertion, modification, and deletion of data from
the tables using the standard SQL commands such as "Select", "Insert", "Update", "Delete", "Create", and "Drop".
1.1.2 Categories of SQL Application
Microsoft SQL Server is a powerful and reliable data management system that delivers a rich set of features, data
protection, and light Web applications.
. Some common relational database management systems that use SQL are: Oracle, Sybase, Microsoft SQL
Server, MS- Access, etc.
. SQL Application is a database language that allow a user to:
- Define (create) the database, table structures, and controlling access to the data using DDL.
- Perform both simple and complex queries using DML.
1.2 Installing DBMS software
1.2.1 Introduction
A database management system is the software that enables users to define, create, and maintain the database and
also provides controlled access to this database.
- Some of the most common database applications are:
- Microsoft Access
- Microsoft SQL
- Oracle, and Informix
1.2.2 Hardware Requirements
A processor with high speed of data processing and memory of large size (RAM and Hard disk space) is required to
run the DBMS software.
Example: The Minimum hardware requirements for SQL Server 2008 installations include:
. Processor
- Pentium 600 MHz or higher is required
- 1 GHz or higher is recommended.
. Memory
- 512 MB is required
- 1 GB or more is recommended
- Express Edition requires 192 MB and recommended 512 MB or more.
. Disk space
- Database components: 280 MB
- Analysis services: 90 MB
- Reporting services: 120 MB
- Integration services: 120 MB
- Client components: 850 MB
7
1.2.3 Operating System Requirements
The supported operating system for DBMS software may depends on the type and version of the software.
Example: The Supported operating systems for SQL Server 2008 installations include:
- Windows 7
- Windows Server 2003 Service Pack 2
- Windows Server 2008
- Windows Server 2008 R2
- Windows Vista Service Pack 1
- Windows XP Service Pack 3
1.3 Install DBMS (SQL Server)
. To install SQL Server 2008 Express, you must have administrative rights on the computer.
. The different editions/version of SQL Server share several common software requirements such as Microsoft
Windows installer and Microsoft .Net Framework.
Example: Before installing SQL Server 2008 Express SP1, first you have to install Microsoft Windows installer 4.5 and
Microsoft .NET Framework version 3.5 SP1.
The SQL Server Installation Wizard provides a single feature tree to install all SQL Server components such as:
• Database Engine
• Analysis Services
• Reporting Services
• Integration Services
• Master Data Services
• Data Quality Services
• Management tools
• Connectivity components
You can install each component individually or select a combination of the components listed above.
A Step by Step guide to installing SQL Server 2008 simply and successfully:
- This will teach you the basics required for a typical (problem-free) installation of SQL Server 2008.
- Before you start the installation, you will need to install the .Net 3.5 Framework and windows installer 4.5.
STEP 1: Copy the installation files
First it is recommended that you copy the entire directory structure from the SQL Server 2008 installation disc to the
C: drive of the machine you are going to install it on.
This has three advantages:
• It makes the installation process much faster than running it from CD/DVD once it gets started.
• It allows you to easily add or remove components later, without having to hunt around for the CD/DVD.
• If your media is damaged and a file won’t copy, you get to find out now, rather than halfway through the installation.
Here’s what my system looks like after the copy:

8
STEP 2: Double click on the setup.exe file. After a few seconds a dialog box appears:

This will disappear from the screen and then the main installation page appears:

STEP 3: Click on the Installation hyperlink on the left hand side of the screen:

9
STEP 4 : Click on the "New Server stand-alone installation" link on the right side of the screen:

The following dialog appears on the screen whilst the install program prepares for installation:

After a minute or so (the timing will vary according to your system), the following screen appears:

STEP 5 (optional): If any checks have failed, click on the Show details button or "View detailed report link" to find
out the cause, correct it, and then click on the Re-run button to perform the checks again.
10
STEP 6: Product key
If all checks have passed, click on the OK button. After a few moments, the option to select the edition and to enter
the license key (or “product key”) will appear. Note that the product key box may already be populated, depending
on which edition you have. Don’t enter the product key we’ve shown here, it won’t work on your system!:

STEP 7: License Terms


Enter the product key into the box, or choose the free edition if you're evaluating SQL Server 2008, and click on the
Next button:
Click in the "I accept the license terms" check box, and then click on the Next button again.
STEP 8: click on the Install button:

The following screen will appear whilst Windows Installer prepares itself for the installation. This will take a short
while:

11
After 30 seconds or so the dialog appears again:

STEP 9: Setup Support Rules. If all is well, the following screen appears:

Click on the Next button again.

12
STEP 10: Feature Selection. Select the features you want to install.
At a minimum, the following are useful (I'd argue essential), but what you need will depend on your needs:

Click on the Next button.

13
STEP 11: Instance Configuration. After a short while the following screen appears:

For most installations, keep the default settings. Click on the Next button.
STEP 12: Disk Space Requirements
This screen just tells you if you have sufficient disk space on the drive you’re installing to, and what’s going to be
installed where.

Click on Next.

14
STEP 13: Server Configuration. This step allows you to set up the service accounts that will be used to run SQL
Server. If you have created Windows NT or Active Directory accounts for use with services, use these.
If not, then just to get the installation up and working, use the built-in Network Service account for all three services
listed (this account does not require a password).
This allows SQL Server to start up after installation. However, it can be easily changed later to another account
through the Services applet (Control Panel -> Administrator Tools -> Services):

In addition, remember to change the Startup Type to Automatic, for all three services. This automatically starts the
SQL Server database engine, SQL Agent and SQL Browser services when the server is re-booted.
The first service runs the SQL Server database engines executable process. The other two services allow scheduled
jobs to run after installation (and after a re-boot), and allow the SQL Server to be found by clients on the network.
Finally, click on Next.
STEP 14: Database Engine Configuration – Account Provision.
This screen allows you to set up database engine security.

15
Change the Authentication Mode to Mixed Mode unless you are certain you only need Windows-only
authentication.
• Many third party applications rely on SQL Server logins to operate correctly, so if you are setting up a
server for a third party application, rather than one developed in-house, enabling Mixed Mode
authentication is a good idea.
If you pick Mixed Mode security, you must also enter a password for the sysadmin account (sa).
Enter and confirm a secure password for the sa account and keep it somewhere safe.
Note that you MUST also provide a Windows NT account on the local machine as a SQL Server administrator. If
you do not want Windows system administrators to be able walk up to the box and login to SQL Server, create a
new, local, dummy Windows user and add this account instead. Otherwise, add in the local administrator account, or
your own Windows account on the domain in which the SQL Server will reside.

16
STEP 15: Database Engine Configuration – Data Directories. Click on the Data Directories tab.

Change the directories to specify which drives in your system will be used for the various types of database files.
Generally it’s advisable to put the User database directory and User log directory on separate physical drives for
performance, but it will depend on how Windows has been configured and how many disk drives you have
available.
If you are installing on a single drive laptop or desktop, then simply specify:
Data root
C:\Program Files\Microsoft SQL Server
directory
User database
C:\Data
directory
User log directory C:\Logs
Temp DB
C:\TempDB
directory
Temp Log
C:\TempDB
directory
Backup directory C:\Backups
Do not click on the FILESTREAM tab unless you know you need to change these options, as it is not generally
required for most installations, but can easily be changed by using sp_configure 'filestream_access_level', ''after
SQL Server has been installed.
Click on Next.

17
STEP 16: Error Usage Reporting
This screen simply asks if you want to send error information to Microsoft and can safely be skipped if you do not
want to share any information.

Click boxes if you want to help Microsoft help you. Click on Next again…
STEP 16: Installation Rules
This screen simply checks if there are any processes or other installations running which will stop the installation of
SQL Server 2008.

18
Click on Next again – you’re almost ready to install:
STEP 17: Ready to Install
This screen summarizes what you are about to install and gives you a last chance to cancel or change anything that’s
wrongly configured:

Check that what’s being installed is what you want and then click on Install when you’re sure you want to start the
installation process:
Installation Progress: SQL Server 2008 will now install. How long it takes depends on the speed of your machine.

19
…More Installation Progress

... and Finally


Finally, the installation will complete:

20
...and the following dialog box will appear:

Click on OK, the machine will NOT reboot.


The following will appear:

…followed by:

21
Click on the Next button again...

STEP 18: Installation Complete. The following screen appears:

22
It may be worth clicking on the installation log at the top of the screen to check everything’s gone as expected. Not
that this is MUCH smaller than the usual SQL Server installation log files of old.
Finally, click on the Close button. The following dialog will appear:

Click on OK – your server will NOT re-boot at this point.


The dialog box will disappear and you will be returned to the Installation Center:

23
Click on the Close button (the “x”) in the top right of the screen.
Finally, manually reboot your machine to complete the SQL Server 2008 installation.
Top Tips: How to check that SQL Server 2008 has installed correctly
Here are a short number of post-installation checks which are useful to perform after re-booting your new SQL
Server.
Check 1: Has the SQL Server Service Started?
Check SQL Server 2008 has started.

Check 2: Does Management Studio Work? Check Management Studio works by firing it up.

24
Click on NO when you see this dialog box:

Check 3: Can you run a basic query against the new SQL Server?
Check SQL Server works by running a simple query from Management Studio:

25
Enter the query shown below and hit F5 to run it:

Creating and Deleting Databases


. Creating a Database
- When you create a database you need to use the Master database.
1. To create a database using New Database wizard:
- Right-click on Databases, and then select New Database.
- In Database name field, enter a “database name”.
- To create the database by accepting all default values, click OK; otherwise, continue with the following
optional steps.
- To change the owner name, click (…) to select another owner.
2. To create a database using “create database statement”:
1. From the Standard bar, click “New Query”.
2. On the sql editor write “create database database_name”
3. Select the statement <create database database_name> and execute it to create.
Example:
USE master ;
GO
CREATE DATABASE Sales

26
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 5MB )
GO
. Deleting a database
You can delete database by executing the DROP DATABASE statement.
Example: DROP DATABASE <database name>
Exercises: 1. Create a database called library.
2. Delete the database that you have already created.
Creating, modifying and deleting Tables:
. Creating a table
- When you create a table you need to use the current database.
- SQL Server databases store all of your data in tables.
Syntax: CREATE TABLE table_name
(
<Column_Name 1> <data type> <field size> <constraints>,
<Column_Name 2> <data type> <field size> <constraints>,
. . .
<Column_Name n > <data type> <field size> <constraints>
);
. Modifying a table
- You can modify the table by adding a new column and deleting a column from the table.
- The type of information that you specify when you add a column is similar to the activity
that you perform when you create a table.
Syntax: - ALTER TABLE <table_name> ADD <column_name> <data type> <field size> <constraint>
- ALTER TABLE <table_name> DROP COLUMN <column_name>
. Deleting a Table
- Deleting a table removes that table definition and all data, as well as the permission
specification for that table.
- Before you delete a table, you should remove any dependencies between the table and
other objects.
Syntax: DROP TABLE table_name
. Generating Column Values
i. Identity Property
- You can use the Identity property to create columns (referred to as identity columns) that contains
system generated sequential values identifying each row inserted into a table.
Syntax: CREATE TABLE table
(
Column_name data type IDENTTY (seed, increment) NOT NULL
)
Example: Create table student
(
27
Student_id int identity (1,1) NOT NULL,
Student_name char (20)
)
Consider the following requirements for using the Identity property
. Only one identity column is allowed per table
. It must be used with integer data types.
. It cannot be updated
. It does not allow null values
Exercise
1. Create table whose name is employee with attributes like name, Id, sex, salary, Nationality and age.
2. Modify the employee table by adding a column named Qualification.
3. Modify the employee table by modifying a column named age.
4. Delete the table Employee.
1.4 Select statement
The Select statement is the most commonly used SQL command that allows you to retrieve records from one or
more tables in your database.
- The basic SELECT statement in sql has 3 clauses: SELECT, FROM and WHERE
- The SELECT clause specifies the table columns that are retrieved.
- The FROM clause specifies the table or tables from which columns and rows are returned.
- The WHERE clause specifies the condition restricting the query. You can restrict the number of rows by
using comparison operators, character strings, and logical operators as search conditions.
- The WHERE clause is optional; if missing, all table rows are accessed.
Syntax of SQL SELECT Statement:
SELECT <column_list> FROM <table_name_list>< [WHERE Clause]> < [search_condition]>
• Table-name_list includes one or more tables from which the information is retrieved.
• column_list includes one or more columns from which data is retrieved.
• The code within the brackets is optional.
Example: SELECT ID,Fname,Dname FROM STUDENT,DEPARTEMENT WHERE Sex='Female'AND Dnumber=‘cou005’
1.4.1 Literals and data types
Literals are letters, numbers, or symbols that are used as specific values in a result set (in output).
- Literals mean constants which are the values we write in a conventional form.
- You can include literals in the select list to make result sets more readable.
Syntax: SELECT column_name1 ‘string literal’, column_name2 ’string_literal’, … FROM table_name
Example: SELECT firstname, lastname,’Identification number:’, employeeid FROM employee
Output: Firstname lastname employeeid
Nancy David Identification number : 1
Andrew Fuller Identification number : 2
Data type is a constraint that specifies the type of data stored in a table field.
* Common examples of data type in MS-Access are:
- Auto-number, Text, Number, Date/Time, Currency, Yes/No, and so on.
* Common examples of data type in MS-SQL server are:
- Char, varchar, int, float, double, datetime, and so on.
1.4.2 Expressions

28
An Expression is a combination of symbols and operators that the SQL Server Database Engine evaluates to obtain
a single data value.
. Operands are values or variables, whereas operators are symbols that represent particular actions.
- Operators can be used to join two or more simple expressions into a complex expression.
. Every expression consists of at least one operand and can have one or more operators.
Example: - In the expression, SELECT ((5+5) * (5+5)), 5 is an operand, and +, * are operators.
- In database systems, you use expressions to specify which information you want to retrieve.
These types of expressions are called queries.
1.4.2.1 Comparison operators
A comparison (or relational) operator is a mathematical symbol or a keyword which is used to compare between
two values.
- Comparison operators are used in conditions that compare one expression with another. The result of a
comparison can be TRUE, FALSE, or UNKNOWN.
- SQL Comparison operator is used mainly with the SELECT statement to filter data based on specific conditions.
Comparison operator Description
= equal to
<>, != is not equal to
< less than
> greater than
>= greater than or equal to
<= less than or equal to
In "Equivalent to any member of" test, Equivalent to "= ANY".
Not In Equivalent to "! = ANY".
All Compares a value with every value in a list
[Not] between [Not] greater than or equal to x and less than or equal to y.
Is [not]null Tests for nulls
Note: The != operator is converted to <> in the parser stage.
1.4.2.2 Boolean operators
Boolean Operators are simple words (AND, OR, or NOT) used as conjunctions to combine or exclude keywords in a search.
. Boolean operators are used widely in programming and also in forming database queries.
. When you want retrieving data using a SELECT statement, you can use logical operators in the WHERE clause
to combine more than one condition.
Example: - SELECT first_name, last_name, subject FROM student_details
WHERE subject = 'Maths' OR subject = 'Science'
. The AND and OR operator combines two logical operands.
. The NOT operator inverts the result of a comparison expression or a logical expression.
1.4.2.3 Arithmetical operators
SQL mathematical operations are performed using mathematical operators (+, -, *, /, and % (Modulo)).
- When you need to perform calculations in SQL statement, you can use arithmetic expression.
- An arithmetic expression can contain column names, numeric numbers, and arithmetic operators.
Arithmetic operators are responsible for performing most calculations that use values such as:
- Literals/ Constants
- Variables
- Expressions
- Function

1.4.2.4 Mathematical functions


29
A function is a relation in which any value inputted in the relation yields exactly one output.
A mathematical function performs a mathematical operation on numeric expressions and returns the result of the
operation. Multiply function is basically used in SQL
Example: - SELECT round(salary), firstname FROM employee_info
- SELECT sum(salary),ID, firstname FROM employee_info

1.4.3 Assigning names to result columns


When the result of a SELECT statement is determined, you can specify your own names for the result table columns.
. The AS clause can be used to assign a different name, or alias, to the result set column. This can be done to
increase readability.
. This capability is particularly useful for a column that is derived from an expression or a function.
Example: - SELECT SALARY+BONUS+COMM AS TOTAL_SAL FROM EMPLOYEE;
- select ID 'identifier',fname 'first name',Lname as last_name from EMPLOYEE;
1.5.Updating tables
1.5.1. Inserting new rows
The INSERT command is used to add a single tuple to a relation.
- We must specify the relation (table) name and a list of values for the tuple.
- The values should be listed in the same order in which the corresponding attributes were specified in the
CREATE TABLE command.
Syntax: Insert into<TABLE_NAME>values('value1'<for_column 1>,
'value2'<for_column 2>,
'value3'<for_column 3>,
. . . ,'value n'<for_column n>);
The INSERT statement allows the user to specify explicit attribute names that correspond to the values provided in
the INSERT command. This is useful if a relation has many attributes.
Syntax: Insert into<TABLE_NAME>(column1,column2,column3)
values('value1'<for_column 1>,'value2'<for_column 2>'value 3'<for_column 3);
1.5.2. Updating values in rows
The UPDATE statement is used to change existing records in a table.
- Use a table reference to indicate which table needs to be updated.
Syntax: UPDATE table_name
SET <column1=’value1’>,<column2=’value2’>,...
[WHERE <search-condition>]

- The SET clause is used to assign new values to one or more columns.
- The search condition (WHERE clause) specifies which rows in the table are to be updated. If no search
condition is specified, all rows will be updated.
Example: UPDATE PROJECT
SET PLOCATION = 'Tana beles', DNUM = 5
WHERE PNUMBER=10;
Updating a primary key value may propagate to the foreign key values of records in other relations if such a
referential triggered action is specified in the referential integrity constraints.
How you update a table name without affecting stored values in the table?
sp_RENAME 'OldTable_name','Newtable_name'
1.5.3. Deleting rows in the table
30
The DELETE statement removes rows from a table.
Syntax: DELETE FROM <Table_Name> [WHERE <search-condition>];
The search condition specifies which rows in the table are to be deleted. If no search condition is specified, all rows
will be deleted (the table become empty, but not dropped).
Example: Delete all countries that begin with the letter 'D' from the COUNTRIES table:
Delete from countries where country LIKE 'D%';
1.5.4. Populating a Table with Rows from Another Table
You can place the result set of any query into a new table by using the SELECT INTO statement.
- You can use the SELECT INTO statement to create a table and to insert rows into the table in a single operation
- Use the SELECT INTO statement to populate new tables in a database with imported data from another table.
Syntax: SELECT <select_list> INTO <new_table-name>
FROM <sources_table_name>
WHERE <search_condition>
Example: select fname,lname,ID into special_Table from EMPLOYEE where Gender ='female';
Note: - The SELECT INTO statement selects data from one table and inserts it into a different table.
- The SELECT INTO statement is most often used to create backup copies of tables.
1.6.Combining table Expressions
With the help of set operators, the results of individual table expressions can be combined. This type of combination
is called UNION. SQL supports other set operators besides the UNION operator.
Here is the complete list:
• UNION
• UNION ALL
• INTERSECT
• INTERSECT ALL
• EXCEPT
• EXCEPT ALL
1.7.Combining tables with union
The UNION operator is used to combine the result-set of two or more SELECT statements.
- Each SELECT statement within the UNION must have the same number of columns and similar data types.
- Also, the columns in each SELECT statement must be in the same order.
Syntax: SELECT <column_name_list> FROM <table_name> UNION SELECT <column_name_list>
FROM <table_name>
Example: select fname,ID from EMPLOYEE union select dname,dnumber from DEPARTEMENT
Note: The UNION operator selects only distinct values by default. To allow duplicate values, use UNION ALL.
1.8.Rules for using UNION
The following rules must be applied to use the UNION operator:
. The SELECT clauses of all relevant table expressions must have the same number of expressions
. Each SELECT statement within the UNION must have similar data types. If this applies, the table
expressions are union compatible.
. An ORDER BY clause can be specified only after the last table expression. The sorting is performed on the
entire end result; after all intermediate results have been combined.

31
. The SELECT clauses should not contain DISTINCT because SQL automatically removes duplicate rows when
using UNION.
1.9.Combining with INTERSECT
INTERSECT returns all rows that are both in the result of query1 and in the result of query2. Duplicate rows are
eliminated unless ALL is specified.
If two table expressions are combined with the INTERSECT operator, the end result consists of those rows that appear
in the results of both table expressions.
Example: SELECT * FROM EMPLOYEE INTERSECT SELECT * FROM PROJECT;
- Just as with the UNION operator, duplicate rows are automatically removed from the result.
1.10. Combining with EXCEPT
EXCEPT returns all rows those are in the result of query1 but not in the result of query2. Again, duplicates are
eliminated unless ALL is specified.
If two table expressions are combined with the EXCEPT operator, the end result consists of only the rows that appear
in the result of the first table expression but do not appear in the result of the second.
Example: SELECT * FROM EMPLOYEE EXCEPT SELECT * FROM PROJECT;
Just as with the UNION operator, duplicate rows are automatically removed from the result.
1.11. Keeping duplicate rows
All previous examples made it clear that duplicate rows are automatically removed from the end result if one of the
set operators UNION, INTERSECT, or EXCEPT is used. Removing duplicate rows can be suppressed by using the ALL
version of these operators. We illustrate this with the UNION ALL operator.
If two table expressions are combined with the UNION ALL operator, the end result consists of the resulting rows
from both of the table expressions. The only difference between UNION and UNION ALL is that when you use UNION,
the duplicate rows are automatically removed, and when you use UNION ALL, they are kept.
1.12. Set operators and NULL values
SQL automatically removes duplicate rows from the result if the set operators UNION, INTERSECT, and EXCEPT are
specified. That is why the following (somewhat peculiar) SELECT statement produces only one row, even if both
individual table expressions have one row as their intermediate result:
SELECT PLAYERNO, LEAGUENO
FROM PLAYERS
WHERE PLAYERNO = 27
UNION
SELECT PLAYERNO, LEAGUENO
FROM PLAYERS
WHERE PLAYERNO = 27
1.13. Combining multiple set operators
We have already seen a few examples in which multiple set operators are used within a single SELECT statement.
Here is another example.
Get the numbers of each player who incurred at least one penalty and who is not a captain; add the
numbers of the players who live in Eltham.
SELECT PLAYERNO
FROM PENALTIES
EXCEPT
SELECT PLAYERNO
FROM TEAMS

32
UNION
SELECT PLAYERNO
FROM PLAYERS
WHERE TOWN = 'Eltham'
1.14. Set operator and Theory
We conclude this chapter with a rather theoretical discussion of set operators. We give a number of rules for
working with multiple different set operators within one SELECT statement. All the rules are based on general rules
(laws) that apply to mathematical operators and set theory. We define and explain each of these rules, and we use the
following symbols and definitions:
• The symbol Ti represents the result of a random table expression (i is 1, 2, or 3).
• For each Ti, it holds that the SELECT clauses are union compatible.
• The symbol TØ represents the empty result of a table expression.
• The symbol ∪ represents the UNION operator.
• The symbol ∩ represents the INTERSECT operator.
• The symbol – represents the EXCEPT operator.
• The symbol ∪A represents the UNION ALL operator.
• The symbol ∩A represents the INTERSECT ALL operator.
• The symbol –A represents the EXCEPT ALL operator.
• The symbol = means “is equal to.”
• The symbol ≠ means “is not always equal to.”
• The symbol θ represents a random set operator.
• The symbol Ø represents an empty result.

LO2. Write SQL statements that use functions


2.1 Introduction
In SQL Server, you can design your own functions to supplement and extend the system supplied (built-in)
functions. A user-defined function takes zero, or more, input parameters and returns either a scalar value or a table.
Input parameters can be any data type except timestamp, cursor, or table.
2.2 Select clause and Aggregation function
Introduction
The SQL SELECT statement queries data from tables in the database.
The statement begins with the SELECT keyword. The basic SELECT statement has 3 clauses:
• SELECT
• FROM
• WHERE
- The SELECT clause specifies the table columns that are retrieved.
- The FROM clause specifies the tables accessed.
- The WHERE clause specifies which table rows are used. The WHERE clause is optional; if missing, all table
rows are used.
An aggregation function is a function that performs a computation on a set of values rather than on a single value.
Example: finding the average or mean of a list of numbers is an aggregate function.
The aggregation functions are AVG, COUNT, MAX, MIN, SUM, STDEV, STDEVP, VAR, and VARP
The syntax of an aggregation function is illustrated as:
Aggregation-function ([ALL | DISTINCT] expression)
Example: SELECT SUM (Employee.salary) as Total_Salary FROM Employee WHERE Employee.Dnum =20
SELECT min(EMPLOYEE .salary )'min salary',MAX (EMPLOYEE .salary )'max salary' FROM EMPLOYEE
This aggregation computes the total salary for department 20.
33
Aggregate functions are functions that are used to get summary values.

2.3 Selecting ALL Columns (SELECT *)


Asterisk (*) is used to get all the columns of a particular table.
Example: the SQL select * from Employee will retrieve the entire copy of the employee table.
2.4 Expression in the select clause
Syntax: SELECT [ALL|DISTINCT]<select_list> FROM {<table_source >}
WHERE <search_condition>
<search_condition> uses expression:
- Comparison Operators =, <, >, >=, <=, and <>
- String comparisons LIKE and NOT LIKE
- Logical Operators: combination of conditions AND, OR
- Logical Operators: negations NOT
- Range of values BETWEEN and NOT BETWEEN
- List of values IN and NOT IN
- Unknown values IS NULL and IS NOT NULL.
2.5 Removing duplicate rows with DISTINCT when two rows are equal
To eliminate the duplicates from the result set, we use the key word DISTINCT.
Example: SELECT distinct Publisher FROM BOOk
2.6 Introduction to aggregation function
• The count function Returns the number of items in expression. The data type returned is of type int.
Syntax: COUNT ( [ALL | DISTINCT] <expression> | * )
Example: select COUNT(*), AVG(Employee.Salary) from dbo. Employee
- With the exception of the COUNT (*) function, all aggregate functions return a NULL if no rows satisfy the
WHERE clause. The COUNT (*) function returns a value of zero if no rows satisfy the WHERE clause.
• The MAX function Returns the maximum value from expression. Max ignores any NULL values.
Syntax: MAX ( [ALL | DISTINCT] <expression> )
Example: select MAX(Employee.Salary) from dbo. Employee
• The MIN function Returns the smallest value from expression. Min ignores any NULL values.
Syntax: MIN ( [ALL | DISTINCT] <expression> )
Example: select MIN(Employee.Salary) from dbo. Employee
• The SUM function Returns the total of all values in expression. Sum ignores any NULL values.
Syntax: SUM ( [ALL | DISTINCT] <expression> )
Example: select SUM(Employee.Salary) from dbo. Employee
• The AVERAGE function Returns the average of the values in expression. The expression must contain
numeric values. Null values are ignored.
syntax: AVG ([ ALL | DISTINCT ] <expression>)
Example: select ID, avg(Employee.Salary) from dbo. Employee

• The Variance and Standard Deviation function


- STDEV: Returns the standarddeviation of all values in expression. Stdev ignores any NULL
values. Syntax: STDEV( <expression> )
Example: select STDEV(Employee.Salary) from dbo. Employee

34
- STDEVP: Returns the standard deviation for the population of all values in expression. Stdevp
ignores any NULL values.
Syntax: STDEVP( <expression> )
Example: select STDEVP(Employee.Salary) from dbo. Employee
- VAR: Returns the variance of all values in expression. Var ignores any NULL values.
syntax: VAR( <expression> )
Example: select VAR(Employee.Salary) from dbo. Employee
- VARP: Returns the variance for the population of all values in expression. Varp ignores any
NULL values. syntax: VARP( <expression> )
Example: select VARP(Employee.Salary) from dbo. Employee

LO3. Write SQL statements that use aggregation and filtering


3.1 Aggregating data by multiple columns using “group by”
When an aggregate function is executed, SQL Server summarizes values for an entire table or for groups of columns
within the table, producing a single value for each set of rows for the specified columns.
- You can use aggregate functions with the SELECT statement or in combination with the GROUP BY clause
- Use the GROUP BY clause on columns or expression to organize rows into groups and to summarize those
groups. The GROUP BY clause groups rows on the basis of similarities between them.
When you use the GROUP BY clause, consider the following facts and guidelines:
. SQL Server returns only single rows for each group that you specify; it does not return detail information.
. All columns that are specified in the GROUP BY clause must be included in the select list.
. If you include a WHERE clause, SQL Server groups only the rows that satisfy the search conditions.
. Do not use the GROUP BY clause on columns that contain multiple null values.
Example: For each department, retrieve the department name, the number of employees in the department, and their
average salary.
SELECT DEPARTEMENT.Dname , COUNT (*)'number of employee', AVG (EMPLOYEE.salary)'average salary' FROM
EMPLOYEE,DEPARTEMENT
where EMPLOYEE.dnum =DEPARTEMENT.Dnumber
GROUP BY DEPARTEMENT.Dname
3.2 Sorting aggregated data in the query output:
SQL allows the user to sort rows in the result set in ascending (ASC) or descending (DESC) order using
ORDER BY clause. Sort is in ascending order by default
- You can sort by column names, computed values, or expressions
Example: Retrieve a list of employees and ordered them alphabetically by their department name, last name, first name.
SELECT EMPLOYEE.ID, EMPLOYEE.Fname, EMPLOYEE.Lname, EMPLOYEE.salary, DEPARTEMENT.Dname
FROM DEPARTEMENT,EMPLOYEE
WHERE EMPLOYEE.dnum=DEPARTEMENT .Dnumber
ORDER BY DNAME, LNAME, FNAME;
3.3 Filtering aggregated data using the “having” clause
Use the HAVING clause on columns or expressions to set conditions on the groups included in a result set.
When you use the HAVING clause, consider the following facts and guidelines:
- Use the HAVING clause only with the GROUP BY clause to restrict the grouping.
- Using the HAVING clause without the GROUP BY clause is not meaningful.

35
Example: For each project, retrieve the project number, the project name, and the number of employees from department 5
who work on the project.
SELECT DNAME, Fname, COUNT (*) FROM DEPARTMENT, EMPLOYEE
WHERE DNUMBER=DNO AND SALARY>40000
GROUP BY DNAME DESC, Fname ASC
HAVING COUNT (*) > 5;
LO4: Write and execute SQL Queries
4.1 Single and nested queries
What is query?
A query is a request for information from a database (Queries are Questions).
Single query is a Single Block query.
Example: SELECT distinct salary FROM Employee where Gender ='female'
A SQL nested query is a SELECT query that is nested inside a SELECT, UPDATE, INSERT, or DELETE SQL
query.
Nested Queries are queries that contain another complete SELECT statements nested within it, that is, in the
WHERE clause.
- The nested SELECT statement is called an “inner query” or an “inner SELECT.”
- The main query is called “outer SELECT” or “outer query.”
- The use of nested query in this case is to avoid explicit coding of JOIN which is a very expensive database
operation and to improve query performance.
Example: SELECT ID,LNAME, FNAME FROM EMPLOYEE
WHERE (SELECT COUNT (*) FROM DEPENDENTED WHERE DEPENDENTED.EmpID =EMPLOYEE.ID) >= 2
4.2 Subqueries
A subquery is a query that is nested inside a SELECT, INSERT, UPDATE, or DELETE statement, or inside another
subquery.
- Subquery is an inner query or inner select, while the statement containing a subquery is also called an outer
query or outer select.
- You use subqueries to break down a complex query into a series of logical steps and, as a result, to solve a
problem with single statements.
- Each select statement in the subquery has its own:
. select list
. where clause
Example: For each department that has more than five employees, retrieve the department number and the number
of its employees who are
making more than $40,000.
SELECT DNUMBER, COUNT (*) FROM DEPARTMENT, EMPLOYEE
WHERE DNUMBER=DNO AND SALARY>40000 AND
DNO IN (SELECT DNO FROM EMPLOYEE
GROUP BY DNO
HAVING COUNT (*) > 5)
GROUP BY DNUMBER;
4.3.Operators in sub queries
The IN, ALL, and ANY operators in subquery.
• IN operator
The IN operator is an operator that allows you to specify multiple values in a WHERE clause.
A row from a table satisfies a condition with the IN operator if the value of a particular column occurs in a set of
expressions. The expressions in such a set entered one by one by a user.
Syntax to use IN operator: SELECT column_name(s)
36
FROM table_name
WHERE column_name IN (value1,value2,...)
Examle: SELECT * FROM Persons WHERE LastName IN ('Aster','Maru')
SELECT * FROM employee
WHERE Dnum IN(SELECT Dnum FROM DEPARTEMENT
WHERE Dname = 'Research');
• Any operator
ANY operator is an operator that compares a value to each value in a list or results from a query and evaluates to
true if the result of an inner query contains at least one row. ANY must be preceded by comparison operators.
Syntax to use Any operator: SELECT column_name(s)
FROM table_name
WHERE column_name =any(value1,value2,...)
Example: SELECT ID ,fname,lname FROM EMPLOYEE
where Dnum =any(select COUNT(*) from DEPARTEMENT
where Dnumber='ict001')
• All operators
ALL operator is used to select all records of a SELECT STATEMENT. It compares a value to every value in a list
or results from a query. The ALL must be preceded by the comparison operators and evaluates to TRUE if the
query returns no rows. For example, ALL means greater than every value, means greater than the maximum value.
Suppose ALL (1, 2, 3) means greater than 3.
Syntax to use All operator: SELECT column_name(s)
FROM table_name
WHERE column_name =all(value1,value2,...)
Enample: SELECT LNAME, FNAME FROM EMPLOYEE
WHERE SALARY> ALL (SELECT SALARY FROM EMPLOYEE
WHERE Dnum=5);
• SOME operators
SOME operator is the same as ANY operator (SOME and ANY perform the same function).
SOME compares a value to each value in a list or results from a query and evaluates to true if the result of an inner
query contains at least one row.
SOME must match at least one row in the subquery and must be preceded by comparison operators.
Example: SELECT ID,Fname,Lname FROM EMPLOYEE
WHERE ID =SOME(SELECT EmpID FROM DEPENDENTED
WHERE Gender='Female');
• EXISTS operator
The EXIST operator checks the existence of a result of a subquery. The EXISTS subquery tests whether a
subquery fetches at least one row. When no data is returned then this operator returns 'FALSE'.
- A valid EXISTS subquery must contain an outer reference and it must be a correlated subquery.
- You can use the EXISTS and NON EXISTS operators to determine whether data exists in a list of values.
- Use the EXISTS and NOT EXISTS operators with correlated subqueries to restrict the result set of an outer
query to rows that satisfy the subquery.
Example: SELECT DepID ,Fname ,Gender FROM DEPENDENTED
WHERE exists(SELECT ID FROM EMPLOYEE
WHERE EMPLOYEE.ID =DEPENDENTED.EmpID and DEPENDENTED .Gender ='Female')
You can use the EXISTS operator with the group by as wel as order by clause to determine whether data exists in a
list of values.
Example: SELECT dnum,COUNT (*)'Number of employee who has dependent' FROM EMPLOYEE
WHERE salary<3000 and exists (SELECT EmpID FROM DEPENDENTED
WHERE EMPLOYEE.ID =DEPENDENTED.EmpID
group by EmpID)
group by Dnum
37
order by Dnum

• having clause
Use the HAVING clause on columns or expressions to set conditions on the groups included in a result set.
The HAVING clause sets conditions on the GROUP BY clause in much the same way that the WHERE clauses
interacts with the SELECT statement.
Example: SELECT dnum ,count(*)'number of employee' FROM EMPLOYEE
WHERE exists (SELECT dname FROM DEPARTEMENT
WHERE EMPLOYEE.Dnum =DEPARTEMENT.Dnumber)
group by Dnum
having COUNT(*)>2

4.4.Correlated subqueries
In a SQL database query, a correlated sub-query (also known as a synchronized subquery) is a sub-query (a query
nested inside another query) that uses values from the outer query in its WHERE clause.
- Correlated subquery is one that is executed after the outer query is executed. So correlated subqueries take an
approach opposite to that of the normal subqueries.
- In a correlated subquery, the inner query uses information from the outer query and executes once for every
row in the outer query.
- A practical use of a correlated subquery is to transfer data from one table to another.
Syntax for correlated subquery: select column_list from table_name a
where search_condition (select column_list from table_name b
where a.column_name_a=b.column_name_b)
Example: find out the name of all EMPLOYEES who has less or equal to two dependent using correlated subquery.
select fname from EMPLOYEE a where 2<=(select COUNT(*) from DEPENDENTED b
where b .EmpID=a.ID )

MODULE TITLE: Completing Database Backup and Recovery


NOMINAL DURATION: 75 hrs
LO1: Review database architecture
1.1 Identifying architecture of a database file system
Physical structure of database

• Components of database Architecture include:


38
- Page - Database File
- Extent - Database File Group
- Table - Transaction Log File
- Index
i. Page is the smallest unit of storage in SQL server.
ii. An extent consists of 8 adjacent pages.
iii. An index is a set of one or more keys which is used to speed up access to data in a table. It is a separate
physical data structure that enables queries to access one or more data rows fast.
iv. Database File: SQL Server uses three types of files to map a database to file system of operating system:
1. Primary Data File– It is the starting point of the database and points to the other files in the database.
Every database has one primary data file.
2. Secondary Data File is any data file other than primary data file. A database may or may not have
secondary data files.
3. Log file - Log files hold all the log information that is used to recover the database. There must be at least
one log file for each database.
V. Database File Group: Database files can be grouped into file groups for allocation and administration
purposes.
File groups can be two types:
. Primary – It contains primary data files and pages of system tables.
. User-defined – These are created by database users.
vi. Transaction Log File: DB engine uses transaction logs to maintain integrity of database and for data
recovery.
Transaction log file consists of log records of operations performed and are stored sequentially.
Following types of operations are logged
a. The start and end of each transaction. Every data modification (insert, update, or delete) by system
stored procedures or data definition language (DDL) statements to any table, including system tables.
b. The logical operation performed: The before and after images of the modified data
1.2.Identifying risks and failure scenarios
Database security concerns the use of a broad range of information security controls to protect databases against
compromises of their confidentiality (secrecy or privacy), integrity/reliability and availability (ease of use).
It involves various types or categories of controls, such as technical, procedural/administrative and physical control.
Security risks to database systems include:
Unauthorized or unintended activity or misuse(use wrongly) by authorized database users, database
administrators, or network/systems managers, or by unauthorized users or hackers
Example: Inappropriate access to sensitive data, metadata or functions within databases, or inappropriate
changes to the database programs, structures or security configurations.
Malware infections causing incidents such as unauthorized access, damage to the data or programs.
Physical damage to database servers caused by computer room fires or floods, overheating, lightning,
electronic breakdowns/equipment failures.
Data corruption and/or loss caused by the entry of invalid data or commands, mistakes in database or system
administration processes, sabotage/criminal damage etc.
Types of information security control appropriate to databases include:
* Access control * Auditing

39
* Authentication * Integrity controls
* Encryption * Backups
Database Failures can be due to:
. System crashes, resulting in loss of main memory.
. Application software errors.
. Natural physical disasters.
. Carelessness or unintentional destruction of data or facilities.
. Statement Failure: e.g. - When a program attempts to enter invalid data into a database table.
. User Process Failure: e.g. - A user process may be terminated suddenly or unexpectedly
. Network Failure: e.g. - The network interface card or the network connection has failed.
. Instance Failure
- Hardware failure.
- A power failure.
- An emergency shutdown procedure.
. User Error
- Accidentally dropping a table.
- Wrongly modify or delete data from a table.
. Media Failures
- Lose a disk or a disk controller fails or a head crash
- File corruption
- The overwriting or deletion of a data file

Lo2: Determine Backup methods appropriate to DB requirement


2.1 Backup and recovery concepts
Database backup is the process of dumping data (from a database, a transaction log, or a file) into backup devices
that system creates and maintains.
Recovery is the process of using the backup media to replace uncommitted, inconsistent, or lost data.
Therefore, Backup and recovery refers to the various strategies and procedures involved in protecting your
database against data loss and reconstructing the database after any kind of data loss.
The SQL Server backup and restore component provides an essential safeguard for protecting critical data stored in
your SQL Server databases. To minimize the risk of catastrophic data loss, you need to back up your databases to
preserve modifications to your data on a regular basis.
A well-planned backup and restore strategy helps protect databases against data loss caused by a variety of failures.
2.2.Database Recovery techniques
Preventing data loss is one of the most critical issues involved in managing database systems.
Data can be lost as a result of many different problems:
Disk failures (physical problems)
Viruses
Incorrect use of UPDATE and DELETE statements
40
Software bug(Program errors) or transaction (some operation) error
Administrator (human) errors
Computer failures (system crash) such as hardware, software or network error
Catastrophes (Disasters such as fire, flood, earthquake) or theft
If database has been damaged:
- Need to restore last backup copy of database and reapply updates of committed transactions using log file.
If database is only inconsistent:
- Need to undo changes that caused inconsistency.
To prevent data loss, you can implement a recovery strategy for your databases.
Using Full Database Backups
A full database backup contains all data and database Meta information needed to restore the whole database.
When you restore a full database backup, it restores all database files yielding data in a consistent state from the time
the backup completed.
From full database backup, it is possible to recover a database to the state it had when the last backup occurred.
Using Differential Backups
The differential backup stores only the data changes that have occurred since the last full database backup. When the
same data has changed many times since the last full database backup, a differential backup stores the most recent
version of the changed data. Because it contains all changes since the last full backup, to restore a differential
backup, you first need to restore the last full database backup and then apply only the last differential backup.
Using Transaction Log Backups
The transaction log backup is a backup of transaction log entries and contains all transactions that have happened to
the database. The main advantages of transaction log backups are as follows:
• Transaction log backups allow you to recover the database to a specific point in time.
• Because transaction log backups are backups of log entries, it is even possible to perform a backup from a
transaction log if the data files are destroyed. With this backup, it is possible to recover the database up to the
last transaction that took place before the failure occurred.

2.3.Recover immediate update


Immediate update, or UNDO/REDO, is another algorithm to support ABORT and machine failure scenarios.
Database may be updated by some operations of a transaction before the transaction reaches its commit point.
- Commit means Make changes done in transaction permanently. A transaction is a set of SQL statements.
If a transaction fail after recording some change to the database, but before commit point, the effect of its operations
on the database must be undone (transaction must be rollback).
- Undo Operations need to be performed for all unfinished transactions.
2.4. Shadow paging
Shadow paging is a technique for providing atomicity and durability in database system. A page, in this context,
refers to a unit of physical storage.
Shadow paging is a copy-on-write technique for avoiding in-place updates of pages.
In shadow paging, when a write_item operation is performed:
A new copy of the modified DB page is created and the old copy is not overwritten.
The new page is written elsewhere on some unused disk block.
The current directory entry is modified to point to the new disk block.
The shadow directory is not modified.
Shadow copies; the current copies of data items
2.5. The ARIES Recovery Algorithm
Algorithm for Recovery and Isolation Exploiting Semantics (ARIES) is an example of recovery algorithm which
is widely used in the database systems. It uses steal/no-force approach for writing the modified buffers back to the
database on the disk. This implies that ARIES follows UNDO/REDO technique.
The ARIES recovery algorithm is based on three main principles which are given here.
Write-ahead logging: This principle states that before making any changes to the database, it is necessary to
force-write the log records to the stable storage.
Repeating history during redo: When the system restarts after a crash, ARIES retraces all the actions of
database system prior to the crash to bring the database to the state which existed at the time of the crash.
It then undoes the actions of all the transactions that were not committed at the time of the crash.
Logging changes during undo: A separate log is maintained while undoing a transaction to make sure that the
undo operation once completed is not repeated in case the failure occurs during the recovery itself, which
causes restart of the recovery process.
The ARIES recovery procedure consists of three main steps:
- Analysis: It identifies the dirty (updated) pages in the buffer and the set of transactions active at the time of crash.
- REDO phase: It actually reapplies updates from the log to the database. Generally the REDO operation is applied
to only committed transactions.
- UNDO phase: The log is scanned backwards and the operations of transactions that were active at the time of the
crash are undone in reverse order. The information needed for ARIES to accomplish its recovery
procedure includes the log, the transaction table, and the dirty page table.
2.6.Recovery in multi DB system
A multi-database consists of a collection of autonomous local databases.
To maintain the atomicity of a multidatabase transaction, it is necessary to have a two-level recovery mechanism.
A global recovery manager or coordinator is needed to maintain information needed for recovery, in addition to the
local recovery managers and the information they maintain (log, tables).
In MDBSs, recovering multi-database consistency has a twofold meaning. First, for global transaction aborts,
recovering multi-database consistency means to undo the effects of locally committed subsequences belonging to the
aborted global transactions from a semantic point of view.
In addition, the effects of transactions which have accessed objects updated by aborted global transactions should be
preserved (recall that, after the last operation of a subsequence, all locks held by the subsequence are released).
For the other types of failures, recovering multi-database consistency means to restore the most recent global
transaction-consistent state.
2.7. DB Backup from Catastrophic failures
Failure can happen for any number of reasons.
User error is the number one reason for data damage, loss, or corruption.
This type of failures include: application modifying or destroying the data on its own or through a user choice.
Media failure can happen when the media of the data files or transaction logs failed.
Disastrous or catastrophic event. This can be in the form of fire, flood, or any naturally occurring storm.
It can also happen through electrical outage, a virus, or the deliberate hacking of your data. Any of these can
corrupt or cause the loss of your data.
The recovery manager of a DBMS must be equipped to handle more catastrophic failures such as disk crashes.
The main technique used to handle such crashes is that of database backup. The whole database and the log are
periodically copied onto a cheap storage medium such as magnetic tapes. In case of a catastrophic system failure, the
latest backup copy can be reloaded from the tape to the disk, and the system can be restarted.
To avoid losing all the effects of transactions that have been executed since the last backup, it is customary to back
up the system log at more frequent intervals than full database backup by periodically copying it to magnetic tape.
The system log is usually substantially smaller than the database itself and hence can be backed up more frequently.
Hence, to recover from disk failure, the database is first recreated on disk from its latest backup copy on tape.
LO3. Establish recovery points and disaster recovery procedures
3.1. Determine recovery points
Restoring is the process of copying data from backup and applying logged transactions to the data to roll it forward
to the target recovery point. Each backup contain sufficient log to roll back uncommitted transactions to bring the
database into a state that is transitionally consistent and usable.
The process of rolling forward uncommitted transactions, if any, and bringing the database online is known as
recovery. The goal of roll forward is to return the data to its original state at the recovery point.
The recovery point is the point to which the user specifies that the set of data be recovered.
3.2. Test the restore process
To restore a file from backup device to a location on the hard drive, you have to follow Database Restore and
Recovery Procedure.
The basic procedure for performing restore and recovery with RMAN(Recovery Manager) is as follows:
Determine which database files must be restored from backup, and which backups (which specific tapes, or
specific backup sets or image copies on disk) you will use for the restore operation.
Place the database in the state appropriate for the type of recovery that you are performing.
Restore lost database files from backup with the RESTORE command. You may restore files to their original
locations, or you may have to restore them to other locations if, for instance, a disk has failed.
Perform media recovery on restored data files, if any, with the RECOVER command.
Perform any final steps required to make the database available for users again.
The backup and restore process of a large database or collection of databases on sql server is very important for
disaster & recovery purposes.
Backing up and restoration of your MS SQL Server 2008 Database using the Microsoft
SQL Server Management Studio.
To backup your MS-SQL Server 2008 Database through MS-SQL Server Management Studio Express, follow the
steps shown below:
First, you need to configure the Microsoft SQL Server Management Studio on your local machine.
Step 1: Open your Microsoft SQL Server Management Studio.
Step 2: Using your Database Username and Password, simply login to your MS SQL server database.
Step 3: Select the database >> Right-click >> Tasks >> Back Up [as shown in the image below]:

Once you click on the “Backup” the following Backup Database window will appear.

Step 4: Select the following options:


1. Backup type: Full
2. Under Destination, Backup to: Disk

Step 5: Now, by clicking on the “Add” button, the following window will appear to select the path and file name for
the database backup file [as shown in the image below]:
Step 6: Select the destination folder for the backup file and enter the “File name” with .bak extension [as shown in
the image below]:

Make sure you place your MS SQL database .bak file under the MSSQL backup folder.
Step 7: Hit the OK button to finish the backup of your MS SQL Server 2008 Database. Upon the successful
completion of database backup, the following confirmation window will appear with a message “The backup of
database “yourdatabasename” completed successfully. [as shown in the image below]:

Following the above shown steps, you will be able to create a successful backup of your MS SQL Server 2008
Database into the desired folder.

How to Restore MS SQL Server 2008 Database Backup File?


To restore a database from a backup file, follow the steps shown below:
Step 1: Open your Microsoft SQL Server Management Studio.
Step 2: Select the database >> Right-click >> Tasks >> Restore >> Database [as shown in the image below]:

Step 3: The following “Restore Database“windows will appear. Select “From device” mentioned under the
“Source for restore” and click the button in front of that to specify the file location [as shown in the image below]:

Step 4: Select the option “Backup media as File” and click on the Add button to add the backup file location [as
shown in the image below]:

Step 5: Select the backup file you wish to restore and Hit the OK button [as shown in the image below]:
You will get the confirmation windows with a message “The restoration of database “yourdatabasename” completed
successfully.” Now you know the procedure of backing up and restoring MS SQL Server 2008 Database.

Step 6: Once this has completed, a pop-up will say the database has been restored successfully. Click OK.

You can create a back up and restore using SQL transaction code: use master
BACKUP DATABASE Employee TO DISK = 'D:\Employee.bak'
restore DATABASE Employee from disk= 'D:\Employee.bak'
MODULE TITLE: Designing a Database
NOMINAL DURATION: 120 hrs
LO1: Determine database requirements
1.1 Introduction to the module
Designing a database is a very important phase in the database life cycle, which precedes all other phases except the
requirements collection and the analysis. If the database design is created merely intuitively (without needing to ask)
and without any plan, the resulting database will most likely not meet the user requirements concerning
performance.
Another consequence of a bad database design is superfluous data redundancy, which in itself has two
disadvantages: the existence of data anomalies and the use of an unnecessary amount of disk space.
1.2 Determining database functionality
In determining database functionality, a user need analysis is conducted/performed to determine database
functionality.
A database program must be able to add, delete and edit records in the tables which make up the database and also to
search for specific records in the tables by using different search criteria. In most cases, user authentication is
required.
1.3 Identifying technical requirements
Identifying technical requirements enable the business or process to meet expectations.
Identify technical requirements involves:
Assessing the business problem(including input/output requirements, interface requirements, process
requirements)
Developing a business solution.
Investigating output/result.
Documenting results/output.
Assess the business problem:
To assess a problem or an opportunity faced by a business, it is necessary to look at the technical requirements of the
business. These fall into three general categories: - Input/output requirements
- Interface requirements
- Process requirements
o Input/output requirements
The stages involved in identifying technical requirements for input/output:
- Identify the interaction process(whether for business to business or business to costumer)
- Identify the input/output data required for the process
- Identify relevant protocols for the data exchange
o Interface requirements: - Many computer-based systems require data from other systems or provide data to
another system.
The stages involved in identifying the interface requirements include:
- Identify the sources of required data
- Identify the data items and data structures required for the exchange
- Identify relevant protocols for the data exchange

o Process requirements
Identifying technical requirements for how the system will function and what the system will do, are identifying
the processes, qualities and environment requirements of the system.
Once the technical requirements have been identified, it is possible to develop a solution.
Finally, the recommendations will need to be measured against the technical requirements and documented.

1.4 Developing conceptual model of the database


Conceptual database design is the process of constructing a model of the information used in an enterprise,
independent of any physical considerations.
- It is a High level description of the data and the constraint.
- It is the source of information for the logical design phase.
- It mostly uses an Entity Relationship Model to describe the structure at this level.
In developing conceptual model of the database, the designer should answer the following question:
– What are the entities and relationships in the enterprise?
– What information about these entities and relationships should we store in the database?
– What are the integrity constraints or business rules that hold?
• Conceptual database Model Concepts includes:
- Entities and Attributes
- Entity Types, Value Sets, and Key Attributes
- Relationships and Relationship Types
- Weak Entity Types
- Roles and Attributes in Relationship Types
- ER Model Notations, Naming Conventions, Design Issues.
LO2: Develop logical data model
2.1 Identifying attributes
An attribute is a fact or non-decomposable piece of information about an entity. When you represent an entity as a
table, its attributes are added to the model as columns.
After you determine the entities, you can identify the characteristics of each entity.
To select attributes, you have to check:
- It’s significant.
- It’s Usefulness to the database users.
- It is non-decomposable. Composite values must be separated into individual attributes.
2.2 Determining data types
Data Type is a constraint that specifies the possible value for each field in the table.
Common examples of data type:
i) In MS-Access – Auto-number, text, number, date\Time, currency, Yes/No, and so on.
ii) In MS-SQL server - integers, Booleans, characters, floating-point numbers, datetime, and so on.
2.3 Undertaking normalization of attributes
Normalization is a process that involves dividing large tables (complex data structures) into smaller (simple and
stable data structures) that do not accept redundant values and defining relationships between them.
Database normalization is the process of organizing the fields and tables of a relational database to minimize
redundancy and to avoid update anomalies (insert, modify, and delete anomalies).
If an attribute of a table is multi-valued, it must be normalized.
Functional dependency
A functional dependency (FD) is a constraint between two sets of attributes in a table from a table in the database.
* A functional dependency occurs when one attribute in a table uniquely determines another attribute. This can
be written as: A B ("B is functionally dependent upon A").
If a particular value of one attribute (A) in a table uniquely determines the value of another attribute (B) in the same
table, then there is a functional dependency between attributes A and B.
Examples: In a table employee’s characteristic including employee ID and name, it can be said that name is
functionally dependent upon ID because an employee's name can be uniquely determined from their ID. However,
the reverse statement is not true because more than one employee can have the same name but different ID.
Full functional dependency
A full functional dependency occurs when you already meet the requirements for a functional dependency and the
set of attributes on the left side of the functional dependency statement cannot be reduced any farther.
Example: {SSN, age} name is a functional dependency, but it is not a full functional dependency because you
can remove age from the left side of the statement without impacting the dependency relationship.
Transitive dependency.
Transitivity dependency is a functional dependency between non-primary-key.
I.e.: It occurs when there is an indirect relationship that causes a functional dependency.
Example: A C is a transitive dependency when “A B” and “B C” are true.
A relation can be normalized to a specific form to prevent possible occurrence of update anomalies.
Four most commonly used normal forms are: - First (1NF)
- Second (2NF)
- Third (3NF) normal forms, and
- Boyce–Codd normal form (BCNF).
1st Normal Form (1NF):
A table is in 1NF if: - There are no duplicated rows in the table.
- Each cell is single-valued.
- Entries in a column (attribute, field) are of the same kind.
2nd Normal Form (2NF):
A table is in 2NF if: - it is in 1NF
- All non-key attributes are dependent on the entire key (has no partial dependencies).
3rd Normal Form (3NF):
A table is in 3NF if: - It is in 2NF
- If it has no transitive dependencies.
- There are no functional dependencies between two or more non-primary-key attributes.
Example: a table named VEHICLE, and its characteristics are Registration_No, Owner, Model, Manufacturer, and
Engine_Size, where the Registration_No is the primary key:

Registration_No Owner Model Manufacturer Engine_Size


10234 TDA Land Cruiser I Toyota 2.5
10545 REST Land Cruiser II Toyota 2.9
45454 TDA Jeep Nissan 2.5
46765 REST Land Cruiser I Toyota 2.5
54098 Mekelle University Jeep Nissan 2.5

a) Is this table satisfy the 1NF?


b) Is this table satisfy the 2NF?
c) Is this table satisfy the 3NF?

A) This table satisfies 1NF because: - no duplicated rows in the table


- Each cell is single-valued.
- Entries in a column are of the same kind.
B) This table satisfies 2NF because:
- It is in 1NF
- All non-key attributes are dependent on the key attribute. The Registration_No uniquely determines
the value of the all non-key.
C) This table does not satisfy 3NF because there is a transitive dependency (there exist functional dependencies
between non-primary-key attributes even though it satisfies 2NF).
The Model name uniquely determines the values of the Manufacturer and the Engine_Size.
- Model Manufacturer, Engine_Size (different Manufacturers do not use the same model names).
- Because of this transitivity dependency, the VEHICLE does not satisfy 3NF.
To convert the table to 3NF:
Remove transitivity dependency by creating a new table with the attributes in the dependency.
The determinant attribute(s) being the primary key of the new table and foreign key for the old table.
I.e.: table1: REGISTRATION (Registration_No, Owner, Model)
Table2: VEHICLE (Model, Manufacturer, Engine_Size)
Now, both the VEHICLE and REGISTRATION tables are in 3NF because:
- They are in 2NF (every non-primay-key attribute is functionally dependent on the whole primary key)
- No dependencies between non-primary-key attribute (No transitivity dependency in each table).
Boyce–Codd normal form (BCNF).
A table is in BCNF if:
- It is in 3NF and every determinant is a candidate key.
- There are no non-trivial functional dependencies of attributes on anything other than a superset of a candidate key.
BCNF is also sometimes referred to as 3.5 Normal Form (it is really an extension of 3rd Normal Form).
Anomalies can occur in relations in 3NF if there is a composite key in which part of that key has a
determinant which is not itself a candidate key.
This can be expressed as R(A,B,C), C--->A where:
. The relation R contains attributes A, B and C.
. A and B form a candidate key.
. C is the determinant for A (A is functionally dependent on C).
. C is not part of any key.
Anomalies can also occur where a relation contains several candidate keys where:
. The keys contain more than one attribute (they are composite keys).
. An attribute is common to more than one key.

2.4. Developing Entity Relationship to clarify cardinality of relationships.


An entity-relationship model (a graphical representation of entities and their relationships to each other) describes
the organization of data within databases or information systems.
In developing Entity Relationship model, the building blocks are:
Entities
- Entity types fall into five classes: roles, events, locations, tangible things or concepts.
Relationships
- A data relationship is a natural association that exists between one or more entities.
E.g. Employees process payments.
Cardinality
- Defines the number of occurrences of one entity for a single occurrence of the related entity.
E.g. an employee may process many payments, but a payment can be processed by only
one employee.
Attribute
- Name the information details (fields) which are essential to the system under development.

Cardinality Notations
Cardinality specifies how many instances of an entity relate to one instance of another entity.
Ordinarily is also closely linked to cardinality. While cardinality specifies the occurrences of a relationship,
ordinarily describes the relationship as either mandatory or optional. In other words, cardinality specifies the
maximum number of participation and ordinarily specifies the absolute minimum number of participation. When the
minimum number is zero, the relationship is usually called optional and when the minimum number is one or more,
the relationship is usually called mandatory.
There are many notation styles that express cardinality and they are all supported by Smart Draw and Visio
drawing software.
i. Information Engineering
ii. Chen

iii. Bachman

iv. Martin
2.5. Normalizing data and entity relationships diagrams
Multi-valued dependency equivalency in ERD occurs when attributes within an entity instance have more than one
value. This is a situation when some attributes within an entity instance have maximum cardinality of N (more than
1 )when an attribute has multiple values in an entity instance, it can be setup either as a composite key identifier of
the entity type, or split into a weak entity type.
- Each instance of an entity type has exactly one value for its attributes.

2.6. Forwarding documentation to client


Database documentation enables a Database designer or developer to deliver the designed system to the client.
The documentation describe the design of a database which is a collection of related data stored in one or more
computerized files in a manner that can be accessed by users or computer programs via a database management
system. The design documentation must include:
- General nature of the database
- Business context of database
- Intended use.
- Maintenance objectives/Operations
Design decisions on backup and restoration includes data and process distribution strategies, permissible actions
during backup and restoration, and special considerations for new or non-standard technologies.

LO3. Design data structures


3.1 Confirming primary and foreign keys for tables
A primary key is a column which uniquely identifies the records in a table. Most programmers recommend all
tables having a primary key (only one) to enhance the speed of queries and overall database performance.
A foreign key is a column in a table that refers a value from another table to create relationship between the tables.
A candidate key is any attribute of a table that can accept unique value in the table and it could be set as a primary
key for a table.
3.2.Reviewing client business rules
A business rule is a rule of a business, company, or corporation that defines or constrains some aspect of business.
- It describes the operations, definitions and constraints that apply to an organization or business.
3.3.Identifying referential integrity constraints
Integrity constraint is a constraint which used to ensure accuracy and consistency of data in a relational database by
prevents the user from entering the duplicate rows into tables.
Types of integrity constraints:
• Entity integrity
The entity integrity constraint states that no primary key value can be null, and there is no any duplicate entries in
the primary key column.
• Referential Integrity
Referential integrity is a feature provided by relational DBMS that prevents users from entering inconsistent data.
The referential integrity constraint is specified between two tables and is used to maintain the consistency among
tuples in the two tables.
- Referential integrity means the foreign key in any referencing table must always refer to a valid row
in the referenced table.
• Domain Integrity
The domain integrity states that every element from a table should respect the type and restrictions of its
corresponding attribute. A type can have a variable length which needs to be respected. Restrictions could be the
range of values that the element can have, the default value if none is provided, and if the element can be NULL.
• User Defined Integrity
Business rules may dictate/state that when a specific action occurs further actions should be triggered. For example,
deletion of a record automatically writes that record to an audit table.
3.4.Establishing DBMS constraints
Constraints within a database are rules which control values allowed in columns and also enforce the integrity
between columns and tables.
Constraints are used to limit the type of data that can go into a table.
Constraints can be specified when a table is created (with the CREATE TABLE statement) or after the table
is created (with the ALTER TABLE statement).

3.5.Developing validation rules for data


One of the main goals when building applications is to make sure that the data you enter into the database meets all
your business rules.
Data validation is a critical part of your application to ensure that your data meets the requirements developed by
your business analysts.
Designing indexes
An index is a set of one or more keys which is used to speed up access to data in a table. An index is a separate
physical data structure that enables queries to access one or more data rows fast.
Proper index design is the most important issue in tuning (alteration) SQL Server performance.
A number of ways are available to improve SQL Server performance, but the greatest speed improvement results
from having indexes that the optimizer can use to avoid table scans and reduce the I/O costs of resolving queries.
Why Use Indexes? Two primary reasons exist for creating indexes in SQL Server:
- To maintain uniqueness of the indexed column(s)
- To provide fast access to the data in tables.
3.6.Developing data dictionary
A data dictionary is a collection of descriptions of the data or items in a data model for the benefit of programmers
and others who need to refer to them. I.e.: It is a file that defines the basic organization of a database.
A data dictionary contains:
The definitions of all schema objects in the database (tables, views, indexes, clusters, procedures, functions,
triggers, and so on).
Name of the tables, names of attributes of each table, Data type of each field, Length of each field.
How much space has been allocated for, and is currently used by the schema objects.
Default values for columns
Logical structure of database
Integrity constraint information
Privileges and roles each user has been granted
Auditing information, such as who has accessed or updated various schema objects
Constraints that apply to each field, if any
Brief description of the expected data for each field (Constraints on data i.e. range of values permitted).
Access Authorization - the Description of database users, their responsibilities and their access rights.
Relationships between database transactions and data items.

Example of data dictionary


Table Name Column Name Data type Field size Null Validation Description
EMPLOYEE Fname Char 15 No First name of employee
Lname Char 15 No Last name of employee
Emp_Id Varchar 5 No Employee identity
Gender Char 6 No Male or female
Dept_No char 10 Yes
PROJECT Pname Char 17 No
Pcode Char 10 No
Ptype Char 25 Yes
DEPARTMENT Dname Char 20 No
Dnumber Varchar 10 No
Mgr_Id Varchar 5 Yes

Data dictionaries do not contain any actual data from the database, only bookkeeping information for managing it.
Advantages of a Data Dictionary
When a new user is introduced to the system or a new administrator takes over the system, identifying table
structures and types becomes simpler.
3.7.Documenting database design
Database design documentation is detailed information about a database’s design specifications, its internal
workings, and its functionality.
Database design documentation should include:
• Conceptual data model
Conceptual database design is the process of constructing a model of the information used in an enterprise.
- It is a High level description of the data and the constraint.
- It includes:
- Entities and Attributes
- Entity Types, Key Attributes, and Value Sets
- Relationships and Relationship Types
- Weak Entity Types
- Roles and Attributes in Relationship Types
- ER Model Notations, Naming Conventions, Design Issues.
• Logical data model is a fully attributed entity relationship diagram (ERD), which shows each entity, its
relationship to other entitles, normalized structures, and specifies the applicable business rules.
• Physical data model is the final representation of the relational database design structures(physical
implementation, access method and storage requirements).
LO4. Design queries, screens and reports
4.1 Designing user interface for database
A user interface is an interface by which people (users) interact with a machine.
User interfaces exist for: - Input, allowing the users to manipulate a system
- Output, allowing the system to indicate the effects of the users' manipulation.
• In Designing user interface for a database, there are two basic things:
i. Form – a form is an interface that contains some predefined data and may include some areas where
Additional data are to be filled in.
ii. Report – a report is a passive business document that used only for reading and viewing.
- It can contain data from many unrelated records or transactions.
• Guidelines for designing forms (Structuring Data Entry) and reports:
Defaults -Always provide default values when appropriate.
Captioning - Always place a caption adjacent to fields.
Format - To ease user training and data recording, use standard formats for forms and reports similar to
paper- based standard forms and reports format.
Help -Provide context-sensitive help when appropriate, for example, provide a hot key, such as the F1
key, that opens the help system on an entry.
Use meaningful titles - clear and specific titles describing content and use of form or report.
Design an easy navigation system - Clearly show how to move forward and backward
4.2 Designing queries based on requirements
Queries are a way of searching for and compiling data from one or more tables. When you build a query, you are
defining specific search conditions to find exactly the data you want.
Queries allow you to pull information from one or more tables based on a set of search conditions you define.
When planning (designing) a query that uses two or more tables, you should follow these steps:
i. Identify every type of information you want to include in your query results.
ii. Determine the criteria that meet to retrieve the information you need.
SQL Server Management Studio has a GUI (Graphical User Interface) called ‘Query Designer’ that easily allows
users to create queries without prior knowledge of SQL.
The Query Designer allows the users to select the Data Sources of the query (which can be tables, views or
functions) and select the fields they want returned by clicking the checkbox next to the name of the desired field.
4.3.Designing output reports based on requirements
A report is a formatted and organized presentation of database information which can be an easy-to-read and print.
Database reports are the formatted result of database queries and contain useful data for decision-making and
analysis. It must always be accurate, concise, clear, and well structured.
You can design the report by using Report Designer (graphical query and design tools) which is hosted within the
Microsoft Visual Studio environment.
Report Designer provides a Report Data pane to organize data used in your report, and tabbed views for Design and
Preview so that you can design a report interactively.
Report Designer also provides query designers to help specify data to retrieve from data sources and the Expression
dialog to specify report data to use in the report layout.

Report Designer is hosted in the Business Intelligence Development Studio, which is fully integrated with the
Microsoft Visual Studio 2008 development environment. If you do not have Visual Studio 2008 installed, SQL
Server Setup installs the shell so that you can run Report Designer.

4.4.Comparing physical design with conceptual model/user needs.


Physical design is the process of producing a description of the implementation of the database on secondary
storage. It defines specific storage or access methods used by a database.
I.e: - It describes the storage structures and access methods used to achieve efficient access to the data.
Conceptual design is the process of constructing a model of the information used in an enterprise, independent of
any physical considerations. It mostly uses an Entity Relationship Model to describe the structure.
The important activities in conceptual design are to identify:
- Entities - Relationships
- Attributes - Constraints
LO5. Design access and security systems
5.1 Reviewing business security plan
Business security plan make sure that security is part of your business planning process.
When setting up a security plan, your business should consider all the relevant areas of its operations.
5.2.Designing password and access system
A Windows user account or a login allows a user to log in to the system. A user who subsequently wants to access a
particular database of the system may needs a database user account to work with the database.
Therefore, users must have a database user account for each database they want to use. The database user account
can be mapped from the existing Windows user accounts, Windows groups (of which the user is a member), logins,
or roles.
Setting Up Database User Accounts and login:
Most Windows users need SQL Server login account to connect to SQL Server. This shows how to design a SQL
Server login account.
* User name is the name that is used to identify the user inside the database.
* Login specifies the login for which the user is being created.
* A password is a secret word or string of characters that is used for user authentication to prove identity, or
for access approval to gain access to a resource.

5.3.Identifying multiple-user requirements


A requirement is a statement that specifies what an intended product should do, or how it should perform.
Types of requirements:
- Functional requirements specify what the system should do.
- Non-Functional requirements specify what constraints there are on the system or its development.
Identifying user needs:
Identifying user needs means understand as much as possible about the users, as well as their work and the
context of their work. System under development should support users in achieving their goals.
LO6: Confirm database design
6.1.Identifying database back-up and recovery requirements
Database backup is the process of dumping data (from a database, a transaction log, or a file) into backup devices
that system creates and maintains.
- I.e.: A backup is a copy of data from your database that can be used to reconstruct that data.
Backups can be divided into physical backups and logical backups.
Physical backups are backups of the physical files used in storing and recovering your database, such as data
files, control files, and archived redo logs.
A logical backup (export) of a database exports the database objects independent of the physical location of
those objects. Ie: a logical backup exports the data stored in a table regardless of the location of the table.
Recovery is the process of using the backup media to replace uncommitted, inconsistent, or lost data.
The reasons for data loss can be divided into the following groups:
- Program errors
- Administrator (human) errors
- Computer failures (system crash)
- Disk failures
- Catastrophes (fire, flood, earthquake) or theft
Therefore, Backup and recovery refers to the various strategies and procedures involved in protecting your
database against data loss and reconstructing the database after any kind of data loss.
The SQL Server backup and restore component provides an essential safeguard for protecting critical data stored in
your SQL Server databases. To minimize the risk of catastrophic data loss, you need to back up your databases to
preserve modifications to your data on a regular basis. A well-planned backup and restore strategy helps protect
databases against data loss caused by a variety of failures.

Database Engine provides four different backup methods:


- Full database backup
- Differential backup
- Transaction log backup
- File (or file group) backup
Full Database Backup
A full database backup captures the state of the database at the time the backup is started. During the full database
backup, the system copies the data as well as the schema of all tables of the database and the corresponding file
structures. If the full database backup is executed dynamically, the database system records any activity that takes
place during the backup.
Differential Backup
A differential backup creates a copy of only the parts of the database that have changed since the last full database
backup.
The advantage MODULE TITLE: Designing a Database
NOMINAL DURATION: 120 hrs
LO1: Determine database requirements

59
1.5 Introduction to the module
Designing a database is a very important phase in the database life cycle, which precedes all other phases except the
requirements collection and the analysis. If the database design is created merely intuitively (without needing to ask)
and without any plan, the resulting database will most likely not meet the user requirements concerning
performance.
Another consequence of a bad database design is superfluous data redundancy, which in itself has two
disadvantages: the existence of data anomalies and the use of an unnecessary amount of disk space.
1.6 Determining database functionality
In determining database functionality, a user need analysis is conducted/performed to determine database
functionality.
A database program must be able to add, delete and edit records in the tables which make up the database and also to
search for specific records in the tables by using different search criteria. In most cases, user authentication is
required.
1.7 Identifying technical requirements
Identifying technical requirements enable the business or process to meet expectations.
Identify technical requirements involves:
Assessing the business problem(including input/output requirements, interface requirements, process
requirements)
Developing a business solution.
Investigating output/result.
Documenting results/output.
Assess the business problem:
To assess a problem or an opportunity faced by a business, it is necessary to look at the technical requirements of the
business. These fall into three general categories: - Input/output requirements
- Interface requirements
- Process requirements
o Input/output requirements
The stages involved in identifying technical requirements for input/output:
- Identify the interaction process(whether for business to business or business to costumer)
- Identify the input/output data required for the process
- Identify relevant protocols for the data exchange
o Interface requirements: - Many computer-based systems require data from other systems or provide data to
another system.
The stages involved in identifying the interface requirements include:
- Identify the sources of required data
- Identify the data items and data structures required for the exchange
- Identify relevant protocols for the data exchange

o Process requirements
Identifying technical requirements for how the system will function and what the system will do, are identifying
the processes, qualities and environment requirements of the system.
Once the technical requirements have been identified, it is possible to develop a solution.
Finally, the recommendations will need to be measured against the technical requirements and documented.

1.8 Developing conceptual model of the database

60
Conceptual database design is the process of constructing a model of the information used in an enterprise,
independent of any physical considerations.
- It is a High level description of the data and the constraint.
- It is the source of information for the logical design phase.
- It mostly uses an Entity Relationship Model to describe the structure at this level.
In developing conceptual model of the database, the designer should answer the following question:
– What are the entities and relationships in the enterprise?
– What information about these entities and relationships should we store in the database?
– What are the integrity constraints or business rules that hold?
• Conceptual database Model Concepts includes:
- Entities and Attributes
- Entity Types, Value Sets, and Key Attributes
- Relationships and Relationship Types
- Weak Entity Types
- Roles and Attributes in Relationship Types
- ER Model Notations, Naming Conventions, Design Issues.
LO2: Develop logical data model
2.4 Identifying attributes
An attribute is a fact or non-decomposable piece of information about an entity. When you represent an entity as a
table, its attributes are added to the model as columns.
After you determine the entities, you can identify the characteristics of each entity.
To select attributes, you have to check:
- It’s significant.
- It’s Usefulness to the database users.
- It is non-decomposable. Composite values must be separated into individual attributes.
2.5 Determining data types
Data Type is a constraint that specifies the possible value for each field in the table.
Common examples of data type:
iii) In MS-Access – Auto-number, text, number, date\Time, currency, Yes/No, and so on.
iv) In MS-SQL server - integers, Booleans, characters, floating-point numbers, datetime, and so on.
2.6 Undertaking normalization of attributes
Normalization is a process that involves dividing large tables (complex data structures) into smaller (simple and
stable data structures) that do not accept redundant values and defining relationships between them.
Database normalization is the process of organizing the fields and tables of a relational database to minimize
redundancy and to avoid update anomalies (insert, modify, and delete anomalies).
If an attribute of a table is multi-valued, it must be normalized.
Functional dependency
A functional dependency (FD) is a constraint between two sets of attributes in a table from a table in the database.
* A functional dependency occurs when one attribute in a table uniquely determines another attribute. This can
be written as: A B ("B is functionally dependent upon A").
If a particular value of one attribute (A) in a table uniquely determines the value of another attribute (B) in the same
table, then there is a functional dependency between attributes A and B.
Examples: In a table employee’s characteristic including employee ID and name, it can be said that name is
functionally dependent upon ID because an employee's name can be uniquely determined from their ID. However,
the reverse statement is not true because more than one employee can have the same name but different ID.
Full functional dependency
A full functional dependency occurs when you already meet the requirements for a functional dependency and the
set of attributes on the left side of the functional dependency statement cannot be reduced any farther.
Example: {SSN, age} name is a functional dependency, but it is not a full functional dependency because you
61
can remove age from the left side of the statement without impacting the dependency relationship.
Transitive dependency.
Transitivity dependency is a functional dependency between non-primary-key.
I.e.: It occurs when there is an indirect relationship that causes a functional dependency.
Example: A C is a transitive dependency when “A B” and “B C” are true.
A relation can be normalized to a specific form to prevent possible occurrence of update anomalies.
Four most commonly used normal forms are: - First (1NF)
- Second (2NF)
- Third (3NF) normal forms, and
- Boyce–Codd normal form (BCNF).
1st Normal Form (1NF):
A table is in 1NF if: - There are no duplicated rows in the table.
- Each cell is single-valued.
- Entries in a column (attribute, field) are of the same kind.
2nd Normal Form (2NF):
A table is in 2NF if: - it is in 1NF
- All non-key attributes are dependent on the entire key (has no partial dependencies).
3rd Normal Form (3NF):
A table is in 3NF if: - It is in 2NF
- If it has no transitive dependencies.
- There are no functional dependencies between two or more non-primary-key attributes.
Example: a table named VEHICLE, and its characteristics are Registration_No, Owner, Model, Manufacturer, and
Engine_Size, where the Registration_No is the primary key:

Registration_No Owner Model Manufacturer Engine_Size


10234 TDA Land Cruiser I Toyota 2.5
10545 REST Land Cruiser II Toyota 2.9
45454 TDA Jeep Nissan 2.5
46765 REST Land Cruiser I Toyota 2.5
54098 Mekelle University Jeep Nissan 2.5
a) Is this table satisfy the 1NF?
b) Is this table satisfy the 2NF?
c) Is this table satisfy the 3NF?

D) This table satisfies 1NF because: - no duplicated rows in the table


- Each cell is single-valued.
- Entries in a column are of the same kind.
E) This table satisfies 2NF because:
- It is in 1NF
- All non-key attributes are dependent on the key attribute. The Registration_No uniquely determines
the value of the all non-key.
F) This table does not satisfy 3NF because there is a transitive dependency (there exist functional dependencies
between non-primary-key attributes even though it satisfies 2NF).
The Model name uniquely determines the values of the Manufacturer and the Engine_Size.
- Model Manufacturer, Engine_Size (different Manufacturers do not use the same model names).
- Because of this transitivity dependency, the VEHICLE does not satisfy 3NF.
To convert the table to 3NF:
Remove transitivity dependency by creating a new table with the attributes in the dependency.
62
The determinant attribute(s) being the primary key of the new table and foreign key for the old table.
I.e.: table1: REGISTRATION (Registration_No, Owner, Model)
Table2: VEHICLE (Model, Manufacturer, Engine_Size)
Now, both the VEHICLE and REGISTRATION tables are in 3NF because:
- They are in 2NF (every non-primay-key attribute is functionally dependent on the whole primary key)
- No dependencies between non-primary-key attribute (No transitivity dependency in each table).
Boyce–Codd normal form (BCNF).
A table is in BCNF if:
- It is in 3NF and every determinant is a candidate key.
- There are no non-trivial functional dependencies of attributes on anything other than a superset of a candidate key.
BCNF is also sometimes referred to as 3.5 Normal Form (it is really an extension of 3rd Normal Form).
Anomalies can occur in relations in 3NF if there is a composite key in which part of that key has a
determinant which is not itself a candidate key.
This can be expressed as R(A,B,C), C--->A where:
. The relation R contains attributes A, B and C.
. A and B form a candidate key.
. C is the determinant for A (A is functionally dependent on C).
. C is not part of any key.
Anomalies can also occur where a relation contains several candidate keys where:
. The keys contain more than one attribute (they are composite keys).
. An attribute is common to more than one key.

2.7. Developing Entity Relationship to clarify cardinality of relationships.


An entity-relationship model (a graphical representation of entities and their relationships to each other) describes
the organization of data within databases or information systems.
In developing Entity Relationship model, the building blocks are:
Entities
- Entity types fall into five classes: roles, events, locations, tangible things or concepts.
Relationships
- A data relationship is a natural association that exists between one or more entities.
E.g. Employees process payments.
Cardinality
- Defines the number of occurrences of one entity for a single occurrence of the related entity.
E.g. an employee may process many payments, but a payment can be processed by only
one employee.
Attribute
- Name the information details (fields) which are essential to the system under development.

Cardinality Notations
Cardinality specifies how many instances of an entity relate to one instance of another entity.
Ordinarily is also closely linked to cardinality. While cardinality specifies the occurrences of a relationship,
ordinarily describes the relationship as either mandatory or optional. In other words, cardinality specifies the
maximum number of participation and ordinarily specifies the absolute minimum number of participation. When the
minimum number is zero, the relationship is usually called optional and when the minimum number is one or more,
the relationship is usually called mandatory.
63
There are many notation styles that express cardinality and they are all supported by Smart Draw and Visio
drawing software.
v. Information Engineering

vi. Chen

vii. Bachman

viii. Martin

64
2.8. Normalizing data and entity relationships diagrams
Multi-valued dependency equivalency in ERD occurs when attributes within an entity instance have more than one
value. This is a situation when some attributes within an entity instance have maximum cardinality of N (more than
1 )when an attribute has multiple values in an entity instance, it can be setup either as a composite key identifier of
the entity type, or split into a weak entity type.
- Each instance of an entity type has exactly one value for its attributes.
2.9. Forwarding documentation to client
Database documentation enables a Database designer or developer to deliver the designed system to the client.
The documentation describe the design of a database which is a collection of related data stored in one or more
computerized files in a manner that can be accessed by users or computer programs via a database management
system. The design documentation must include:
- General nature of the database
- Business context of database
- Intended use.
- Maintenance objectives/Operations
Design decisions on backup and restoration includes data and process distribution strategies, permissible actions
during backup and restoration, and special considerations for new or non-standard technologies.
LO3. Design data structures
3.2 Confirming primary and foreign keys for tables
A primary key is a column which uniquely identifies the records in a table. Most programmers recommend all
tables having a primary key (only one) to enhance the speed of queries and overall database performance.
A foreign key is a column in a table that refers a value from another table to create relationship between the tables.
A candidate key is any attribute of a table that can accept unique value in the table and it could be set as a primary
key for a table.
3.8.Reviewing client business rules
A business rule is a rule of a business, company, or corporation that defines or constrains some aspect of business.
- It describes the operations, definitions and constraints that apply to an organization or business.
3.9.Identifying referential integrity constraints
Integrity constraint is a constraint which used to ensure accuracy and consistency of data in a relational database by
prevents the user from entering the duplicate rows into tables.
Types of integrity constraints:
• Entity integrity
The entity integrity constraint states that no primary key value can be null, and there is no any duplicate entries in
the primary key column.

65
• Referential Integrity
Referential integrity is a feature provided by relational DBMS that prevents users from entering inconsistent data.
The referential integrity constraint is specified between two tables and is used to maintain the consistency among
tuples in the two tables.
- Referential integrity means the foreign key in any referencing table must always refer to a valid row
in the referenced table.
• Domain Integrity
The domain integrity states that every element from a table should respect the type and restrictions of its
corresponding attribute. A type can have a variable length which needs to be respected. Restrictions could be the
range of values that the element can have, the default value if none is provided, and if the element can be NULL.
• User Defined Integrity
Business rules may dictate/state that when a specific action occurs further actions should be triggered. For example,
deletion of a record automatically writes that record to an audit table.
3.10. Establishing DBMS constraints
Constraints within a database are rules which control values allowed in columns and also enforce the integrity
between columns and tables.
Constraints are used to limit the type of data that can go into a table.
Constraints can be specified when a table is created (with the CREATE TABLE statement) or after the table
is created (with the ALTER TABLE statement).

3.11. Developing validation rules for data


One of the main goals when building applications is to make sure that the data you enter into the database meets all
your business rules.
Data validation is a critical part of your application to ensure that your data meets the requirements developed by
your business analysts.
Designing indexes
An index is a set of one or more keys which is used to speed up access to data in a table. An index is a separate
physical data structure that enables queries to access one or more data rows fast.
Proper index design is the most important issue in tuning (alteration) SQL Server performance.
A number of ways are available to improve SQL Server performance, but the greatest speed improvement results
from having indexes that the optimizer can use to avoid table scans and reduce the I/O costs of resolving queries.
Why Use Indexes? Two primary reasons exist for creating indexes in SQL Server:
- To maintain uniqueness of the indexed column(s)
- To provide fast access to the data in tables.
3.12. Developing data dictionary
A data dictionary is a collection of descriptions of the data or items in a data model for the benefit of programmers
and others who need to refer to them. I.e.: It is a file that defines the basic organization of a database.
A data dictionary contains:
The definitions of all schema objects in the database (tables, views, indexes, clusters, procedures, functions,
triggers, and so on).
Name of the tables, names of attributes of each table, Data type of each field, Length of each field.
How much space has been allocated for, and is currently used by the schema objects.
Default values for columns
Logical structure of database
Integrity constraint information
Privileges and roles each user has been granted
Auditing information, such as who has accessed or updated various schema objects
Constraints that apply to each field, if any

66
Brief description of the expected data for each field (Constraints on data i.e. range of values permitted).
Access Authorization - the Description of database users, their responsibilities and their access rights.
Relationships between database transactions and data items.

Example of data dictionary


Table Name Column Name Data type Field size Null Validation Description
EMPLOYEE Fname Char 15 No First name of employee
Lname Char 15 No Last name of employee
Emp_Id Varchar 5 No Employee identity
Gender Char 6 No Male or female
Dept_No char 10 Yes
PROJECT Pname Char 17 No
Pcode Char 10 No
Ptype Char 25 Yes
DEPARTMENT Dname Char 20 No
Dnumber Varchar 10 No
Mgr_Id Varchar 5 Yes

Data dictionaries do not contain any actual data from the database, only bookkeeping information for managing it.

Advantages of a Data Dictionary


When a new user is introduced to the system or a new administrator takes over the system, identifying table
structures and types becomes simpler.
3.13. Documenting database design
Database design documentation is detailed information about a database’s design specifications, its internal
workings, and its functionality.
Database design documentation should include:
• Conceptual data model
Conceptual database design is the process of constructing a model of the information used in an enterprise.
- It is a High level description of the data and the constraint.
- It includes:
- Entities and Attributes
- Entity Types, Key Attributes, and Value Sets
- Relationships and Relationship Types
- Weak Entity Types
- Roles and Attributes in Relationship Types
- ER Model Notations, Naming Conventions, Design Issues.
• Logical data model is a fully attributed entity relationship diagram (ERD), which shows each entity, its
relationship to other entitles, normalized structures, and specifies the applicable business rules.
• Physical data model is the final representation of the relational database design structures(physical
implementation, access method and storage requirements).
LO4. Design queries, screens and reports
4.3 Designing user interface for database
A user interface is an interface by which people (users) interact with a machine.
User interfaces exist for: - Input, allowing the users to manipulate a system
- Output, allowing the system to indicate the effects of the users' manipulation.

67
• In Designing user interface for a database, there are two basic things:
i. Form – a form is an interface that contains some predefined data and may include some areas where
Additional data are to be filled in.
ii. Report – a report is a passive business document that used only for reading and viewing.
- It can contain data from many unrelated records or transactions.
• Guidelines for designing forms (Structuring Data Entry) and reports:
Defaults -Always provide default values when appropriate.
Captioning - Always place a caption adjacent to fields.
Format - To ease user training and data recording, use standard formats for forms and reports similar to
paper- based standard forms and reports format.
Help -Provide context-sensitive help when appropriate, for example, provide a hot key, such as the F1
key, that opens the help system on an entry.
Use meaningful titles - clear and specific titles describing content and use of form or report.
Design an easy navigation system - Clearly show how to move forward and backward
4.4 Designing queries based on requirements
Queries are a way of searching for and compiling data from one or more tables. When you build a query, you are
defining specific search conditions to find exactly the data you want.
Queries allow you to pull information from one or more tables based on a set of search conditions you define.
When planning (designing) a query that uses two or more tables, you should follow these steps:
iii. Identify every type of information you want to include in your query results.
iv. Determine the criteria that meet to retrieve the information you need.
SQL Server Management Studio has a GUI (Graphical User Interface) called ‘Query Designer’ that easily allows
users to create queries without prior knowledge of SQL.
The Query Designer allows the users to select the Data Sources of the query (which can be tables, views or
functions) and select the fields they want returned by clicking the checkbox next to the name of the desired field.
4.5.Designing output reports based on requirements
A report is a formatted and organized presentation of database information which can be an easy-to-read and print.
Database reports are the formatted result of database queries and contain useful data for decision-making and
analysis. It must always be accurate, concise, clear, and well structured.
You can design the report by using Report Designer (graphical query and design tools) which is hosted within the
Microsoft Visual Studio environment.

Report Designer provides a Report Data pane to organize data used in your report, and tabbed views for Design and
Preview so that you can design a report interactively.
Report Designer also provides query designers to help specify data to retrieve from data sources and the Expression
dialog to specify report data to use in the report layout.

Report Designer is hosted in the Business Intelligence Development Studio, which is fully integrated with the
Microsoft Visual Studio 2008 development environment. If you do not have Visual Studio 2008 installed, SQL
Server Setup installs the shell so that you can run Report Designer.

4.6.Comparing physical design with conceptual model/user needs.


Physical design is the process of producing a description of the implementation of the database on secondary
storage. It defines specific storage or access methods used by a database.
I.e: - It describes the storage structures and access methods used to achieve efficient access to the data.
Conceptual design is the process of constructing a model of the information used in an enterprise, independent of
any physical considerations. It mostly uses an Entity Relationship Model to describe the structure.
The important activities in conceptual design are to identify:
- Entities - Relationships
- Attributes - Constraints

68
LO5. Design access and security systems
5.2 Reviewing business security plan
Business security plan make sure that security is part of your business planning process.
When setting up a security plan, your business should consider all the relevant areas of its operations.
5.4.Designing password and access system
A Windows user account or a login allows a user to log in to the system. A user who subsequently wants to access a
particular database of the system may needs a database user account to work with the database.
Therefore, users must have a database user account for each database they want to use. The database user account
can be mapped from the existing Windows user accounts, Windows groups (of which the user is a member), logins,
or roles.
Setting Up Database User Accounts and login:
Most Windows users need SQL Server login account to connect to SQL Server. This shows how to design a SQL
Server login account.
* User name is the name that is used to identify the user inside the database.
* Login specifies the login for which the user is being created.
* A password is a secret word or string of characters that is used for user authentication to prove identity, or
for access approval to gain access to a resource.

5.5.Identifying multiple-user requirements


A requirement is a statement that specifies what an intended product should do, or how it should perform.
Types of requirements:
- Functional requirements specify what the system should do.
- Non-Functional requirements specify what constraints there are on the system or its development.
Identifying user needs:
Identifying user needs means understand as much as possible about the users, as well as their work and the
context of their work. System under development should support users in achieving their goals.
LO6: Confirm database design
6.2.Identifying database back-up and recovery requirements
Database backup is the process of dumping data (from a database, a transaction log, or a file) into backup devices
that system creates and maintains.
- I.e.: A backup is a copy of data from your database that can be used to reconstruct that data.
Backups can be divided into physical backups and logical backups.
Physical backups are backups of the physical files used in storing and recovering your database, such as data
files, control files, and archived redo logs.
A logical backup (export) of a database exports the database objects independent of the physical location of
those objects. Ie: a logical backup exports the data stored in a table regardless of the location of the table.
Recovery is the process of using the backup media to replace uncommitted, inconsistent, or lost data.
The reasons for data loss can be divided into the following groups:
- Program errors
- Administrator (human) errors
- Computer failures (system crash)
- Disk failures
- Catastrophes (fire, flood, earthquake) or theft

69
Therefore, Backup and recovery refers to the various strategies and procedures involved in protecting your
database against data loss and reconstructing the database after any kind of data loss.
The SQL Server backup and restore component provides an essential safeguard for protecting critical data stored in
your SQL Server databases. To minimize the risk of catastrophic data loss, you need to back up your databases to
preserve modifications to your data on a regular basis. A well-planned backup and restore strategy helps protect
databases against data loss caused by a variety of failures.
Database Engine provides four different backup methods:
- Full database backup
- Differential backup
- Transaction log backup
- File (or file group) backup
Full Database Backup
A full database backup captures the state of the database at the time the backup is started. During the full database
backup, the system copies the data as well as the schema of all tables of the database and the corresponding file
structures. If the full database backup is executed dynamically, the database system records any activity that takes
place during the backup.
Differential Backup
A differential backup creates a copy of only the parts of the database that have changed since the last full database
backup.
The advantage of a differential backup is speed. It minimizes the time required to back up a database, because the
amount of data to be backed up is considerably smaller than in the case of a full database backup.
Transaction Log Backup
A transaction log backup considers only the changes recorded in the log. This form of backup is therefore not based
on physical parts (pages) of the database, but rather on logical operations (that is, changes executed using the DML
statements INSERT, UPDATE, and DELETE). Because the amount of data is smaller, this process can be performed
significantly quicker than a full database backup and quicker than a differential backup.
File or File group Backup
File (or file group) backup allows you to back up specific database files (or file groups) instead of the entire
database. In this case, Database Engine backs up only files you specify.
Individual files (or file groups) can be restored from a database backup, allowing recovery from a failure that affects
only a small subset of the database files. You can use either a database backup or a file group backup to restore
individual files or file groups.

a differential backup is speed. It minimizes the time required to back up a database, because the amount of data to be
backed up is considerably smaller than in the case of a full database backup.
Transaction Log Backup
A transaction log backup considers only the changes recorded in the log. This form of backup is therefore not based
on physical parts (pages) of the database, but rather on logical operations (that is, changes executed using the DML
statements INSERT, UPDATE, and DELETE). Because the amount of data is smaller, this process can be performed
significantly quicker than a full database backup and quicker than a differential backup.
File or File group Backup
File (or file group) backup allows you to back up specific database files (or file groups) instead of the entire
database. In this case, Database Engine backs up only files you specify.

70
Individual files (or file groups) can be restored from a database backup, allowing recovery from a failure that affects
only a small subset of the database files. You can use either a database backup or a file group backup to restore
individual files or file groups.

MODULE TITLE: Designing Program Logic


NOMINAL DURATION: 90 hrs
LO1: Select the program design approach
1.1 Obtaining design documentation and requirement for the program clarification
Pseudocode
In computer science and numerical computation, pseudocode is an informal high-level description of the operating
principle of a computer program or other algorithm.
- An outline of a program, written in a form that can easily be converted into real programming statements.
- It cannot be compiled nor executed, and there is no real formatting or syntax rules. It is simply an important
step in producing the final code.
An algorithm is a procedure for solving a problem in terms of the actions to be executed and the order in which
those actions are to be executed.
- An algorithm is merely the sequence of steps taken to solve a problem. The steps are normally "sequence,"
"selection,” "iteration," and a case-type statement.
The "selection" is the "if then else" statement, and the iteration is satisfied by a number of statements, such as the
"while," " do," and the "for," while the case-type statement is satisfied by the "switch" statement.
Algorithm vs Pseudocode
Both Algorithm and Pseudo code more or less describe the logical sequence of steps that follow in solving a problem
Pseudocode consists of short readable and formally-styled natural language that used to explain specific tasks within
a program's algorithm while an Algorithm is a group of instructions or a set of steps applied to solve a particular
problem. - A Pseudo code is a method used to define an algorithm.
- An algorithm is written in a natural language while pseudo code can be written in high level
programming languages.
- Pseudcode cannot be executed on a real computer, but it models and resembles real programming code,
and is written at roughly the same level of detail.
Example: The following pseudocode describes an algorithm which will accept two numbers from the keyboard and
calculate the sum and product displaying the answer on the monitor screen.
Solution: Use variables sum, product, number1, number2 of type real
Display “Input two numbers”
Accept number1, number2
Sum = number1 + number2
Print “The sum is “, sum
Product = number1 * number2
Print “The Product is “, product
End program
Flow charts
A flowchart is a type of diagram that represents an algorithm or process, showing the steps as boxes of various
kinds, and their order by connecting those with arrows.
This diagrammatic representation can give a step-by-step solution to a given problem.

71
Flowcharts are used in analyzing, designing, documenting or managing a process or program in various fields.
A flow chart can be used to:
• Define and analyze processes.
• Build a step-by-step picture of the process for analysis, discussion, or communication.
• Define, standardize or find areas for improvement in a process

Most flow charts are made up of three main types of symbol:


• Elongated circles, which signify the start or end of a process.

• Rectangles, which show instructions or actions.

• Diamonds, which show decisions that must be made

Within each symbol, you can write down what the symbol represents. The above diagrams show the start or finish of
the process, the action to be taken, or the decision to be made respectively.
Symbols are connected one to the other by arrows, showing the flow of the process.
Example1: The following pseudocode describes an algorithm which will accept a number from the keyboard and
calculate the sum of n numbers and design the corresponding flowchart.
Solution: Start
Sum = 0
Display “Input value n”
Input n
For (I = 1, n, 5)
Input a value
Sum = sum + value
Increment
ENDFOR
Output sum
Stop

72
Exercise: 2
Design the Pseudocode that sums all the even numbers between 1 and
20 inclusive and then displays the sum.
It uses a repeat loop and contains a null else within the repeat loop.
Start
Sum = 0
count = 1
REPEAT
IF count is even THEN sum = sum + count
count = count + 1
UNTIL count > 20
DISPLAY sum

ERD’s
An entity-relationship diagram is a data modeling technique that creates a graphical representation of the entities,
and the relationships between entities, within an information system.

73
Data modeling is the formalization and documentation of existing processes and events that occur during
application software design and development.
The three main components of an ERD are:
- The Entity is a person, object, place or event for which data is collected.
Example: if you consider the information system for a business, entities would include not only customers,
but also the customer's address, and orders as well. The entity is represented by a rectangle and labelled with
a singular noun.
- The Relationship is the interaction between the entities. A relationship may be represented by a diamond
shape that can be connected by the line to the entities. Verbs are used to label the relationships.
- The cardinality defines the relationship between the entities in terms of numbers. The three main cardinal
relationships are: one-to-one, expressed as 1:1; one-to-many, expressed as 1:M; and many-to-many,
expressed as M:N.
The steps involved in creating an ERD are:
o Identify the entities.
o Determine all significant interactions.
o Analyze the nature of the interactions.
o Draw the ERD.
DFD’s
Data flow diagram is the directional movement of data to and from external entities, the process and data stores.
If it flows into a data store, means a write, update, delete, etc. Flows out of data stores, mean read, display (select)
types of transaction.
- DFD is an excellent communication tool for analysts to model processes and functional requirements.
- It represents the flows of data between different processes in a business.
DFDs only involve four symbols. They are:
. Process
. Data flow/Data Object/
. Data Store
. External entity

Process
Transform of incoming data flow(s) to outgoing flow(s).

Data Flow
Movement of data in the system.
Data Store
Data repositories for data that are not moving. It may be as simple as a buffer or a queue.
External Entity
Sources of destinations outside the specified system boundary.

HIPO Charts
The HIPO (Hierarchy plus Input-Process-Output) acts as a hierarchical chart for the function performed by the system.

74
The HIPO chart is a tool used to analyze a problem and visualize a solution using the top down design approach.
Starting at the global (macro) level, the chart is decomposed repeatedly at ever-greater levels of detail until the
logical building blocks (functions) are identified.
A HIPO model consists of a hierarchy chart that graphically represents the program’s control structure and a set of
IPO (Input-Process-Output) charts that describe the inputs to, the outputs from, and the functions (or processes)
performed by each module on the hierarchy chart.
The general model is illustrated below:

Data Structure
In computer science, a data structure is a particular way(specialized format) of storing and organizing data in a
computer so that it can be used efficiently.
- It provides a means to manage huge amounts of data efficiently, such as large databases.
- It includes the array, the file, the record, the table, the tree, and so on.
A data structure is a group of data elements grouped together under one name. These data elements, known as
members, can have different types and different lengths.
RAD
RAD (Rapid Application Development) is a more advanced program design tool (a programming system) that
enables programmers to quickly build working programs.
In general, RAD systems provide a number of tools to help build graphical user interfaces that would normally take
a large development effort.
RAD is the process of quickly placing controls on a form—like you just saw done with Visual Basic.
Example: When you place controls on a form, the Visual Basic system handles all the programming needed for that
control. You don't ever have to write anything to make a command button act like a command button should. Your
only goal is to determine how much command buttons your program needs and where they are to go.
75
Case Tools
CASE tool (Computer Aided Software Engineering tool) is software that can be used to mean any computer-based
tool for software planning, development, and evolution.
- CASE tool is software that assists with software development.
The main purpose of using a CASE tool is to produce error-free, easy to maintain program code.
- It is a category of software that provides a development environment for programming teams.
- It is the use of a computer-assisted method to organize and control the development of software, especially
on large, complex projects involving many software components and people.
CASE systems provide tools to automate, manage and simplify the development process.
These can include tools for:
. Summarizing initial requirements
. Developing flow diagrams
. Scheduling development tasks
. Preparing documentation
. Controlling software versions
. Developing program code
Prototyping
Prototyping is the process of quickly putting together a working model (a prototype) in order to test various aspects
of a design, illustrate ideas or features and gather early user feedback.
Prototyping is often treated as an integral part of the system design process, where it is believed to reduce project
risk and cost.
- It can also be a method used by designers to acquire feedback from users about future designs.
The goal of prototyping is to support requirements determination to develop concrete specifications for the ultimate
(final) system.
Prototyping is most useful in the following circumstances/situation
o User requirements are not clear or well understood
o Only one or a few users involved
o Possible designs are complex
o Communication problems have existed in the past, between users and analysts
Modular programming
Modular programming (also called "top-down design" and "stepwise refinement") is a software design technique
that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each
contains everything necessary to execute only one aspect of the desired functionality.
A module is a separate unit of software or hardware.
- Modular programming means break a large program into smaller independent modules (process of
subdividing a computer program into separate sub-programs)
So, Modular programming is a solution to the problem of very large programs that are difficult to debug and
maintain. By segmenting the program into modules that perform clearly defined functions, you can determine the
source of program errors more easily.
In modular programming, similar functions are grouped in the same unit of programming code and separate
functions are developed as separate units of code.
Modular programming enables multiple programmers to divide up the work and debug pieces of the program
independently.
The benefits of using modular programming include:
• Less code has to be written.
• A single procedure can be developed for reuse, eliminating the need to retype the code many times.
76
• Programs can be designed more easily because a small team deals with only a small part of the entire code.
• It allows many programmers to collaborate on the same application.
• The code is stored across multiple files.
• Code is short, simple and easy to understand.
• Errors can easily be identified, as they are localized to a subroutine or function.
• The same code can be used in many applications.
• The scoping of variables can easily be controlled.
LO2. Document the program logic or design
2.1 Structuring diagrams of flow and modules
• Visio
Visio is a Microsoft tool for drawing diagrams, including database diagrams (ERDs).
It is a diagramming tool that can be used to visually communicate technical as well as non-technical representations
of ideas, processes, concepts, structures, layouts, software models, blueprints, etc.
- Visio software eliminates the laborious (difficult or lengthy) process of creating diagrams by providing the
tools to create complex diagrams in a user friendly manner.
• Smart Draw
Smart Draw is a visual processor used to create flowcharts, organization charts, mind maps, project charts, and
other visuals.
I.e.:- It is a tool used to help you create visuals for reports, presentations, business functions, and any other reason
you may need visuals.
Smart Draw is unique in three key ways:

1. It is automated. Smart Draw is the only software that makes it possible for anyone to create presentation-
quality visuals in minutes. Instead of forcing you to draw visuals manually, it draws for you, ensuring a
professional result every time.
2. It is comprehensive (complete). Smart Draw is the only software that allows you to create every kind of
visual-more than 70 different types-including flowcharts, timelines, org charts, mind maps, floor plans,
marketing charts and more.
3. It is integrated. Smart Draw works seamlessly (effortlessly) with Microsoft Office.
Create a drawing in 3 basic steps
There are many kinds of Visio drawings, but you can use the three basic steps to create nearly all of them:
- Choose and open a template.
- Drag and connect shapes.
- Add text to shapes.
The following steps show how to create a basic flowchart.
Step 1: Choose and open a template
. Start Visio 2007.
. In the Template Categories list:
* Click Flowchart to Design flowchart.
* Click Basic diagram to Design the ERD for a database.
* Click software to develop data flow diagram, and so on.
Example: To create a flowchart, in the Flowchart window, under Featured Templates, double-click Basic Flowchart.

77
When you open a template, the shapes you need open with it, in collections called stencils. The stencils that open
with the Basic Flowchart template are called Arrow Shapes, Backgrounds, and Basic Flowchart Shapes.
What are Visio shapes, stencils, and templates?
. Visio shapes, stencils, and templates can make Visio much easier to use.
• Shapes
Visio shapes are ready-made images that you drag onto your drawing page.
. Visio shapes are the building blocks of your drawing.
. The shapes can be a collection of shapes that you need to create a particular kind of diagram.

• Stencils
Visio stencils hold collections of shapes. The shapes in each stencil have something in common.
The Basic Flowchart Shapes stencil contains common flowchart shapes, and the Backgrounds stencil contains a
variety of backgrounds. You can even create your own stencil of favorite shapes.

• Templates
A Visio template combines a blank drawing page with any combination of the following:
. Stencils full of the shapes that are needed to create a particular kind of drawing.
. Each template opens with the stencils that you need to create a particular kind of drawing.

78
Step 2: Drag and connect shapes
To create your drawing, all you need to do is drag shapes from stencils onto the blank drawing page and connect
them to one another.
i. Drag the selected shape from the Basic Flowchart Shapes stencil onto the drawing page, and then release
the mouse button.
ii. Drag the connector from the Basic flowchart Shape stencil onto the drawing page, and then put the
connector between the two shapes and connect them.
iii. Continue to build your drawing by repeating steps i-ii.

Step 3: Add text directly to a shape


. Double-click the shape.
. Start typing.
. When you finish typing, click on a blank area of the drawing page.

79
How to create the ER Diagram of a database using Visio software?
- Open the Visio program
- File new choosing drawing type
- Double click on Block Diagram
- Click on Basic Diagram

If you need another basic shape like diamond shape , you can click the find shape button on the top tool bar and
search for a shape.

80
To increase the readability you also want to change the Begin and the End Size of the connector.

To add attributes, use the Oval shape and the connector again (line connector this time).
You can format the Line around the Ovals to indicate derived attributes etc.

81
ERD naming, conventions, and design issues
Specify structural constraints on relationships
Replaces cardinality ratio (1:1, 1:N, M:N) and single/double line notation for participation constraints
Entity naming convention
. Entity names should be a noun, singular (written in upper case).
. Where necessary, underscores should join the words.
. Where possible, avoid using the organization’s name as part of the table name.
. For physical implementation, Entity Names can have a maximum of 44 characters.
. Names for the entities must be meaningful and must not conflict with other entity names.
. Where abbreviations are used, the full words must be obvious.
. Each entity name should be unique in the database
Attribute Naming convention
. Attributes’ name initial character should be upper case followed by lower case.
. Where necessary, underscores should join the words.
. No two attributes of an entity type having the same attribute name, but Attributes of different entities
can have the same name.

82
Notation for UML class diagrams
What is UML?
The UML (Unified Modeling Language) is a general-purpose visual modeling language that is used to specify,
visualize, construct, and document the object of a software system. It captures decisions and understanding about
systems that must be constructed.
The UML gives you a standard way to write a system’s blueprints, covering conceptual things, such as business
processes and system functions, as well as concrete things, such as classes written in a specific programming
language, database schemas, and reusable software components.”
What is class?
- A class is a set of objects that share the same attributes, operations, and relationships. So, a class is similar to an
entity type, only operations are added.
- It is the most important building block of any object-oriented system.
A class is symbolized by a rectangle with normally three “compartments” (sections) that contain:
Top section (class name).
Middle section (attributes).
Bottom section (operations that can be applied to individual objects).

For example, see the figure below:


Class name
STUDENT COURSE
First Name: String Title: string
Last Name: String List of data attributes Code: string
Email: String Credit: integer
Age: integer Total credit (): integer
Total Points (): Integer Set password: string
Set Password: String List of operations
83
• Relationships in UML are called “associations”.
• Cardinalities in UML are called multiplicities.
Place multiplicity notations (association names) above, on, or below the association line near the ends of an
association in the form of (min, max). These symbols indicate the number of instances of one class linked to one
instance of the other class.

An operation is a specification of a transformation or query that an object may be called to execute.


It has a name and a list of parameters.
1.2.Enhanced ER diagram and UML modeling
Enhanced ER diagram includes all modeling concepts of the ER model.
In addition, EER diagram includes:
- Subclasses and superclasses
- Specialization and generalization
- Category or union type
- Attribute, relationship, and inheritance
EER diagram is used to model concepts more accurately than the ER diagram
Represent specialization/Generalization and inheritance in UML class diagrams
Specialization, generalization and inheritance in UML class diagrams include Basic notation for superclasse,
Subclasses, association and multiplicity.
An UML class diagram includes the following elements:
Class - A class represents a relevant concept from the domain, a set of persons, objects, or ideas.

Attribute- An attribute of a class represents a characteristic of a class .

84
Generalization - Generalization is the process of extracting shared characteristics from two or more classes, and
combining them into a generalized superclass.

Association - An association represents a relationship between two classes:


Works_on
An association indicates that objects of one class have a relationship with objects of another class, in which this
connection has a specifically defined meaning.
Multiplicity - A multiplicity allows for statements about the number of objects that are involved in
an association:

Aggregation - An aggregation is a special case of an association (see above) meaning “consists of”:

2.2 Documenting program scope and limits


Scope is an important concept in programming languages – one cannot read or write large programs without
properly understanding the concept of scope. The scope of a variable in a program is the lines of code in the
program where the variable can be accessed.
In other hand, the program SCOPE document is all about realistic limits, boundaries, and how to achieve the
goals of the program and program limit document is a document which contains the different types of conditions in
the program.
2.3 Documenting special routines or procedures
Identifying and revising references
• Tables
A table is a set of data elements (values) that is organized using a model of vertical columns (which are identified by
their name) and horizontal rows, the cell being the unit where a row and column intersect.
A table has a specified number of columns, but can have any number of rows.
In computer programming, a table is a data structure used to organize information, just as it is on paper.
• Inputs
Input refers to anything that is given to a computer for processing. It may take various forms such as numbers for
calculation, text to be printed, etc. The computer has to be told what to do with the input
It is usually connected with other terms, e.g., input field, input variable, input parameter, input value, input signal,
input port, input device and input file (file format).

• Outputs
Any information that has been processed and comes from a computer or computer device is considered output.
- It refers to the result of data processing such as a printed text.
Once the computer processes the input using the instructions given to it, it produces an output using an output device
such as a screen or a printer.
85
• Other program functionalities
The functionalities of a computer program are in fact dictated (read out) by a specific and limited purpose.
In this, they are similar to ideas. That is why there may be a number of computer programs offering the same
functionalities.
2.1 Applying Templates
A template is a tool for enforcing a standard layout and look and feel across multiple pages or within content
regions. When you change a template, any pages or regions that are based on that template are automatically
changed as well. Templates provide additional standardization controls, depending on the type you use.
- Templates must be used as applicable
LO3. Validate the design
3.1.Checking program flow, states or conditions
Testing aimed at ensuring that a product or system fulfils the defined user needs and specified requirements, under
specified operating conditions.
3.1.1 Interfaces and compliance to design documentation requirement
An interface control drawing or interface control document describes the interface or interfaces to a system or
subsystem. Ensuring the compliance of individual projects with the enterprise architecture is an essential aspect of
architecture governance.
Program flow, states or conditions are checked for interfaces and compliance to design documentation requirements
3.2.Gaining feedback or input
Gaining feedback from appropriate person enables you to revise the designed system again to satisfy your
customers. By getting customer feedback, you can make your customers happier.

MODULE TITLE: Gathering Data to Identify Business Requirements


NOMINAL DURATION: 30 hrs
LO1. Identifying the key information sources
1.1 Introduction to the module
1..1. Overview of information
In computing science, Information refers to the output (processed data) or result of the processing task.
Data on its own may have no meaning, and only when interpreted by some kind of data processing system, it may take on
meaning and become information.
I.e.: Information is a collection of meaningful facts and figures that can be used as a base for guidance and decision making.
- Information is necessary for each action we take and the decisions we make.
- The value of information can be measured by its:
Accuracy - The information must be clear and accurately reflect the meaning of the data.
If information is inaccurate, it leads to wrong decision which in turn results in investment of unnecessary time, energy and cost.

86
Timeliness - The right information must be delivered to the right person at the right time.
- This refers to getting information within the needed time.
- The objective of data processing is “getting the right information to the right person at the right time”.
Meaningfulness -The information produced by the data processing system must be meaningful to the people.
- The information must be appropriate and relevant to the user’s needs.
1..2. Documentary sources
Sources of information
Information can be obtained from various sources but generally we can classify the sources into two categories.
A. Documentary sources
B. Non-documentary sources
A. Documentary sources:
Documentary sources are written documents that are stored in different formats. These sources can further be classified as
primary, secondary and tertiary sources.
• Primary documentary sources are first published records of original research and development activities.
- It may also reflect a description of new application or new interpretation of an old idea.
- If a document represents unfiltered and original idea, it can be classifies under this category.
• Secondary documentary sources are those sources which are either compiled from or referred to primary source of
information in order to serve a particular purpose.
- Unlike the primary sources, the secondary documentary sources of information have filtered, organized, digested
and repackaged information. Examples include: indexes, textbooks, reference books etc.
• Tertiary documentary sources contain information that is refined or distilled and collected from primary and
secondary sources.
- Usually these sources are organized with the aim of assisting the search of information in the use of primary and
secondary sources.
B. Non-documentary sources
Non-Documentary sources are information that is not contained in written format.
Example: - information that is transferred from generation to generation orally is considered to be a non-documentary source.
1.2 Identifying information repository
Repository commonly refers to a location for storage or a place or container in which things can be stored for safety.
Information repository is a central place where data is stored and maintained. Example: Information repository is like a library.
- A repository can be a place where multiple databases or files are located for distribution over a network, or it can be a
location that is directly accessible to the user without having to travel across a network.
Numerous organizations use information repositories to handle their data and may network with others to share material as
necessary. You will find repositories for government forms and data, maps, and even computerized data.
1.3 Reviewing current organization document
The legal documents in the organization may incorporate:
. Business forms
. Policy documents
. Financial statements
. Performance reports
. Annual reports
1.3.1 Business forms
Form – A business document that contains some predefined data and may include some areas where additional data
are to be filled in. An instance of a form is typically based on one database record.
Report – A business document that contains a passive document used only for reading and viewing.

87
- A report typically contains data from many unrelated records or transactions.
1.3.2 Policy documents
The policy document is a formal document that is regarded as a legally binding document.
- The purpose, definitions and the responsibilities outlined within its content must be uphold/maintain in order to support
an individual.
1.3.3 Financial statements
A Financial Statement (is a document reporting business financial performance and resources.
- It is a formal record of the financial activities of a business, person, or other entity.
Some common financial statements are:
• A balance sheet, showing a business's assets, liability, and owner's equity or retained earnings.
• An income statement, showing the sales and expenses of a business over a period of time.
• A cash flow statement, showing the cash in and out of a business over a period of time.
Financial statements are usually compiled on a quarterly and annual basis.
1.3.4 Performance reports
A performance report is a report on the performance of something.
It is a statement that displays measurements of actual results of some person or entity's activity over some time period.
Such reports also will contain performance indicators which measure the achievements of the organisation and its programmes.
1.3.5 Annual reports
An annual report is a comprehensive report on a company's activities throughout the preceding year.
The contents of annual report provide information about how well the business is doing financially, upcoming changes
projected for the next year, and the management staff of the company.
- Concerned parties, such as shareholders, can use an annual report to make important decisions.
- At a minimum, an annual report must include a balance sheet, a report from an independent auditor, an income
statement, and a general report on company operations.
1.4 Developing critical questions
1.4.1 Using open and close ended questions
Asking questions is a basic way to gather more information.
The reasons why you need to ask questions include:
. To gain Information - To gather additional information, someone may ask the concerned body in detail.
. To clarify and verify Information.
. To check for understanding and level of interest - For understanding and evaluation purpose, someone may
raise more questions.

1. Open-ended questions
Open-ended questions are unstructured questions in which (unlike in a multiple choice questions) possible
answers are not suggested, and the respondent answers it in his or her own words. Such questions usually begin with
a how, what, when, where and why, and provide qualitative instead of quantitative information.
- Open-ended questions are reflexive questions.
Example: - What are the main tasks that you use your computer for?
- What would you like to do on your computer that you cannot do now?
- What factors you take into account when buying a vehicle?
- Tell me about your relationship with your boss
- What do you think about the two candidates in this election?
- What kind of information are you looking for?
2. Closed-ended questions
88
A closed-ended question is a type of question which encourages a short or single-word answer.
. It provides a set of answers from which the respondent must choose.
. Multiple choice questions are examples of closed-ended questions.
Example: - Can I help you?
- Can you give me an example?
- What operating system is installed on the computer?
- What main software do you use?
- Do you know how much memory your computer has?
- Is the computer connected to a network?
What is the difference between an open-end question and a close-end question?
* Open-ended questions usually have no real 'right' or 'wrong' answer. It is what you think.
* Close-ended questions have a definite 'correct'(‘yes’ or ‘no’) answer.
LO2. Gather data through formal and informal process
2.2 Information gathering techniques
2.1.1 Questionnaires
A questionnaire is a research instrument consisting of a series of questions and other prompts for the purpose of
gathering information from respondents.
- Questionnaires are effective mechanisms for efficient collection of certain kinds of information.
- The standard questionnaire design is a set of questions with fixed alternatives. These alternatives should have
yes/no, multiple options or rank scaling.
- All the readers need to do is tick/choose or scale the most appropriate answer according to them.
Generally questionnaires have subjective/objective and qualitative/quantitative options depending on their type.
* Questionnaire serves four basic purposes:
i) To collect the appropriate data.
ii) To make data comparable and amenable to analysis.
iii) To minimize bias in formulating and asking question.
iv) To make questions engaging/attractive and varied.
2.1.2 Interviews
An interview is a conversation between two or more people (the interviewer and the interviewee) where questions
are asked by the interviewer to obtain information from the interviewee.

2.1.3 Observation
Observation can be defined as the visual study of something or someone in order to gain information or learn about
behaviour, trends, or changes. This allows us to make informed decisions, adjustments, and allowances based on
what has been studied.
An observation is a method of data collection in which the situation of interest is watched and the relevant facts,
actions and behaviours are recorded.
2.1.4 Surveying
A survey is a data collection tool that used to gather information about individuals.
Surveys are commonly used in psychology research to collect self-report data from study participants.
A survey can be administered in a couple of:
- Structured interview - the researcher asks each participant the questions.

89
- Questionnaire, the participant fills out the survey on his or her own.
Advantages of Using Surveys
• Surveys allow researchers to collect a large amount of data in a relatively short period of time.
• Surveys are less expensive than many other data collection techniques.
• Surveys can be created quickly and administered easily.
• Surveys can be used to collect information on a wide range of things, including personal facts, attitudes, past
behaviours and opinions.
2.2 Reviewing Reports and data sources
Reviewing report refers to the process wherein the proposed report is examined in detail for both its technical
content and its composition by the author, the author's supervisors, and the technical review committee or a single
reviewer.
A data source is simply a collection of records that is stored in the media.
A data source is any of the following types of sources for (mostly) digitized data:
• a database
o Data source is a special name for the connection set up to a database from a server.
• a computer file
A data source, also called a data file, is simply a collection of records that store data. This data is used to populate
merge fields in mail merges. These files can be databases from Access. In theory, any Open Database Connectivity
(ODBC) database can be used as a data source.
Actually, just about anything that can be organized by category heading, such as First Name, Last Name, Address,
etc., can be used as a data source.
2.3 Confirming Business critical factors
2.3.1 Response times
In technology, response time is the time a system or functional unit takes to react to a given input.
Response time may refer to Reaction time, the elapsed time between the presentation of a sensory stimulus and the
subsequent behavioral response.
2.3.2 Scalability
Scalability is the ability of a system to expand to meet your business needs. You can scale a system by adding extra
hardware or by upgrading the existing hardware without changing much of the application.
It is the ability of a computer application or product (hardware or software) to continue to function well when it is
changed in size or volume in order to meet a user need.
2.3.3 Traffic
Traffic is the load on a communications device or system.
One of the principal jobs of a system administrator is to monitor traffic levels and take appropriate actions when
traffic becomes heavy.
2.3.4 Data knowledge and management
Knowledge is what we know.
I.e. Knowledge is the appropriate collection of information, such that its intent (aim) is to be useful.
. A knowledge base provides a means for information to be collected, organised, shared, searched and utilised.
Data Management is administrative process by which the required data is acquired, validated, stored, protected, and
processed, and by which its accessibility, reliability, and timeliness is ensured to satisfy the needs of the data users.
2.3.5 Security
Security is the degree of protection against danger, damage, loss, and crime.
- It has to also be compared to safety, continuity, reliability.
90
- In addition to reliability, security must take into account the actions of people attempting to cause destruction.
2.3.6 Customer demographics
Demographic is the physical characteristics of a population such as age, sex, marital status, family size, education,
geographic location, and occupation.
Customer demographic is a description of a customer or set of customers that include all the measurements
necessary to statistically describe the end-user base in a given market.
This would include the measurement of parameters such as:
• Total number of customers
• Customers by the number of employees
• Customers by the size of production
• Customer budgets and expenditures

2.3.7 Customer confidence


Customer confidence is the degree of optimism/hopefulness that consumers are expressing for the state of the
economy through their saving and spending activity.
It is an economic indicator which measures the degree of optimism that consumers feel about the overall state of the
economy and their personal financial situation.
2.4 Defining and analyzing business priority
Priority is precedence, especially established by order of importance or urgency.
. Good business planning must involve setting priorities and working on the most important ones first.
. Business budgeting is the process of allocating available resources among a variety of possible expenditures
based on priority.

LO3. Ensure Analysis is accurate and complete


3.1 Analyzing and evaluating accurate and consistent information
Information should provide some value to its user since user need it to make decision or take an action.
- Gathered information must be analyzed and evaluated for accuracy and consistency.
• Analyzing means separate things or idea into constituent parts or elements and studying their interrelations
to determine (find out or examine): - The elements or essential features.
- Their nature, proportion, function, interrelationship, etc.
• Evaluating means determining significance or worth usually by careful appraisal and study.
- It is the process of determining the worth or value of something
- Kinds of evaluation can be – qualitative or quantitative
Example: - Answers the question "How well did we do?" (Qualitative evaluation)
- Answers the question "How much did we do? (Quantitative evaluation)

3.2 Resolving conflicts in information or point of views


- Conflicts in information or points of view are resolved with stakeholders.
Conflict, arguments, and change are natural parts of our lives, as well as the lives of every agency, organization, and nation.
Conflict resolution is a way for two or more parties to find a peaceful solution to a disagreement among them. The
disagreement may be personal, financial, political, or emotional.
LO4. Submit analysis and gain agreements
4.1 Preparing detailed document
4.1.1 Using documentation standards
Documentation is collection of information that describes the product to its users how it can be operated or used.
91
• Detailed document must be prepared according to documentation standards and organizational templates.
• Standard documentation is a set of documents provided on paper, or online, or on digital media within
standard format.
4.1.2 Using organizational templates
A template is a form, mold, or framework as a guide to making something.
Example: - A ruler is a template when used to draw a straight line.
- A document in which the standard opening and closing part is a template.
• An Organizational template means an organizational format.
4.2 .Writing succinct and appropriate document
Succinct means 'short and to the point' or 'brief and to the point.'
- Document in a style are written that is succinct and appropriate to the audience.
4.3. Ensuring the availability of data gathered to client
• Data gathered are communicated to client to gain consensus and agreement on business requirements.
Data availability is the process of ensuring that data is available to end users and applications- when and where they
need it. The availability of data will also depend on how information is currently captured and stored.

MODULE TITLE: Identifying Physical Database Requirements


NOMINAL DURATION: 60 hrs
LO1. Identify database scope
- Scope is the range of one's perceptions, thoughts, or actions
A good database is one that is simple to understand and well planned.
One can use ERDs (Entity-Relationship Diagrams) or EERDs (Enhanced-Entity Relationship Diagrams) in order to
make a good database.

92
The Scope of Good Database Design:

- Easy to locate the data.


- No redundant data (No repeated).
- More security.
- Table references (keys like: Primary and foreign keys) are easy to maintain.
1.1 Reviewing system architecture and user requirements
1.1.1 Operating system
Operating System is a set of programs that manages computer hardware and various resources installed on it.
You have to check the operating system loaded on your the machine whether it is compatible with the DBMS
software you want to install or not.
1.1.2 DBMS software
A database management system is the software that:
. Enables users to define, create, and maintain the database
. Provides controlled access to the database.
. Interacts with the users, application programs, and the database itself.
. Allows users to insert values, retrieve it when needed, update/modify it when necessary, and delete it if not
required from the database.
Each database application has its own specific strength and weakness.
• Some of the common database applications include:
- Microsoft Access - Microsoft SQL
- Oracle and Informix. - MySQL
1.1.3 Configuration : small and large memory model
A memory of large size and processor with high speed of data processing might be required to run
the DBMS software.
1.2 Determining Database size and technical specifications
Database Size means the amount of data to be stored in the designed system.
- You can specify sizes for data and log file in the definition of a database.
- File Growth: You can specify whether a file will grow in size in the future if necessary.
Example: - Specifying memory size during database Creation
When you design a database, you may have to estimate how large the database will be when filled with data.
Estimating the size of the database can help you determine the hardware configuration you will require to do the following:
• Achieve the performance required by your applications.
• Guarantee the appropriate physical amount of disk space required to store the data and indexes.
Estimating the size of a database can also help you determine whether the database design needs refining.

1.3 Documenting Database and scope of project


Documenting a database means collecting and analyzing information about the organization to be supported by the
database system, and use this information to identify the requirements for the new database system.
- Before attempting to design a database system, you must first identify the scope and boundary of the project.
93
- When defining the system boundary for a database system, we include not only the current user views but
also any known future user views.
1.4 Evaluating Several database management systems and making appropriate selection
Evaluating DBMS software means comparing DBMSs software one from the other to select the appropriate one.
The selection must be based on its feature to create a database, disk space it needs, its strength, its flexibility and cost.

LO2. Identify database requirements


2.1. Reviewing Technical specifications
Technical specifications are typically written by computer department staff that answers specification questions
such as: - What are the hardware and software requirements to run this system?
(Be sure to specify a minimum of disk space to store the data)
- “What is the compatible operating system for the selected DBMS?"
- "How many tables are included in the database and how are they related?"
- describe the file structure for each table.
2.2. Identifying database tables and relationships
What is entity in a database?
An Entity is a thing in real-world (an object with a physical existence or an object with a conceptual existence).
- person/employee, car, book, house, employee, etc are example of objects with physical existence
- A project, course, payment, department, etc are examples of objects with object with a conceptual existence.
- Entity can be roles, events, tangible things or concepts.
* Each entity must have its own identity that distinguishes it from every other entity, called unique identifier.
Example: Each Student has a unique ID that distinguishes one from others.
Generally in database terms, an entity is a table which is responsible for storing records in the database.
In E-R Diagram, an entity is represented by a rectangle. Example:

Other terms related to Entity include:


. Entity type
. Entity set
. Entity instance
Entity type is a collection of entities that share common properties or characteristics.
Example: - Student is an entity type to all students.
In E-R Diagram, an entity type is represented by a rectangle, and the name is indicated in capital letters.
Example:
DEPARTMENT EMPLOYEE

Entity set is a set of entities (collection of Entities/instances) of the same type.


Example: - a company have many employees, and these employees are defined as entities (e1,e2,e3....) and all
these entities having same attributes are defined under ENTITY TYPE employee.
I.e. Entity set is also called Entity Extension.
Entity Instance is a single occurrence of a particular entity type. An entity type is described just one time in the

94
data model, but many instances of that entity type may be represented by data stored in the database.
Example: - There may be hundreds or thousands of employees in an organization – each one is an instance of
the Employee entity type.
Entity type name EMPLOYEE PROJECT
Attributes name Name, Age, salary Pname, Pcode, Location
e1 P1
(Abebe, 25, 3500) (Database, p001, Bahir Dar) One entity instance
e2 P2
Entity set (Daniel, 42, 2500) (Water, P002, Gonder) One entity instance
(Entity e3 P3
Extension) (Aster, 32, 3000) (Construction, P003, Gonder)
. . One entity instance
. .
*
. .
pn
*
en *
Relationships
A relationship is an association that exist b/n two or more participating entities.
- The function of relationship is to share data between entities.
- In E-R Diagram, a relationship is represented by a diamond shape.

- Some example of relationships are: - EMPLOYEES works_on PROJECTS


- EMPLOYEES process PAYMENTS
- EMPLOYEES works_for DEPARTEMENT
Types of relationship
There are three types of relationships between entities
* One-to-one: - one instance of an entity (A) is associated with one instance of another entity (B).
Example: - the manages relationship between department and employee
- President to country and husband to wife are examples of one-to-one relationship.
* One-to-many: - one instance of an entity (A) is associated with zero, one or many instances of another entity
(B), but for one instance of entity (B) there is only one instance of entity (A).
Example: - the has relationship between department and employee
- Country to people, mother to children, department to students, and people to religion are of one-to- many
relationships.
* Many-to-many: - one instance of an entity )A) is associated with zero, one or many instances of another entity
(B), and one instance of entity (B) is associated with zero, one or many instances of entity (A).
Example: - the works_on relationship between employee and project
- Students to course, employee to projects, and people to language are of many-to- many relationship.
2.3. Identifying data dictionary, table attributes and keys
What is data dictionary?
A data dictionary is a collection of descriptions of the data objects or items in a data model for the benefit of programmers
and others who need to refer to them.
95
* In DBMS, a data dictionary is a file that defines the basic organization of a database.
* Most DBMS keep the data dictionary hidden from users to prevent them from accidentally destroying its contents.
* A data dictionary may contains:
- The definitions of all schema objects in the database (tables, views, indexes, procedures, functions,
triggers, and so on). Example: Name of the tables, field names of each table, Data type of each field,
Length of each field, constraints of each table and field, etc.
How much space has been allocated for, and is currently used by the schema objects
- Default values for columns (Constraints on data i.e. range of values permitted)
• Integrity constraint information (Constraints that apply to each field, if any)
Auditing information, such as who has accessed or updated various schema objects
Privileges and roles each user has been granted (Access Authorization)
- Description of database users, their responsibilities and their access rights.
Simple Example of data dictionary
Table Name Column Name Data type Field size Null constrainnt Description
EmpID Varchar 15 No Primary key Employee identity
Lname Char 15 yes Last name of employee
EMPLOYEE Fname Char 5 No First name of employee
Gender Char 6 No Male or female
DeptNumber Varchar 10 No Foreign key
Pname Char 17 No
PROJECT
Pcode Char 10 No Primary key Project identity
DeptNumber varchar 10 No Foreign key
Dname Char 20 No
DEPARTMENT
Dnumber Varchar 10 No Department identity
Data dictionaries do not contain any actual data from the database, only bookkeeping information for managing it.
What is an advantage of a Data Dictionary?
When a new user is introduced to the system or a new administrator takes over the system, identifying table
structures and types becomes simpler.
Table attributes
- An attribute is a property that describes an entity.
- Each attribute has a particular value based on the defined data type.
- The set of all possible (allowable) values of an attribute is called attribute domain.
- As a convention, attributes are named with an initial capital letter followed by lowercase letters.
- In E-R Diagram, an attribute can be represented by an ellipse (oval) shape with a line connected it to the
associated entity. Example:

- It can also be represented by listing them within the entity rectangle, under the entity name.
Example: EMPLOYEE
Emp_Id
Fname 96
Lname
*
Types of attributes
An attribute can be: - simple or composite, single-value or multi-value, stored or derived or null able.
1) Simple (Atomic) vs Composite attribute
. Simple attributes cannot be further divisible; whereas Composite attributes can be divided into
smaller subparts.
› ID, Salary, Gender, etc are examples of simple attributes.
› Name, Address, etc are examples of composite attributes
. In E-R Diagram, simple attributes can be represented by an ellipse shape. Example:
. In E-R Diagram, composite attributes can be represented by branched ellipse shape:
Example:

. The value of composite attribute is the concatenation of the values of its constituent simple attributes.
2) Single-valued vs Multi-valued attributes
- Most attributes have a single value for a particular entity.
- In some cases, an attribute can have a set of value for the same entity, called multi-valued.
Example: colour attribute for a car, college degree for a person.
- In E-R Diagram, Multi-valued attributes can be represented by double ellipse (oval) shape.
3) Stored vs derived attributes
. In some cases, the value of two or more attributes can be related.
Example: the Age and Birth-Date attributes of a person
-- The Age attribute is derived from the Birth-Date attribute.
-- Age attribute is derived attribute, and the Birth-Date attribute is stored attributed
In E-R Diagram, Derived attributes can be represented by dotted ellipse.

Key attributes
- Attributes can be classified as identifiers or descriptors.
- Identifiers (more commonly called keys or key attributes) which uniquely identify each instance of an
entity, called candidate key. If such an attribute doesn't exist naturally, a new attribute is defined for that purpose,
for example an ID number or code.
- In some cases, more than one attribute is required to identify a unique entity, called composite candidate key.
- A descriptor describes a non-unique characteristic of an entity instance.
- When identifying attributes of entities, identifying key attribute is very important.
- In E-R Diagram, key attributes (identifiers) can be represented by ellipse shape with underline.

97
When selecting identifiers, you should follow these guidelines:
i) Choose a candidate key that has values that do not change over the life of each instance of the entity type.
ii) Choose a candidate key that is guaranteed to always have valid values and not be null for each instance.
iii) If a candidate key is a composite of two or more attributes, consider creating a new key with a single
value.
Types of Keys in Relational Database Model
. Super key
. Candidate key
. Primary key
. Alternate key
. Foreign key
* Super Key is an attribute or a composite attribute which functionally determines all of the entity’s attributes.
- Since, a super key may contain additional columns that are not necessary for unique identification; we’re interested in
identifying super keys that contain only the minimum number of columns necessary for unique identification.
* Candidate Key is a super key whose values are not repeated in the table records.
- It is a super key that contains only the minimum number of columns necessary for unique identification.
- When the values in a super key are not repeated in the table’s records, then such a key is called a candidate key.
- It is possible to have more than one choice of candidate key in a particular table. In that case, the selection of the
primary key would be driven by the designer’s choice or by end user requirements.
* Primary Key is a candidate key which doesn’t have repeated values nor does it comes with a NULL value
in the table.
- A primary key in any table is both a super key as well as a candidate key.
- The candidate keys that are not selected to be the primary key are called alternate keys.
- Every entity in the data model must have a primary key whose values uniquely identify instances of the entity.
* Alternate key is the candidate keys that are not selected as the primary key of the entity.
* A foreign key is a column or group of columns in a relational database table that is used to establish and
enforce a link between data in two tables. You can create a foreign key by defining a FOREIGN KEY constraint
when you create or modify a table.
2.4. Developing database reports using acceptance criteria
What does Database Reports mean?
Database reports are the formatted result of database queries and contain useful data for decision-making and
analysis. Most good business applications contain a built-in reporting tool; this is simply a front-end interface that
calls or runs back-end database queries that are formatted for easy application usage.
For example, a banking software application may contain specifically defined reports on all customers with large
deposits or reports on monthly loan summaries for all customers.
- Database reports are developed based on acceptance criteria and requirements.
The reports are normally used to provide hard copy printouts for reviews at meetings or to mark up the information
in your database that needs updating.
LO3. Identify security requirements
98
3.1 Reviewing system security
Reviewing system security includes:
- Application System security
- Computer System security
- Network system security
- DBMS security
- Financial and business system security
System security means Control of access to a computer system's resources, specially its data and operating system files.
- It covers access and use of the database at the system level, such as a username and password.
- Application System security
Application system security is the use of software, hardware, and procedural (technical) methods to protect
applications from external threats.
- The most basic software to ensure application security is application firewall that limits the execution of files or
the handling of data by specific installed programs.
- Computer System security
The term computer system security refers to the collective processes and mechanisms by which sensitive and valuable
information and services are protected from publication (unauthorized activities), tampering (corrupting) or collapse.
- Network system security
Network security is a specialized field in computer networking that involves securing a computer network
infrastructure.
Network security is typically handled by a network administrator or system administrator who implements the
security policy, network software and hardware needed to protect a network and the resources accessed through the
network from unauthorized access and also ensure that employees have adequate access to the network and
resources to work.
- DBMS
Database Security means protection of the: - data from malicious attempts to steal (view) or modify data.
- Database from unauthorized users.
3.2 Clarifying and confirming DBMS and user security
Security within the DBMS protects the integrity of the data, records and databases. It can provide encryption
protection at the data level.
Database Security means protection of the: - data from malicious attempts to steal (view) or modify data.
- Database from unauthorized users.
- Data security covers access and use of database objects (such as tables and views) and the actions that users can
have on the objects.
- User security lets your application use security rules to determine what it shows.
3.3 Identifying, evaluating and recording DB performance recovery and audit trails.
What is auditing
Auditing is the monitoring and recording of selected user database actions.
Database performance can be defined as the optimization of resource use to increase throughput and minimize
contention, enabling the largest possible workload to be processed.
Database Recovery is responsible for preserving the database consistency after a failure of any kind (transaction,
system or media). Relevant information solely for recovery is saved in a log during normal transaction processing.
Recovery performance focuses primarily on crash recovery rather than on recovery after restoring a backup.
However, optimizations are possible for recovery after restoring from a backup.

99
An audit trail (or audit log) is a record showing who has accessed a computer system and what operations he or she
has performed during a given period of time. Audit trails are useful both for maintaining security and for recovering
lost transactions.
Most accounting systems and database management systems include an audit trail component. In addition, there are
separate audit trail software products that enable network administrators to monitor use of network resources.
Database auditing involves observing a database so as to be aware of the actions of database users.
Database administrators and consultants often set up auditing for security purposes.
LO4. Seek Client feedback and approval
• Presenting DB scope and technical requirements to user for feedback
Present database scope, technical requirements and security documentation to user for feedback is very important to
develop a successful database.
. Review user feedback and adjust database as required
. Present database and documentation to user for final approval

What is feedback?
Feedback is a Process in which the effect or output of an action is 'returned' to modify the next action.
• Reviewing user feedback to adjust DB.
• Presenting DB and documentation to user for final approval

MODULE TITLE: Leading Small Teams


NOMINAL DURATION: 25 hrs
The module aims to provide the trainees with the knowledge, skills and right attitudes to lead small teams including
setting and maintaining team and individual performance standards.

LO1. Providing team leadership


Introduction to Leading Small Teams
Leadership
Leadership is a process by which a person influences others to accomplish an objective and directs the organization
in a way that makes it more cohesive and coherent.
Ie: Leadership is a process whereby an individual influences a group of individuals to achieve a common goal.
- Leaders carry out this process by applying their leadership knowledge and skills.
Traits of a Good Leader
• Honest.
• Competent — Base your actions on reason and moral principles.
• Forward-looking — Set goals and have a vision of the future.
• Inspiring — Display confidence in all that you do.
• Intelligent — Read, study, and seek challenging assignments.
• Fair-minded — Show fair treatment to all people.
• Straightforward — Use sound judgment to make a good decision at the right time.

100
Concepts related to team

Team

A team is any group of people organized to work together interdependently and cooperatively to meet the needs of
their customers by accomplishing a purpose and goals.
Team members:
(1) operate with a high degree of interdependence,
(2) share authority and responsibility for self-management,
(3) are accountable for the collective performance, and
(4) Work toward a common goal and shared rewards(s).
Concepts related to small team leadership

Conceptualizing performance and responsibilities


Performance is the results of activities of an organization or investment over a given period of time.

Responsibility can be defined as assuming accountability for a task, decision or action. A person is said to be
responsible for something when he or she accepts the consequences of something.

Identifying and presenting work requirements to team members


What are the qualities of good team members?

Characteristics of Good Work Team Members:

1. Honest and Straightforward: A good team member is up front.


2. Shares the Load. A good team member does his or her fair share of the work. There is a sense of equity and
101
fairness in the good team member.
3. Reliable. The good team member can be counted on.
4. Fair. A good team member takes appropriate credit.
5. Complements Others’ Skills. An important characteristic of effective work teams is the shared capacity.
A good team member provides some unique skills and/or knowledge that move the
team forward.
6. Good Communication Skills. Teamwork is social, so good team members need to be skilled, and tactful
(diplomatic), communicators.
7. Positive Attitude.
Recognizing, discussing, and dealing with team members’ quires(requests) and
concerns

What is Recognizing?

To identify a person or thing that is known or experienced before. It may also mean " to accept as valid.

What is Discussion?
A discussion is an oral exploration of a topic, object, concept or experience. All learners need frequent opportunities
to generate and share their questions and ideas in small and whole class settings.
Discussing with team member
An effective team leader involves her/his team in setting goals and objectives for the group. The more team
members can provide input into defining the objectives, the more they buy into the process and the more committed
they are to successfully meeting the objectives.

Identifying, discussing and resolving team members' difficulties


Problems may range from simple to complex. Often, the hardest step is identifying the
real issue.
The doctor may ask a patient, 'What's wrong?' The patient describes a range of
symptoms and the doctor uses that information, along with their knowledge, skills and
observation, to diagnose the problem.
Like a doctor, you may find out the problem in the workplace. You need to carefully
note the symptoms, and then use your knowledge and skills to work out what the actual
problem is.
Solving a problem involves the following steps:
• identifying and analyzing the problem
• Establishing the criteria for solutions/establish the cause of the problem.
• listing possible solutions
• exploring and evaluating each possible solution
• selecting the best solution
102
• implementing the decision/solution
• Evaluating the decision/result of the solution.

LO2. Assigning responsibilities


Allocating duties and responsibilities to team members by considering the skills, knowledge and
attitude required to perform the task according to company policy
Duty is responsibilities to satisfactory perform or complete a task (assigned by someone).
A duty is something that someone is expected or required to do for any number of reasons, including moral or legal
obligations.
Example: - A parent has a duty to care for their child.
- A teacher has a duty to educate students.
Responsibility can be defined as assuming accountability for a task, decision or action.
- A person is said to be responsible for something when he or she accepts the consequences of something.

Team members are selected because they have particular skills that are required to complete project tasks. Examples
include specialists in business or technical disciplines.

The Team Member’s role is to successfully perform the tasks that have been allocated, keeping the project manager
informed of progress as well as any issues that may arise.

Part of the Team Member’s role is to pay attention to the problems others may be facing. Tolerance and good
communications are essential ingredients of successful project team members.

Project Team Member’s Responsibilities


The responsibilities assigned to individual team members may vary but typically will include:
• understanding the purpose and objectives of the project
• ensuring a correct balance between project and non-project work
• working to timescales and within cost constraints
• reporting progress against plan
• producing the deliverables/products to agreed specifications
• reviewing key project deliverables/products
• identifying issues
• identifying risks associated with the project
• working together as a team
• contributing towards successful communication
• contributing towards positive motivation
Attitude
Attitude is the view of a person whether positive or negative.
An attitude is a point of view about a situation.
103
Major components of attitude include:
. What you feel (Affective): emotions or feelings.
. Cognitive: belief or opinions held consciously.
. What you do (Conative): inclination for action.
. What you think (Evaluative): positive or negative response to stimuli.

LO3. Setting performance expectations for team members


Describing performance expectations
To perform jobs well, employees need to know what is expected of them. The starting point is an up-to-date job
description that describes the essential functions, tasks, and responsibilities of the employees.
Performance Expectations = Results + Actions & Behaviors

To Setting performance standards/expectations


- Review job description for the position
- Determine desirable result or outcome for most of the duties
- Describe what quality performance should look like (communication, customer service, interpersonal skills,
etc.)
- Describe how much work must be accomplished within a certain amount of time
- Describe the quality of work to be accomplished (accuracy, document style/format or effectiveness)
- Ensure results are achievable and realistic
- Show how duties relate to BSC’s goals and objectives
- Ensures employee understands that duties are relevant and meaningful
- Explains why particular tasks must be completed in the manner described
Ways of measuring performance expectations/standards
. Direct observation
. Specific work results
. Reports and records
. Commendations or comments received from others

LO4. Supervising team performance


Monitoring performance against defined criteria
The key to effective monitoring performance is to identify a range of methods – so you can then choose the method
that’s easiest to apply and most effective.
In order to ensure that your team are working to the operational plan, you need to monitor performance and the use
of resources.
The following can affect performance:
- Environmental change
- Resource usage
Taking corrective actions
Corrective action is the identification and elimination of the causes of a problem, thus preventing their recurrence.
Providing feedback (positive support and advice)on strategies to overcome deficiencies
104
Feedback is giving specific information about a person's current behavior in order to help him/her either continue
the behavior or modify the behavior.
Feedback is a Process in which the effect or output of an action is 'returned' (fed-back) to modify the next action.
Feedback is essential to the working and survival of all regulatory mechanisms found throughout living and non-
living nature, and in man-made systems such as education system and economy.
Purposes
. Provides a basis for maintaining or improving performance
. Provides a forum for assessing need and planning additional experiences

MODULE TITLE: Leading Workplace Communication


NOMINAL DURATION: 25 hrs
The module aims to provide the trainees with the knowledge, skills and right attitudes to lead in the dissemination and
discussion of information and issues in the workplace.
LO1. Communicating information about workplace processes
Introduction basic communication skill
Communication skill is the art and technique of communicating by using oral and body language to persuade him
or bring into him the change that you want him to be.
• Nature of communication
The nature of communication is the exchange of information between two people.
Effective communication entails/involves the sender encoding a message and transmitting it to the receiver where
the receiver successfully decodes the message.
The following are the natures of communication:
Communication is:
_ Dynamic: it is not static but it is ongoing.
_ Behavioral interaction
_ Sender’s and Receiver's phenomenon
_ Complex
. What is communication
Communication is two-way process of reaching mutual understanding, in which participants not
only exchange (encode-decode) information, news, ideas and feelings but also create and share meaning.
I.e. it is the process of transferring information from a sender to a receiver with the use of a medium in which the
Communicated information is understood by both sender and receiver.
There are two main types of communication, verbal and non-verbal:
. Verbal communication
Verbal communication occurs when a person clearly expresses all of their feelings, needs, wants, dreams, hopes,
messages, values, beliefs and thoughts using language. The receiver has to be able to listen to the information,
interpret the message, and if necessary, act upon any part of the message.
. Non-verbal communication
There are different types of non-verbal communication which include but are not restricted to:
_ Body language
105
_ Physical characteristics and appearance
_ Personal space
_ Environment
Body language
One of the main parts of our body used for non-verbal communication is our face which is very expressive and can
communicate many different emotions without the use of words (eg. happiness, sadness, anger, shock).
Other parts of the body, such as our arms, legs, hands, fingers, can also be used to communicate (e.g. hugging,
pointing, giving directions).
Physical appearance
Our body shape and size, hair, clothing, hygiene, how we hold our self and our persona all communicate something
about us.

Personal space
Personal space refers to the distance that you put between yourself and another person when you are talking to them.
Environment
The environment can really affect the way communication is taken or understood. The environment can have both a
positive and negative effect on you.
. Social communication
The term social communication refers to using of social media. Social communication primarily explores the
ways information can be perceived, transmitted and understood, and the impact those ways will have on a society.
. Business communication
Business communication is the sharing of information between people within an enterprise that is performed for
the commercial benefit of the organization. In addition, business communication can also refer to how
a company shares information to promote its product or services to potential consumers.
. Methods of communication
The standard methods of communication are speaking or writing by a sender and listening or reading by the receiver.
Most communication is oral, with one party speaking and others listening.

The main method of communication:

Content:

The content of the information plays a major role in workplace communication. The level of detail must be
according to the grasping capacity of the audience.

Frequency:

While formal workplace communication that is done too rarely or too often is not good for an organization, frequent
informal workplace communication has its benefits.

Skills:

106
Getting the message across efficiently depends on the skills of the communicator such as presentation skills, group
facilitation skills and written communication skills.

. Types and characteristics of communication


Numerous new instruments have emerged over the years to help people communicate effectively.

Oral Communication:
Oral communication could be said to be the most useful form of communication. Whether it is to present some
important data to your colleagues or lead a boardroom meeting, these skills are vital.
This is done either by phone or face-to-face.
Written Communication:
Writing is used when you have to provide detailed information such as figures and facts.
Body Language:
The most common methods of communication are carried out orally or in writing.
Your smile, your gestures and several other body movements send out a message to the people around you.
Important Characteristics of Communication:
_ It isa 2-way process.
_ Communication process happens between or among two or more parties. (Sender and Receiver)
_ Communication involves exchange of ideas, feelings, information, thoughts, and knowledge.
_ Communication involves mutuality of understanding between Sender and Receiver.
_ It can be Verbal and Non-Verbal Communication.

Verbal Communication:
1.) Oral Communication,
2.) Written Communication.

Nonverbal Communication:
1.) Body Language,
2.) Space and Time Language,
3.) Sign Language.

Principle and practice of communication


• Communication cycle

107
Communication cycle refers to the whole process of communication from the origin up to conceptualizing and the
response of the intended message by the right person.
• Communication in an organization
Organizational communication is a sub field of the larger discipline of communication studies. Organizational
communication, as a field, is the consideration, analysis, and criticism of the role of communication in
organizational contexts.
Selecting appropriate communication method based on work place guideline.

Communication in the Workplace

Workplace communication is the process of exchanging information, both verbal and non-verbal, within an
organization.
Use questions to gain extra information
There are many reasons why you need to ask questions.
These three reasons are:
1. To gain Information
2. To clarify and verify Information, and
3. To checking for understanding and level of interest.
Gain Information
To gather additional information, someone may ask the concerned body in detail.
Clarify and verify Information
Clarifying questions are usually aimed to answer the questions such as: who, what, when, where, why, and how?
Checking for Understanding and Level of Interest
For understanding and evaluation purpose, someone may raise more questions.
Identifying sources of information correctly
Source of information is anything that might inform a person about something or provide knowledge about
something.
Source of information can be library, encyclopedia, newspapers, internet, cell phone, etc.
LO3. Identifying and communicating issues arising in the workplace
Identifying issues and problems as they arise
Social problems, also called social issues, affect every society, great and small.
The list of social problems is huge and not identical from area to area. Some predominant social issues include the
growing divide between rich and poor, domestic violence, unemployment, pollution, urban decay, racism and
sexism, and many others.
Sometimes social issues arise when people hold very different opinions about how to handle certain situations like
unplanned pregnancy. While some people might view abortion as the solution to this problem, other members of the
society remain strongly opposed to its use. In itself, strong disagreements on how to solve problems create divides in
social groups.
Initiating dialogue with appropriate staff/personnel
108
The Dialogue activity allows you to start one-to-one conversations with your staff, or allow staffs to initiate
conversations with you. This activity can be useful if you want to give private/group feedback to staffs.

Raising communication problems and issues as they arise


Good communication practices are at the heart of every successful business. Without successful internal
communications, work processes slow down or grind to a halt and customers are not served properly. When
processes do break down, you'll more than likely find some common communication issues at the root of the
problem for managers and employees alike.

MODULE TITLE: Modeling Data Objects


NOMINAL DURATION: 60 hrs
LO1: Identify entities and relationships
1.1.Understanding and analyzing business operations
When a database development company is asked to build a database application for a client, it needs to take its time
to diligently (attentively) learn client’s operations. Developers must take a deeper look into details of the business to
understand clients’ desires and how they manage their data.
The first step to improving a process is to analyze it in order to understand the activities, their relationships, and the
values of relevant metrics.
Process analysis generally involves the following tasks:
Define the process boundaries.
Construct a process flow diagram that illustrates the various process activities and their interrelationships.
Evaluate limitations in order to quantify/compute the impact of the limitation.
Use the analysis to make operating decisions and to improve the process.
1.1.1 Identify Entity types entity sets, attributes and keys
What is entity in a database?
An Entity is an object with a physical existence or a conceptual existence.
- It can be roles, events, locations, tangible things or concepts.
In database terms, an entity is a table which is responsible for storing data in the database.
Entity type is the set of all possible values for an entity.
- An entity set is a set of entities of the same type (collection of instances represented by (e1, e2, e3, ... en).
- It is also called an extension of the entity type
Entity Instance is a single occurrence of a particular entity type.
Entity type name EMPLOYEE PROJECT
Attributes name Name, Age, salary Pname, Pcode, Location
e1 P1
(Abebe, 25, 3500) (Database, p001, Bahir Dar) One entity instance
e2 P2
Entity set (Daniel, 42, 2500) (Water, P002, Gonder) One entity instance
(Extension) e3 P3
(Aster, 32, 3000) (Construction, P003, Gonder)
. . One entity instance
. .
*
. .
*
en pn
109
*
In E-R Diagram, an entity type is represented by a rectangle, and the name is indicated in capital letters.
Example:
DEPARTMENT EMPLOYEE

Attributes
- An attribute is a property that describes an entity.
- Each attributes has a particular value based on the defined data type.
- The set of all possible (allowable) values of an attribute is called attribute domain.
- In E-R Diagram, attributes are named with an initial capital letter followed by lowercase letters.
- An attribute can be represented by an ellipse (oval) shape with a line connected it to the associated entity.
Example:

- It can also be represented by listing them within the entity rectangle, under the entity name(entity type).
Example: EMPLOYEE
Emp_Id
Fname
lname
Types of attributes
An attribute can be: - simple or composite, single-value or multi-value, stored or derived
or Null Values.
4) Simple (Atomic) vs Composite attribute
. Simple attributes cannot be further divisible.
Example: SSN, Sex
. In E-R Diagram, simple attributes can be represented by an ellipse shape. Example:

. Composite attributes can be divided into smaller subparts.


Example: - address (street address, city, state, zip code)
- Name (first name, last name, initial name)
. In E-R Diagram, composite attributes can be represented by:
. The value of composite attribute is the concatenation of the values of its constituent simple attributes.
5) Single-valued vs Multi-valued attributes
- Most attributes have a single value for a particular entity.
- In some cases, an attribute can have a set of value for the same entity, called multi-valued.
In E-R Diagram, Multi-valued attributes can be represented by double ellipse (oval)
shape.
6) Stored vs derived attributes.
. In some cases, some attributes have a reference (derived from other attributes’ value).
In E-R Diagram, Derived attributes can be represented by dotted ellipse.

4) Null Values attributes


Not applicable: e.g. Apartment Number, College Degree.
Unknown: - the attribute value exists but is missing. E.g. Height
110
- It is not known whether the value exists. E.g. Home Phone
Key attributes
- Attributes can be classified as identifiers or descriptors.
- A descriptor describes a non-unique characteristic of an entity instance.
- Identifiers (more commonly called keys or key attributes) uniquely identify each instance of an entity,
called candidate key. If such an attribute doesn't exist naturally, a new attribute is defined for that purpose.
- In some cases, more than one attribute is required to identify a unique entity, called composite candidate key.
- In E-R Diagram, key attributes (identifiers) can be represented by ellipse shape with underline.

1.2.Identify the scope of the system


System Scope describes the current systems that the required application package is expected to replace or interface
with. The description contains a table that describes the functionality of each system, and relates systems to business
activities.
1.2.1 Databases
A database is a collection of organized information so that it can easily be accessed, managed, and updated.
A database management system is a suite of software applications that together make it possible for people or
businesses to store, modify, and extract information from a database.
1.2.2 Applications
Application software is the name given to a program or group of the programs designed for end-users (perform
specific tasks for end-users). Example: database programs, word processors, and antivirus programs are all applications.
1.2.1 Servers
A Server is a computer program that manages access to a centralized resource such as file, printer, and user group as
well as network traffic on the network or provide services to client software running on other computers (and their
users) in the same domain (in a network).
A single server machine can have several different server software packages running on it, thus providing many
different services to clients on the network.
There are many different types of servers:
Application Servers File server
Message Servers Print server
FTP Servers Database server
Mail Servers Backup server
Proxy Servers DHCP server
Web Servers DNS Server
• Application server allows a client on the network to access and use extra computing power. Application
server is mainly used for the security.
• Message server includes Chat servers that enable a large number of users to exchange information in the
network.
• Mail server store and handles mail message over in the networks (via LANs) and across the Internet (via
WANs).
• A Proxy server is a server that can be sitting between the server and the client. When any request is coming,
client pass that request to the server, then server process that request and send back to the client. Proxy server
improves the performance of the security by filtering the request.
111
• Web server provides the access to the internet using hypertext markup language. A Web server get request
from the web browser and send back the response and associated HTML document.
• File servers helps user to exchange data (read data, write data) as well as manage shared files or it control
and manage overall user access.
• Print server control and manage printer resources over the network and also it offer fax services. The print
server allows multiple users to access printer resources and fax services simultaneously.
• Database servers manage the database using database management system software. Client request is sent in
the form of queries to the server, then database server process the incoming client query, access the stored
data from the database and sent result back to the client.
• A backup server responsible for backing up and restoring files, folders, databases on a network in order to
prevent the loss of data in the event of a hard drive failure, user error, disaster or accident.
• A DHCP Server is used to assigns IP addresses to client computers automatically. All IP addresses of all
computers are stored in a database that resides on a server machine.
• DNS Server is needed for resolving hostnames to their IP addresses.
1.2.2 Operating systems
An operating system (OS) is a collection of software that enables the computer hardware to communicate and
operate with the computer software.
The operating system is a vital component of the system software in a computer system. Without operating system, a
computer would be useless. Application programs require an operating system to function.
1.2.3 Gateways
A network gateway is an internetworking system capable of joining together two networks that use different base
protocols. A network gateway can be implemented completely in software, completely in hardware, or as a
combination of both.
A Gateway is - used between two dissimilar LAN s.
- required to convert Data packets from one protocol format to another Protocol format.
Router and Gateway both are sometimes used interchangeably but the difference is that Gateway operates on 7th
layer of the OSI Model and the Router works on the 3rd layer of the OSI model.
The OSI Layer consists of:
1. Physical layer
2. Data Link
3. Network,(performs establishment of connection between networks and the Routing and selecting best path)
4. Transport layer
5. Session layer
6. Presentation layer
7. Application Layer. (Provides semantic exchange of data between application in an open system)
1.2.4 Application service provider
An application service provider (ASP) is a business that provides computer-based services to customers over a
network. I.e.: Application service provider is remote software that you access through a web browser.
The goal of an application service provider is to reduce the cost of software distribution and maintenance.
1.2.5 ISP

112
An Internet service provider (ISP) is an organization/company that provides internet access to users or subscribers
of its service, usually for a fee.
1.3.Reviewing business rules to determine impact
A business rule is a rule of a business, company, or corporation that defines/determine or constrains some aspect of
business and always resolves to either true or false.
1.3.1. Overview of business rules
Business rules describe the business polices that apply to the data stored on a company’s databases.
Business-rules constraints fall into two categories: field constraints within tables, and relationship constraints
between tables.
1.4.Relationships
A relationship is an association that exist b/n two or more participating entities.
- In E-R Diagram, a relationship type is represented by a diamond shape
with the relationship verb in it.

There are three types of relationships b/n entities


* One-to-one: - one instance of an entity (A) is associated with one other instance of another entity (B).
Example: President to country, husband to wife, people to religion
* One-to-many: - one instance of an entity (A) is associated with zero, one or many instances of another entity
(B), but for one instance of entity (B) there is only one instance of entity (A).
Example: Country to people, mother to children, department to students
* Many-to-many: - one instance of an entity )A) is associated with zero, one or many instances of another entity
(B), and one instance of entity (B) is associated with zero, one or many instances of entity (A).
Example: Students to course, employee to projects, people to language
1.5.Documenting Entity relationship Diagram
An ERD is a model (theoretical view) that identifies the concepts or entities that exist in a system and the
relationships between those entities.
Entity relationship Diagram Documentation must include:
- Entities
- Relationship
- Optionality and Cardinality
- Bridge Entities
- Recursive Relationships
- Multiple Relationships between Entities
- Entity Subtypes
- Key Attributes of an entity
- Non- key Attributes of an entity
1.5.1 Person, object or concept
A database object is any defined object in a database that is used to store or reference data.
Some examples of database objects include tables, views, sequences, indexes, and synonyms.
LO2. Develop Normalization
2.1.Informal design guide lines for relational schema
Informal Design Guidelines for Relational Schemas include:
i. Semantics of the attributes
ii. Reducing redundant information in tuples
113
iii. Reducing the NULL values in tuples
iv. Disallowing the possibility of generating spurious tuples
1. Semantics of the Attributes.
- Attributes in a relation must have real-world meaning.
- "Semantics" refers to interpretation of attribute values in a tuple
Guideline 1: Design a relational schema so that it is easy to explain its meaning.
Do not combine attributes from multiple entity types.

2. Reducing redundant information in tuples


One goal of schema design is to minimize the storage space that the base relations (files) occupy.
Another serious problem with redundancy is the problem of update anomalies. These can be classified into:
a. Insertion Anomalies
b. Deletion Anomalies
c. Modification Anomalies
Update anomalies:
INSERT: To INSERT new records, first you must check if there is referential constraint.
DELETE: Before try to DELETE a record from a table, you must check whether it is referred by another table
field(s) or not.
UPDATE: If you want to change the value of an attribute, you must check whether it is referred by another table
field(s) or not.
Guideline 2: Design base relation schemas to avoid insertion, deletion, or modification anomalies.
If there are anomalies, document them and check that update in the DB operates correctly.
3. Reducing the NULL values in tuples
Nulls can have multiple interpretations such as:
- The attribute does not apply to this tuple.
- The attribute value for this is unknown.
- The value is known but absent, it has not been recorded yet.
Guideline 3: As far as possible, avoid placing attributes in a base relation whose values may be null. If nulls are
unavoidable, make sure that they apply in exceptional cases only and do not apply to a majority of tuples in the
relation.
4. Disallowing the possibility of generating spurious tuples
Spurious tuples represent information that is not valid. These types of tuples may occur after join operation.
Guideline 4: Design schemas so they can be JOINed with equality conditions on (primary key, foreign key) pairs
with no spurious tuples.
- Avoid relations that contain matching attributes that are not (primary key, foreign key) pairs.
2.2.Introduction to Normalization
The normalization process, as first proposed by Codd (1972), takes a relation schema through a series of tests to
"certify" whether or not it belongs to a certain NORMAL FORM.
Initially, Codd proposed three normal forms, which are first, second, and third form.
A stronger definition of 3NF was proposed later by Boyce and Codd and known as Boyce-Codd normal form.
All the above normal forms are based on the functional dependencies among the attributes of a relation.
Later, a fourth normal form (4NF) and a fifth normal form (5NF) were proposed based on the concepts of
multivalued dependencies and join dependencies, respectively.

114
Normalization is a process that involves dividing large tables (complex data structures) into smaller (simple and
stable data structures) that do not accept redundant values and defining relationships between them.
Database normalization is the process of organizing the fields and tables of a relational database to minimize
redundancy and to avoid update anomalies (insert, modify, and delete anomalies).

2.3.Functional dependencies
A functional dependency (FD) is a constraint between two sets of attributes in a table from a table in the database.
* A functional dependency occurs when one attribute in a table uniquely determines another attribute. This can
be written as: A B ("B is functionally dependent upon A").
If a particular value of one attribute (A) in a table uniquely determines the value of another attribute (B) in the same
table, then there is a functional dependency between attributes A and B.
Examples: In a table employee’s characteristic including employee ID and name, it can be said that name is
functionally dependent upon ID because an employee's name can be uniquely determined from their ID. However,
the reverse statement is not true because more than one employee can have the same name but different ID.
Full functional dependency
A full functional dependency occurs when you already meet the requirements for a functional dependency and the
set of attributes on the left side of the functional dependency statement cannot be reduced any farther.
Example: {SSN, age} name is a functional dependency, but it is not a full functional dependency because you
can remove age from the left side of the statement without impacting the dependency relationship.
Transitive dependency.
Transitivity dependency is a functional dependency between non-primary-key.
I.e.: It occurs when there is an indirect relationship that causes a functional dependency.
Example: A C is a transitive dependency when “A B” and “B C” are true.
2.4.Normal forms based on primary keys
first Normal Form (1NF):
Relation R is in first normal form (1NF) if:
- Domain of an attribute must contain only atomic values (Value of any attribute must be a single value from
the domain).
- There are no duplicated rows in the table.
- Entries in a column (attribute, field) are of the same kind.
DEPARTMENT
Dname Dnumber Dmgr_ID Dlocations

Remove the “Dlocations” field from the department table to disallow multiple for a single instance/occurrence.
DEPARTMENT
Dname Dnumber Dmgr_ID

DEPARTMENT_LOCATION

115
Dnumber Dlocation
Now both above tables are 1NF.
2nd Normal Form (2NF):
A relation R is in 2NF if: - it is in 1NF
- Every non-primary key attribute A in R is fully functionally dependent on the primary key of R(has no partial
dependencies).
- If you know value of primary key, all other attributes are determined

EMPLOYEE_PROJECT
ID Pnumber Hours Ename Pname Plocation
Functional dependencies:
• {ID, Pnumber} --> {Hours}
• {ID} --> {Ename} This is not in 2NF.
• {Pnumber} --> {Pname, Plocation}
2NF normalization:
EP1
ID Pnumber Hours
• {ID, Pnumber} --> {Hours}

EP2
ID Ename
• {ID} --> {Ename}

EP3
Pnumber Pname Plocation
• {Pnumber} --> {Pname, Plocation}
Now all above tables are in 2NF.
3rd Normal Form (3NF):
A relation R is in 3NF if:
It is in 2NF.
Relation R should not have a non-key attribute functionally determined by another non-key attribute
(no transitive dependencies).
EMPLOYEE_DEPARTMENT
Ename ID Bdate Address Dnumber Dname Dmgr_ID
Functional dependencies:
• {ID} --> {Ename, Bdate, Address, Dnumber, Dname, Dmgr_ID}
• {Dnumber} --> {Dname, Dmgr_ssn} This is not in 3NF.
3NF normalization:
ED1
116
Ename ID Bdate Address Dnumber
{ID} --> {Ename, Bdate, Address, Dnumber}
ED2
Dnumber Dname Dmgr_ID
{Dnumber} --> {Dname, Dmgr_ID}
Now both above tables are in 3NF.

Boyce–Codd normal form (BCNF).


A relation is in Boyce-Codd normal form (BCNF) if and only if it is in 3NF and every determinant is a candidate key.
1. Anomalies can occur in relations in 3NF if there is a composite key in which part of that key has a
determinant which is not itself a candidate key.
2. This can be expressed as R(A,B,C), C--->A where:
o The relation R contains attributes A, B and C.
o A and B form a candidate key.
o C is the determinant for A (A is functionally dependent on C).
o C is not part of any key.
3. Anomalies can also occur where a relation contains several candidate keys where:
o The keys contain more than one attribute (they are composite keys).
o An attribute is common to more than one key.

LO3. Validate data Model using Normalization


Normalization is the process of designing a data model to efficiently store data in a database. The end result is that
redundant data is eliminated, and only data related to the attribute is stored within the table.
3.1.Validating data model
How to Validate the Data Model?
The business data model, also known as the enterprise data model, conceptual data model or logical data model,
describes the major information of interest from a business perspective.
Even when you have completed your data model, it may not completely reflect the system being developed. You
need to review your business rules once more to see if you have created an accurate design.
Validation activities of data model include:
• Completeness: Are the business areas and concepts represented by the model completely addressed?
• Accuracy: Does the model correctly represent the entities, attributes and business relationships of interest?
Are the optionalities and cardinalities correct?
• Structure: Does the model follow the data modeling rules for the level of normalization (typically third
normal form) used?
Data model is validated with client
3.2.Resolving issues or recommendations
The majority of database performance issues are caused by un-normalised or partially normalised data. Normalisation
is the technique used to simplify the design of a database in a way that removes redundant data and improves the
efficiency of the database design.
- Issues or recommendations arising are resolved
3.3.Documenting completed data model
What is the best way to document a logical or conceptual data model?
117
The tools like Visio allow you to define entities, attributes and relationships but it does not support the collection of
other vital information about a model such as validation rules, data owners.
- Completed data model are documented
3.4.Submitting final approval to client
In order to make sure that the project is completed, we require applicants to inspect for Final Approval.
- Final approval is submitted to client

MODULE TITLE: Monitoring Implementation of Work plan/Activities


NOMINAL DURATION: 30 hrs
LO 1. Monitor and improve work place operations
Overview of Leadership and management
Leadership
Leadership is the process of directing the behavior of others toward the accomplishment of some common
objectives.
I.e. Leader is influencing people to get things done to a standard and quality above their norm.
As an element in social interaction, leadership is a complex activity involving:
• a process of influence
• actors who are both leaders and followers
• a range of possible outcomes – the achievement of goals, the commitment of individuals to reach goals, the
enhancement of group cohesion and the reinforcement of change of organizational culture.
Management
Management is the organization and coordination of the activities of a business in order achieve defined objectives.
Management is often included as a factor of production along with machines, materials, and money.
Roles and responsibilities of Leaders
A team will definitely perform the best if it is guided by a good leader. Leadership is considered as one of the most
essential aspects of the corporate process.
Few of such roles and responsibilities are providing:
- Motivation to the employee
- Resolving conflicts and employment discrimination, and similar others.
The general explanation of leadership roles and management functions practiced in the corporate environment
include:
Leadership Development
Leadership development is a crucial function that a top-level executive has to follow. This includes setting up
leadership down in the hierarchy line of the company. The top-level executive has to strategically plan and set line
managers for different processes.
Planning and Implementation
Planning and implementation should also be carried out by leaders of the company or a process.
Employee and Process Assessment
Employee management is one of the typical corporate leadership roles and responsibilities of a line manager.
Example: - a project manager is responsible for how his members perform.
- a director may be responsible for managing the departments, and making sure they are working fine.

118
Employee Motivation
It is a fact that a leader without employee motivation skills is not a leader at all. A leader should obligatory motivate
employees to overcome their weak points. A leader should encourage employee by all means possible such as
- appreciation mails
- financial incentives
- Employee recognition awards, and similar other methods.

Decision making
Any leader, certainly needs to have the decision-making skills. However, decision making should be supported by
strategic planning and thinking. A leader can always consult with his peers before taking a suitable decision.
Conflict Resolution
The leader's conflict resolution skills show their significance. The leader should consider resolving the conflict with
- a professional attitude
- impartial thinking
- Total understanding of the situation.
Problem solving
The leader has to think professionally, obtain complete understanding of the problem, sort out and compare probable
solutions, and finally reach one.
Academic
A leader must be a good communicator, a good listener, and most importantly a good guide.
The above lists are the most essential leadership roles and responsibilities required for managing a company and
employees .

Ways in which leader effectiveness is evaluated


Leaders are constantly been evaluated by organizational members, superiors, and the public.
The four fundamental approaches used to evaluate leaders:
• Success of the Group
• Member Satisfaction and Positive Affect
• Influence
• Normative Process - Most people hold a set of expectations as to how a leader should behave. Their
evaluations of the leader's effectiveness are measured in terms of how well the leader meets this set of role
expectations.
Supporting operations
Quality Assurance
Quality assurance refers to the processes and procedures that systematically monitor different aspects of a service,
process or facility to detect, correct and ensure that quality standards are being met.
Examples: Quality assurance helped us to eliminate defective products and increase customer satisfaction.
In developing products and services, quality assurance is any systematic process of checking to see whether a product
or service being developed is meeting specified requirements.
Principles of quality assurance
In the workplace, the ability to be a team player is valued and is critical to job performance.

119
Use 5S to Increase Performance in the Workplace
5S is the name of a workplace organization methodology that uses a list of five Japanese words which are:
- Seiri (Sorting) - identifying.
- seiton (Straightening or setting in order / stabilize) - storing the items used
- seiso (Sweeping or shining or cleanliness / systematic cleaning)
- Seiketsu (Standardizing) - maintaining the area and items.
- Shitsuke (Sustaining the discipline or self-discipline).
They all start with the letter "S". The list describes how to organize a workspace for efficiency and effectiveness.
5S provides the foundation for improving performance through continuous improvement.
It focuses on:
Increasing quality by removing waste from the workplace.
Provide reduction in operating costs by reducing non-value added activities.
Improving delivery by simplifying processes and removing obstacles
Improving safety through improved housekeeping and identification of hazards
Provide an environment where continuous improvement is embraced through workers problem solving and
suggestions, thereby improving morale.
Work is best if the implementation of the program is based on the 5S Performance Improvement Formula:
P=Q+C+D+S+M
Where;
• P - Increase productivity.
• Q - Improve product quality.
• C - Reduce manufacturing costs.
• D - Ensure on-time delivery.
• S - Provide a safety working environment
M - Increase worker morale.
Principles of quality control refer to the various concepts that make up an organization's quality assurance program.
Principles for quality management system can also be extended to quality assurance practices.
LO2. Plan and organize work flow
Assessing current work load
In computing, the term workload is the amount of processing that the computer has been given to do at a given time.
It is Amount of work or number of work units assigned to a particular resource over a given period.
Customer service quality
Quality customer service is very important to any business. You may have a very good product, but if the customers
are not treated well, they will not come back. If they are satisfied, they will become your regular customers.
Good customer service helps you form a better relationship with your clients.
Assessing work flow
Workflow is a term used to describe the tasks, procedural steps, organizations or people involved, required input and
output information, and tools needed for each step in a business process.
- Work flow is the sequence of connected steps that make up a work process.
- Determining an efficient work flow can add significant value to an organization’s activities.
Principles of work planning and time management
Work planning means:
Organize the activities into common groups
Identify people and other resources needed to get the work done
120
Document all the activities you need to do
Collaborate with the right people to get the right things done
Time management
Time management is the act or process of planning and exercising conscious control over the amount of time spent
on specific activities, especially to increase effectiveness, efficiency or productivity.

The basic principles of time management planning include:


• Have a clear vision
• Do one thing at a time
• Evaluate your current use of time
• Create a written plan for your daily and weekly activities
• Prioritize your activities

Assisting colleagues
Colleagues are co-worker within the same occupational level (equal level of position and responsibility).
Example: Two high school teachers at the same school with in the same occupation levels are colleagues.
Co-workers are all of those people you work with. Some are on the same level, some higher, some lower (all
people work at the same place) though as co-workers.
Work load prioritization
Workload is Amount of work or number of work units assigned to a particular resource over a given period.
In computing, the workload is the amount of processing that the computer has been given to do at a given time.
The time between a user request and a response to the request from the system (how much work is accomplished over
a period of time) is called workload.
Maintain work place Records
Regular performance reports
Regular performance measurements can improve productivity, boost morale and provide the all-important "face time"
with managers that employees want and need for job satisfaction.
Choosing the right performance report method can boost the return on investment of people, time and money.
LO4. Solve problems and make decisions
Identify workplace problems
How to Resolve Workplace Conflicts
1. Identify the problem - Be very specific in identifying the core of the problem

2. Determine the size and scope of the problem.


. How serious is the problem?
. How often does the problem occur?
3. Determine the severity of the problem.
. -How serious is the problem to the work environment?
4. Identify the easiest way to resolve the problem.

121
. What specifically, and most simply, would resolve the conflict?
. What's the easiest solution?
5. Arrange to meet with your employer/supervisor.
. Schedule an appointment to meet with your supervisor. In most situations, discussing a problem
with your supervisor can usually resolve most conflicts.
. To communicate concerns to an employer/supervisor effectively:
• Know the workplace laws
• Research company policies, employee contracts, and employee handbooks
8. Document the problem.
. Set up a file and keep records of all relevant documents and correspondence.
. Records should include factual written summaries of:
incidents noting date, time, location, and persons involved
memos and letters;
relevant work documents;
meeting notes;
performance evaluations;
any other relevant paperwork to document your workplace problem

Initiating short term actions to resolve problems


Effective delegation is essential for problem solving, as, once you have developed a strategy, you will need a number
of people to implement it.
Effective delegation involves focusing on results and having clear, precise objectives. It may also involve preparation
and planning, gaining the approval of others, or simply informing people.

MODULE TITLE: Creating Technical Documentation


NOMINAL DURATION: 40 hrs
LO1. Identify and analyze documentation needs
What Is Technical Documentation?
Technical documentation is the printed or online documentation that describes the construction of a computer system.
. The documentation usually consists of texts and diagrams.

122
Media for Technical Documentation include:
Paper
Online/web
Electronic/Adobe Acrobat software
CD/DVDs
Floppy Disk
Purpose of Technical documentation
• The purpose of technical documentation is to provide information for people who use, build and maintain
computer system.
• Computer engineers, technicians, network engineers, administrators, system analysts, system designers and other
computer professional need to know how a system works.
• Other people who need to refer to the documentation include project managers, system managers and computer
operations staff
• It helps to Effective development and maintenance of the system.

Examples of Technical Documentation include:


. System or project . Help references
specifications . Brochures
. System design . Technical manuals
. System functionality . Operational procedures
. Reports . Training materials
123
. Self-paced tutorials . User guides
. On-line help

Every document should have:-


Title Acknowledgment
Author’s name (if relevant) Header and footer on every pages
Abstract The Appendix
LO2. Design documentation
Documentation is an important communication tool when developing a new system or maintaining an existing
system.
All user requirements are gathered, analyzed, and documented to create or maintain information systems.
Identifying required information
To identify the required information:
• Consider the availability of the information needed. The information that you need is dependent on the
depth and breadth of the knowledge that you are seeking. Broader information is usually much easier and
faster to find than specific information.
• Know the source of the information you want.
The Source of information can be:
Newspapers :( old media which is filled with Information on Any topic).
Internet: Start Google Search engine and type Required Information.
Local People: Talk to people who are related to Subject of your Research.
Creating consistent document standard, templates and style
Standard
. Standard is guidelines for producing documentation
. It is also used to provide consistency and quality of documentation.
Classification of Documentation Standards
• Industry standards
• Organizational standards
• Project standards
Templates
. A template is an outline that contains the structure and format of document, and standard text and diagrams.
. It helps to establish and maintain standard document.
Documentation tools
The software tools such as Word processing, HTML, Visio that enable you to draw technical diagrams are an
example of software documentation tools.
Point of Interest for documentation
The purpose of documentation is to assist people in undertaking certain tasks.

124
Standards for producing documentation help ensure the quality and consistency.
Templates are specific tools that used to help documentation developers to follows a standard layout.
Software tools such as word processing and desktop publishing software help developers to produce technical
documentation.
Documentation consists of:
. Overviews that indicate the structure and components of the system
. A detailed design of the system
. The user interface - how interaction with the system occurs, such as input and output screens
. A data dictionary that describes the data and processes within the system
. Test data that describes the testing that will occur
. Information on maintenance of the system, for when changes occur to an existing system.
Documentation Development
The development of a documentation can involve a number of people:
. systems analysts
. system designers
. data analysts
. technical/manual writers (documentation specialists)
. Programmers and software testers.
Documentation Maintenance
. Errors are discovered in the system. The documentation can be used to locate the system where the errors are
occurring.
. Having good documentation will save time, as information about how the system works will be easily
accessible.
. The system needs to be changed as a result of the changing needs of the organization or because of external
forces.
Understanding the system functionality
• Functional requirements
Functional requirements are observable tasks or processes that must be performed by the system under
development. For example, a functional requirement of a stock trading system is "must update and remember stock
prices;"
• Non functional requirements
Non-functional requirements are qualities or standards that the system under development must have or comply
with, but which are not tasks that will be automated by the system.
A Non-functional requirement is a requirement that specifies criteria that can be used to judge the operation of a
system.
• System requirements (specification)
System requirements are the hardware and software components of a computer system that are required to install
and use software efficiently.

125
The software manufacturer will list the system requirements on the software package. If your computer system does
not meet the system requirements, then the software may not work correctly after installation. System requirements
for operating systems will be hardware components, while other application software will list both hardware and
operating system requirements.
System requirements are most commonly seen listed as minimum and recommended requirements. The minimum
system requirements need to be met for the software to run at all on your system, and the recommended system
requirements, if met, will offer better software usability.
LO3. Develop documentation
Writing technical documentation
Methodologies for producing documentation
• A methodology describes the approach and the steps used in particular discipline (order/regulation).
• A widely accepted methodology for developing computer system documentation is the standard
documentation process. The starting point in this process is the documentation library blueprint.
Producing technical documentation
The standard technical documentation development process consists of the following steps:
. Planning . Producing
. Drafting . Distributing
. Reviewing . Updating
. Testing
Planning
Investigating the problem
Defining the target audience-their skills levels and needs
Determining documentation requirements
Designing the documentation
Selecting suitable methods

Drafting
. Drafting is the actual writing of the documentation and is usually the most time consuming task.
. Several writing techniques can be used to make the documentation understandable to the user.
Reviewing
. After the document has been drafted, various aspects including content, grammar and style, clarity, standards
and interest should be checked by someone other than the writers.
Testing
Before you begin testing you will need to document the test process.
Test process documentation is the task of detailing exactly what, when and how software will be tested.

126
A careful and detailed test process document will document the plans for testing and all of the results from the test
process.
Developing technical documentation may also include:
. System requirements . Data dictionary
. System flow chart . User interface
. Data flow diagram . Maintenance history log book
. Structured English
System chart/ diagram

A data flow diagram (DFD) is a graphical representation of the "flow" of data through the system.
This technique is used at the analysis stage.

The data flow diagram shows:


. The processes
. The flow of data to and from these processes
. Where the data is stored
. Who or what interact with the system by inputting data into the system or by receiving data from it.

Structured English (pseudo code)


Structured English is a technique that uses normal English language to describe each process in the data flow
diagram.
An example is the specification for the process called Print event results.
In English, we can describe the process as follows:
. List every race on the day, in order of the start time of the race.
. List the race description, including the age group and the time it starts.
. List the name and club of each athlete, and their finishing time in the race, in order from first to last.
. If the athlete did not complete the race, print “DNC” instead of a time.

127
Data Dictionary
A data dictionary defines the structure of the database itself and is used in control and maintenance of a database.
Most database management systems keep the data dictionary hidden from users to prevent them from accidentally
destroying its contents.
Data dictionaries do not contain any actual data from the database, only bookkeeping information for managing it.
Among other items of information, it records:
- what data is stored
- Name, description, and characteristics of each data element
- Types of relationships between data elements
- Access rights and frequency of access.
User Interface
An interface is a set of commands or menus through which a user communicates with a system.
The user interface is one of the most important parts of any system because it determines how easily you can make
the system do what you want.
User interface determines how commands are given to the system and how information is displayed on the output
device. There are three main types of user interfaces:
1) Command-driven interface: the user must know the machine and program-specific instructions or codes.
2) Menu-driven interface: user chooses the commands from lists displayed on the screen.
3) Graphical user interface (GUI): user gives commands by selecting and clicking on icons displayed on the
screen.
Maintenance history log book
Maintenance histories are written notes that provide documentation about the upkeep of a certain piece of equipment.
This documentation can prove useful to a variety of different businesses. These histories are particularly useful in
maintenance management because they help businesses ensure their equipment is kept in good condition.
I.e.: A maintenance log is a document that records who did what, when, and why. Maintenance logs are extremely
useful for troubleshooting recurring or obscure problems, as they provide a record of all work performed on the
system and may shed light on hard-to-spot interactions between seemingly unrelated symptoms. In short, they’re the
history of the system.
Applying content format and style
Writing style
• The style of writing is an important factor in determining the quality of documentation (both online
and printed).
• The following features can influence how well the documentation is understood by the reader:
Language Word simplicity

128
Sentence and paragraph length Active voice
Spelling and grammar Word emphases
Consistency
Language
. Use a conversational style so that the reader feels the communication is directed at them – for example,
‘restart your computer’, rather than ‘restart the computer’.
. You aim is to explain thing simply and clearly.
Simplicity
. Use word that are common in conversation rather than the more formal, often longer word usually used in
literature.
Spelling and grammar
. Spelling and punctuation are important. Incorrect spelling may make the meaning unclear, or distract the
reader.
. Incorrect spelling also gives an impression of poor-quality documentation. Spell checking software is readily
available and will find many spelling errors.
. Check your grammar, either by yourself or preferably by someone else who is a grammar expert.
Active voice
. Wherever possible, use the active voice. ‘Active voice’ means the subject carries out the action.
. Active voice is simpler, shorter, and easier to follow.
Active voice example
An example of active voice is: Check the data for errors, then press the enter key.
Compare with the following example of the passive voice:
After the data is typed, it should be checked for errors, and then the key is pressed
Word emphases
. Use underlining, bolding, capitals and italics sparingly and consistently to alert the reader to an important
point.
. Overuse of word emphases can distract or confuse the reader.
. Bullets are an effective device for emphasizing a series of points.
LO4. Evaluate and edit documentation
Analyzing and gathering feedback
Gaining feedback from appropriate person enables you to revise the designed system again to satisfy your
customers. By getting customer feedback, you can make your customers happier.
Implementing feedback mechanisms in line with organization policies
Client feedback can be implementing in line with the organization policies through:
- Prototyping - Formal feedback
- Verbal feedback - Questionnaire
- Informal feedback - Survey

129
- Group discussion
• Prototyping
A prototype is an early sample or model built to test a concept or process to enhance precision by system analysts
and users.
Prototyping serves to provide specifications for a real, working system rather than a theoretical one.
Some Advantages of Prototyping:
- Reduces development time.
- Reduces development costs.
- Requires user involvement.
- Developers receive quantifiable user feedback.
- Facilitates system implementation since users know what to expect.
- Results in higher user satisfaction.
- Exposes developers to potential future system enhancements.
• Verbal feedback
Verbal feedback should be used to supplement, support or as part of other evaluation activity. It can be formal or
informal.
Informal feedback is a type of feedback which offer daily encouragement to team members and discuss comments
from customers. It can often give the employee a sense of job performance and can give motivation.
It is most often used to evaluate just after a training event. Sometimes it may be in the form of a throw away
comment or something more specific.
Informal verbal feedback is good for:
- Validation of learning and meeting of objectives levels.
- Carrying out formative assessment of training programmes.
Formal Feedback is documented feedback. In some cases this may be a form of corrective counselling intended to
make an employee aware of their performance or lack of performance.
Formal verbal feedback is good for:
- Informing the tutor of any immediate reactions to the training.
- Allowing the facilitator to focus subsequent evaluations around specific issues.
• Questionnaire
Questionnaires are effective mechanisms for efficient collection of certain kinds of information.
Questionnaires may have only two options (yes/no) or multiple options or rank scaling, etc.
All the readers need to do is tick the most appropriate answer according to them.
Example: How satisfied were you with the training?
1. Overall quality of the training
◎ Excellent ◎ Good ◎ Satisfactory ◎ Poor
1. Attitude of the trainer
◎ Excellent ◎ Good ◎ Satisfactory ◎ Poor
2. Trainer's knowledge of the topics
◎ Excellent ◎ Good ◎ Satisfactory ◎ Poor
3. Handouts and training aids
◎ Excellent ◎ Good ◎ Satisfactory ◎ Poor

130
4. What would you recommend to the trainer to be done differently? (Please use the back of the paper if you
need more space.)
• Survey
A survey is a data collection tool that used to gather information about individuals.
A feedback survey is designed to collect feedback from clients about their interactions with a business.
- Feedback surveys help businesses improve the quality of their information, products, and services.
• Group discussion
After group discussion, the group provides feedback to the trainer or facilitator.
It is rated on various parameters such as attitude, confidence, communication, interpersonal skills, and flow of
thoughts.

MODULE TITLE: Testing Physical Database Implementation


NOMINAL DURATION: 75 hrs
LO1: Undertake database management system modelling
1.1 Using Entity relationship Modelling High level coding data Model
1.1.1. Entity types, entity sets, attributes, and sets
What is entity in a database?
An Entity is a thing in real-world (an object with a physical existence, e.g. A particular person, car, house, or
employee or an object with a conceptual existence.
- It can be roles, events, locations, tangible things or concepts.
Example: A person/an employee, department, payment, book, project, campus, organization, or business.
- Each entity must have its own identity that distinguishes it from every other entity, called unique identifier.
Example: Each Student has a unique ID that distinguishes one from others.
In database terms, an entity is a table which is responsible for storing data in the database.
Entity type is the set of all possible values for an entity is called entity type.
Example: - student is an entity type with common attributes to all students such as student_ID, Name, etc.
An entity set is a set of entities of the same type (e.g., all persons having an account at a bank).
- An entity set is the collection of instances represented by (e1, e2, e3, .... en).
- It is also called an extension
extension of the entity type
Example: - a company have many employees, and these employees are defined as entities (e1, e2, e3, ....)
and all these entities having the same attributes which are defined under ENTITY TYPE
employee, and set{e1, e2, .....} is called entity set.
Entity Instance is a single occurrence of a particular entity type. An entity type is described just one time in the
data model, but many instances of that entity type may be represented by data stored in the database.
Example: - There may be hundreds or thousands of employees in an organization – each one is an instance
of the Employee entity type.
Entity type name EMPLOYEE PROJECT
Attributes name Name, Age, salary Pname, Pcode, Location
e1 P1
(Abebe, 25, 3500) (Database, p001, Bahir Dar) One entity instance
e2 P2
(Daniel, 42, 2500) (Water, P002, Gonder) One entity instance
e3 131 P3
(Aster, 32, 3000) (Construction, P003, Gonder)
. .
Entity set
(Extension)
One entity instance
*
*
*
In E-R Diagram, an entity type is represented by a rectangle, and the name is indicated in capital letters.
Example:
DEPARTMENT EMPLOYEE

Attributes
- An attribute is a property that describes an entity.
- Each attributes has a particular value based on the defined data type.
- The set of all possible (allowable) values of an attribute is called attribute domain.
- In E-R Diagram, attributes are named with an initial capital letter followed by lowercase letters.
- An attribute can be represented by an ellipse (oval) shape with a line connected it to the associated entity.
Example:

- It can also be represented by listing them within the entity rectangle, under the entity name(entity type).
Example: EMPLOYEE
Emp_Id
Fname
lname
Types of attributes
An attribute can be: - simple or composite, single-value or multi-value, stored or derived
or Null Values.
7) Simple (Atomic) vs Composite attribute
. Simple attributes cannot be further divisible.
Example: SSN, Sex
. In E-R Diagram, simple attributes can be represented by an ellipse shape. Example:

. Composite attributes can be divided into smaller subparts.


Example: - address (street address, city, state, zip code)
- Name (first name, last name, initial name)
. In E-R Diagram, composite attributes can be represented by:
. The value of composite attribute is the concatenation of the values of its constituent simple attributes.
8) Single-valued vs Multi-valued attributes
- Most attributes have a single value for a particular entity.
- In some cases, an attribute can have a set of value for the same entity, called multi-valued.
Example: colour attribute for a car, college degree for a person.
- In E-R Diagram, Multi-valued attributes can be represented by double ellipse (oval) shape.
9) Stored vs derived attributes.
. In some cases, some attributes have a reference (derived from other attributes’ value).
132
Example: - The Age attribute is derived from the Birth-Date attribute.
- So, the Age attribute is derived attribute, and the Birth-Date attribute is stored attribute.
In E-R Diagram, Derived attributes can be represented by dotted ellipse.

4) Null Values attributes


Not applicable: e.g. Apartment Number, College Degree.
Unknown: - the attribute value exists but is missing. E.g. Height
- It is not known whether the value exists. E.g. Home Phone

Key attributes
- Attributes can be classified as identifiers or descriptors.
- A descriptor describes a non-unique characteristic of an entity instance.
- Identifiers (more commonly called keys or key attributes) uniquely identify each instance of an entity,
called candidate key. If such an attribute doesn't exist naturally, a new attribute is defined for that purpose.
Example: an ID number of STUDENT OR EMPLOYEE Entity type.
- In some cases, more than one attribute is required to identify a unique entity, called composite candidate key.
- In E-R Diagram, key attributes (identifiers) can be represented by ellipse shape with underline.

When selecting identifiers, you should follow these guidelines:


iv) Choose a candidate key that has values that do not change over the life of each instance of the entity type.
v) Choose a candidate key that is guaranteed to always have valid values and not be null for each instance.
vi) If a candidate key is a composite of two or more attributes, consider creating a new key with a single
value.
Types of Keys in Relational Database Model
. Super key - Candidate key
. Primary key - Alternate key
. Foreign key
Super Key is an attribute or a composite attribute which functionally determines all of the entity’s attributes.
- Since, a super key may contain additional columns that are not necessary for unique identification; we’re interested in
identifying super keys that contain only the minimum number of columns necessary for unique identification.
Candidate Key is a super key whose values are not repeated in the table records.
- It is a super key that contains only the minimum number of columns necessary for unique identification.
- It is possible to have more than one choice of candidate key in a particular table. In that case, the selection of the
primary key would be driven by the designer’s choice or by end user requirements.
Primary Key is a candidate key which doesn’t have repeated nor NULL values in the table.
- A primary key in any table is both a super key as well as a candidate key.
- It is an attribute or a set of attributes that uniquely identify a specific instance of an entity.
- Every entity in the data model must have a primary key whose values uniquely identify instances of the entity.
Alternate key is the candidate keys that are not selected as the primary key of the entity.

133
Foreign Key is a table’s primary key attribute which is repeated in another related table (having related data) to maintain
the required data relationship.
1.1.2. Relationship type, relationship sets, roles and structural constraints
A relationship is an association that exist b/n two or more participating entities.
- The function of relationship is to share data b/n entities.
- In E-R Diagram, a relationship type is represented by a diamond shape
with the relationship verb in it.
- Some example of relationships are: - a DEPARTEMENT has EMPLOYEES
- an EMPLOYEE manages PROJECTS
- EMPLOYEES works_on PROJECTS
- EMPLOYEES process PAYMENTS
- EMPLOYEES works_for DEPARTEMENT
There are three types of relationships b/n entities
* One-to-one: - one instance of an entity (A) is associated with one other instance of another entity (B).
Example: - the manages relationship b/n department and employee
- President to country, husband to wife, people to religion
* One-to-many: - one instance of an entity (A) is associated with zero, one or many instances of another entity
(B), but for one instance of entity (B) there is only one instance of entity (A).
Example: - the has relationship b/n department and employee
- Country to people, mother to children, department to students
* Many-to-many: - one instance of an entity )A) is associated with zero, one or many instances of another entity
(B), and one instance of entity (B) is associated with zero, one or many instances of entity (A).
Example: - the works_for relationship b/n employee and project
- Students to course, employee to projects, people to language
• Relationship Types
A Relationship Type defines a relationship set among entities of certain entity types.
A relationship type R among n entity types E1, E2, ••. , En defines a set of associations or a relationship set-among
entity from these entity types.
• Relationship sets
A Relationship Set is a collection of relationships all belonging to one relationship type.
Example: EMPLOYEE works_for DEPARTEMENT

e1
r1 P1
Relationship type
r2 P2
e2 Relationship set
r3 P3
r4 P4
e3
. .
• Roles and structural constraints . .
Role Names and Recursive Relationships. pn
- Each entity type in a relationship plays a particular role. The role name specifies the role that a participating
entity type plays in the relationship and explains what the relationship means.
Example: in the relationship between Employee and Department (in the WORKS_FOR relationship type),
EMPLOYEE entity type plays the role of employee or worker and DEPARTMENT entity type plays the
134
role of department or employer.
- In most cases, the role names do not have to be specified, but in cases where the same entity participates more
than once in a relationship type in different roles.
For example, each employee has a supervisor, we need to include role name “Supervise” and “supervisor”, both of
them are employees. Since the employee entity type participates twice in the relationship, once as an employee and
once as a supervisor, we can specify two roles, employee and supervisor.
Employee

Supervisor Supervisee
Supervisi
on

Degree of Relationship Type


- The degree of a relationship type is the number of participating entity types. Meaning if the relationship is
between two entity types (for Example, Employee and Department), then the relationship is binary, or has a
degree of two.
- If the relationship is between three participating entities, it has a degree of three, and therefore is a ternary
relationship.
Example: The relationship b/n Supplier, Project and Part. Each part is supplied by a unique supplier, and is used for
a given project within a company; the relationship “Supplies” is a ternary (degree of three) between Supplier, Project
and Part.

Supplier Project
Suppli
es

Part

Constraints on Relationship Types


- Relationship types have certain constraints that limit the possible combination of entities that may participate in
relationship.
- An example of a constraint on relationship is that if we have the entities Doctor and Patient, the organization
may have a rule that a patient cannot be seen by more than one doctor. This constraint needs to be described in
the schema.
- There are two main types of relationship constraints: cardinality ratio, and participation.
Cardinality for Binary Relationship
. Binary relationships are relationships between exactly two entities.
. The cardinality ratio specifies the maximum number of relationship instances that an entity can participate in.
. The possible cardinality ratios for binary relationship types are: 1:1, 1:N, N:1, M:N.
. Cardinality ratios are shown on ER diagrams by displaying 1, M and N on the diamonds.

135
Participation Constraints and Existence Dependencies
- The participation constraint specifies whether the existence of an entity depends on its being related to another
entity via the relationship type.
- The constraint specifies the minimum number of relationship instances that each entity can participate in.
- There are two types of participation constraints:
o Total:
If an entity can exist, only if it participates in at least one relationship instance, then that is called
total participation.

Example: in the relationship between Employee and Department, if company policy states that every
employee must work for a department, then an employee can exist only if he/she
participates in at lest one relationship instance (i.e. an employee can’t exist without a
department).
It is also sometimes called an existence dependency.
Total participation is represented by a double line.
o Partial:
If only a part of the set of entities participate in a relationship, then it is called partial
participation.
Example: in the relationship between Employee and Department, if company policy states that every
employee will not be a manager of a department, then the participation of an employee in the
“Manages” relationship is partial.
Partial participation is represented by a single line.
Attributes of Relationship Types
- Relationships can have attributes similar to entity types.
Example: - in the relationship Works_On, between the Employee entity and the Department entity, we would like to
keep track of the number of hours an employee works on a project. Therefore we can include Number of
Hours as an attribute of the relationship.
- In the “manages” relationship between employee and department, we can add Start Date as an attribute of
the Manages relationship.
For some relationships (1:1, or 1: N), the attribute can be placed on one of the participating entity types.
Example: the “Manages” relationship is 1:1, so StartDate can either be migrated to Employee or Department.
For some relationships (1:1, or 1:N ), the attribute can be placed on one of the participating entity types.
Example: the “works_for” relationship is N:1, so Since can be migrated to Employee entity type.
1.1.3. Weak Entity Types
Entity types that do not have key attributes (strong key) are called weak entity types.
The relationship that relates the identifying entity type (strong entity type) with the weak entity type is called an
identifying relationship.
A weak entity type always has a total participation constraint with respect to the identifying relationship, because
a weak entity cannot exist without its owner.
A weak entity type usually has a partial key, which is the set of attributes that can uniquely identify weak entities.
Example: let’s assume in a library database, we have an entity type Book. For each book, we keep track of the
author, and title. The library may own several copies of the same book, and for each copy, it keeps track of the copy
number (a different copy number for each copy of a given book) and price of each copy.

Has

136
Book Copy

The copy number is only unique for each book, meaning Book 123 may have copy 1, copy 2, copy 3, and book 456
may also have copy 1, copy 2 and copy 3. The copy number cannot be considered unique for each copy.
Therefore, the Copy entity does not have a key attribute; it is considered a weak entity type where as the book
entity is the identifying entity.
- A copy cannot exist without the identifying entity (Book)
- The Copy entity type has a total participation constraint with respect to the identifying relationship.
- The partial key of the Copy entity is Copy Number; for each owner entity Book, the Copy Number uniquely
identifies the copy for each book.
1.1.4. Refining ER designing
Refining is the process of analyzing of the entity relationship design of a database.
1.1.5. ERD naming, conventions, and design issues
Specify structural constraints on relationships
Replaces cardinality ratio (1:1, 1:N, M:N) and single/double line notation for participation constraints
Entity naming convention
. Entity names should be a noun, singular (written in upper case).
. Where necessary, underscores should join the words.
. Where possible, avoid using the organization’s name as part of the table name.
. For physical implementation, Entity Names can have a maximum of 44 characters.
. Names for the entities must be meaningful and must not conflict with other entity names.
. Where abbreviations are used, the full words must be obvious.
. Each entity name should be unique in the database
Attribute Naming convention
. Attributes’ name initial character should be upper case followed by lower case.
. Where necessary, underscores should join the words.
. No two attributes of an entity type having the same attribute name, but Attributes of different entities
can have the same name.

137
1.1.6. Notation for UML class diagrams
What is UML?
The UML (Unified Modeling Language) is a general-purpose visual modeling language that is used to specify,
visualize, construct, and document the object of a software system. It captures decisions and understanding about
systems that must be constructed.
The UML gives you a standard way to write a system’s blueprints, covering conceptual things, such as business
processes and system functions, as well as concrete things, such as classes written in a specific programming
language, database schemas, and reusable software components.”
What is class?
- A class is a set of objects that share the same attributes, operations, and relationships. So, a class is similar to an
entity type, only operations are added.
- It is the most important building block of any object-oriented system.
A class is symbolized by a rectangle with normally three “compartments” (sections) that contain:
Top section (class name).
Middle section (attributes).
Bottom section (operations that can be applied to individual objects).

138
For example, see the figure below:
Class name
STUDENT COURSE
First Name: String Title: string
Last Name: String List of data attributes Code: string
Email: String Credit: integer
Age: integer Total credit (): integer
Total Points (): Integer Set password: string
Set Password: String List of operations

• Relationships in UML are called “associations”.


• Cardinalities in UML are called multiplicities.
Place multiplicity notations (association names) above, on, or below the association line near the ends of an
association in the form of (min, max). These symbols indicate the number of instances of one class linked to one
instance of the other class.

Operation (interface):
An operation is a specification of a transformation or query that an object may be called to execute.
It has a name and a list of parameters.
1.3.Enhanced ER diagram and UML modeling
Enhanced ER diagram includes all modeling concepts of the ER model.
In addition, EER diagram includes:
- Subclasses and superclasses
- Specialization and generalization
- Category or union type
- Attribute, relationship, and inheritance
EER diagram is used to model concepts more accurately than the ER diagram
Subclasses, superclasses and inheritance
Entity type Y is a subtype (subclass) of an entity type X if and only if every Y is necessarily in X.
An Entity type X is a supertype (superclass) of an entity type Y if and only if an entity Y is member of an entity X.
Therefore, Entity type Y is a subclass of entity type X and entity type X is a superclass of entity type Y.
139
Example:
EMPLOYEE may be further grouped into {SECRETARY, ENGINEER, MANAGER, and TECHNICIAN}.

Employee Wo Department
rk

Secretary Engineer Technician

{SECRETARY, ENGINEER, TECHNICIAN} is a subset (subclass) of entity type EMPLOYEE and EMPLOYEE is
the superclass for each of those subclasses.
These are called superclass/subclass relationships.
Example: EMPLOYEE/SECRETARY, EMPLOYEE/TECHNICIAN, and EMPLOYEE/ENGINEER.
The SubClass is also called the “child class” of the BaseClass, and the BaseClass called “parent class”, or
SuperClass for the SubClass.
Inheritance is the process that allows a class to acquire the properties of another class. The class that inherits the
properties is called the subclass or subtype.
Specialization and generalization
Specialization is the process of defining a set of subclasses from a class.
It is process of creating new subclasses from an existing based upon some distinguishing characteristics of the
entities in the superclass.
Example: {SECRETARY, ENGINEER, TECHNICIAN} is a specialization of EMPLOYEE based upon job type.
The Same superclass may have several specializations, for example, {SALARIED_EMPLOYEE, and
HOURLY_EMPLOYEE} is another specialization of EMPLOYEE based upon method of pay.
Superclass/subclass relationships and specialization can be diagrammatically represented in EER diagrams.
Attributes of a subclass are called specific attributes.
Example: Typing Speed of SECRETARY
Generalization is the process of extracting shared characteristics from two or more classes, and combining them into
a generalized superclass.
. It is the reverse of specialization process.
. Several classes with common features are generalized into a super class.
. Shared characteristics can be attributes, associations, or methods.
Example: the entity types Car and Truck share common attributes License_PlateNo, VehicleID and Price.
Therefore, they can be generalized into the super class Vehicle with the common attributes.

140
Constraints and characteristics of specialization and generalization
• Constraints on specialization and generalization
Two conditions can be applied to a specialization/generalization:
Disjointness Constraint – This specifies that the subclasses of the specialization must be disjointed.
- disjoint can be specified by d in EER diagram.
- Disjoint constraint can be total or partial.
Overlap constraint – this specifies that that is the same entity may be a member of more than one subclass of
the specialization.
- Overlapping constraint can be specified by o in EER diagram.
- Overlapping constraint can be total or partial.
• Characteristics of specialization
. A subclass entity inherits all attributes and relationships of its superclass entity.
. A subclass entity may have its own specific attributes and relationships (together with all the attributes and
relationships it inherits from the superclass.
Example: {SECRETARY, ENGINEER, TECHNICIAN}, inherits all attributes and relationship of an entity type EMPLOYEE.
• Characteristics of generalization
. A superclass entity can take shared characteristics (Attributes, Association or methods) of its subclass entity.
. A superclass entity may have its own specific attributes and relationships (together with all common
attributes and relationships it take from the subclass.
Modeling of union types using categories
Superclasses represent different entity types (subclasses). Such a subclass is called a category or UNION TYPE
Example:
Database for vehicle registration, vehicle owner can be a person, a bank (holding a lien on a vehicle) or a company.
– Category (subclass) OWNER is a subset of the union of the three superclasses COMPANY, BANK, and PERSON
– A category member must exist in at least one of its superclasses
Union type or a category
- Represents a single superclass/subclass relationship with more than one superclass
- Subclass represents a collection of objects that is a subset of the UNION of distinct entity types
- Attribute inheritance works more selectively
- Category can be total or partial
- Some modeling methodologies do not have union types

141
Represent specialization/Generalization and inheritance in UML class diagrams
Specialization, generalization and inheritance in UML class diagrams include Basic notation for superclasse,
Subclasses, association and multiplicity.
An UML class diagram includes the following elements:
Class - A class represents a relevant concept from the domain, a set of persons, objects, or ideas.

Attribute- An attribute of a class represents a characteristic of a class .

Generalization - Generalization is the process of extracting shared characteristics from two or more classes, and
combining them into a generalized superclass.

Association - An association represents a relationship between two classes:


Works_on
An association indicates that objects of one class have a relationship with objects of another class, in which this
connection has a specifically defined meaning.

142
Multiplicity - A multiplicity allows for statements about the number of objects that are involved in
an association:

Aggregation - An aggregation is a special case of an association (see above) meaning “consists of”:

Relationship types of degree higher than two


The entities that are participating in a given relationship are known as participants. The number of participants in a
given relationship is called degree of relationship.
In E-R model, the most common relationship types (with respect to degree of relationships) are:
(1) Binary relationship
(2) Unary relationship
(3) Ternary (or higher degree) relationship
• Unary (degree one) relationship
The relationship between the instances of only one entity type (or participant) is known as unary relationship.
It is also referred to as recursive relationship. This relationship has degree one.
a) One-to-One Unary Relationship
The one-to-one unary relationship is represented in the similar way as one-to-one binary relationship.
Some examples are given below to explain the concept of one-to-one unary relationship.
Examples: The recursive relationship between the instances of PERSON entity type is:

The above relationship shows that a person is married to a person. On the other hand, a person is married by another
person.
b) One-to-Many Unary Relationship
The one-to-many unary relationship is shown in figure below. This relationship is named as 'Manages' that
associates employees of an organization with another employee who is their manager.

143
c) Many-to-Many Unary Relationship
The many-to-many unary relationship "Treated-By" is given below. It represents the situation in which doctors
give treatments to other doctors (doctors as patients).

The above relationship shows that a doctor is treated by many other doctors. On the other hand, a doctor treats many
other doctors.
• Ternary (degree three) relationship
A ternary relationship is a simultaneous relationship among instances of three entity types. This type of relationship
has degree three. Example:

Supplier Project
Suppli

Part

The name of relationship is "Supplies". The Supplier supplies Parts to Project.

The above ternary relationship "Supplies" can be read as "A Supplier can supply many Parts to a particular Project".

Another example of ternary relationship "Has" is given below, in which three entities ORDER, CUSTOMER and
SALESPERSON are associated with each other.

The above ternary relationship "Has" can be read as "A salesperson has many orders from many customers.

144
LO2. Test Database Performance
Naming standard of Keys
In E-R Diagram, any candidate key attributes of an entity type can be represented by ellipse shape with underline the
name.
StudentI
In E-R Diagram, any foreign key key attributes of an entity type can be represented by ellipse shape with underline
with a dot line for the name.

Audit Trials
An audit trail (or audit log) is a security-relevant chronological (in order) record, set of records, or destination and
source of records that provide documentary evidence of the sequence of activities that have affected at any time a
specific operation, procedure, or event.
Audit records typically result from activities such as financial transactions, scientific research and health care data
transactions, or communications by individual people, systems, accounts, or other entities.

The process that creates an audit trail is typically required to always run in a privileged mode, so it can access and
supervise all actions from all users; a normal user should not be allowed to stop/change it. Furthermore, for the same
reason, trail file or database table with a trail should not be accessible to normal users.

Database auditing involves observing a database so as to be aware of the actions of database users. Database
administrators and consultants often set up auditing for security purposes, for example, to ensure that those without
the permission to access information do not access it
"Audit trails help promote data integrity by enabling the detection of security breaches.
One of the most significant aspects of database security involves setting up auditing to record user activities.
Maintaining equipment inventory
Having an accurate equipment inventory is an important part of the maintenance process. If users reporting problems
can select from a complete and accurate list of equipment items, they will more quickly and accurately report their
problems, and the system can more effectively route the problems to the appropriate approval and execution
processes.
An accurate equipment inventory optimizes the maintenance process and thereby minimizes the direct and indirect
costs associated maintaining equipment.
Equipment Standards
An important step of maintaining an equipment inventory is to establish the types of equipment at your company --
the equipment standards
Setting up Equipment Standards
Select the View and Edit Equipment Standards task. A list of all defined equipment standard will show. Select an
equipment standard, and the system displays detailed information on the selected equipment standard in the right
frame.
You can make changes to the information if needed and click on the Save button to submit the changes.
To add a new equipment standard, click on the Add New button and enter your details.
View and Edit Inventory
Select the View and Edit Equipment Inventory task. The system presents a three-panel view.
• In the top panel, you can restrict the equipment listing.
• In the left panel, the restricted equipment is listed. Click the Show button in the panel header of the top panel
to populate the list.
• Select an equipment item in the list, and its details display in the right panel.
You can make these edits:
• To update equipment details, make changes in the details panel and click the Save button.

145
• To add a new equipment to the inventory, click the Add New button in the inventory listing panel, enter data
in the details panel, and save your changes.
Client training and satisfaction reports
Client training increase productivity or enhance current skill, the training sessions provide a valuable opportunity to
turn client risk management knowledge into a competitive advantage.
Client/Customer satisfaction report is a measure of how products and services supplied by a company meet or
surpass customer expectation. Customer satisfaction is defined as "the number of customers, or percentage of total
customers, whose reported experience with a firm, its products, or its services (ratings) exceeds specified satisfaction
goals
LO3. Seek client feedback
Implementing feedback mechanisms in line with organization policies
Client feedback can be implementing in line with the organization policies through:
- Prototyping - Questionnaire
- Verbal feedback - Survey
- Informal feedback - Group discussion
- Formal feedback
• Prototyping
A prototype is an early sample or model built to test a concept or process or to act as a thing to be replicated or
learned from. A prototype is designed to test and trial a new design to enhance precision by system analysts and
users. Prototyping serves to provide specifications for a real, working system rather than a theoretical one.
Some Advantages of Prototyping:
- Reduces development time.
- Reduces development costs.
- Requires user involvement.
- Developers receive quantifiable user feedback.
- Facilitates system implementation since users know what to expect.
- Results in higher user satisfaction.
- Exposes developers to potential future system enhancements.
• Verbal feedback
Verbal feedback should be used to supplement, support or as part of other evaluation activity. It can be formal or
informal.
Informal verbal feedback is most often used to evaluate just after a training event. Sometimes it may be in the form
of a throw away comment or something more specific.
Informal verbal feedback is good for:
- Evaluating at validation, learning and meeting of objectives levels.
- Carrying out formative assessment of training programmes.
Formal verbal feedback can assist you to evaluate for validation, whether objectives met or for learning.
Formal verbal feedback is good for:
- Informing the tutor of any immediate reactions to the training.
- Allowing the facilitator to focus subsequent evaluations around specific issues.
• Informal feedback
Informal feedback is a type of feedback which offer daily encouragement to team members and discuss comments
from customers. It can often give the employee a sense of job performance and can give motivation.
• Formal feedback
Formal Feedback is documented feedback. In some cases this may be a form of corrective counselling intended to
make an employee aware of their performance or lack of performance.
• Questionnaire
Questionnaires are effective mechanisms for efficient collection of certain kinds of information.
Questionnaires may have only two options (yes/no) or multiple options or rank scaling, etc.
All the readers need to do is tick the most appropriate answer according to them.

146
Example: How satisfied were you with the training?
2. Overall quality of the training
Excellent Good Satisfactory Poor
5. Attitude of the trainer
Excellent Good Satisfactory Poor
6. Trainer's knowledge of the topics
Excellent Good Satisfactory Poor
7. Handouts and training aids
Excellent Good Satisfactory Poor
8. What would you recommend to the trainer to be done differently? (Please use the back of the paper if you
need more space.)
• Survey
A survey is a data collection tool that used to gather information about individuals.
A feedback survey is designed to collect feedback from clients about their interactions with a business.
- It provides space for customers to voice their compliments, complaints, and suggestions.
- Feedback surveys help businesses improve the quality of their information, products, and services.
• Group discussion
After group discussion, the group provides feedback to the trainer or facilitator.
It is rated on various parameters such as attitude, confidence, communication, interpersonal skills, and flow of
thoughts.

147

You might also like