0% found this document useful (0 votes)
62 views67 pages

E204050-1705397223627-347555-Database Design and Development - 190001

The document outlines the internal verification process for assessment decisions related to the BTEC HND in Computing, specifically focusing on the Database Design & Development unit. It includes details on assessment criteria, feedback mechanisms, and guidelines for assignment submissions. Additionally, it provides a comprehensive assignment brief for creating a database system for Quiet Attic Films, detailing the requirements and evaluation criteria for successful completion.

Uploaded by

himesh raja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views67 pages

E204050-1705397223627-347555-Database Design and Development - 190001

The document outlines the internal verification process for assessment decisions related to the BTEC HND in Computing, specifically focusing on the Database Design & Development unit. It includes details on assessment criteria, feedback mechanisms, and guidelines for assignment submissions. Additionally, it provides a comprehensive assignment brief for creating a database system for Quiet Attic Films, detailing the requirements and evaluation criteria for successful completion.

Uploaded by

himesh raja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 67

Higher Nationals

Internal verification of assessment decisions – BTEC (RQF)

INTERNAL VERIFICATION – ASSESSMENT DECISIONS


Programme title BTEC HND in Computing
Ms. Iresha
Assessor Internal
Verifier
Unit 04: Database Design & Development
Unit(s)
Database Solution for Quiet Attic Films
Assignment title
Edirimannage Ajana Chaminee Nikeshala
Student’s name
List which assessment Pass Merit Distinction
criteria the Assessor has
awarded.
INTERNAL VERIFIER CHECKLIST
Do the assessment criteria awarded
match those shown in the Y/N
assignment brief?
Is the Pass/Merit/Distinction grade
awarded justified by the assessor’s Y/N
comments on the student work?
Has the work been assessed
Y/N
accurately?
Is the feedback to the student:
Give details:
• Constructive? Y/N
• Linked to relevant assessment Y/N
criteria? Y/N
• Identifying opportunities for
improved performance? Y/N
• Agreeing actions?
Does the assessment decision need
Y/N
amending?
Assessor signature Date

Internal Verifier signature Date


Programme Leader signature (if
Date
required)
1

Confirm action completed


Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Remedial action
taken
Give details:
Assessor signature Date
Internal
Date
Verifier
signature
Programme Leader
Date
signature (if
required)

2
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Higher Nationals - Summative Assignment Feedback Form
Student Name/ID Edirimannage Ajana Chaminee Nikeshala

Unit Title Unit 04: Database Design & Development

Assignment Number 1 Assessor Ms. Iresha


14/01/2024 Date
Submission Date
Received 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 & P1 M1 D1
Distinction Descripts

LO2 Develop a fully functional relational database system, based on an existing system
design
Pass, Merit & P2 P3 M2 M3 D2
Distinction Descripts

LO3 Test the system against user and system requirements.


Pass, Merit & P4 M4 D2
Distinction Descripts

LO4 Produce technical and user documentation.


Pass, Merit & P5 M5 D3
Distinction Descripts

Grade: Assessor Signature: Date:


Resubmission Feedback:

Grade: Assessor Signature: Date:


Internal Verifier’s Comments:

Signature & Date:

* 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
3
Page

assessment board.

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Assignment Feedback
Formative Feedback: Assessor to Student

Action Plan

Summative feedback

Feedback: Student to Assessor


4
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Assessor Date
signature
[email protected] 14/01/2024
Student Date
signature

Pearson Higher Nationals in


Computing

Unit 04: Database Design & Development


Assignment 01

5
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


General Guidelines

1. A Cover page or title page – You should always attach a title page to your assignment.
Use previous page as your cover sheet and make sure all the details are accurately
filled.
2. Attach this brief as the first section of your assignment.
3. All the assignments should be prepared using a word processing software.
4. All the assignments should be printed on A4 sized papers. Use single side printing.
5. Allow 1” for top, bottom , right margins and 1.25” for the left margin of each page.

Word Processing Rules

1. The font size should be 12 point, and should be in the style of Time New Roman.
2. Use 1.5 line spacing. Left justify all paragraphs.
3. Ensure that all the headings are consistent in terms of the font size and font style.
4. 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.
5. Use word processing application spell check and grammar check function to help
editing your assignment.

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. Carefully check the hand in date and the instructions given in the assignment. Late
submissions will not be accepted.
3. Ensure that you give yourself enough time to complete the assignment by the due
date.
4. Excuses of any nature will not be accepted for failure to hand in the work on time.
5. You must take responsibility for managing your own time effectively.
6. 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.
7. Failure to achieve at least PASS criteria will result in a REFERRAL grade .
8. Non-submission of work without valid reasons will lead to an automatic RE FERRAL.
You will then be asked to complete an alternative assignment.
9. 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.
6
Page

10. 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

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


7
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


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.

1. I know that plagiarism is a punishable offence because it constitutes theft.


2. I understand the plagiarism and copying policy of Edexcel UK.
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.

[email protected]
Student’s Signature: Date: 14/01/2024
(Provide E-mail ID) (Provide Submission Date)

8
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Higher National Diploma in Computing
Assignment Brief
Student Name /ID Number Edirimannage Ajana Chaminee Nikeshala / 190001

Unit Number and Title Unit 4: Database Design & Development

Academic Year 2023/2024

Unit Tutor Ms. Iresha

Assignment Title Data base system for Quiet Attic Films

Issue Date 29/04/2023

Submission Date 14/01/2024

IV Name & Date

Submission format

Part 1: 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. You are required to make use of
headings, paragraphs and subsections as appropriate, and all work must be supported with
research and referenced using Harvard referencing system. Please also provide in-text citation
and bibliography using Harvard referencing system. The recommended word limit is 3,000–
3,500 words, although you will not be penalised for exceeding the total word limit.
Part 2: The submission should be in the form of a fully functional relational database system
demonstrated to the Tutor; and an individual written report (please see details in Part 1 above).
Part 3: The submission should be in the form of a witness statement of the testing completed
by the Tutor; technical documentation; and a written report (please see details in Part 1
above).
Unit Learning Outcomes:

LO1 Use an appropriate design tool to design a relational database system for a substantial
problem.
LO2 Develop a fully functional relational database system, based on an existing system design.
LO3 Test the system against user and system requirements.
LO4 Produce technical and user documentation.
Assignment Brief and Guidance:
9
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


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.
There should also be a record kept of the staff types that are assigned to productions

10
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


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. 11
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


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.
Select/ Where / Update / Between / In / Group by / Order by / Having

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.
12
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


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.

13
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Grading Criteria Achieved Feedback

LO1 Use an appropriate design tool to design a relational


database system for a substantial problem.

P1 Design a relational database system using appropriate


design tools and techniques, containing at least four
interrelated tables, with clear statements of user and system
requirements.
M1 Produce a comprehensive design for a fully-functional
system, which includes interface and output designs, data
validations and data normalization.
D1 Evaluate the effectiveness of the design in relation to
user and system requirements.

LO2 Develop a fully-functional relational database system,


based on an existing system design
P2 Develop the database system with evidence of user
interface, output and data validations, and querying across
multiple tables.

P3 Implement a query language into the relational database


system

.
M2 Implement a fullyfunctional database system, which
14

includes system security and database maintenance.


Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


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.

15
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Topic Page Number

Task 01 18
Definition for a database System 18
Features of Database System 18
Components of Database System 21
Benefits of Database Systems 22
Data Dictionary & Metadata 24
User Requirements for Quiet Attic Films 27
System Requirements for Quiet Attic Films 28
Hardware Requirements for Quiet Attic Films 30
Effectiveness of user & system requirements for Quiet Attic Films 31
Definition of an Entity Relationship Diagram (ERD) 33
Components of an ER Diagram 33
ER Diagram for the Stated Scenario in Activity One 35
Logical Design of the Scenario 36
Data Anomaly 36
Normalization 37
Normalization Process 37
Data Validation 39
Data Validation Types 40

Task 02 43
Quiet Attic Films Database SQL DDL Statements 43
What is Database Security? 45
Importance of Database Security 47
Security of the quiet attic database 49
Database Security and Threats 50
Database Maintenance 52
Usage of SQL Statements 54
16
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Task 03 56
Test Plan for Quiet Attic Films Management System 56
How to Choose Test Data that Will Increase the Efficacy of Testing 58
Feedback Form 59

Task 04 60
Technical Document 60
Data Flow Diagram of the of Quite Attic Films Data Management System 65

REFERENCES 66

17
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Task 01
Definition for a database System

A database management system (DBMS) is system software for creating and managing
databases. A DBMS makes it possible for end users to create, protect, read, update, and
delete data in a database. The most prevalent type of data management platform, the
DBMS essentially serves as an interface between databases and users or application
programs, ensuring that data is consistently organized and remains easily accessible.
(Mullins, n.d)

Features of Database System

A database system is a computer program that works with the user, other programs, and
the database to collect and study information. It helps to keep data in a neat and effective
way so that it can be easily stored, handled, and found when needed. According to the
forbes.com (n.d) there are 15 Essential Features Database Management System Should
Have as follows:

• Data Integrity:
Entity Integrity: Makes sure that every row (or record) in a table has its own special key
called a primary key. This stops any copies of the same record from being in the table.

Referential Integrity: Makes sure that the information in connected tables stays the same
by enforcing relationships and foreign key constraints.

• Data Security:
Authentication and Authorization: Manages who can use the database by making users
prove who they are and deciding if they can access it, depending on their roles and
permissions.
18

Encryption: Keeps important information safe by turning it into a code that only people
Page

with permission can understand.

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


• Data Consistency:
Transactions: Having transactions support means that a group of connected actions is
handled as one package. Either all the actions happen, or none of them do.

• Concurrency Control:
Handles many users using the database at the same time to avoid issues and make sure the
data stays reliable.

• Data Retrieval:
Gives a way to ask the database for specific information using a query language like SQL.
It also uses indexing and optimization methods to make these queries run faster.

• Data Modelling:
Helps create the design of the database, which includes how tables, connections, and rules
are set up.

• Data Independence:
Logical Independence: Permits modifications to how the database is organized, like tables
and columns, without impacting the programs that use the data.

Physical Independence: Enables adjustments to how the data is stored physically without
impacting how it's organized logically.

• Scalability:
Can manage more data and users by either adding more resources to one server (scaling
up) or spreading the data across multiple servers (scaling out).

• Backup and Recovery:


Offers ways to regularly save copies of the database and restore data in case the system
19

has problems, errors, or disasters.


Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


• Data Dictionary:
Keeps important details about the data in the database, like information about tables,
columns, connections, and rules.

• Concurrency Control:
Handles many users using the database at the same time to avoid issues and make sure the
data stays reliable.

• Replication and Redundancy:


Allows copying data to safeguard against hardware problems, ensuring data stays
accessible even if there's a hardware failure.

• Data Warehousing and Data Mining:


Helps store and analyse a lot of data for making decisions, including features for data
warehousing and data mining.

• User Interfaces:
Offers easy-to-use interfaces for administrators, developers, and end-users to work with
the database.

• Data Compression and Archiving:


Uses methods such as compressing data and archiving to make the best use of storage
space and enhance performance.

Together, these characteristics help make a database system efficient, reliable, and secure,
making it a crucial part of different applications and industries.
20
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Components of Database System
Taylor, (n.d) stated that there are 5 major components of database system they are as
follows:
• Hardware:
Hardware means the physical, electronic gadgets like computers and hard disks. These
gadgets connect computers to the real world.

• Software:
Software is a bunch of programs that help manage and control a database. It includes
database software, the operating system, network software (to share data with others), and
the apps used to get to the data.

• Data:
Data are the basic facts that need sorting and processing to make sense. Database
dictionaries are used to gather, document, control, and organize data in a company. A
database is like a storage place for information about another database (metadata).

• Procedures:
Procedures are the instructions in a database system. They cover everything from setting
up and installing to logging in and out, handling daily tasks, making data backups, and
creating reports.

• Database Access Language:


Database Access Language is a way to write commands for getting, changing, or deleting
data in a database. Users can write commands using this language before sending them to
the database to do. With this language, users can make new databases, tables, put in data,
and delete data.
21
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Benefits of Database Systems
Database systems provide several advantages that help with the efficiency, organization,
and reliability of managing data in different applications. Watt (n.d) has said that there are
several types of benefits of database system as follows:
• Data Integrity:
Database systems make sure that the information you put into them is correct and stays
the same. They do this by setting rules, like making sure each piece of data is unique,
having a primary key, and maintaining referential integrity.

• Data Security:
Database systems have ways to control who can see or change the information. You can
set up access rights for different levels, like for users or roles. Authentication methods
make sure only the right people can get to or edit specific data.

• Concurrent Access and Transaction Management:


Database systems help many users or applications access information at the same time.
They use transaction management to make sure that database transactions (sets of related
operations) are done reliably, even if the system has problems.

• Data Redundancy and Duplication Reduction:


Database systems assist in reducing data duplication by offering a central storage place
for information. This reduction in duplicated data improves the consistency of the data
and makes it simpler to manage and update.

• Data Independence:
Database systems create a layer of abstraction between where the data is physically stored
and how users or applications work with it. This abstraction improves data independence,
letting changes be made to the database structure without impacting the application
programs.

• Data Retrieval and Query Optimization:


22
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Database systems provide strong query languages like SQL for getting and changing data.
They also use techniques to make queries run better, ensuring that data is retrieved
efficiently.

• Data Centralization:
Database systems bring all the data to one central location, making it simpler to control
and manage who can access it. This centralized approach makes data administration
easier and lowers the chances of having data inconsistencies that can happen with data
stored in different places.

• Data Recovery and Backup:


Database systems usually have ways to backup and recovery data. Doing regular backups
helps protect against losing data because of problems with the hardware, mistakes made
by people, or other unexpected events.

• Scalability:
Database systems are created to handle more data as it increases. This scalability makes
sure that the system can manage larger amounts of data and user requests without losing
performance.

• Improved Decision Making:


Being able to quickly and accurately get important information from a database helps
with making better decisions. Organizations can use the data stored in databases to create
reports, analyze patterns, and make well-informed strategic decisions. 23
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Data Dictionary & Metadata

What is Data Dictionary:


“A data dictionary in Database Management System (DBMS) can be defined as a
component that stores the collection of names, definitions, and attributes for data
elements that are being used in a database. The Data Dictionary stores metadata, i.e., data
about the database. These data elements are then used as part of a database, research
project, or information system.” (Singh, 2023)
Key Components:

1. Data Elements:
• Name: The unique identifier for a data element.
• Description: A detailed explanation of the purpose and meaning of the data
element.
• Data Type: Specifies the type of data (e.g., text, number, date) the element can
hold.

2. Relationships:
• Entity Relationships: Describes how different data entities are related to each
other.
• Foreign Keys: Indicates relationships between tables in a relational database.

3. Attributes:
• Default Values: The default values assigned to a data element if no value is
provided.
• Constraints: Rules and limitations on the data, such as length restrictions or format
requirements.

4. Metadata:
• Creation Date: When the data element was added to the system.

24

Last Modified Date: The date of the last update or modification.


Page

5. Usage Information:

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


• Usage Notes: Additional information or guidelines on how to use the data
element.
• Examples: Sample data to illustrate the expected format.

6. Security Information:
• Access Controls: Specifies who has permission to view or modify the data
element.

Purpose:
• Clarity and Understanding: Ensures that everyone in the organization has a
consistent understanding of the data.
• Data Consistency: Promotes standardized usage and interpretation of data
elements.
• Data Governance: Provides a foundation for effective data management and
governance.

Example:
Consider a Data Dictionary entry for a "Product" entity in an e-commerce database:

• Data Elements: ProductID, ProductName, Price, QuantityAvailable


• Data Types: ProductID (Integer), ProductName (Text), Price (Decimal),
QuantityAvailable (Integer)
• Relationships: Connected to "Orders" by ProductID
• Constraints: ProductID is a primary key, Price cannot be negative.

What is Metadata:
“Metadata is simply data about data. It means it is a description and context of the data. It
helps to organize, find and understand data.” (Kononow, 2018)
25

Types of Metadata:
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


1. Descriptive Metadata:
• Title: The name or title of the data.
• Description: A meticulous explanation of the content and context of the data.
• Keywords: Terms or phrases delineating the data.

2. Structural Metadata:
• Format: The file format or structure of the data.
• Schema: Describes the organization and structure of the data, particularly in
databases.

3. Administrative Metadata:
• Author: The individual or entity accountable for creating or managing the data.
• Access Rights: Information regarding who has access or the authority to modify
the data.

Importance:
• Data Discovery: Facilitates seamless exploration and identification of pertinent
data.
• Data Quality: Assists in evaluating and upholding the quality and dependability of
data.
• Data Governance: Underpins effective management, control, and adherence to
data-related policies.

Example:
Consider metadata for a document file:
• Descriptive Metadata: Title, Author, Description.
• Structural Metadata: File format (e.g., PDF, DOCX), Number of Pages.
• Administrative Metadata: Date Created, Last Modified, Access Permissions.
26

Standards:
Page

Metadata adheres to standards such as:

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


• Dublin Core: Ubiquitously utilized for describing resources on the web.
• ID3 (for music files): Incorporates metadata like artist, album, and genre.
• EXIF (for images): Stores information such as camera settings, date taken, and
location.

User Requirements for Quiet Attic Films:

Here are some user requirements as bellow:


• Production Management:
Users must have the capability to enter and manage details about each production. This
involves specifying the client, start and end dates, and any unique requirements.

• Client Management:
The system should enable users to uphold a client list and link numerous productions to a
single client.

• Location Tracking:
Users should possess the capability to log and trace production locations. Productions
may take place at one or more locations, and users must be able to connect locations to
specific productions.

• Property Usage:
The system must ease the handling of properties utilized in productions. Users should be
capable of recording particulars about properties (like buildings, costumes, or small
items) and monitoring which properties are necessary at each location for a given
production.

• Staff Assignment:
27

Users should be able to document and oversee staff types assigned to productions. This
Page

includes specifics about each staff type, their roles, responsibilities, and qualifications.

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


• Data Record Keeping:
Users must have the ability to maintain records of which properties are needed at which
location for each production, ensuring accuracy and organization of information.

• Reporting:
The system is required to offer reporting capabilities, enabling users to produce reports on
productions, clients, locations, properties, and staff assignments.

These user requirements constitute the necessary functionalities for developing and
executing a database system aligned with the requirements of Quiet Attic Films.

System Requirements for Quiet Attic Films:

For the Quiet Attic Films, here are system requirements for designing and implementing
the database:

• Relational Database Management System (RDBMS) Selection:


Choose a suitable RDBMS, such as MySQL, PostgreSQL, or Microsoft SQL Server, to
efficiently store and manage relational data.

• Data Model for Productions:


Create a comprehensive data model encompassing entities for clients, productions,
locations, properties, and staff types. Establish relationships between these entities to
accurately represent the production data structure.

• Normalization:
Apply normalization techniques to organize the database systematically, eliminating
redundancy and ensuring data integrity. Normalize the schema to minimize update
anomalies.
28


Page

User Interface (UI) for Data Entry:

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Design an intuitive user interface for data entry, facilitating the input of information
related to clients, productions, locations, properties, and staff types. This interface may
take the form of a web-based or desktop application.

• Security Measures:
Implement robust security measures to regulate access to sensitive data. Define user roles
and permissions, ensuring that only authorized personnel can view, modify, or delete
specific information.

• Reporting and Querying:


Develop a system for generating reports and executing queries on the database. Enable
users to extract valuable insights into productions, clients, staff assignments, and other
pertinent data.

• Backup and Recovery Procedures:


Establish reliable backup and recovery procedures to safeguard against data loss resulting
from hardware failures, accidental deletions, or unforeseen events. Regularly test these
procedures to verify their effectiveness.

These requirements are about creating a database for Quiet Attic Films. They cover the
basic things needed for development. It's important to be flexible and make changes as
needed during the development. The goal is to make sure the system meets the company's
changing needs.
29
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Hardware Requirements for Quiet Attic Films:

The hardware requirements for implementing the database system for Quiet Attic Films
are:
• Server:
A dependable server is needed to host the database. It must have enough processing
power, memory (RAM), and storage space to manage Quiet Attic Films' data storage and
retrieval requirements.

• Storage:
Enough storage capacity is necessary to hold the database and related media files. This is
particularly important in film production, where handling large amounts of multimedia
data, such as videos and images, is common.

• Network Infrastructure:
A strong network infrastructure is crucial for smooth communication between the
database server and client machines. This is especially important for accessing and
updating data, considering the collaborative nature of film production.

• Backup System:
A reliable backup system is required to regularly and securely back up the database. This
involves extra storage space for backup files and a plan for recovering data in case of
system failures or data loss.

• Client Machines:
Adequate client machines, like computers or devices used by Quiet Attic Films staff, are
necessary to access and interact with the database system. These machines should meet
the required specifications to efficiently run the necessary software.

These hardware requirements are crucial for establishing a database system that can
effectively meet the needs of Quiet Attic Films
30
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Effectiveness of user & system requirements for Quiet Attic Films:

The success of the system for Quiet Attic Films depends a lot on how well the users and
the system requirements are thought out.

User Requirements:
• Clarity:
The user requirements work well if they are easy to understand for everyone, even those
who aren't tech experts. When things are clear, everyone knows what the database is
supposed to do.
• Alignment with Business Goals:
The user requirements should match what Quiet Attic Films wants to achieve as a
business. If the database does what it's supposed to, it helps the company manage
productions, clients, locations, properties, and staff better.

• Comprehensive Coverage:
Everything works effectively when the user requirements cover all the important parts of
handling film production data. This means having detailed info about productions, clients,
locations, properties, and staff assignments, making sure nothing important is left out.

• Flexibility:
The requirements are good if they let the system handle different situations well. For
example, if a client has many productions at once or if a production is happening in
multiple places, the system should be able to deal with that.

• User Involvement:
It's effective when the people who will use the system are part of deciding what it should
do. This makes sure the system really meets the everyday needs of Quiet Attic Films.
31
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


System Requirements:
• Feasibility:
The system requirements are effective if they make sense within what Quiet Attic Films
can do technically and financially. It's about making sure the planned database system can
be built and kept running.

• Scalability:
It's good if the system is built to grow as the company grows. If more productions, clients,
locations, or staff types are added, the system should be able to handle that without a
problem.

• Reliability:
The system requirements are effective if they make sure the database works well all the
time. A reliable system performs consistently, making sure there are no unexpected
breaks or problems during film production.

• Security:
Effectiveness is reached by having strong security in place. This means keeping important
data safe from unauthorized access, making sure the information stored in the database
stays private and unchanged.

• Usability:
The system requirements are good if they make the database easy to use. A system that is
user-friendly and easy to understand helps Quiet Attic Films staff work with it efficiently.

• Integration:
It's effective if the system can smoothly work with other tools or software used by Quiet
Attic Films. This makes sure everything flows well together, preventing any confusion or
separate data collections.
32
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Overall Effectiveness:

The whole system is effective when the user and system requirements come together to
create a well-designed, practical, and easy-to-use database system. Regular
communication and teamwork between everyone involved, including users and the
development team, are super important. Success is measured by how closely the system
matches what Quiet Attic Films needs and how much it helps make film production
processes smoother and better.

Definition of an Entity Relationship Diagram (ERD)


“An entity relationship diagram (ERD), also known as an entity relationship model, is a
graphical representation that depicts relationships among people, objects, places,
concepts, or events within an information technology (IT) system. An ERD uses data
modeling techniques that can help define business processes and serve as the foundation
for a relational database.” (Biscobing, n.d)

Components of an ER Diagram

The primary components of an Entity-Relationship (ER) diagram can be succinctly


outlined as follows:

• Entities:
Entities serve as representations of real-world objects, concepts, or entities stored in the
database. Each entity is visualized as a rectangle within the ER diagram.

• Attributes:
Attributes act as the properties or characteristics of entities, elucidating their features.
These attributes are portrayed within ovals and are linked to their respective entities.
33

• Relationships:
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Relationships delineate the connections between entities, illustrating how entities are
interlinked or associated. These relationships are commonly depicted as diamond shapes
that connect two or more entities.

• Cardinality:
Cardinality establishes the numerical relationship between two entities in given
relationship. It specifies the quantity of instances of an entity that can be correlated with
another entity. Notable cardinality notations encompass "one-to-one" (1:1), "one-to-
many" (1:N), and "many-to-many" (M:N).

• Primary Key:
The primary key serves as a distinctive identifier for each record within an entity,
guaranteeing the unique identification of each entity instance. In the ER diagram, the
primary key is typically denoted by underlining.

• Foreign Key:
A foreign key is a field in one table that references the primary key in another table,
establishing a connection between the two tables to represent a relationship. In an ER
diagram, a foreign key is often indicated by an arrow pointing toward the referenced
table.

• Weak Entities:
Weak entities lack a primary key attribute of their own and rely on another entity
(referred to as the owner or parent entity) for identification. Weak entities are symbolized
with a double rectangle.

• Associative Entity:
An associative entity is utilized to depict a many-to-many relationship between two
entities. It functions as an entity created to associate instances of other entities, possessing
its own attributes, and incorporating foreign keys referencing the associated entities.
34

These components collectively contribute to the visualization and design of a database's


Page

structure, emphasizing entities, their attributes, and the relationships among them.

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


ER Diagram for the Stated Scenario in Activity One

35
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Logical Design of the Scenario

Data Anomaly
“A data anomaly, also known as an outlier, is an observation or data point that deviates
significantly from the norm, making it inconsistent with the rest of the dataset. Data
anomalies can be either intentional or unintentional and may result from errors, noise, or
merely unique occurrences. These anomalies can significantly impact data analysis,
leading to incorrect or misleading insights.” (Soloveichik,2023)

According to the towardsdatascience.com (2019) data anomalies are as follows:

• Update Anomaly:
Suppose we have a table with 10 columns, including "employee Name" and "employee
address." If an employee changes their location, we need to update the table. However, if
the table is not organized properly (normalized), and an employee has multiple entries,
updating them all might be tricky. We could miss updating one of them.

• Insertion Anomaly:
36

Imagine a table with 4 columns: "Student ID," "Student Name," "Student Address," and
Page

"Student Grades." When a new student joins the school, we can fill in the first three

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


attributes, but the fourth one, "Student Grades," might have no value because the student
doesn't have any grades yet.

• Deletion Anomaly:
This anomaly occurs when important information is unintentionally deleted from a table.
For example, if we have information about students and the courses they have taken
(student ID, Student Name, Course, address), and a student leaves the school, deleting the
entry related to that student will also erase the course information. However, courses
depend on the school, not the student.

Normalization aims to solve these issues by organizing tables more effectively. In simple
terms, it separates tables into smaller ones and establishes relationships between them
using keys.

Normalization
“Normalization is a database design technique that reduces data redundancy and
eliminates undesirable characteristics like Insertion, Update and Deletion Anomalies.
Normalization rules divides larger tables into smaller tables and links them using
relationships. The purpose of Normalisation in SQL is to eliminate redundant (repetitive)
data and ensure data is stored logically.” (Peterson,2023)

Normalization Process
The process of normalization is a systematic method in the design of a database that seeks
to arrange and structure data to reduce redundancy, dependency, and anomalies,
ultimately enhancing data integrity and efficiency. This procedure consists of several
steps, commonly denoted by various normal forms (1NF, 2NF, 3NF, etc.).

• First Normal Form (1NF):


In the initial phase of normalization, the focus is on attaining the First Normal Form. This
involves structuring data in a table so that each column contains only indivisible, atomic
37

values. Additionally, the table must possess a primary key, acting as a unique identifier
Page

for each record.

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


• Second Normal Form (2NF):
Advancing to the Second Normal Form, the goal is to eliminate partial dependencies.
This entails ensuring that all non-key attributes in a table are fully functionally dependent
on the entire primary key. Essentially, the data should be organized to prevent scenarios
where a part of the primary key determines some attributes while another part determines
others.

• Third Normal Form (3NF):


The Third Normal Form builds upon the preceding steps by addressing transitive
dependencies. Here, the objective is to eliminate dependencies between non-key
attributes. Each non-key attribute should be directly dependent on the primary key,
preventing indirect relationships between attributes within the same table.

• Boyce-Codd Normal Form (BCNF):


BCNF introduces a more stringent requirement. In this stage, every determinant (an
attribute determining another) must be a candidate key. This further enhances the
elimination of potential anomalies by ensuring that no non-prime attributes are dependent
on other non-prime attributes.

• Fourth Normal Form (4NF):


Advancing to the Fourth Normal Form, the focus is on handling multi-valued
dependencies. If a table contains attributes dependent on multi-valued attributes, the table
undergoes decomposition to separate these dependencies. This step aims to streamline the
structure and avoid unnecessary complexities.

• Fifth Normal Form (5NF):


The Fifth Normal Form refines the normalization process by addressing derived
dependencies between multi-valued attributes. Essentially, it ensures that there are no
dependencies where one multi-valued attribute can be derived from another.

• Sixth Normal Form (6NF):


38
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


The highest level of normalization, the Sixth Normal Form, is applied in specialized cases
involving complex and overlapping dependencies. This level of normalization is less
common and is typically reserved for unique and advanced database scenarios.

Throughout the normalization process, the primary objective remains organizing data
systematically to minimize redundancy, enhance data integrity, and prevent anomalies.
Achieving these goals contributes to the overall efficiency, maintainability, and reliability
of the database structure. It's crucial to note that the extent of normalization applied
should be balanced with the specific requirements and use cases of the database to avoid
overly complex queries and potential performance issues.

Data Validation
As mentioned, on the website databasemanagement.fandom.com (n.d) Data validation
holds significant importance in the realm of databases, where constant updates, deletions,
queries, and movements of information necessitate the maintenance of valid data. The
application of straightforward data validation rules contributes to the consistency,
functionality, and enhanced value that databases offer to their users.

In the context of SQL usage, data validation is the linchpin of maintaining data
consistency within a database. The crux of data integrity lies in factors such as
constraints, referential integrity, and the options for deletion and update. SQL
encompasses various constraint types, including check, unique, not null, and primary
constraints. Check constraints verify the truth of a statement about the data across all
rows in a table. The unique constraint ensures distinct values across rows in specified
columns. The not null constraint mandates the presence of data in a particular column.
Notably, in SQL, the not null constraint is applicable to a single column. Lastly, the
primary key constraint combines the uniqueness and data presence requirements, ensuring
no duplicate values in specified columns and necessitating the presence of data.

Referential integrity, a crucial component of data integrity, primarily concerns two tables:
39

the lookup table and the data table. Its application typically aligns with data insertion,
Page

deletion, or updating. Referential integrity impedes inserts and updates in the foreign key

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


column of the data table when the associated values do not exist in the lookup table.
Conversely, it permits inserts and updates when the data aligns with the lookup table.
Additionally, referential integrity prevents updates and deletes in the lookup table when
the corresponding data in the foreign key column of the data table is absent in the lookup
table.

Inserts and deletes sanctioned by referential integrity involve data originating from the
lookup table. Three associated options include:

1. Restrict (default): Prevents inserts or updates that violate referential integrity.


2. Set null: Nullifies matching values in the foreign key column, leaving other values
unchanged.
3. Cascade: Encompasses two actions for deletes and updates:
• Deletes: Entire rows matching values in the foreign key column are deleted from
the data table.
• Updates: Values in the foreign key column are modified to the new value, while
other values remain unchanged.

Data Validation Types


Kerner. (n.d). stated in her article regarding data validation, there are several types of data
validation in a database management system as follows:

• Data Type Validation:


The validation of data types ensures that the information entered a field corresponds to
the specified data type for that field. For example, if a field is designated for storing dates,
the system verifies that only valid date formats are accepted, preventing the storage of
incompatible data. This validation is essential for upholding the internal consistency of
the database structure.
40

• Length Validation:
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Validation of length focuses on confirming that the length of data entered a field does not
surpass the predefined maximum length. This is especially critical for fields such as
names, addresses, or descriptions, where exceeding the established length could result in
data truncation or other issues. Length validation protects the integrity of the data by
ensuring it fits within the designated space.

• Range Validation:
Range validation entails verifying that numeric values entered a field fall within an
acceptable range. For instance, if a field represents ages, the system checks that the
entered age is within a realistic and meaningful range (e.g., 0 to 120). This helps maintain
the accuracy and relevance of the data by preventing outliers or invalid entries.

• Format Validation:
Format validation ensures that data adheres to a specific structure or format. This is
typically applied to fields like email addresses, phone numbers, or identification numbers.
By enforcing a consistent format, the system ensures that the data is not only accurate but
also standardized, making it easier to manage and query.

• Consistency Validation:
Consistency validation is focused on preserving the relationships and coherence between
different pieces of data within the database. For instance, if there's a foreign key
relationship between two tables, the system checks that the foreign key values correspond
to valid primary key values in the referenced table. This type of validation is crucial for
preventing referential integrity issues and ensuring the reliability of interconnected data.

• Uniqueness Validation:
Uniqueness validation ensures that values in a specific field, often a primary key, are
unique across all records in a table. This prevents the occurrence of duplicate entries,
which can lead to confusion and data inconsistencies. Maintaining uniqueness is
fundamental for accurate identification and retrieval of specific records within the
database.
41
Page

• Mandatory (Required) Field Validation:

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Mandatory field validation ensures that certain fields cannot be left empty and must
contain a value. This enforces the inclusion of essential information, preventing
incomplete records from being stored in the database. Mandatory field validation is
crucial for maintaining data completeness and reliability.

Collectively, these types of data validation contribute to the overall integrity, accuracy,
and reliability of the data stored in a database, ensuring alignment with the intended
structure and consistency over time.

42
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Task 02
Quiet Attic Films Database SQL DDL Statements
Staff Table

Select Statement

43
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Where Statement

Between Statement

44
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Group by Statement

What is Database Security?


Database security is like a bodyguard for computer information. It makes sure that the
data in a computer database is kept secret, accurate, and available when needed. To do
this, it uses different methods to stop unauthorized people from getting in, protect against
data leaks, and prevent other security problems. Here are some important things about
database security:

Access Control:
It's important to limit who can get into the database for security reasons. Access control
methods make sure that only the right people or programs can use the database. This
includes checking who the users are (authentication) and giving them the right
permissions based on their jobs (authorization).

Encryption:
We use something called database encryption to keep our information safe. This means
making our data secret when it's stored on the computer (at rest) and when it's moving
between the computer and other programs (in transit). Encryption helps stop people who
45

shouldn't see it from looking at or messing with our important information.


Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Auditing and Monitoring:
We use special tools to watch over the database and keep it safe. These tools keep a
record of what users are doing, any changes made to the database, and other important
events. This helps the administrators check and understand if anything unusual or not
allowed is happening.

Authentication:
We use strong ways to make sure only the right people can use the database. This
includes having secure rules for passwords and using a double-check system called multi-
factor authentication. These methods stop fake users from pretending to be real ones and
getting into the database.

Data Masking and Redaction:


We do special things to keep private info safe. One way is called data masking, which
hides the real data. Another way is redaction, which shows or hides parts of data
depending on who's allowed to see it. These methods help keep things private and follow
the rules.

Database Firewall:
Using a database firewall is like adding extra security to watch and control the traffic
going in and out of the database. It helps stop people who shouldn't get in, protects
against attacks like SQL injections, and filters out any harmful requests trying to come in.

Backup and Recovery:


It's important to regularly make copies of databases to be ready if something goes wrong,
like deleting something by mistake or if there's a security problem. Planning how to
backup and recovery data helps make sure we can bring everything back to normal.

Patch Management:
It's important to keep the database software and related systems current by adding the
latest security updates. Doing this regularly helps fix known problems and makes it less
46

likely for bad actors to take advantage of any weaknesses.


Page

Security Policies and Procedures:

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Making and following security rules and steps ensures that we always use security
measures the right way. It creates a plan for controlling who can get in, keeping an eye on
what happens, and dealing with security issues when they come up.

Importance of Database Security


Keeping information safe in databases is important. We want to make sure that only the
right people can access and use the sensitive data stored in databases. This is crucial
because we don't want anyone getting in without permission or using the information in
the wrong way. Here are some important reasons why database security matters:

Confidentiality:
Databases usually have important and private stuff like personal details, money records,
and business secrets. Keeping things confidential means that only the right people or
programs are allowed to see and use this information.

Integrity:
Database integrity is like making sure the information stored is correct and trustworthy. If
we don't have good security, there's a chance that data might get changed, deleted, or
messed up, either by mistake or on purpose. Database security stops these unauthorized
changes and keeps the information reliable.

Availability:
Companies use databases to get important information quickly. Database security makes
sure the database keeps working well and doesn't have too much downtime because of
security problems or attacks.

Compliance:
Lots of businesses must follow rules and laws about keeping data safe. To meet these
rules and standards, it's important to have strong security measures for databases.
47

Prevention of Unauthorized Access:


Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


If the wrong people get into databases, it can cause problems like data breaches and
identity theft. To stop this, we use security measures like controls on who can access and
authentication processes to make sure only the right people get in.

Protection Against Data Loss:


Database security also involves making plans to back up and recover data. If something
goes wrong, like accidentally deleting information or if there's a problem, having regular
backups helps us bring back the data and get back to normal business.

Prevention of SQL Injection and Other Attacks:


To stop common attacks like SQL injection, we use things like firewalls and safe coding
practices as part of database security. These attacks try to take advantage of weaknesses
in the database system to get in without permission or mess with the data.

Trust and Reputation:


Keeping customer and business information safe helps create trust with clients, partners,
and others involved. Having a good reputation for data security can give a competitive
edge and is important for keeping the trust of users.

Cost Reduction:
If there are security problems or data breaches, it can lead to big money losses, legal
troubles, and harm a company's reputation. Putting money into database security
measures can stop these problems and lower the costs that come with them.
48
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Security of the quiet attic database

49
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Database Security and Threats
Database security is about keeping databases safe from different dangers that might mess
with the privacy, accuracy, and accessibility of the stored information. Let's take a quick
look at some common problems that can threaten database security:

Unauthorized Access:
If people who shouldn't be there get into a database, it can cause problems like stealing
important information, changing things without permission, or exposing sensitive data.
To stop this, we need to use good ways to check who's allowed in and control their access
properly.

SQL Injection:
SQL injection is when bad actors put harmful code into places where we type
information. This can mess with how the database works, allowing them to get in without
permission, change data, or even delete records. To prevent this, we use methods like
checking and controlling the input and using special types of queries.

Data Breaches:
A data breach happens when important information is seen or shared without permission.
This can occur if access controls are not strong enough, if someone inside the
organization does something they shouldn't, or if there's an attack from outside. To avoid
data breaches, we use methods like encrypting data, keeping an eye on who accesses it,
and making sure only the right people can get in with strong authentication.

Data Manipulation:
Bad people might try to change or delete information in a database. This could mess up
records, lead to money fraud, or cause other bad things. To stop this, we need to use the
right access controls, keep track of what happens with audit trails, and have plans for
backing up data to protect against these changes.

Malware and Ransomware:


50

Bad software, like malware and ransomware, can go after databases, making the
Page

information sick or locking it up. Ransomware might even ask for money to unlock the

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


data. To lower the chances of these attacks, it's important to keep antivirus software up to
date, use firewalls, and follow safe practices when using computer networks.

Insider Threats:
People who work inside a company, like employees or contractors who can get into the
database, might be a security risk. They could do things on purpose or by accident that
harm data security. To handle this, we use methods like controlling access based on job
roles, keeping an eye on what users do, and training employees to be aware of security.

Weak Authentication and Password Security:


Using easy-to-guess passwords or not having strong ways to check who's allowed in can
make it simple for the wrong people to get into a database. To prevent this, we need to
make sure people use strong passwords, use methods like checking in two different ways
(multi-factor authentication), and regularly update the rules for checking who's allowed in
(authentication protocols).

Denial of Service (DoS) Attacks:


DoS attacks try to mess up how a database works by sending too much traffic or too
many requests. This can make the database stop working, causing service problems, and
making it not available. To reduce the impact of these attacks, we use things like
firewalls, systems that detect and prevent intrusions, and balancing the workload (load
balancing).

Lack of Patch Management:


If we don't put on the safety updates for the database system and its software, there are
weak points that bad actors could take advantage of. To avoid this, it's important to
regularly update and patch the database system to close these potential security holes.

Physical Threats:
Real-world dangers like stealing, natural disasters, or accidents can harm the physical
stuff holding the database. To prevent this, we use safety measures like controlling who
51

can get in, making backups, and storing copies of data in a different place (off-site
Page

storage).

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Database Maintenance
Database maintenance means doing things to keep a database working well, fast, and safe.
It includes regular tasks to make sure the database runs smoothly, keeps data accurate,
and avoids problems. Here are some important things we do for database maintenance:

Backup and Recovery:


Making regular copies of the database is important. This helps recover data if it's
accidentally deleted, gets messed up, or if something goes wrong with the system. Backup
strategies include saving copies of the database at certain times and having ways to put
the data back the way it was before.

Index Maintenance:
Indexes make it faster to find information in a database. To keep things running smoothly,
database maintenance involves taking care of these indexes. This might mean organizing
or rebuilding them based on how people use the data and any changes that happen.

Statistics Update:
The database system uses statistics to make searches faster. Updating these statistics
regularly makes sure the system has the right info about how data is spread out. This
helps make things work better and faster.

Data Purging and Archiving:


As time goes on, databases can collect extra stuff they don't need. Getting rid of old or
unused data regularly helps make space, speeds up searching for information, and keeps
the database a good size that's easy to handle.

Software Updates and Patching:


It's important to keep the database system and its software current. This helps with
security and makes sure everything runs well. Putting on updates and security fixes deals
with known problems and makes sure the system works with the newest features and
improvements.
52
Page

Performance Monitoring and Tuning:

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Checking how well the database is doing means keeping an eye on things like how much
it's using resources, how fast it responds to queries, and how much it can handle. Making
the database work better might include changing settings, making queries run more
efficiently, and giving it more resources to perform well overall.

Security Audits:
Doing regular security checks helps find and fix weak points in the database system. This
involves looking at who has permission to access, keeping an eye out for anything
suspicious, and making sure everything follows the rules and security standards.

Space Management:
Taking care of how much space is used on the computer disks is important for how well
the database works. This means keeping an eye on how big the data and log files are,
arranging files in the best way, and adding more space when it's necessary.

Data Consistency Checks:


Doing checks for consistency makes sure that the information in the database is correct
and dependable. This involves finding and fixing any mistakes or differences in the data.

Documentation and Logging:


Keeping detailed records of how the database is set up, its structure, and the steps taken to
maintain it is important. Also, keeping track of activities like changes to the database or
who's accessing it helps with finding and fixing issues, and makes it easier to check and
verify things. 53
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Usage of SQL Statements

SELECT:
Use: Gets information from tables.
Example: Get column1 and column2 from the table when a condition is met.

INSERT:
Use: Adds new information to a table.
Example: Put new values into column1 and column2 in the table.

UPDATE:
Use: Changes existing information in a table.
Example: Change the value in column1 to a new value when a condition is met in the
table.

DELETE:
Use: Takes out information from a table.
Example: Remove data from the table when a condition is met.

CREATE:
Use: Makes a new table, view, or other things in the database.
Example: Create a table with column1 and column2 having specific data types.

ALTER:
Use: Changes the structure of an existing table or view.
Example: Add a new column3 with a specific data type to the table.

DROP:
Use: Deletes an existing table or view.
Example: Remove the table from the database.
54
Page

GRANT:
Use: Gives specific permissions to users or roles.

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Example: Allow the user to select data from the table.

REVOKE:
Use: Takes back specific permissions from users or roles.
Example: Disallow the user from selecting data from the table.

JOIN:
Use: Puts together information from different tables based on a shared column.
Example: Combine data from table1 and table2 where their columns match.

WHERE:
Use: Picks out specific information based on a condition.
Example: Get data from the table where a column has a certain value.

ORDER BY:
Use: Arranges the results in ascending or descending order.
Example: Arrange the data in the table in ascending order based on a specific column.

GROUP BY:
Use: Puts together rows with similar values in chosen columns.
Example: Group rows in the table based on a specific column and count them.

HAVING:
Use: Filters results after using GROUP BY.
Example: Show only the grouped data where the count is more than 1.
55
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Task 03:
Test Plan for Quiet Attic Films Management System:

Unknown User logging


If anyone types a wrong password or a username, Error message is displayed.

Insert new staff.


Here, a new part is added to the staff.
56
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Update hourly rate.
Update the Runner’s hourly rate to 250.

Delete Production
Delete a production ID from the database system.

57
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Test Status
Security pass
Insert pass
Update pass
Delete pass

How to Choose Test Data that Will Increase the Efficacy of Testing
Choosing the right test data is super important for testing to work well. First, really
understand what the system needs and the important situations to test. Use different kinds
of situations, like normal ones and tricky ones. Check the extreme values with boundary
analysis. Try out bad inputs to see how the system handles mistakes. Use data that looks
like what happens in the real world, with the right amount and types. Mix up the data to
see how things work together. For big tests, use lots of data and make it act like a busy
time. When testing changes, check both new stuff and old stuff to catch any problems.
Test how the system handles security issues and protects data. For user-friendly testing,
use data that fits different kinds of users and how they use the system. Follow privacy
rules and keep sensitive info safe. Make things a bit random in tests to see how the system
deals with unexpected stuff. Get thoughts from people involved, like users, to make sure
we are covering everything. Write down what we are testing and what we expect to
happen. Have a good process to manage our test data, keeping track of changes. Doing all
58

this helps make sure we are testing really checks the system well for how it works, how
Page

fast it is, and how safe and easy it is to use, making the whole testing process better.

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Feedback Form

59
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Task 04
Technical Document

To get into the system, just type in the right username and password on the login screen.
Then, click the login button to go ahead.

When you go to the Quiet Attic films menu, you can pick where to go by choosing from
these options: production database, new production, add new staff, or production settings.

60
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


User can add new production to the database.

production data details

61
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


62
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Some parts of Codes for above interfaces

63
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


64
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Data Flow Diagram of the of Quite Attic Films Data Management System

65
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


REFERENCES

Biscobing, J. (n.d). Entity Relationship Diagram (ERD). techtarget.com. Available at:


https://www.techtarget.com/searchdatamanagement/definition/entity-relationship-
diagram-ERD (Accessed: 15 November 2023)

Databases: Explaining Data Normalization, Data Anomalies and DBMS Keys. (2019).
towardsdatascience.com. Available at: https://towardsdatascience.com/softly-explained-
data-normalization-data-anomalies-and-dbms-keys-f8122aefaeb3 (Accessed: 16
November 2023)

Data Validation. (n.d). databasemanagement.fandom.com. Available at:


https://databasemanagement.fandom.com/wiki/Data_Validation (Accessed: 17 November
2023)

Essential Features Your Database Management System Should Have. (n.d). forbes.com.
Available at: https://www.forbes.com/sites/forbestechcouncil/2023/02/01/15-essential-
features-your-database-management-system-should-have/?sh=1ee8771551f2 (Accessed:
13 November 2023)

Kerner, S. M. (n.d). data validation. techtarget.com. Available at:


https://www.techtarget.com/searchdatamanagement/definition/data-validation (Accessed:
17 November 2023)

Kononow, P. (2018). What is Metadata (with examples). dataedo.com. Available at:


https:///kb/data-glossary/what-is-metadata (Accessed: 15 November 2023)

Mullins, C. S. (n.d). database management system (DBMS). techtarget.com. Available at:


https://www.techtarget.com/searchdatamanagement/definition/database-management-
system (Accessed: 13 November 2023)
66
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01


Peterson, R. (2023). What is Normalization in DBMS (SQL)? 1NF, 2NF, 3NF Example.
guru99.com. Available at: https://www.guru99.com/database-normalization.html
(Accessed: 16 November 2023)

Singh, N. (2023). Data Dictionary in DBMS. scaler.com. Available at:


https://www.scaler.com/topics/data-dictionary-in-dbms/ (Accessed: 15 November 2023)

Soloveichik, H. (2023). Data Anomaly: Types, Causes, Detection, And Resolution.


databand.ai. Available at: https://databand.ai/blog/data-anomaly-types-clauses/
(Accessed: 15 November 2023)

Sumanathilaka, D. (2020). “ER Diagram - Introduction - Entities, Attributes and


Relations in Sinhala” [Video]. YouTube. Available at:
https://www.youtube.com/watch?v=zGb0_P4Emxo (Accessed: 15 November 2023)

Taylor, S. (n.d). Database. corporatefinanceinstitute.com. Available at:


https://corporatefinanceinstitute.com/resources/data-science/database/ (Accessed: 13
November 2023)

Watt, A. (n.d). Characteristics and Benefits of a Database. libretexts.org. Available at:


https://eng.libretexts.org/Bookshelves/Computer_Science/Databases_and_Data_Structure
s/Database_Design_(Watt)/01%3A_Chapters/1.03%3A_Chapter_3_Characteristics_and_
Benefits_of_a_Database (Accessed: 14 November 2023)
67
Page

E. A. C. Nikeshala- 190001 Database Design & Development Assignment No:01

You might also like