Professional Documents
Culture Documents
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.
5
Assignment on Apply quality control
1. What is Quality?
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.
6. Explain workplace
7. Procedure.
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!:
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:
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:
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
20
...and the following dialog box will appear:
…followed by:
21
Click on the Next button again...
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:
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:
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
- 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.
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
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 )
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
Once you click on the “Backup” the following Backup Database window will appear.
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.
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.
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.
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.
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.
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:
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).
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.
Data dictionaries do not contain any actual data from the database, only bookkeeping information for managing it.
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.
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.
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.
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
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.
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).
84
Generalization - Generalization is the process of extracting shared characteristics from two or more classes, and
combining them into a generalized superclass.
Aggregation - An aggregation is a special case of an association (see above) meaning “consists of”:
• 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.
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
92
The Scope of Good Database Design:
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.
- 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
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
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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 .
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.
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
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
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.
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.
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.
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:
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.
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
Supplier Project
Suppli
es
Part
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
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} 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.
Generalization - Generalization is the process of extracting shared characteristics from two or more classes, and
combining them into a generalized superclass.
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”:
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 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