Database Assigment
Database Assigment
Database Assigment
Assignment 01
Assessor Internal
Verifier
2
Is the feedback to the student:
Give details:
• Constructive?
• Linked to relevant assessment
Y/N
criteria?
Y/N
• Identifying opportunities for
improved performance? Y/N
• Agreeing actions?
Y/N
Remedial action
taken
Give details:
Internal
Verifier Date
signature
Programme
Leader signature Date
(if required)
4
Higher Nationals - Summative Assignment Feedback Form
Student Name/ID
Assignment 1 Assessor
Number
2023/11/12 Date
Received 1st
Submission Date
submission
Assessor Feedback:
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
Resubmission Feedback:
* 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.
1
Assignment Feedback
Action Plan
Summative feedback
2
Feedback: Student to Assessor
Assessor Date
signature
Thamseer 2023/11/12
Student Date
signature
3
Computing
Assignment 01
4
Table of Contents
LO1 Use an appropriate design tool to design a relational database system for a substantial problem. . .8
1.2 ERD.......................................................................................................................................11
1.2.1What is ERD...........................................................................................................................11
1.4.1 Some advantages of using a relational database system include the following:......................2
1.5 Normalization...............................................................................................................................3
1.6.1..............................................................................................................................................11
The user will be able to choose between the roles "admin" and "owner" on this login page. A
unique username and password are assigned to each role. The relevant page will load when you
click the login button. The inputs will be cleared by pressing the clear button. This option is
incredibly user-friendly..................................................................................................................11
LO2 Develop a fully functional relational database system, based on an existing system design............2
ACTIVITY 03.........................................................................................................................................10
3.1 Test.......................................................................................................................................10
5
3.1.1 Effectiveness of the testing, including an explanation of the choice of test data used....25
3.2 Independent feedback on the database solution from the non-technical users and some
developers........................................................................................................................................27
.........................................................................................................................................................27
.........................................................................................................................................................28
Figure
Figure I ER Diagram 0
Figure 2 one to one 0
Figure 3 one to many 0
Figure 4 many to many 1
Figure V Relational sachem 2
Figure VI Loging form 11
Figure VII Admin Pannal 12
Figure VIII Staff Details 13
Figure IX Staff type 14
Figure X Client details 15
Figure XI production details 16
Figure XII Production type 17
Figure XIII Property details 18
Figure XIV Property Details 19
Figure XV Location Details 20
Figure XVI Payment details 0
Figure XVII Database Table 9
6
Figure XVIII Loging interface 10
Figure XIX Client interface 11
Figure XX Client add btn 11
Figure XXI Client update button 12
Figure XXII Client Add btn 2 12
Figure XXIII client delete btn 13
Figure XXIV Sql add 14
Figure XXV client update 14
Figure XXVI client Delate 14
Figure XXVII production ADD btn 15
Figure XXVIII Production update btn 15
Figure XXIX Production delete btn 16
Figure XXX Add 16
Figure XXXI update 16
Figure XXXII delete 16
Figure XXXIII Property add btn 17
Figure XXXIV Property update btn 17
Figure XXXV property Delete btn 18
Figure XXXVI add 18
Figure XXXVII Update 18
Figure XXXVIII Delete 18
Figure XXXIX Location add btn 19
Figure XL Location update btn 19
Figure XLI Delete btn 20
Figure XLII add 20
Figure XLIII update 20
Figure XLIV delete 20
Figure XLV PAyment add btn 21
Figure XLVI Payment update btn 21
Figure XLVII payment delete btn 22
Figure XLVIII add 22
Figure XLIX update 22
Figure L delete 22
Figure LI Staff add btn 23
Figure LII staff update btn 24
7
Figure LIII Staff delete btn 24
Figure LIV add 25
Figure LV update 25
Figure LVI delete 25
Figure LVIII Feedback 27
Figure LVII Feedback 27
Figure LIX level 28
Figure LX level 28
Figure LXI Level 28
Figure LXII level 29
Figure LXIII DFA Level 0 33
Figure LXIV DFA Level 1 33
Figure LXV Use case Diagram 34
Figure LXVI User manual Cover Page 35
8
ACTIVITY 01
LO1 Use an appropriate design tool to design a relational database system for a substantial
problem
This entails being aware of the to keep the data secure. Users in this scenario must, for instance,
be able to view, edit, and add customer, product, and order data. They also need to be able to
track inventory levels and create reports. The system must be safe enough to guard against
unauthorized access to the data.
-Create, read, update, and delete data about clients, locations, properties, and productions.
** The users of the database should have different levels of access, depending on their role in the
company. For example, the CEO should have full access to the database, while the interns should
only have read-only access.
9
- The database should be easy to use and maintain.
**These are just some of the user and system requirements for the Quiet Attic Films database.
The specific requirements will vary depending on the specific needs of the company.
10
User requirement System requirement
Requirement of a login for the admin Store USERNAME and PASSWORD for the
admin
Client can have multiple productions ongoing at ONE TO MANY relationships between
the same time "CLIENT" and "PRODUCTION" where one
client can have many productions.
Production can take place in multiple locations MANY TO MANY relationships between
and vice versa "PRODUCTION" and "LOCATION"
Production can utilize multiple properties which MANY TO MANY relationships between
is placed at designated locations "PRODUCTION" and "PROPERTIES"
Record of staff types assigned to the production Create Entity "STAFF" and assign MANY TO
MANY relationships between "STAFF" and
"PRODUCTION"
Record of number of days taken to conduct the Create Attribute "PRODUCTIONPERIOD" under
11
production Entity "PRODUCTION
Factoring the daily payment according to the staff Create Attribute "STAFFCOST" under Entity
type "STAFF
Record the payment done at the particular date Add Attribute "PAYMENTDATE" and
with amount "PAYABLEAMOUNT" as a data type under
Entity "PRODUCTION"
1.2 ERD
1.2.1What is ERD
Its modeling tool used to represent graphically database design before its actually implemented
dreaming user and system requirement.
This involves breaking down the data into its smallest components. For example, the entity
"Customer" has the attributes "Customer ID", "Name", "Address", and "Phone Number". The
entity "Product" has the attributes "Product ID", "Name", "Description", and "Price".
Entity: Book
Attributes: ISBN (Primary Key), Title, Author, Price, Quantity, Genre, Publication Year,
Publisher
Entity: Customer
12
Entity: Order
-Simple Attribute: An attribute that cannot be divided into smaller parts. For example,
"FirstName" and "LastName" are simple attributes.
-Composite attributes: are made up of two or more simple attributes. For example, the
attribute address is a composite attribute that can be broken down into the simple
attributes’ street, city, state, and zip code.
-Single-valued attributes: can only have one value for a given entity. For example, the
attribute name is a single-valued attribute.
-Multivalued attributes: can have more than one value for a given entity. For example, the
attribute children are a multivalued attribute that can have a list of children's names for a given
parent.
-Derived attributes: are attributes that are calculated based on the values of other attributes. For
example, the attribute age can be derived from the attribute date of birth.
13
1.2 What are Identifiers
A candidate key in a relational database is an attribute, or set of attributes, that can be used to
identify a row in a table specifically. A primary key is a potential key selected as a table's
unique identifier. An attribute in one table that refers to the primary key in another table is
known as a foreign key.
An identifier that can exclusively identify a row in a table is known as a candidate key. One or
more candidate keys may exist in a table.
A primary key is a candidate key selected to serve as a table's unique identifier. There can only
be one primary key per table.
An attribute in one table that refers to the primary key of another table is referred to as a foreign
key. The consistency of the data between the two tables is guaranteed by a foreign key.
14
Figure I ER Diagram
1.4 Relationship
An identifier that can exclusively identify a row in a table is known as a candidate key. One
or more candidate keys may exist in a table.
A primary key is a candidate key selected to serve as a table's unique identifier. There can
only be one primary key per table.
An attribute in one table that refers to the primary key of another table is referred to as a
foreign key. The consistency of the data between the two tables is guaranteed by a foreign
key.
One to one: For every entity of a different type, there is one entity of the first type. One
customer can own one credit card, for instance, and one customer can have one credit card.
One to many: For many entities of one type, there can be one of another type. For instance, a
customer may place multiple orders, but only one customer may place a single order.
Many to many: Many entities of one type can exist alongside numerous entities of a different
type. For instance, a customer may have several items in their shopping cart, and multiple
customers may have the same item in their cart.
1
1.4.1 Some advantages of using a relational database system include the following:
Data storage and retrieval are very effective with relational databases.
They can easily be expanded to accommodate more data because they are also very scalable.
Additionally, very secure, relational databases can be shielded from unauthorized access.
The following are some difficulties with using a relational database system:
Additionally, they can be challenging to maintain, particularly as the database size increases.
Relational database systems are a strong tool for managing and storing data in general.
As part of the database design process known as normalization, data is structured to reduce
redundancy, reduce anomalies, and enhance integrity. Reducing data duplication while
making sure that each piece of information is stored only once are the two objectives of
normalization. It involves creating relationships between big tables by breaking them up into
smaller, related tables.
Reduced redundancy: Normalization assists in reducing data redundancy. Data is only stored
once as a result, which can save space and boost efficiency.
First normal form (1NF): Assures that there are no repeating groups or arrays within a row
and that each column contains only atomic (indivisible) values.
Second normal form (2NF): ensures that every attribute, key or non-key, is completely
dependent on the primary key.
Third normal form (3NF): ensures that non-key attributes don't have any transitive
dependencies.
3
The most fundamental type of normalization is the first normal form (1NF). If a table only
has atomic values in each column and no repeating groups, it is said to be in 1NF.
Compared to the first normal form (1NF), the second normal form (2NF) is more stringent. If
a table is in 1NF and all of its non-key attributes are completely dependent on the primary
key, then it is in 2NF. This means that every non-key attribute, not just a subset of them, must
be dependent on the entire primary key.
The third normal form (3NF) is a stricter form of normalization than 2NF. A table is in 3NF if
it is in 2NF and there are no transitive dependencies between non-key attributes. A transitive
dependency occurs when a non-key attribute is dependent on another non-key attribute.
The Boyce-Codd normal form (BCNF) is a stricter form of normalization than 3NF. A table is
in BCNF if it is in 3NF and every non-prime attribute is fully functionally dependent on the
primary key.
4
Three requirements must be met by a table in order for it to be in the first normal form.
5
Let us turn this table into 1st normal form.
Firstly, the table must be in the first normal form and not contain any partial dependencies.
To avoid any partial dependencies on the Production table, the 2NF structure separates the
Location, Staff, Property, and Client data into independent tables. Each have primary keys
and some foreign keys.
Production Table
Table 2 2nd form
6
Production ID Client ID Type Date
2 C 01 Advertisement 5
6 C 02 Film Information 1
7 C 02 Training Film 2
Client Table
Table 3 2nd client table
C 02 MOAF 11258346921
Client Address
Table 5 Client address
Location Table
Table 6 Location Table
7
LO 3 River cam London
Property Table
Pf 01 Furniture Chair
Pf 02 Furniture Table
Pv 01 Vehicle Car
Pv 02 Vehicle Tractor
Pv 03 Vehicle Boat
Table 7 Property
Staff ID Name
E01 Shaun
E02 Kenneth
E03 Kevin
E04 Brain
E05 Thomas
8
E06 Geroge
E07 Janny
Staff Address
Staff ID Address
Staff Salary
E06 Runner 25
9
10
1.6 Logical database design
The physical database design can be made using the finished logical database design. The
physical database design is how the logical database design is implemented in a particular
DBMS.
11
1.6.1
Login Form
The user will be able to choose between the roles "admin" and "owner" on this login page. A
unique username and password are assigned to each role. The relevant page will load when
you click the login button. The inputs will be cleared by pressing the clear button. This option
is incredibly user-friendly.
(Source: Author’s work)
12
Admin managing Category
Clicking the login button will take you to the admin managing categories page if the login
was made by the admin. Less options on this page are very handy for the administrator.
The buttons that are visible in the wireframe will load to the corresponding pages when a
particular button is clicked. The admin can return to the home page by clicking the back to
home button.
For an example:
Details of Client, staffs, payment and other details should be uniquely identified in the
system.
13
Staff category
The
Figure VIII Staff Details
staff details interface is shown in this wireframe. Any number of new staff members can be
added using the add button, any staff member's details can be removed using the delete
button, and the update button aids in updating the staff members' information. The home page
will load when you click the back to home button. Many operations could be performed in a
single interface. This is really useful for the administrator's needs. makes work simpler.
14
Client category
The client details interface is represented by this wireframe. Any new Client may be added by
using the add button, any existing Client may be deleted by using the delete button, and the
update button aids in updating the Client information. The home page will load when you
click the home button. Many operations could be performed in a single interface. This is
really useful for the administrator's needs. makes work a great deal easier.
15
Production Details
The production details interface is depicted by this wireframe. The "Add" button facilitates
the addition of new production details, while the "Delete" button allows the removal of
existing production records. Users can efficiently update production information using the
"Update" button. Clicking the "Home" button seamlessly loads the home page. This single,
comprehensive interface empowers administrators to perform a multitude of operations,
offering enhanced efficiency and ease in managing production details. It serves as a valuable
tool, making the workflow considerably more streamlined and user-friendly.
16
Production Type
The production type details interface is illustrated in this wireframe. The "Add" button
enables the addition of various production types, the "Clear" button allows for the deletion of
production type details, and the "Update" button facilitates the modification of production
type information. Simply clicking the "Home" button provides access to the home page. This
unified interface supports a wide range of operations, offering administrators a convenient
and efficient tool. It significantly simplifies the workflow, making management of production
types more straightforward and user-friendly.
17
Property Details
The property details interface is depicted in this wireframe. Utilize the "Add" button to
seamlessly incorporate new property details, while the "Delete" button facilitates the removal
of existing property records. The "Update" button streamlines the process of modifying
property information. A click on the "Home" button effortlessly navigates to the home page.
This versatile interface empowers administrators by accommodating a myriad of operations
within a single platform. Its efficiency significantly enhances the management of property
details, making the workflow notably simpler for administrators.
18
Property Type
The property type details interface is portrayed in this wireframe. Use the "Add" button to
seamlessly introduce new property types, the "Clear" button allows for the removal of
property type details, and the "Update" button streamlines the process of modifying property
type information. Simply click the "Home" button to access the home page. This versatile
interface is designed to accommodate a variety of operations within a single platform,
providing administrators with a simplified and efficient tool. It significantly streamlines the
management of property types, making the workflow notably simpler for administrators.
19
Location details
The location details interface is visualized in this wireframe. Employ the "Add" button to
seamlessly introduce new location details, while the "Delete" button facilitates the removal of
existing location records. The "Update" button streamlines the process of modifying location
information. A simple click on the "Home" button effortlessly navigates to the home page.
This versatile interface accommodates a variety of operations within a single platform,
providing administrators with a simplified and efficient tool. It significantly enhances the
management of location details, making the workflow notably simpler for administrate
20
21
Payment Details
This wireframe represents the interface of payment details. Using the pay button any new
payment could be made, using the delete button any payment could be canceled, and update
button helps is updating the information of the payment. The back to home button will load to
the home page. In one interface many operations could be done. This is very convenient for
the admin’s purpose. Makes the job very easier.
Quiet attic Films organized their data around the production. In this design the user
requirement is satisfied and production and client have that one-to-many relationship.
The production entity has many to many relationships with the location. Production
can take place in many locations and locations can may have multiple production at
one time.
To take the records for properties in the location, I created separate table to store
properties and joining with the location we can know which property is in which
location.
From this design we can know the staff details and which staff is in which production.
And also, we can calculate the salary of the staff using the count of the production
days and the staff amount per day.
Most important thing in using this design we can check the employees who are not
included in the projects. From that we can manage the employees.
The logical design of the database should incorporate the appropriate protections to
ensure data security.
The database can store the client details, production details, staff details, property
details, location details.
the database can able to handle a huge volume of data properly.
Overall, this ERD design captures the all-user requirement and the system
requirements.
The ERD is easy to read and understand, and it provides a clear visual representation of
the database structure.
The ERD is properly converted by the logical database design into a set of tables that
may be used in a relational database management system.
1
The tables' primary keys and foreign keys are used to link relevant records across
other tables in order to guarantee data integrity and prevent data duplication.
Referential integrity constraints are also part of the logical design to guarantee
appropriate maintenance of data linkages between tables.
Because of the logical design, each attribute in the tables has the proper data types and
field widths.
2
ACTIVITY 02
LO2 Develop a fully functional relational database system, based on an existing system
design
SQL mean Structured Query Language. That is a programming language used to manage and
databases. This means that similar SQL queries can be used with many DBMS, including
DDL: Data Definition Language. This used to create and modify the Database objects like
create views, tables.
DML: Data Manipulation Language. This used to update, insert, manipulate the data.
DQL: Data Query Language. This used for pull out the data from the table using SELECT
statement.
3
EG: SELECT: Pull out the data from one or more tables
DCL: Data Control Language. This used to manage the database security, privilege, and
access control.
We using the MYSQL for create the database and insert the data.
4
Figure XVII Client
5
Figure XX Prodection
6
7
Figure XXI Property
8
SQL DATBASE TABLE
9
ACTIVITY 03
01.Objective
Conduct testing on several areas of interaction to make sure the database interfaces satisfy
system and user requirements.
Case Studies
Example: -
Steps: -
Example: -
Steps: -
10
04. Delate data
Example: -
Steps: -
Make sure that the relevant data has been deleted from the database.
Example: -
Evaluate the system's search functionality through the interface.
Steps: -
Perform a search using specific criteria.
Confirm that the relevant data is retrieved accurately
11
Taste form: Loging page
Response: Pass
12
Test Form: Client Details
Response: Pass
13
Figure XXV Client add btn
14
Figure XXVII Client Add btn 2
15
Figure XXVIII client delete btn
16
SQL Client details
17
Test Form: Production Details
Response: Pass
18
Figure XXXIV Production delete btn
19
Figure XXXVII delete
20
Test Form: Property Details
Response: Pass
21
Property Delate button
22
Figure XLIII Delete
23
Test Form: Location Details
System: Quite attic film company
Response: Pass
24
Location Delete Button
25
Figure XLIX delete
26
Test Form: Payment Details
Response: Pass
27
Figure LII payment delete btn
Figure LV delete
28
Test Form: Staff Details
Response: Pass
29
Figure LVII staff update btn
SQL FORM
30
Figure LIX add
Figure LX update
3.1.1 Effectiveness of the testing, including an explanation of the choice of test data
used
Testing is the process of determining whether the actual software product satisfies the
anticipated requirements and verifies that it is error-free. Testing is done to make sure that the
requirements are as they should be and to look for mistakes, defects, gaps, or missing criteria.
A software solution that has undergone thorough testing guarantees dependability, security,
and excellent performance, which saves money and time while satisfying customers. The
following categories of testing are included:
1. Functional Testing.
2. Non-functional Testing.
31
3. Maintenance.
Unit tasting
Software is tested on an individual basis or component by component basis to ensure
that each code runs smoothly. This is carried out in the development stage.
System Testing
This verifies the software product as a whole and completely integrated. To assess the
end-to-end system specs, this is done. To exercise the entire computer-based system is
the only goal. This is a test using a black box.
Integration Testing
The software modules are collectively tested and logically connected. This is done in
order to reveal software module flaws when they are merged. This mostly
concentrates on the data flow and interfaces between the modules.
Every module in the QUICK ATTIC FILM COMPANY system is tested since, due to their
specific interdependencies, any flaws would impact the system as a whole. As a result, every
piece of data is examined, and ultimately, a single run of the system's testing verifies its
efficacy. The organization's most significant asset is its data, safeguarded by integrity
barriers revealed by the database structure. Database testing is required since the
organization's data fuels the business's evolutionary development—QUICK ATTIC FILM
COMPANY. The test returned positive, and I think my database is quite solid.
32
3.2 Independent feedback on the database solution from the non-technical users and
some developers
33
Figure LXIV level
34
Figure LXVI Level
35
ACTIVITY 04
Introduction:
This technical documentation describes the creation and implementation of the Quiet Attic
Films database. The database was created to meet the needs of the production company for
the film. The documentation will address the database design, data linkages, and database
structure.
Hardware requirements
Software requirements
Database Desing
The Quiet Attic Films database has been designed using a relational database model. The
model consists of 6 tables which are Client Details, Production, Staff Details, Location,
Payment, and Property. The tables have been created to store data for the film production
company. The table relationships are as follows:
36
Client Details has a one-to-many relationship with Production
Production has a many-to-many relationship with Location.
Location has a many-to-many relationship with Property.
Production has a many-to-many relationship with Staff Details.
Payment has a one-to-many relationship with Client
37
Table Scheme:
The table scheme for the Quiet Attic Films database is as follows:
Client Details table - This table stores data for clients. The table consists of the following
Colum’s
Location Details
Payment Details
Production Details
38
Production_Type- what type of product
Date- which date client submit a product
Production- A unique identifier Production ID
Production Period- How many days want a filming.
Client_ID- which client this product
Property Details
Staff Details
Location_Property Details
Location_ID
Property_ID
39
(Source: Author’s work)
ProductionLocation Details
Production_ID
Location_ID
ProductionStaff
Production_ID
Staff_ID
Class Diagram
Client_details Staff_Details
Production
+add ()
40 +Update ()
+Delete ()
1 *
Location_Details Property_Details
Payment_Details
-LocationID varchar (255) -PropertyID varchar (255)
-LocationName varchar (255) -propertyName varchar (255)
-PaymentID varchar (255)
-Adress varchar (255) -PropertyType varchar (255)
-PaymentDate varchar (255) *
--------------------------- * ---------------------------
-Total_Coast varchar (255)
+add () +add ()
-Discount varchar (255)
+Update () +Update ()
-ClientID varchar (255)
+Delete () +Delete ()
---------------------------
+add ()
+Update ()
+Delete ()
DFA Level 0
41
Admin
DFA Level 1
42
Use Case Diagram
43
Flow Charts
Admin login: -
44
Add: -
45
Update: -
46
Clear: -
47
4.2 user document
Dear Customer
We appreciate you choosing Quiet Attic Film Production System to fulfil your software
requirements. We are excited to travel this path with you and committed to providing a
smooth and rewarding experience.
Our customer helpline is available if you need assistance or have any questions. We greatly
value your input, and our staff can assist you at every stage.
We are eager to support your film production ambitions and help them succeed.
Warm regards,
Entry Function
48
Client Add
Update
Delete
Location Add
Update
Delete
Payment Add
Update
Delete
Production Add
Update
Delete
Property Add
Update
Delete
Staff Add
Update
Delete
Guide to system
The purpose of this guide is to help you navigate and make the most of each region. The
Quiet Attic Film Production System can help you run your business more efficiently, whether
you're a client, employee, or part of the production process. To get the most out of your Quiet
Attic film production activities, consult this guide for detailed instructions.
49
Step one: Admin Login
To have successful login you should enter correct Username & Password.
Enter the username and password click login, directly below page.
50
Figure LXXVII Guide Menu form
Choose any option as per you need from the option available. Same the follow as below,
Once you enter the data and press the ADD Button
Once you amend data and press UPDATE the following appears;
51
Figure LXXIX update btn
If you want delete any particular the enter the ID and press button Delete, the following
appears;
52
The database as displayed will be in the
database that you were given, according to
the SQL Object Explorer.
53
A Common Error could be;
There seems to be an issue when inserting details into the payment and production tables
using the client ID. The problem arises when I attempt to delete the client ID without
removing the associated payment and production IDs. It prevents the deletion of the client ID,
indicating an error in the process.
Very little database and programming experience was required to construct the Quite Attic
Film Company system. Given the system's straightforward interface design and constrained
data manipulation capabilities in its code, it is unclear if this strategy would be effective in
the real industrial environment. In the real industrial world, data is an organization's most
important resource and performs a vital role. To manipulate and store the data, it is necessary
to confirm that it is authentic. Although the technology is user-friendly, it is unable to detect
possible entry points for serious data breaches. The security method of this system is a
username and password; in order to protect the data, the password must be changed on a
regular basis.
54
55
4.3.1 Future enhancement
Data analytics: Consider incorporating data analytics tools into the system to help find trends
and patterns in sales data. This can improve decision-making and forecasting.
Attempting to host the database system on cloud platforms: This allows for scalability, cost
savings, and easy accessibility from any location with an internet connection.
56
THE END!
57
Grading Criteria Achieved Feedback
.
M2 Implement a fullyfunctional database system, which
includes system security and database maintenance.
1
M3 Assess whether meaningful data has been extracted
through the use of query tools to produce appropriate
management information
2
D3 Evaluate the database in terms of improvements needed
to ensure the continued effectiveness of the system.
3
4