Unit 04 Database Design and Development
Unit 04 Database Design and Development
Pearson Higher
Nationals in
Computing
Higher Nationals
signature
Programme
Leader signature Date
(if required)
LO2 Develop a fully functional relational database system, based on an existing system
design
Pass, Merit & P2 P3 M2 M3 D2
Distinction 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
Action Plan
Summative feedback
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.
3. I know what the consequences will be if I plagiarise or copy another’s work in any of the
assignments for this program.
4. I declare therefore that all work presented by me for every aspect of my program, will be
my own, and where I have made use of another’s work, I will attribute the source in the
correct way.
5. I acknowledge that the attachment of this document signed or not, constitutes a binding
agreement between myself and Pearson, UK.
6. I understand that my assignment will not be considered as submitted if this document is
not attached to the assignment.
Assignment Brief
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.
Assignment brief
Quiet Attic Films is a film production company based in London, England who specialize in
making short information films and advertisements for television. They want you to design and
implement a database that meets the requirements for their data. These requirements are
specified in this scenario and the examples of paper documents kept by the company shown
below.
Quiet Attic Films organize their data around the concept of a ‘production’. A production is
specified as being for a particular client; but note that a client might have more than one
production at any time. A production will take place at one or more locations. A production
will also use a number of, what are called, properties, which might be anything from an actual
property like a building, to costumes or small items of any sort. It is important to keep a record
of which properties are required at which location.here should also be a record kept of the
staff types that are assi
gned to productions
Activity 1
Identify the user and system requirements to design a database for the above scenario and
design a relational database system using conceptual design (ER Model) by including identifiers
(primary Key) of entities and cardinalities, participations of relationships. Convert the ER
Model into logical database design using relational database model including primary keys
foreign keys and referential Integrities.
It should contain at least five interrelated tables. Check whether the provided logical design is
normalised. If not, normalize the database by removing the anomalies.
(Note:-It is allowed to have your own assumptions and related attributes within the scope of
the case study given)
Design set of simple interfaces to input and output for the above scenario using Wireframe or
any interface-designing tool. Evaluate the effectiveness of the given design (ERD and Logical
design) in terms of the identified user and system requirements.
Activity 2
Develop a relational database system according to the ER diagram you have created (Use SQL
DDL statements). Provide evidence of the use of a suitable IDE to create a simple interface to
insert, update and delete data in the database. Implement proper security mechanisms in the
developed database and evaluate the database solution developed in terms of its effectiveness
with relevance to the user and system requirements identified, system security mechanisms
(EX: -User groups, access permissions) and the maintenance of the database. Suggest
improvements for any identified problems.
Assess the usage of the below SQL statements with the examples from the developed
database to prove that the data extracted through them are meaningful and relevant to the
given scenario.
Activity 3
3.1 Provide a suitable test plan to test the system against user and system requirements.
Provide relevant test cases for the database you have implemented. 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 and screenshots of the actual
results with the conclusion
3.2 Get independent feedback on your database solution from the non-technical users and
some developers (use surveys, questioners, interviews or any other feedback collecting
method) and make a separate conclusion from the feedbacks.
Activity 4
Produce technical and user documentation for a fully functional system, including data flow
diagrams showing movement of data through the system, and flowcharts describing how the
system works. Evaluate the developed database by suggesting future enhancements to ensure
the effectiveness of the system.
Table of Contents
TABLE OF FIGURES.................................................................16
ACKNOWLEDGEMENT.............................................................19
ACTIVITY 01..........................................................................21
1.1. Introduction........................................................................................................................21
1.2. Requirements.....................................................................................................................21
1.3.1. Relationships...............................................................................................................22
1.3.2. Cardinalities................................................................................................................23
1.4. Entity – Relationship Diagram...........................................................................................25
Normalization...........................................................................................................................26
1.6. Normalization.....................................................................................................................26
ACTIVITY 02..........................................................................33
2.1. SQL....................................................................................................................................33
ACTIVITY 03..........................................................................57
3.1. Summary of the test planning.............................................................................................57
69
3.5. Conclusion.........................................................................................................................73
ACTIVITY 04..........................................................................74
4.1 User documentation of interface Quiet Attic Films database...............................................74
SUMMARY............................................................................85
REFERENCES......................................................................... 86
Table of figures
S.M.Nisansala Database Design and Development Assignment 01 16
Figure 1 ER Diagram....................................................................................................................26
Figure 2 Logical Database Diagram..............................................................................................26
Figure 3 Login page......................................................................................................................28
Figure 4 Home page......................................................................................................................28
Figure 5 Client page......................................................................................................................29
Figure 6 Location page..................................................................................................................29
Figure 7 property page..................................................................................................................30
Figure 8 StaffType page................................................................................................................30
Figure 9 Production page..............................................................................................................31
Figure 10 Production_Location page............................................................................................31
Figure 11 Production_StaffType page...........................................................................................32
Figure 12 Production_Property page.............................................................................................32
Figure 13 Creating data base of Quiet Attic Films........................................................................35
Figure 14 Creating Client table.....................................................................................................35
Figure 15 Creating Location table.................................................................................................36
Figure 16 Creating Property table.................................................................................................36
Figure 17 Creating StaffType table................................................................................................36
Figure 18 Creating Production table..............................................................................................37
Figure 19 Creating Producton_Location table...............................................................................37
Figure 20 Creating Production_StaffType table............................................................................37
Figure 21 Creating Production_Property table..............................................................................38
Figure 22 Created tables................................................................................................................38
Figure 23 Inserting data into Client table......................................................................................39
Figure 24 Inserting data into Location table..................................................................................39
Figure 25 Inserting data into Property table..................................................................................40
Figure 26 Inserting data into StaffType table................................................................................40
Figure 27 Inserting data into Production table...............................................................................40
Figure 28 Inserting data into Production_Property table...............................................................41
Figure 29 Inserting data into Production_StaffType table.............................................................41
Figure 30 Inserting data into Production_Location table...............................................................42
Figure 31 Usage of SQL SELECT statement................................................................................42
Figure 32 Usage of WHERE clause..............................................................................................43
Figure 33 Usage of ORDER BY clause.........................................................................................43
Figure 34 Usage of SQL UPDATE statement................................................................................44
Figure 35 Usage of SQL BETWEEN operator..............................................................................44
Figure 36 Usage of SQL IN operator............................................................................................45
Figure 37 Usage of SQL GROUP BY statement...........................................................................45
Acknowledgement.
First of all I would like to add my gratitude for my lecturer for educating me about
database designing and developing. Then I would like to express my sincere gratitude for
my parents, university mates, academic and non-academic staff of Esoft Metro Campus.
Author,
S. M. Nisansala.
Activity 01
1.1. Introduction
In this scenario, database refers to a structured collection of data designed and
implemented to store and manage information related to the operations of Quiet Attic
Films, a film production company.
The purpose of the database is to efficiently organize and manage various aspects of your
business such as productions, clients, locations, properties, staff types, etc.
A database allows Quiet Attic Films to store and retrieve data in a structured and
organized manner.
In this particular scenario, Quiet Attic Films can use the database to track productions,
associated clients, locations, properties and employee types.
1.2. Requirements
There are two types of requirements.
1. User requirements.
2. System requirements.
1.3.1. Relationships
In the context of the scenario provided by Quiet Attic Films, relationships play a key role
in organizing and connecting different entities in a database. With the help of these
relationships, connections between production, customers, locations, objects and
personnel types can be established.
1. Production – Location
One production can be filmed in several locations.
One location can be used in several productions.
Relationship – Many to Many
2. Production – Client
One production only can be owned by one client.
S.M.Nisansala Database Design and Development Assignment 01 22
3. Production – Property
One production can use many properties.
One property can be used in many productions.
Relationship – Many to Many
4. Production – StaffType
One production can have multiple staff types.
One staff type can involve in several productions.
Relationship – Many to Many
1.3.2. Cardinalities
In the context of the Quiet Attic Films scenario, cardinality refers to the number of
instances or records that can be related across different tables in the database. This helps
define the nature of the relationship and determine how the entities are related.
1. Production – Location
There can be productions without locations.
There can be locations without productions.
Cardinality (Production)
Maximum Cardinality : many
Minimum Cardinality : zero
Cardinality (Location)
Maximum Cardinality : many
Minimum Cardinality : zero
2. Production – Client
There can be no productions without clients.
3. Production – Property
There can be no productions without properties.
There can be properties without productions.
Cardinality (Production)
Maximum Cardinality : many
Minimum Cardinality : one
Cardinality (Property)
Maximum Cardinality : many
Minimum Cardinality : zero
4. Production – StaffType
There can be no productions without a staff.
There can be staff without productions.
Cardinality (Production)
Maximum Cardinality : many
Minimum Cardinality : one
Cardinality (StaffType)
Maximum Cardinality : many
Minimum Cardinality : zero
Figure 1 ER Diagram
Normalization
Normalization is the process of database design aimed at eliminating data redundancy,
improving data integrity, and optimizing data storage and retrieval. This includes reducing
data duplication and organizing database tables and their relationships so that each piece
of information is stored in only one place for it. In the Quiet Attic Films scenario,
normalization helps structure the database efficiently.
1.6. Normalization
Simplifying the many to many relationship between Production and Location.
ProID LocationID
1.8. Evaluation
The interface design for the Quiet Attic Films Database has been evaluated based on
several factors:
Activity 02
2.1. SQL
2.1.1. Creating a database
CREATE DATABASE db_name;
S.M.Nisansala Database Design and Development Assignment 01 32
value2;
Inner join
table1.column_name = table2.column_name;
Left join
table1.column_name = table2.column_name;
Right join
table1.column_name = table2.column_name;
Figure 39 usage of SQL INNER JOIN to join FeePerDay and ProTime Period
Data validations are essential checks implemented in a database system to ensure the
accuracy, integrity, and reliability of the data being stored. These validations enforce rules
and constraints on the input data, preventing the entry of invalid or inconsistent
information.
For example, data validations can include checks for data types, lengths, formats, and
ranges. They can verify that required fields are not left empty, and that dates are entered
in the correct format. Additionally, data validations can enforce referential integrity by
verifying the existence of related records in other tables through foreign key constraints.
By implementing data validations, the database system can prevent the storage of
incorrect or irrelevant data, leading to a more reliable and consistent database. These
validations help maintain data quality and improve the overall effectiveness of the system
by ensuring that only valid and meaningful data is stored and processed.
Database security is a critical aspect of protecting sensitive information and ensuring the
integrity of a database system. It involves implementing various measures to prevent
unauthorized access, safeguard data from breaches, and maintain data confidentiality.
Assign specific rights and permissions to users based on their roles and responsibilities.
This restricts access to sensitive data and database functions and ensures that users can
only perform authorized actions.
4. Data analysts
Tasked with analysing data and generating reports based on user
requirements.
Have permissions to run queries, retrieve data and generate reports from
relevant tables.
Works under limited or read only access to other data and database objects.
6. System Administrator
Manage the overall system infrastructure and database server.
Have permission to perform tasks like installing updates, configuring
backups and monitoring system performance.
Enable logging of user activities and system events to track and monitor user access.
Access logs can provide an audit trail for detecting unauthorized access attempts,
identifying suspicious behaviour, and investigating security incidents.
2.4.4. Encryption
Quiet Attic Films can employ encryption mechanisms to protect data both at rest and
during transmission. Encryption at rest involves encrypting the data stored in the
database, ensuring that it remains secure even if the physical storage is compromised.
This prevents unauthorized access to sensitive information, such as client contact details
or production-related data.
In the given scenario of Quiet Attic Films, implementing backup and disaster recovery
measures is crucial to ensure data integrity and availability, as well as to minimize the
impact of system failures or data loss.
By regularly performing backups, Quiet Attic Films can protect against data loss caused
by hardware failures, software errors, or human mistakes.
In the event of data corruption or accidental deletion, the organization can restore the
database from a recent backup, ensuring that critical information is not permanently lost.
By implementing backup and disaster recovery measures, Quiet Attic Films can minimize
downtime, prevent data loss, and ensure business continuity.
Regular testing and validation of backup and disaster recovery procedures are essential to
ensure their effectiveness.
Activity 03
2) Update
the email
3) verify if
the email
has been
updated
new production
production record is
production
record. successfull
with client
2) y created
Associate and
the production
production is
with an associated
existing with the
client. client
3) Verify if
the
association
is reflected
in the
database.
a non- displayed
existent
property
property.
2) Verify if
the error
handling is
appropriate
.
amount of e remains
data to the unaffected.
volume.
database.
3.5. Conclusion
Feedback allows us to rate the positive aspects of our products, services, or experiences
that you may find valuable. This allows us to recognize and celebrate our strengths and
reinforces our commitment to delivering superior quality.
In addition, feedback helps us identify areas that need improvement and address concerns
and issues raised by users. Careful research and analysis of feedback allows us to glean
constructive criticism and valuable suggestions that pave the way for improvement and
innovation.
We value user and customer feedback and ensure that their opinions are important to our
decision-making process. We use your feedback to drive positive change and strive to
provide an even better experience in the future.
We encourage ongoing engagement and welcome ongoing feedback from our users and
customers. Together we are committed to continuous improvement, ensuring that their
voices are heard and taken into account in shaping our products, services and the overall
customer experience.
Activity 04
System Introduction
Software requirements
Windows 7 or higher version (32-bit or 64-bit)
Microsoft SQL Server 2018
Access: limited access only to view the information with regard to their own productions.
Task:
Access: Do not have access to view or update their production related records.
Task:
Can view their assigned productions, location details, and properties they need.
Should update their availability and confirm participation in productions.
Can request additional information with regarding to the productions they have
assigned.
Task:
Task:
Task:
Future improvements aim to enhance user experience, increase efficiency, and provide
better insights for decision – making.
1) Modern user interface: upgrade a modern user interface with intuitive design to
improve usability and accessibility.
2) Mobile application: developing a mobile application for production team and
clients will effectively engage the staff and system in the incident.
3) Automated notifications: using automated notifications for updates, security
checking, and important events.
Summary
The database design for Quiet Attic Films is organized around the concept of a
"production" and is designed to meet the requirements of the film production company.
The database includes interrelated tables for clients, locations, properties, staff types, and
productions. Each production is associated with a client, one or more locations, and
utilizes various properties and staff types. The design includes proper primary keys,
foreign keys, and referential integrity constraints to maintain data integrity and
relationships. The database is normalized to remove anomalies and improve data
efficiency. The system also incorporates security mechanisms, user roles, and permissions
to protect data and control access. Additionally, interfaces and data validations have been
implemented to ensure smooth interactions and accurate data entry. Continuous
improvements and feedback will help maintain the effectiveness of the database system
over time.
References
P3 Implement a query
language into the
relational database system
.
M2 Implement a fully
functional database
system, which includes
system security and
database maintenance.
M3 Assess whether
meaningful data has been
extracted through the use
of query tools to produce
appropriate management
information
LO3 Test the systems
against user and system
requirements
P4 Test the system against
user and system
requirements.
M4 Assess the
effectiveness of the
testing, including an
explanation of the choice
of test data used.
D2 Evaluate the
effectiveness of the
database solution in
relation to user and
system requirements and
suggest improvements.
LO4 Produce technical and
user documentation
P5 Produce technical and
user documentation.
M5 Produce technical and
user documentation for a
fully-functional system,
including data flow
diagrams and flowcharts,
describing how the
system works.
D3 Evaluate the database
in terms of improvements
needed to ensure the
continued effectiveness of
the system.