7050-1712772706277-Unit 04_Database Design and Development_2024 (2) (1)
7050-1712772706277-Unit 04_Database Design and Development_2024 (2) (1)
Date Received
Submission Date
1st submission
Date Received 2nd
Re-submission Date
submission
Assessor Feedback:
LO1 Use an appropriate design tool to design a relational database system for a substantial
problem
Pass, Merit & Distinction P1 M1 D1
Descripts
LO2 Develop a fully functional relational database system, based on an existing system
design
Pass, Merit & Distinction P2 P3 M2 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.
Page | 1
Sakuntha Sankalpa Database Design and Development - 04
Assessor Feedback:
Resubmission Feedback:
Please note resubmission feedback is focused only on the resubmitted work
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.
Page | 2
Sakuntha Sankalpa Database Design and Development - 04
Important Points:
1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the
compulsory information. eg: Figures, tables of comparison etc. Adding text boxes in the body
except for the before mentioned compulsory information will result in rejection of your
work.
2. Avoid using page borders in your assignment body.
3. Carefully check the hand in date and the instructions given in the assignment. Late
submissions will not be accepted.
4. Ensure that you give yourself enough time to complete the assignment by the due date.
5. Excuses of any nature will not be accepted for failure to hand in the work on time.
6. You must take responsibility for managing your own time effectively.
7. 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.
8. Failure to achieve at least PASS criteria will result in a REFERRAL grade.
9. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will
then be asked to complete an alternative assignment.
10. If you use other people’s work or ideas in your assignment, reference them properly using
HARVARD referencing system to avoid plagiarism. You have to provide both in-text citation
and a reference list.
11. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be
reduced to A REFERRAL or at worst you could be expelled from the course
12. Use word processing application spell check and grammar check function to help editing
your assignment.
13. Use footer function in the word processor to insert Your Name, Subject, Assignment No,
and Page Number on each page. This is useful if individual sheets become detached for any
reason.
Page | 3
Sakuntha Sankalpa Database Design and Development - 04
STUDENT ASSESSMENT SUBMISSION AND
DECLARATION
When submitting evidence for assessment, each student must sign a declaration confirming that
the work is their own.
Student name: S A D Sakuntha Sankalpa Assessor name: Tharindu Rangana
Samarathunga / E208856
Unit: Unit 04
Plagiarism
Plagiarism is a particular form of cheating. Plagiarism must be avoided at all costs and students
who break the rules, however innocently, may be penalized. It is your responsibility to ensure
that you understand correct referencing practices. As a university level student, you are
expected to use appropriate references throughout and keep carefully detailed notes of all your
sources of materials for material you have used in your work, including any material downloaded
from the Internet. Please consult the relevant unit lecturer or your course tutor if you need any
further advice.
Student Declaration
Student declaration
I certify that the assignment submission is entirely my own work, and I fully understand the
consequences of plagiarism. I understand that making a false declaration is a form of malpractice.
Page | 4
Sakuntha Sankalpa Database Design and Development - 04
Unit 04: Database Design & Development
Assignment Brief
Student Name/ID S A D Sakuntha Sankalpa Samarathunga / E208856
Number
Submission Format
The assignment submission is in the form of the following.
The submission should be in the form of an individual written report written in a
concise, formal business style using single spacing and font size 12.
Completed functional relational database. Final working version in a format
suitable to be run and assessed for functionality – this could be as project/solution
files or final compiled executable
A full Testing document
Technical and User instructional videos for successful use of the database. Use
appropriate software and submit in a suitable format
written report to evaluate the database and its implementation.
The recommended word limit is 3,000 – 3,500 words, although you will not be
penalized for exceeding the total word limit.
All work must be supported with research and referenced using the Harvard referencing
system
Page | 5
Sakuntha Sankalpa Database Design and Development - 04
Transferable skills and competencies developed
Computing-related cognitive skills :
Demonstrate knowledge and understanding of essential facts, concepts, principles and
theories relating to computing and computer applications
Use such knowledge and understanding in the modelling and design of computer-based
systems for the purposes of comprehension, communication, prediction and the
understanding of trade-offs
Recognize and analyze criteria and specifications appropriate to specific problems, and
plan strategies for their solutions
Critical evaluation and testing: analyze the extent to which a computer-based system
meets the criteria defined for its current use and future development
Methods and tools: deploy appropriate theory, practices and tools for the design,
implementation and evaluation of computer-based systems.
Page | 6
Sakuntha Sankalpa Database Design and Development - 04
Vocational scenario
With marking a new chapter of human history E-Space Solutions (Pvt.) Ltd decided to
colonize the planet Mars in 2040. The company decided to hire a database expert to
develop a Database Management system to assist in this project for decision making.
Therefore, the data should maintain accuracy & consistency throughout the data life
cycle. E-Space Solutions plan to collect the information of the people who are willing to
go to Mars. To colonize Mars, the company needs to think about the qualifications of
volunteers & how they can assist in the colonizing process on Mars. The people who
willing to go to Mars will be known as ‘Colonist.’ Each colonist will be identified with Mars
Colonization ID, Name with First Name, Middle Name, Surname, Date of Birth,
Qualification, Age, Earth Address, Gender, Contact No, Civil Status, number of members of
the family to go to Mars & etc. From a single family there can be only one colonist & the
colonist can decide who will go to the planet Mars with them. If desired, colonists can
take their whole family with them too. But they will be considered as Dependents of the
colonist. In the system the dependents are not needed to identify separately, they should
only need to identify according to the colonist. But the dependents details should be
recorded with their Name, Date of Birth, Age, Gender, Relationship to the colonist & etc.
E-Space Solutions planning to have develop space crafts which will be named E-Jets. Those
E-Jets will take the colonists & their families together to the Mars & the pilots will return
with empty E-Jet. Those E-Jet pilots will be well experienced astronomers who have a
number of space hours. E-Jets will identify with Jet unique code, number of passenger
seats, nuclear engine power, made year, weight, power source & etc. Company plan to
build three types of E-Jets & they are,
Jets which powered by only nuclear engine
Jets which are powered by nuclear engine to go through the thick atmosphere
close to the Earth surface & then use Hydro Splitter engine to go through the
space with more than the speed of the sound & again it will use nuclear engines
when landing on the Mars.
Jets which are powered by Hydro-Nuc engines use nuclear power to split the
water molecules & generate a super hydro power for the jet. But this technology
will be high in cost, so at the initial level the company will have one of these only.
The astronomers who operate the E-Jets will have multiple qualifications in different
levels. Also, they will have designations according to their ranks in the company. The
pilots are assigned to the Jets rather than to the trips.
Those E-Jets will go multiple number of trips to Mars, with number of colonists & their
families. Every colonist & family member (if they go with the colonist) will get a single trip
to Mars & there’s no return. According to the company the trip table should be as follows.
Page | 7
Sakuntha Sankalpa Database Design and Development - 04
Trip
TripID JetCo
JetCode LaunchDa
LaunchDate ReturnDa
ReturnDate
The colonists will get a house from the Mars Colony. If the colonist going with the family,
will get a single house or if not with the family the single house will assign to four
colonists. The houses can be identified by unique Colony Lot Number, Number of Rooms,
Square feet of the house & any other relevant record that needed.
Also, each & every colonist will be assigned a job in the colonization process. Some of the
colonists will have multiple jobs. Those jobs can be Construction, Mechanical, Power
Generation, Medical, Security, Administration, Education, Research & Observation & etc.
One job will assign for multiple colonists.
Above details of the system will be input by the Data Entry Operators of the project.
Several reports will be generated by the System administrator such as Jet Detail report,
Trip Detail report with passengers, Colonists details with dependents & etc. Also, when
the project is ongoing the Colony Superintendent will generate Colony report with House
details & colonists, Job reports of the colonists & etc. The pilots can check the data of the
system according to the space craft trip information with the passenger details.
E-Space solution is hiring you as the Database expert to design & develop a solution for
the above scenario. In the System development level, the company doesn’t need the
report generated part initially, it will include in the next level of the development. But the
Database designs & system designs should include the reporting processes.
Page | 8
Sakuntha Sankalpa Database Design and Development - 04
d. Check whether the provided logical design is normalized. If not, normalize the
database by removing the anomalies.
Note: It is allowed to have your own appropriate assumptions and related attributes
within the scope of the case study given
e. Design set of simple interfaces to input and output for the above scenario
using Wireframe or any interface-designing tool. (Those designs cannot be the
interface designs of visual studio.)
f. Evaluate the effectiveness of the given design (ERD and Logical design) in
terms of the identified user and system requirements.
** Security mechanism should demonstrate with the necessary screen shots of the
steps that follows during creating user groups, access permissions in the Microsoft SQL
Server.
d. Explain the usage of DML with below mentioned queries by giving at least
two examples per each case from the developed database.
e. Assess the usage of the above SQL statements with the examples from the
developed database to prove that the data extracted through them are
meaningful & relevant to the given scenario.
Page | 9
Sakuntha Sankalpa Database Design and Development - 04
Page | 10
Sakuntha Sankalpa Database Design and Development - 04
Activity 3 -Testing
a. Provide a suitable test plan to test the system against user & system
requirements.
b. Provide relevant test cases for the database you have implemented.
c. Assess how the selected test data can be used to improve the effectiveness of
testing.
Note: Learner needs to give expected results in a tabular format & screenshots of
the actual results with the conclusion.
b. Produce a user manual (user guide) for the developed system. (This should include
all the forms that developed & proper guidance with step-by-step point format.)
Page | 11
Sakuntha Sankalpa Database Design and Development - 04
Recommended Resources
Please note that the resources listed are examples for you to use as a starting point in your
research – the list is not definitive.
Weblinks:
https://support.microsoft.com/en-GB (2022) Database design basics [online] Available at:
https://support.microsoft.com/en-us/office/database-design-basics-eb2159cf-1e30-401a-
8084-bd4f9c9ca1f5 [Accessed 1 August 2022]
https://www.guru99.com/ (2022) Database (Data) Testing Tutorial with Sample Test Cases
[online] Available at: https://www.guru99.com/data-testing.html [Accessed 1 August 2022]
Journal articles:
Batra, D. & Davis, J. (1992). Conceptual data modelling in database design: similarities and
differences between expert and novice designers. International Journal of Man-Machine
Studies, Volume 37, Issue 1, 1992, pp. 83-101. https://doi.org/10.1016/0020-
7373(92)90092-Y.
Gunjal, B. (2003). Database System: Concepts and Design. Proceedings of 24th IASLIC–SIG-
2003.
Kaur, T. & Singh B. (2003). Testing of Databases. IJISET - International Journal of Innovative
Page | 12
Sakuntha Sankalpa Database Design and Development - 04
Science, Engineering & Technology, Vol. 1 Issue 6. ISSN 2348 – 7968
Kaur, Taranpreet & Sehra, Sumeet Kaur. (2015). Designing and Development of Database
Testing Tool. International Journal of Computer Applications (0975 – 8887) Volume 120 –
No.19. 14. doi:10.5120/21334-4330.
Kraleva, Radoslava & Kralev, Velin & Sinyagina, Nina & Koprinkova-Hristova, Petia &
Bocheva, Nadejda. (2018). Design and Analysis of a Relational Database for Behavioral
Experiments Data Processing. International Journal of Online Engineering (iJOE). 14. 117.
doi:10.3991/ijoe.v14i02.7988.
Letkowski, J. (2015). Doing database design with MySQL. Journal of Technology Research.
Volume 6.
Reading:
Captain, F. (2013) Six-Step Relational Database Design™: A step by step approach to
relational database design and development, 2nd edn, CreateSpace Independent
Publishing Platform
Hernandez, M. (2003) Database Design for Mere Mortals: A Hands-On Guide to Relational
Database Design, 2nd edn, Addison Wesley
HN Global:
HN Global HN Global (2021) Reading Lists. Available at:
https://hnglobal.highernationals.com/learning-zone/reading-lists
Page | 13
Sakuntha Sankalpa Database Design and Development - 04
Learning Outcomes and Assessment Criteria
P5 Produce technical and user M5 Produce technical and user D3 Evaluate the database in terms of
documentation. documentation for a fully- improvements needed to ensure the
functional system, including continued effectiveness of the
data flow diagrams and system.
flowcharts, describing how the
system works.
Page | 14
Sakuntha Sankalpa Database Design and Development - 04
Contents
Activity 01..........................................................................................................................................................16
User requirements.........................................................................................................................................16
Functional user Requirements of the E-Space Solutions (Pvt.) Ltd (DBMS)...................................................17
System requirements.....................................................................................................................................19
System Requirements of the E-Space Solutions (Pvt.) Ltd (DBMS)................................................................19
Entity Relationship diagram...........................................................................................................................21
Logical Database Diagram for E-Space Solutions (Pvt.) Ltd (DBMS)...........................................................25
Database Normalization............................................................................................................................25
Wireframe UI design for E-Space Solutions (Pvt.) Ltd (DBMS)...................................................................30
Evaluate the effectiveness of the E-Space Solutions (Pvt.) Ltd (DBMS)......................................................35
Activity 02..........................................................................................................................................................36
Visual studio interface Designs..................................................................................................................40
Implement proper security mechanisms in the developed database........................................................49
Explain the usage of DML with below mentioned queries by giving at least two examples per each case
from the developed database....................................................................................................................53
Activity 03..........................................................................................................................................................58
Database Testing........................................................................................................................................58
Test Plane for E-Space Solutions (Pvt.) Ltd (DBMS)....................................................................................58
Test cases for E-Space Solutions (Pvt.) Ltd (DBMS)....................................................................................60
Assess how the selected test data can be used to improve the effectiveness of testing...........................69
Activity 04..........................................................................................................................................................72
The feedback form and feedback response of the Database system are given below..............................72
Produce a user manual (user guide) for the developed system.................................................................76
Use case diagram of the E-Space Solutions (Pvt.) Ltd (DBMS)...................................................................80
Class diagram of the E-Space Solutions (Pvt.) Ltd (DBMS).........................................................................81
flow charts of the E-Space Solutions (Pvt.) Ltd (DBMS)..............................................................................82
Assess the developed database by suggesting future enhancements to ensure the effectiveness of the
system........................................................................................................................................................84
Referencing................................................................................................................................................86
Page | 15
Sakuntha Sankalpa Database Design and Development - 04
Acknowledgement
I am very much privileged to have had Mr. Tharindu Rangana as my guide for this type of lecture
series. He has made valuable contributions in mastering the course content as well as enhancing our
thirst to achieve the best grades. I would like to thank Mr. Rangana for his concern towards our
education as we were in Institute.
Introduction
In this context, the aim of this assessment is to approach and define the development of appropriate
database systems for a range of business requirements. In an attempt to present the complete
workflow of creating a database from designing it and implementing it, to subsequently testing and
fine tuning it, this assessment adopts best practices in modern database development principals and
development life cycle. By following this process, some of the concepts that will be covered include
data modeling, normalized data, queries’ optimization, and data security. The following database will
not only showcase proficiency in handling advanced DBMS but also ensure the yielded system is
scalable and increases the availability and integrity of the data to the user.
Page | 16
Sakuntha Sankalpa Database Design and Development - 04
Activity 01
Part a)
User requirements
User requirements for a computer database refer to the specific needs, expectations, and
constraints of the end users or stakeholders who will interact with the database. These
requirements outline the database's desired functionalities, features, and characteristics from
the user's perspective, providing the foundation for designing a database that meets user needs
and delivers a satisfactory user experience. (Perplexity.ai, 2024)
User requirements in relation to database systems are regarded as the essential and desirable
features that the user wants the database to provide to address the user’s task and objectives.
These are the requirements that are crucial for coming up with, building and deploying a
database system capable of supporting the intended users.
Functional Requirements
Data storage and retrieval - Users need to efficiently store and retrieve data.
Data manipulation - Users require capabilities to modify, update, and delete data.
Data integrity - Data must be accurate, consistent, and reliable.
Data security - Protection of data from unauthorized access, modification, or
destruction.
Data recovery - Ability to restore data in case of failures or disasters.
Concurrency control - Handling multiple users accessing and modifying data
simultaneously.
Performance - Database should respond to user queries and updates efficiently.
Scalability - Ability to handle increasing data volumes and user loads.
Performance Requirements
Response time - How quickly should the system respond to user requests?
Throughput - How much data can the system process at each time?
Scalability - Can the system handle increasing amounts of data and users?
Page | 17
Sakuntha Sankalpa Database Design and Development - 04
Usability Requirements
User interface - How easy is the system to use?
Documentation - Is there clear documentation available?
Training - What level of training is required for users?
1. Colonist Management
The system must capture detailed information about potential colonists, including:
2. Dependent Management
The system should not require separate registration for dependents traveling with colonists.
It should allow recording dependent details linked to a colonist, including:
Name
Date of Birth
Age
Gender
Relationship to the Colonist
3. E-Jet Management
Page | 18
Sakuntha Sankalpa Database Design and Development - 04
4. Pilot Management
5. Trip Management
6. Colony Management
The system must manage information about the Mars colony, including:
7. Job Management
The system should manage job assignments for colonists on Mars, including:
8. Housing Management
These user requirements provide a roadmap for E-Space Solutions to develop a robust and
functional database system for managing their Mars colonization efforts
Page | 19
Sakuntha Sankalpa Database Design and Development - 04
System requirements
Hardware
Requirements
Functional
Requirements
System
Requirements
Software
Requirements
Non-Functional
Requirements
Hardware Requirements
Machine’s Requirements
o Storage - minimum of 6GB.
o Monitor - Super-VGA (800x600) or higher resolution.
o Internet - Internet functionality requires Internet access.
o Memory - 512 MB (Recommend 1GB)
o Processor Speed - Minimum: x64 Processor: 1.4 GHz (Recommended: 2.0)
o Processor Type - x64 Processor: AMD Opteron, AMD Athlon 64, Intel
Xeon with Intel EM64T support, Intel Pentium IV with
EM64T support
Software Requirements
Database Management System (DBMS)
o PostgreSQL, Microsoft SQL, MySQL, or Oracle Database
Page | 20
Sakuntha Sankalpa Database Design and Development - 04
Functional Requirements of E-Space Solutions (Pvt.) Ltd (DBMS)
User Management
o User authentication and authorization
o Different levels of access permission for the users having various categories
such as Database Expert, Data Entry Operators, System Administrator, Colony
Superintendent, Pilots.
Colonist Management
o Maintaining updates of the colonist’s details (MCID number, colonist’s name,
date of birth, qualifications, age, address, gender, phone number, civil status,
kinship, etc.)
o Managing of dependents’ information associated with colonists
E-Jet Management
o Recording and updating E-Jet details (unique code, passenger seats, engine
power, year made, weight, power source, etc.)
o Managing different types of E-Jets
Trip Management
o Scheduling and managing trips to Mars
o Assigning pilots to E-Jets
o Associating colonists and their families with specific trips
Housing Management
o Recording and updating house details on Mars (Colony Lot Number, number
of rooms, square feet, etc.)
o Assigning houses to colonists and their families.
Job Assignment
o Recording job details and categories (Construction, Mechanical, Power
Generation, etc.)
o Assigning jobs to colonists, allowing for multiple jobs per colonist.
Reporting
o Preparing for future report generation capabilities (Jet Detail report, Trip Detail
report with passengers, Colonist details with dependents, Colony report with
House details, Job reports, etc.)
Performance
o The system should be able to manage the access by many users at the same
time with ease.
o Short response time of the database and the time taken to perform various
database transactions
Scalability
o System should also be expandable due to the increase in the number of
colonists, trips and data that is processed.
Page | 21
Sakuntha Sankalpa Database Design and Development - 04
Security
o Data encryption at rest and in transit
o Regular security audits and vulnerability assessments
o Strong password policies and multi-factor authentication
Maintainability
o Clear and well-documented codebase
o Modular design for easy updates and maintenance
Usability
o User-friendly interface for data entry operators and other users
o Intuitive navigation and easy data input forms
Compliance
o Adherence to relevant data protection and privacy regulations
Part b
Database design
Entity Relationship Diagram, also known as ERD, ER Diagram or ER model, is a type of structural
diagram for use in database design. An ERD contains different symbols and connectors that visualize
two important information: The major entities within the system scope, and the inter-relationships
among these entities.
When we talk about entities in ERD, very often we are referring to business objects such as
people/roles (e.g. Student), tangible business objects (e.g. Product), intangible business objects (e.g.
Log), etc. "Relationship" is about how these entities relate to each other within the system.
(Visual Paradigm, 2019)
Page | 22
Sakuntha Sankalpa Database Design and Development - 04
Entity relationship diagrams have Entities, Attributes and relationships.
What is Entity?
An ERD entity is a definable thing or concept within a system, such as a person/role (e.g. Student),
object (e.g. Invoice), concept (e.g. Profile) or event (e.g. Transaction) (note: In ERD, the term
"entity" is often used instead of "table", but they are the same). When determining entities, think of
them as nouns. In ER models, an entity is shown as a rounded rectangle, with its name on top and its
attributes listed in the body of the entity shape. The ERD example below shows an example of an ER
entity.
(Visual Paradigm, 2019)
which are represented by ovals. A key attribute is the unique, distinguishing characteristic of the
entity. For example, an employee's social security number might be the employee's key attribute.
A multivalued attribute can have more than one value. For example, an employee entity can have
multiple skill values. A derived attribute is based on another attribute. For example, an employee's
monthly salary is based on the employee's annual salary. (Smartdraw, 2019)
There are three types of Relationships in a database that we can use to connect entities/tables.
2. A one-to-many relationship (1-M). For example, a single customer might place an order for
multiple products. The customer is associated with multiple entities, but all those entities have
a single connection back to the same customer.
3. A many-to-many relationship (M-N). For example, at a company where all call center agents
work with multiple customers, each agent is associated with multiple customers, and multiple
customers might also be associated with multiple agents.
Entity Attributes
Colonization ID
Civil Statues
Phone Number
Gender
Colonist Earth Adress
Qualification
Birthday
Number of Dependents
Full Name
Page | 23
Sakuntha Sankalpa Database Design and Development - 04
Colonization ID
Name
Dependent Birthday
Gender
Relationship to Colonist
Launch date
Trip Trip code
Colonization ID
Jet ID
Engine Power
Jet ID
E-Jet Pilot ID
Number of Seats
Made year
Weight
Square feet
House Number Of Rooms
House Number
Pilot ID
Pilot Qualification
Level
Name
Job Colonization ID
Job Categories
Page | 24
Sakuntha Sankalpa Database Design and Development - 04
(gitmind.com, 2021)
Page | 25
Sakuntha Sankalpa Database Design and Development - 04
Entity Relationship Model
Database Normalization
What is Normalization?
Page | 27
Sakuntha Sankalpa Database Design and Development - 04
The main reason for normalizing the relations is removing these anomalies. Failure to eliminate
anomalies leads to data redundancy and can cause data integrity and other problems as the database
grows. Normalization consists of a series of guidelines that helps to guide you in creating a good
database structure (JavaTPoint, 2011)
Database normalization is a process carried out to arrange databases into tables and columns as few
as possible for the least of dependency. The aim is to subdivide a database into two or more tables
and establish a relationship between them with the aim of minimizing the chances of experiencing
anomalies if data manipulation is conducted.
Page | 28
Sakuntha Sankalpa Database Design and Development - 04
Rule
Each column in a table must contain atomic (indivisible) values, and each column must
contain values of a single type. Each record must be unique.
Purpose
To ensure that each field contains only one value, and each record is uniquely identifiable.
Example –
Zero Normal Form (ZNF) convert to First Normal Form (1NF)
Phone Number
Colonization ID Phone number
(PK, FK)
Col221 0773457986
Col221 0762085145
Col122 0786555778
Col122 0724090876
Col345 0326789003
Col345 0778900234
Col445 0112567890
Rule
A table must be in 1NF, and all non-key attributes must be fully functionally dependent on the
entire primary key. This applies to tables with composite primary keys.
Purpose
To eliminate partial dependency, which occurs when non-key attributes depend only on a part
of the primary key.
Example –
First Normal Form (1NF) convert to Second Normal Form (2NF)
Page | 29
Sakuntha Sankalpa Database Design and Development - 04
Colonization ID Name
(PK)
Col221 Rajapaksha
Col122 Sirisena
Col345 Premadasa
Col445 Wickremasinghe
Phone Number
Colonization ID Phone number
(PK, FK)
Col221 0773457986
Col221 0762085145
Col122 0786555778
Col122 0724090876
Col345 0326789003
Col345 0778900234
Col445 0112567890
Rule
A table must be in 2NF, and all the attributes must be directly dependent on the primary key,
not on other non-key attributes.
Purpose
To remove transitive dependency, which occurs when non-key attributes depend on other non-
key attributes.
Example –
First Normal Form (2NF) convert to Second Normal Form (3NF)
Page | 30
Sakuntha Sankalpa Database Design and Development - 04
Colonization ID Name
(PK)
Col221 Rajapaksha
Col122 Sirisena
Col345 Premadasa
Col445 Wickremasinghe
Phone Number
Colonization ID Phone Marksnumber
(PK, FK)
Colonization ID Marks Academic grade
Col221 0773457986
(PK, FK)
Col221
Col221 0762085145
60 Merit
Col122 0786555778
Qualification
Col122 50 Pass
Col122
Colonization ID 0724090876
Qualification
Col345 45 Pass
Col345
(PK, FK) 0326789003
Col445 82 Distinction
Col345
Col221 0778900234
MSc in data analysis
Col445
Col122 0112567890
BSc in computing
Col345 BEng engineering
Col445 MSc in mathematics
Page | 31
Sakuntha Sankalpa Database Design and Development - 04
Wireframe UI design for E-Space Solutions (Pvt.) Ltd (DBMS)
What is Wireframe in Software Development? In fact, wireframe was originally used as a term
standing for a manikin made of wire, with help of which garments can be designed according to given
shapes and sizes. It’s similar with today’s software and web design: A wireframe is the basic
framework in software development and web design. (Xia, 2017)
Page | 32
Sakuntha Sankalpa Database Design and Development - 04
Data Operator’s Interfaces
Page | 33
Sakuntha Sankalpa Database Design and Development - 04
This interface uses to add E-Jet and pilot information.
Page | 34
Sakuntha Sankalpa Database Design and Development - 04
System Administration’s interface
This interface can be used to assign jobs to each colonist and make trip details.
Pilot’s interface
Page | 35
Sakuntha Sankalpa Database Design and Development - 04
Colonist’s interface
Normalization
The design appears to be normalized. Each entity seems to be broken down into its
components, reducing redundancy. For example, Colonist, Dependent, Job, House,
and Pilot are all separated, minimizing data duplication.
Redundancy
There doesn't appear to be much redundancy, as attributes are appropriately allocated
across different tables.
Entity-Relationship Mapping
Entities
The major entities such as Colonist, Dependent, House, Job, E-Jet, Trip, and Pilot are
clearly defined.
Relationships
Relationships between entities are well-mapped. For instance, the relationship between
Colonist and Dependent is evident through the Colonization ID foreign key. Similarly,
Trip and E-Jet are linked through Jet ID, which is appropriate.
Foreign Keys
The use of foreign keys (Colonization ID, Pilot ID, Jet ID) allows for proper linkage
Page | 36
Sakuntha Sankalpa Database Design and Development - 04
and ensures referential integrity.
User Tracking
The diagram seems capable of effectively tracking colonists, their dependents, and the
associated data (e.g., job categories, qualifications).
Trip Management
The Trip and E-Jet tables support the management of trips and the resources (e.g.,
jets), which are essential for a colonization system.
House Management
The House entity allows for tracking living spaces, with attributes like Number of
Rooms and Square Feet, which align with housing requirements.
Qualification Tracking
The design also supports tracking qualifications of both colonists and pilots, ensuring
that the system can manage skilled personnel effectively.
Phone Number
The inclusion of a Phone Number table linked by Colonization ID allows for contact
management, which could be crucial for communication purposes.
Activity 02
Develop a relational database system according to the ER diagram I have designed (Use SQL DDL
statements)
Page | 37
Sakuntha Sankalpa Database Design and Development - 04
Create Colonist Table:
Page | 38
Sakuntha Sankalpa Database Design and Development - 04
Crate Job table and Colonist Qualification tables
Page | 41
Sakuntha Sankalpa Database Design and Development - 04
Visual studio interface Designs
evidence of the use of a suitable IDE to create a simple interface to insert, update and delete
data in the database.
Page | 42
Sakuntha Sankalpa Database Design and Development - 04
Data entry forms
Page | 43
Sakuntha Sankalpa Database Design and Development - 04
Page | 44
Sakuntha Sankalpa Database Design and Development - 04
Dependents information form:
Page | 45
Sakuntha Sankalpa Database Design and Development - 04
E-jet and pilot information
Page | 46
Sakuntha Sankalpa Database Design and Development - 04
House information form
Page | 47
Sakuntha Sankalpa Database Design and Development - 04
Data Administrator form
Page | 48
Sakuntha Sankalpa Database Design and Development - 04
Pilot view E-Space Solutions (Pvt.) Ltd (DBMS)
Page | 49
Sakuntha Sankalpa Database Design and Development - 04
Make colonist report form
Page | 50
Sakuntha Sankalpa Database Design and Development - 04
Implement proper security mechanisms in the developed database.
Evaluate the database solution developed and its effectiveness with relevant to the user and
system requirements identified, system security mechanisms (EX: -User groups, access
permissions) and the maintenance of the database.
- Open SQL Server Management Studio (SSMS) and connect to your database.
- Create roles for different user groups. Run the following script in a new query window:
Page | 51
Sakuntha Sankalpa Database Design and Development - 04
Create Users:
Next, create users and assign them to the roles we just created.
Page | 52
Sakuntha Sankalpa Database Design and Development - 04
Setting Access Permissions
- The database solution effectively meets the user and system requirements by
accurately modeling the data needed for Mars colonization, including colonists,
dependents, jets, trips, houses, and jobs.
- The relational design ensures data integrity and reduces redundancy by normalizing
the database and using appropriate primary and foreign keys.
- User groups and access permissions enhance security by ensuring that only authorized
users can perform specific actions on the database.
Page | 53
Sakuntha Sankalpa Database Design and Development - 04
- Roles like DataEntryOperators, SystemAdministrators, and ColonySuperintendents
have been assigned appropriate permissions to insert, update, delete, and select data as
per their responsibilities.
- Regular backups and integrity checks should be scheduled to ensure data availability
and consistency.
Conclusion
These answers and screenshots demonstrate the implementation of security mechanisms in the SQL
Server database, showcasing the creation of user groups, assignment of users, and setting of access
permissions to ensure secure and effective database operations.
Page | 54
Sakuntha Sankalpa Database Design and Development - 04
Explain the usage of DML with below mentioned queries by giving at least two examples per
each case from the developed database.
Page | 55
Sakuntha Sankalpa Database Design and Development - 04
Where Query in colonist table
Page | 56
Sakuntha Sankalpa Database Design and Development - 04
Update Query in colonist table
Page | 57
Sakuntha Sankalpa Database Design and Development - 04
In Query in colonist table
Page | 58
Sakuntha Sankalpa Database Design and Development - 04
Order By Query in Colonist table
Page | 59
Sakuntha Sankalpa Database Design and Development - 04
Activity 03
Database Testing
Database testing is a type of software testing that checks the data integrity, consistency schema,
tables, triggers, etc. It involves creating difficult queries to load and stress, testing the database and
reviewing its responsiveness.
Test Scenarios
1. Functional Testing
Check that CRUD operations exist which stand for Create, Read, Update and Delete.
Take the tests stored procedures, triggers, and functions.
Validate data migration processes.
Optimize data retrieval with intricate forms of search queries.
2. Performance Testing
Load testing
Determine the productivity of the database under large amount of concerned traffic.
Stress testing
Identify to what extent the put database will be able to withstand extreme
circumstances.
Query performance
It is involved in the analysis of the efficiency of queries.
Indexing
Discuss indexes.
3. Security Testing
5. Compatibility Testing
Page | 61
Sakuntha Sankalpa Database Design and Development - 04
Test cases for E-Space Solutions (Pvt.) Ltd (DBMS)
Colonization ID,
Last Name,
1 Insert a new colonist Birthday,
Details Gender,
First Name,
Earth Address, Pass
Number of Dependents,
Phone Number,
Middle Name,
Qualifications,
Civil Status
Page | 62
Sakuntha Sankalpa Database Design and Development - 04
Test No Procedure Test Data Rusalt
Colonization ID,
Last Name,
2 Delete a new colonist Birthday,
Details Gender,
First Name,
Earth Address, Pass
Number of Dependents,
Phone Number,
Middle Name,
Qualifications,
Civil Status
Page | 63
Sakuntha Sankalpa Database Design and Development - 04
Test No Procedure Test Data Rusalt
Colonization ID,
Last Name,
3 Update a new colonist Birthday,
Details Gender,
First Name,
Earth Address, Pass
Number of Dependents,
Phone Number,
Middle Name,
Qualifications,
Civil Status
Page | 64
Sakuntha Sankalpa Database Design and Development - 04
Test No Procedure Test Data Rusalt
Colonization ID,
Name,
4 Add a new Dependent Gender, Pass
Details Birthday,
Relationship to colonist
Page | 65
Sakuntha Sankalpa Database Design and Development - 04
Test No Procedure Test Data Rusalt
Jet ID,
Made year,
5 Add a new E-Jet Engine Power, Pass
Details Number of Seats,
Weight
Page | 66
Sakuntha Sankalpa Database Design and Development - 04
Test No Procedure Test Data Rusalt
Pilot ID,
Name,
6 Add a new Pilot Qualifications, Pass
Details Level
Page | 67
Sakuntha Sankalpa Database Design and Development - 04
Test No Procedure Test Data Rusalt
House Number,
7 Add a new House Number of Rooms, Pass
Details Squar foot
Page | 68
Sakuntha Sankalpa Database Design and Development - 04
Test No Procedure Test Data Rusalt
Trip Code.,
8 Add a new Trip Jet ID, Pass
Details Lunch Date
Page | 69
Sakuntha Sankalpa Database Design and Development - 04
Test No Procedure Test Data Rusalt
Colonization ID,
9 Add a new Job Job Pass
Assign to colonist
Assess how the selected test data can be used to improve the effectiveness of testing.
Evaluating test data is important especially as the results will determine the fate of effectiveness of
testing in terms of accuracy, reliability, and coverage. Here's how selected test data can be leveraged
for better testing outcomes:
Identifying Gaps
By analyzing the test data, you can determine if all critical scenarios, including edge cases, are
covered. If certain conditions or inputs are missing, adding them can prevent potential bugs
from slipping through.
Diverse Scenarios
Use diverse and realistic data that reflects actual user behavior. This helps in validating that
the application functions correctly in various real-world situations.
Early Detection
Well-chosen test data can trigger edge cases or unusual conditions that might not be caught
with generic data. This leads to the early detection of potential defects, which is more cost-
effective to fix.
Targeting High-Risk Areas
Test data can be tailored to focus on high-risk areas of the application, such as new features or
historically problematic components. This targeted approach enhances the chances of
uncovering critical issues.
Page | 72
Sakuntha Sankalpa Database Design and Development - 04
7. Improving Test Documentation
Clearer Insights
Properly documented test data can offer clearer insights into what is being tested and why.
This improves communication among team members and makes it easier to understand the
scope and intent of the tests.
Easier Maintenance
When test data is well-organized and documented, it simplifies the process of updating tests as
the application evolves, ensuring that tests remain relevant and effective.
Activity 04
Page | 73
Sakuntha Sankalpa Database Design and Development - 04
Review and Maintenance
The feedback form and feedback response of the Database system are given below.
Page | 74
Sakuntha Sankalpa Database Design and Development - 04
Page | 75
Sakuntha Sankalpa Database Design and Development - 04
Feedback response
Page | 76
Sakuntha Sankalpa Database Design and Development - 04
Page | 77
Sakuntha Sankalpa Database Design and Development - 04
Produce a user manual (user guide) for the developed system
Step 1 -
When you open the E-Space Solutions system a login interface will be displayed.
Page | 78
Sakuntha Sankalpa Database Design and Development - 04
You can choose what you want to do
Step 2 –
When you selected data entry option you can allow these options
Page | 79
Sakuntha Sankalpa Database Design and Development - 04
Step 3 –
When you selected data System administration option you can allow these options.
Step 4 –
When you selected Pilot option you can allow these options.
Pilots can view there trip details.
Page | 80
Sakuntha Sankalpa Database Design and Development - 04
Step 4 –
When you selected Colony Superintendent option you can allow these options.
Colonists can create their trip repots and feedback.
Page | 81
Sakuntha Sankalpa Database Design and Development - 04
Produce a technical documentation for the developed database system
Page | 82
Sakuntha Sankalpa Database Design and Development - 04
Assign a trip
System Administrators
Pilots
Colonists
Page | 83
Sakuntha Sankalpa Database Design and Development - 04
flow charts of the E-Space Solutions (Pvt.) Ltd (DBMS)
Page | 84
Sakuntha Sankalpa Database Design and Development - 04
Colonist
Page | 85
Sakuntha Sankalpa Database Design and Development - 04
Colonist
Colonist
Colonist
Page | 86
Sakuntha Sankalpa Database Design and Development - 04
Assess the developed database by suggesting future enhancements to ensure the effectiveness
of the system.
However, in the process of enhancing the efficiency of a developed database system, is crucial to take
two planes into account: The first plane or the remedies that may be applied immediately In
enhancing the efficiency of a developed database system The second plane, which considered in the
long run. Here are some suggestions
Validation Rules
For all the input fields confirm that there are input validations set so that erroneous inputs
cannot be entered (e. g., email address fields, date fields etc.).
Referential Integrity
Use such integrity constraints as referential integrity like foreign keys to ensure proper
relational integrity in the database.
Data Normalization
You also need to assess the database schema with regards to normalization to minimize
redundancy in storing information.
2. Performance Optimization
Indexing
Improve queries by using indexes on the sought columns that are searched more often. But
remember not to drown in it since it complicates writing as well.
Query Optimization
Continuously review and fine tune the SQL statements that are used so as to enhance the
performance of the queries particularly in large queries or if it is a repetitive query.
Caching
Employ techniques of caching any data that is repeatedly called by different programs but is
rarely updated.
Partitioning
Another observation is to partition large tables in order to make queries faster and easier to
manage as the database’s size increases.
Scalable Architecture
It is therefore important to design the database architecture with future growth in mind,
meaning that one can add functionality and user capacity vertically, say through upgrading the
hardware or horizontally by running multiple instances and distributing the load across
multiple servers.
Cloud Integration
Page | 87
Sakuntha Sankalpa Database Design and Development - 04
If not already done, it might be worth considering the migration of the database to the cloud
for better scaling.
Page | 88
Sakuntha Sankalpa Database Design and Development - 04
Referencing
JavatPoint (n.d.). SQL Commands: DDL, DML, DCL, TCL, DQL - javatpoint. [online]
www.javatpoint.com. Available at: https://www.javatpoint.com/dbms-sql-command.
Page | 89
Sakuntha Sankalpa Database Design and Development - 04