Unit 04 Database-Assignment Holistic
Unit 04 Database-Assignment Holistic
Student’s name
List which assessment criteria Pass Merit Distinction
the Assessor has awarded.
LO2 Develop a fully functional relational database system, based on an existing system design
Pass, Merit & Distinction P2 P3 M3 M3 D2
Descripts
* Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and
grades decisions have been agreed at the assessment board.
Assignment Feedback
Formative Feedback: Assessor to Student
Action Plan
Summative feedback
Assessor Date
signature
Student Date
signature
Pearson Higher Nationals in
Computing
Unit 04: Database Design & Development
Assignment 01
General Guidelines
1. A cover page or title page should be attached to your assignment. Use page 1 of this
assignment brief as your cover page and make sure all details are accurately filled.
2. The entire assignment brief should be attached as the first section of your assignment.
3. The assignment should be prepared using a word processing software.
4. The assignment should be printed single sided in an A4 sized paper.
5. Allow 1” margin on top, bottom and right sides of the paper and 1.25” on the left side (for
binding).
1. The font size should be 12 point, and should be in the style of Time New Roman.
2. Set line spacing to 1.5. Justify all paragraphs.
3. Ensure that all headings are consistent in terms of size and font style.
4. Use footer function on the word processor to insert your name, unit, assignment no, and
page number on each page. This is useful if individual sheets get detached from the
submission.
5. Use the spell check and grammar check function of the word processing application to
review the use of language on your assignment.
Important Points:
1. Carefully check carefully the hand in date and the instructions given with the assignment.
Late submissions will not be accepted.
2. Ensure that sufficient time is spent to complete the assignment by the due date.
3. Do not wait till the last minute to print or bind the assignment. Such excuses will not be
accepted for late submissions.
4. You must be responsible for efficient management of your time.
5. If you are unable to hand in your assignment on time and have valid reasons such as illness,
you may apply (in writing) for an extension.
6. Failure to achieve at least a PASS grade will result in a REFERRAL grade.
7. Non-submission of work without valid reasons will lead to an automatic REFERRAL. You will
then be asked to complete an alternative assignment.
8. If you use other people’s work or ideas in your assignment, it must be properly referenced,
using the HARVARD referencing system, in your text or any bibliography. Otherwise, you’ll
be found guilty of committing plagiarism.
9. If you are caught plagiarising, your grade will be reduced to a REFERRAL or at worst, you
could be excluded from the course.
Student Declaration
I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present
it as my own without attributing the sources in the correct form. I further understand what it
means to copy another’s work.
Assignment Title Data base system for the Smart Movers Transport
Company
Issue Date
Submission Date
Submission format
Part 1: The submission is in the form of an individual written report. This should be written
in a concise, formal business style using single spacing and font size 12. You are required
to make use of headings, paragraphs and subsections as appropriate, and all work must be
supported with research and referenced using the Harvard referencing system. Please also
provide a bibliography using the Harvard referencing system. The recommended word
limit is 2,000–2,500 words, although you will not be penalised for exceeding the total word
limit.
Part 2: The submission is in the form of a fully functional relational database system
demonstrated to the Tutor; and an individual written report (please see details in Part 1
above).
Part 3: The submission is in the form of a witness statement of the testing completed by
the Tutor; technical documentation; and a written report (please see details in Part 1
above).
Unit Learning Outcomes:
LO1 Use an appropriate design tool to design a relational database system for a
substantial problem.
LO2 Develop a fully functional relational database system, based on an existing
system design.
LO3 Test the system against user and system requirements.
LO4 Produce technical and user documentation.
Assignment Brief and Guidance:
*Please note that assignment guidance is for reference only and should be more
specific in detail to meet customized needs.
Assignment brief
Case study
You are employed as a Database Developer for a large IT development company.
The company has been approached by a transport company called Smart
Movers which has grown to a level where need to have an automated system to
handle day today operational activities to meet customer demands. You are
given the job to design and develop a database solution for Smart Movers to
meet their business requirements.
The company transports chemical products from one location to another on
behalf of registered customers. Customers are of three types namely Catogory1,
2 and 3. Each customer is given a unique customer number and his or her details
have to be recorded in the system.
Each transport operation is called a job, which involves picking up one or more
loads of the products from a customer requested start location and delivers it to
a customer requested destination. A unique number is given for each job and for
each load when they are created.
A Load is transported using a particular transport unit, which consists of a lorry,
a driver, assistant, and a container (for carrying the product) A container is fixed
to a trailer so it needs to be coupled to a lorry at the start of a Job. (Single
container can transport only one chemical product due to safety requirements)
Payments for a job depends on customer type, product type (No Risk, High risk)
and the load type (small, medium and large). Transport operations are run from
9 regional depots. Jobs are allocated to individual depots to service. Depots
hold, manage and maintain their own transport units which are permanently
allocated to them to service Jobs. Normally transport units are held at the base
Depot they belong.
The final system should be able to provide the required information for
management decision making and to handle daily operations efficiently and
effectively.
Activity 1
1) Design and produce a comprehensive database design document for the above
scenario and it should cover the below mentioned points.
Activity 2
• Implement the database according to the provided ER diagram and use DDL
statements.
• Implement a GUI based system to view, insert, update, delete data in the tables.
• Implement validation methods explained in the Activity 1.
• Implement join queries display the details payment with the job details and the
customer details
• Implement and access DML (select, update, delete) by giving meaningful
examples
from the developed database
• Explain and implement the security mechanisms in the developed database (EX:
- User groups, access permissions).
• Explain and implement the below mentioned SQL statements from the
developed
database by giving meaningful examples.
• (Group by, Order by, Having, Between, Where)
Activity 3
3) Test the developed database system which has created in the Activity 2.
• Create a test plan to test the system against user and system requirements.
• Create test cases to test the developed database.
• Explain and access how the selected test data can be used improve the
effectiveness of testing.
• Get independent feedback and evaluate the effectiveness on the developed
database solution from the non-technical users and some developers.
Activity 4
Acknowledgement
In preparation for the Database Assignment of the first semester, I would like to thank our
lecturer Miss Dulashi Athauda who was very helpful for us to complete this task in time.
In addition, I would like to thank all my friends and family members who helped me
accomplish this target in no time. I gained a vast knowledge about database development
through this module and through the online tutorials from the internet. I am very grateful
to have this assignment done in time and I thank our lecturer; Miss Dulashi immensely
and ESOFT Metro Campus for laying out a good online educational platform to study
even during these pandemic times.
Activity 1
Definition of a Database
“A database is an organized collection of structured information, or data, typically stored
electronically in a computer system. A database is controlled by a database management
system (DBMS). Together, the data and the DBMS, along with the applications that are
associated with them, referred to as a database system, often shortened to just database.
Data within the most common types of databases in operation today is typically modeled
in rows and columns in a series of tables to make processing and data querying efficient.
The data can then be easily accessed, managed, modified, updated, controlled, and
organized. Most databases use structured query language (SQL) for writing and querying
data.”
(What is a Database?, 2020)
At the present day, we use various kinds of programs and tools to create databases such
as,
MY SQL
Microsoft SQL Server
Oracle RDBMS
Improvado
Knack
MS Access
Data Consistency – Data is consistent throughout the whole database such that a
single update could easily update the total database.
Data Shareable – Database is created to share the data and information among
users who have different levels of authorized access.
High data security – Different levels of access for the users as a guest,
administrator for updating and protecting the data.
Advantages of a Database
High data security
Higher data integrity
Data consistency
Disadvantages of a Database
Complexity and size
Cost of DBMS and additional hardware costs
Performance issues and problems
High impact of a failure
User Requirements
User requirement is the requirement of the user when using the database system. User
requirement is a document, which is used in projects that tells us about the expected
outcome of the user while using the software. User requirement can be the user document
or the user manual, which is mainly, documented targeting the customers.
The accountable manager should be able to create a new job according to the
specific criteria like product type, customer type and the load type relating to the
customer’s satisfaction within a few seconds.
The software; the DBMS created for the Smart Movers should store all the details
as per each customer enrolled for their specific jobs.
The front desk officer should be able to register new customers easily and handle
all the transactions details and payment details easily without any delaying the
customers so that we can provide a good service to our customers.
There should not be any major hidden bugs and errors in the system as per the
agreement.
A proper training should be provided to the IT team of Smart Movers as per the
agreement.
System Requirements
Data normalization
Database normalization is a process used to organize a database into tables and columns.
Therefore, that meets two basic requirements:
1. There is no redundancy of data (all data is stored in only one place)
2. Data dependencies are logical (all related data item are stored together)
Normalization is important for many reasons, but because it allows database to take up
little disk space as possible. The objective is to separate data so that insertion, updating,
and deletion of a field can be made in just one table.
Structured
database
No Anomalies No redundancy
Insertion
Partial dependency:
Non key attribute of a relation depend on a part of the composite primary key
Transitive dependency:
Separate single valid and multivalued attribute into two relational and include the primary
key of single valued relation in to the other side as the foreign key.
E.g.: - 1st NF (CusNo, name, JobID,Jobtitle)customer
(paymentID, name, age, Cusno*)
Remove multivalve attribute or repeating groups when coming from zero normalization
form into first Normalization form.
Relation is in 1NF, if it does not contain repeating groups or multivalued attributes. This
can be separate in to two ways
By separating table into two tables
By filling the empty cells with the relevant data
Second Normalization Form (2NF)
Identity partial and full dependence in the module and separate them in to two relations
E.g.: - 2nd NF customer (Customerno, name, Jobid,Jobtitle)
Job (JobID, JobName)
payment (PID, Customerno, invoice)
Referential integrity
A referential integrity constraint is a rule that maintains consistency among the rows
of two relations. In the relational data model, associations between tables are defined
through the use of foreign keys. The rule is that if there is a foreign key in one
relation, either each foreign key must match a primary key value in referred relation
or the foreign key value must be null.
Definition for Data Definition language (DDL)
DDL in SQL
Data definition Language (DDL) is a standard for commands that define the different
structures in a database. DDL statements create, modify, and remove database objects
such as tables, indexes and users. Common DDL statement are CREATE, ALTER, AND
DROP (Rouse, 2019).
According to the scenario, smart movers there are seven types of table should be added in
the designed database. These tables can be created in SQL DDL statement in MS SQL
Customer
Transport unit
Payment
Loads
Products
Job
Depots
UPDATE=The UPDATE statement in SQL is used to update the data of an existing table
in database. We can update single columns as well as multiple columns using UPDATE
statement as per our requirement.
INSERT=The SQL INSERT statement is used to insert a one or more records into a table.
In other words The INSERT INTO statement is used to add new data to a database.
Activity 2.3
Security mechanism for a database system and the importance of these mechanism for the
security of the database
a. How security mechanism is been used in the database
Database security is protection of an invaluable organizational resource against
unauthorized reading, changing or erasing of data. In a database there should be more
security because all the important data are stored in the system so it should be more
secured and the third party or some hackers shouldn’t be able to take the stored data from
the database. If there is no proper security mechanism it might affect the future of
companies. A security service makes use of one or more security mechanisms. Attempts
to access data without proper authority are by far the most serious security threats there is
an exchange between the cost of reducing security risk and the adverse impact of a failure
of security. There is a reduction in risk as the investment in security increases beyond a
certain point. There is no perfect database system that will guarantee that data would
never be lost or accessed by people without proper authority.
For example, customers who are forced to use a password having at least 15 characters
and who must change their password every two weeks, may decide not to use the system
at all, because it is too time consuming to login and too difficult to remember the
password. Implementing extremely strong security is not always practical because of the
added cost in terms of additional security software, training users, and following complex
procedures. The challenge is to control
a solution that achieves the highest level of security for the least cost. In our smart movers
database system Database developers have included features to simplify security-related
procedures. A new feature of “Oracle9i” provides users with a single point of entry to all
authorized applications with a single authentication or login process. The Microsoft SQL
Server security system is integrated with the security system of the underlying Windows
operating system. This makes it easier to administer the database by using the Windows
user and password to authenticate access to the database this is a very effective manner to
keep data secured.
Each user is identifies by a user name and a password. Should give each user a security
domain, which is a set of things that says the operations the user may perform and the
resources limits for the user. Each user should be connected with his/her own schema
having the same name as the user name. All the objects created and owned by the same
user reside in the same schema. The user may grant benefit to other users to access the
objects in his/her schema.
DB2 provides two level of security checks to view or control data. First, at system level a
security program connected with DB2 does user and group authentication. It requires that
the user be identified by a user name and a password. secondly, after the user has passed
system level security, the DBMS control access to the DBMS objects and check the
permission to perform specific commands and functions.
A user is identified to Microsoft SQL server by an ID. This login ID can be created by the
system administration or can be automatically assigned from registered windows users.
Later the user can make use of a trusted connection when connecting to the database.
When a trusted connection is linked, the user does not need to re-enter a password
because windows has been already authenticated the user. After the login IDs have been
created, the system manager gives users individual access to the various database
available on the server. When a user is assigned to a database. The system manager can
decide to call the login ID to an existing user. This process is useful if a user needs to
perform maintenance task on that database, because the user can be automatically connect
to the database owner, which gives the owner rights on any of the object in that database.
Encryption
Can define a custom password verification function that checks the user password against
the company specific rules. A DB2 database can be configured such that during the user
authentication process password are encrypted before being transmitted. SQL server
relies on encryption support that is build into to windows operation system. It can
automatically encrypt data and other network traffic as it travel between the client and the
server system on a network.
Auditing (looking after an official finance carefully in a company or an account)
User can selectively monitor specific SQL statements, track the use of specified access
right, and record the use of specific operations on specific database objects. And this
option will check whether the records are successfully uploaded, or any unsuccessful
statement. It will allow the administrator to control almost any action performed on
database
DB2 audit capability based on event monitor data. A user can manually create an audit
table to record any changes made to his/her data
SQL server, it allows tracking usage of any permission. The alert can be coded and send
through mail to the administrator when a security problem occurs
In this we can implement all these security mechanism to the developed database.
Activity 2.4
Group by= Group by is one of the most frequently used SQL clauses. It allows you to
collapse a field into its distinct values. This clause is most often used with aggregations to
show one value per grouped field or combination of fields (cook, 2017).
Order by=Order the result set of a query by the specified column list and, optionally, limit
the rows returned to a specified range. The orders in which rows are returned in a result
set are not guaranteed unless an ORDER BY clause is specified (guyer, 2018).
Activity 3.1
A. suitable test plan to test the system against user and system requirements
According to the smart mover’s database, a test plan document that outlines the planning
for test process. It contains guideline for the test process such as approach, testing tasks,
environment needs, resources requirement, schedule and constraints. And it describes the
scope of testing, testing technique to be used, resources required for testing and the
schedule of intended test activities. The scope helps identifying test items and the features
to be tested. A test plan also contain details of who will perform a given task.
Activity 3.2
How can the selected data test above can be improve the effectiveness of testing
Test effectiveness and test efficiency are very important to count for a database system or
an asset to the customer or user. Better the test effectiveness the best is the test
effectiveness. 100% test effectiveness allows the customer to gain more confident.
As explained above, the expectation from the test is 100% efficiency, testing demands
efficient project managers, test expert professionals, below are some key points to achieve
almost 100%test efficiency for the database according to the system.
Test plan
Understand the logic and work according to that logic and also understand the internal
workings of developer’s point of view. Should analyze test results according to the
database system. Try to identify root cause of the system. First write test cases writing,
share test case with development team. It could be result in time saving. By following the
steps mention for improvement, it is confirmed that the relevant database will be
successfully improve the effectiveness of testing the system.
Activity 3.3
A. Feedback, recommendation, suggestion for the improvement of the system
Customer’s opinion and feedback are one of the most essential components for the
growth of the business and are very important throughout the customer lifecycle. And it’s
a great idea that what should have to improve from the database system in the future.
This database is relevant to a company called smartmover. This database system is a
customer management system and also some transportation management. This company
is a non-for profit organization, which is specializing in supplying products and loads in a
very large area and we are very focused about the customers mainly.
This report has discussed about the database system. I would like to say that our smart
movers company is the large organization in the market now and also we mainly target to
fulfill customer’s needs and wants. Therefore we got many feedbacks from customer that
we are super enough to run our organization, looking into the feedback of the users as
they gave in the feedbacks, this system is user-friendly for the users to work with and
they are fully satisfied with the accuracy of this database system.
Recommendation and suggestion for the improvement of our system
Some customers recommend and suggest us for future improvement to our system, that
funding for operations, maintenance, and upgrades must be done very often, due to some
reason our organization couldn’t able to do. The database would be improved by the
addition of new high quality records and skilled techs, security should be mainly focused
according to out database system, it should be more secured and safe for the developer
and the customer. below are some suggestion to be considered.
Have secure passwords: the most system in the database should be more secured
because we should allow our system and data view to the other non organization
and should be hacked.
Shouldn’t show people the backdoor: a simple way to protect our database? This
means keeping the system hidden from unsure search engines through the reboots.
While we want customers to have access to database information of our system,
may not want to put the login in directly on the sites.
Activity 4
Activity 4.1 & Activity 4.2
A. User’ guide and technical documentation for the support and maintenance of the
software
Simply to document the system and confirm that is has certain required features, such as a
security, privacy, system evidential sufficiency etc. To understand the system so that one can
design critical tests to confirm that the system functioning perfectly. A full system analysis
takes into account the whole system of smartmovers database and includes looking at future
consideration.
System features/functionalities
One container must only transport one product at a time due to safety requirements
Unique number must be given for each job and load when they are created
Input the details of the customer dividing into their category 1,2 & 3
Transport unit, assistant, lorry, driver and container details must be inputted into the
system
Input customer type
System features/functionalities
- Performance, security and user ability
Security should be very high and effective
Accuracy of payment and details
System requirements and speed
Reports should be created according to the system on time and should update all
those on time (e.g. customer details, transactions etc.)