Database Assignment ESOFT
Database Assignment ESOFT
Assessor Internal
Verifier
Unit 04: Database Design & Development
Unit(s)
Database Solution for Quiet Attic Films
Assignment title
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?
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
Formative Feedback: Assessor to Student
Action Plan
Summative feedback
Assessor Date
signature
Student Date
signature
Pearson Higher Nationals in
Computing
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.
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.
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
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.
Unit Tutor
Issue Date
Submission Date
Submission format
Part 1: The submission should be in the form of an individual written reportwritten 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:
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
Activity 1
Identify the user and system requirements to design a database for the above scenarioand
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.
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.
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.
Grading Criteria Achieved Feedback
.
M2 Implement a fullyfunctional 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
Quiet Attic Films, located in the bustling heart of London, England, is renowned for
producing short informational films and captivating TV advertisements. As the company
grows and takes on more diverse projects, the need for a more efficient data management
system becomes increasingly apparent. Currently reliant on paper-based documentation,
Quiet Attic Films faces challenges related to efficiency, accuracy, and accessibility. The shift
to a digital database system promises to modernize operations, reduce errors, and boost
overall productivity.
At the core of Quiet Attic Films' operations are 'productions,' each uniquely tailored for a
specific client. Clients often have multiple productions running concurrently, necessitating a
system that can handle this complexity. Each production involves various types of employees
and a range of properties, including costumes, vehicles, and buildings. The proposed database
will centralize and streamline the management of these elements, replacing the cumbersome
paper-based system with a more organized and efficient digital solution.
The objective of this report is to design and implement a database that addresses the specific
needs of Quiet Attic Films. By analyzing the current workflow and existing paper documents,
we can identify the key areas where a digital system can bring substantial improvements. The
new database will be structured around productions, linking each to its respective client,
thereby ensuring that all relevant information is easily accessible and manageable.
A significant feature of the database will be its capability to manage various employee roles
and properties associated with each production. This includes tracking the availability and
allocation of resources, ensuring that logistical aspects are well-coordinated. By knowing
which properties are needed at specific locations and which staff members are assigned to
particular tasks, the database will enhance planning and execution, ensuring smooth and
efficient project management for every production.
Activity 01.
In software engineering, user and system requirements play a crucial role in the successful
development of any system. User requirements specifically refer to the broad, high-level
needs that describe the expected functionalities and constraints of the system. These
requirements are typically presented in natural language and visual formats to ensure they are
easily understandable by end users. They serve as a fundamental basis for the design and
implementation of the system, guiding developers in creating a product that meets user
expectations and needs.
Understanding and clearly defining user requirements is essential because they provide a
roadmap for what the system should achieve. They encompass the services the system must
deliver and the boundaries within which it must operate. This detailed articulation helps in
aligning the final product with user expectations, ensuring that the system is user-friendly,
efficient, and effective in addressing the users' problems. User requirements facilitate
communication between stakeholders, including clients, developers, and project managers.
They help in setting clear goals and objectives, reducing the risk of misunderstandings and
ensuring that all parties have a shared vision of the project's outcome. By capturing the user's
perspective, these requirements ensure that the system is developed with the end-user's needs
at the forefront, leading to higher satisfaction and better user adoption rates. User
requirements are vital in software engineering as they define the necessary services and
constraints of the system in a way that is understandable to users. They are a key element in
the development process, ensuring that the final product aligns with user needs and
expectations.
System requirements are the detailed technical prerequisites essential for a system to perform
its intended functions. These requirements encompass several critical aspects:
Functional Specifications - These define what the system must do. They outline the core
functions and features that the system needs to perform to meet the user requirements
effectively.
Data Specifications - These describe the data the system must process. They detail the types,
formats, and sources of data the system will handle, ensuring it can manage and utilize this
information appropriately.
System requirements are vital for guiding the development process, ensuring that the final
product not only meets user needs but also adheres to technical standards and operational
limitations. They provide a comprehensive framework for what the system must achieve and
how it should perform, ultimately ensuring that the system is robust, efficient, and aligned
with both user and business objectives.
1.1.3. Entity Relational Diagram (ER Diagram) for Quiet Attic Films.
Table 2 - entity table
Normalization Forms,
1. 1NF (First Normal Form)
2. 2NF (Second Normal Form)
3. 3NF (Third Normal Form)
4. BCNF (Boyce-Codd Normal Form)
5. 4NF (Fourth Normal Form)
6. 5NF (Fifth Normal Form)
7. 6NF (Sixth Normal Form)
Ongoing advancements in the Theory of Data Normalization in MySQL server are being
actively pursued, with discussions about the 6th Normal Form taking place. However, in
most practical applications, achieving the best results through normalization is typically
accomplished by adhering to the 3rd Normal Form.
Table 4 - unnormalized data
P_ID Staff
9 1 x Director
9 2 x Camera crew
9 1 x Sound Technician
9 1 x Runner
10 2 x Camera crew
10 1 x Lighting Technician
10 1 x Director
10 2 x Dancers
11 1 x Director
11 2 x Camera crew
11 1 x Wildlife Expert
11 1 x Runner
In order for a table to meet the requirements of the second normal form (2NF), it must first
adhere to the principles of the first normal form (1NF). This means each attribute in the table
must contain only atomic (indivisible) values, ensuring there are no repeating groups.
The essence of the second normal form lies in the structure of the Primary Key. If a table's
Primary Key consists of a single attribute, the table automatically meets the criteria for 2NF.
However, if the Primary Key is composite (composed of multiple attributes), additional
conditions apply. In such cases, every non-key attribute must depend on the entire composite
Primary Key, rather than on just a part of it. This ensures that no partial dependencies exist,
meaning each non-key attribute is functionally dependent on the entire Primary Key and not
just on a subset.
By eliminating partial dependencies, the second normal form aims to reduce redundancy and
improve data integrity within relational databases. This normalization step helps in
organizing data more efficiently, ensuring that each table structure is optimized for storage,
retrieval, and maintenance of data.
Production ID Properties
9 High-definition camera
9 Drone for aerial shots
10 Traditional costumes
10 Lighting equipment
11 Wildlife tracking devices
11 Nature sound recording equipment
The Third Normal Form (3NF) is a database schema design methodology aimed at reducing
data redundancy, avoiding anomalies, ensuring referential integrity, and simplifying data
management. A table is in 3NF if it meets all the requirements of the Second Normal Form
(2NF) and lacks transitive dependencies among non-prime attributes. In simpler terms, 3NF
ensures that every non-key attribute is directly dependent only on the primary key, thereby
eliminating indirect relationships between non-key attributes.
1.2.4. Wireframes
//TO DO
Need To Attach WireFrames Here
1.2.5. Data Validation
Data validation is the systematic process of ensuring that data is accurate, clean, and reliable.
This involves implementing various verification measures within a system or report to
guarantee the consistency and correctness of both input and stored data. As automated
systems frequently manage data entry with minimal or no human oversight, it is crucial to
verify that the entered information meets predefined quality standards. Accurate data entry is
essential for effective data utilization, as inaccuracies can lead to significant issues in
subsequent reporting and analysis processes. Even accurately entered unstructured data will
incur costs associated with cleaning, converting, and retaining the data.
1.2.6. Importance of Data Validation
The primary goal of data validation is to ensure data integrity and reliability, which are vital
for making informed decisions. High-quality data helps organizations avoid costly errors and
improves operational efficiency. Inaccurate data can lead to flawed insights, misguided
strategies, and ultimately, business losses. Moreover, data validation ensures compliance with
regulatory standards, which is crucial in sectors like healthcare, finance, and legal industries.
By validating data, organizations can maintain the trust of stakeholders and enhance their
overall data governance framework.
1.2.7. Types of Data Validation
There are several types of data validation, each designed to ensure data accuracy before it is
stored in a database. Common data validation checks include:
Data Type Check
This verification ensures that the input data is of the correct type. For instance, a specific field
may only accept numerical values. If this is the case, the system should reject any data that
includes letters or special characters. Ensuring the correct data type prevents errors and
maintains data integrity.
Code Check
Code checking verifies that a field contains a valid value or adheres to specific formatting
rules. For example, validating a postal code can be done by cross-referencing it with a list of
authorized codes. This method can also be applied to other entities, such as country codes and
industry classification codes like NAICS.
Range Check
Range checks ensure that a value falls within a specified range. This is particularly important
for numerical data, where values outside the expected range can indicate errors. For example,
an age field might be restricted to values between 0 and 120. If an entered value falls outside
this range, it indicates an error that needs to be corrected.
Format Check
Some data types must follow a specific format. A common example is date fields, which may
need to be formatted as "YYYY-MM-DD" or "DD-MM-YYYY." Implementing format
checks ensures that data remains consistent and reliable over time. This is especially
important for data analysis and reporting, where uniform data formatting is crucial.
Consistency Check
Consistency checks are logical verifications that ensure data coherency. For example,
verifying that the delivery date of a package is after the shipment date ensures logical
consistency. Such checks are vital for maintaining the integrity of data relationships and
dependencies within a database.
Uniqueness Check
Certain fields, such as identification numbers or email addresses, must be unique. Uniqueness
checks ensure that these fields do not contain duplicate entries, maintaining the
distinctiveness of each record in the database. This is crucial for preventing data redundancy
and ensuring the reliability of the database.
1.2.8. Implementing Data Validation
Implementing data validation requires a multi-faceted approach. First, organizations need to
define clear data validation rules based on their specific needs and industry standards. This
involves identifying critical data fields and establishing the criteria for validating these fields.
Next, automated tools and software can be employed to enforce these validation rules during
data entry and processing. Regular audits and reviews should also be conducted to ensure the
ongoing accuracy and quality of the data. Additionally, providing training and guidelines to
staff involved in data entry and management can help minimize errors and reinforce the
importance of data validation.
Data Definition Language (DDL) consists of SQL statements that are used to define and
modify the structure of database objects within a database schema. DDL is essential for
creating, altering, and deleting database structures such as tables, indexes, and other database
objects. Unlike Data Manipulation Language (DML), DDL does not deal with the data itself,
but rather with the schema that organizes and manages the data. Typically, DDL commands
are used by database administrators rather than regular users, who interact with the database
through applications.
CREATE
The CREATE command is used to create a new database or any of its objects, such as tables,
indexes, views, stored procedures, and triggers. This command establishes the structure of the
database and its components. For example, creating a new table in a database involves
specifying the table name and its columns along with their data types and constraints.
Example: To create a table named Employees, you would specify the columns such as
EmployeeID, FirstName, LastName, DateOfBirth, Position, and Salary, including their
respective data types and constraints. This establishes the structure for storing employee
records.
DROP
The DROP command is used to delete an existing database object, such as a table, index, or
view. This command removes the object and all the data contained within it from the
database. It is a powerful command that should be used with caution because the deletion is
permanent and cannot be undone.
Example: To delete the Employees table, you would use the DROP TABLE Employees
command. This would permanently remove the table and all its data from the database.
ALTER
The ALTER command modifies an existing database object. It can be used to add, delete, or
modify columns in a table, or to change the properties of database objects. This command is
essential for making structural changes to a database after it has been created.
Example: To add a new column named Email to the Employees table, you would use the
ALTER TABLE Employees ADD Email VARCHAR(100) command. This adds a new
column for storing email addresses.
TRUNCATE
The TRUNCATE command removes all rows from a table without deleting the table itself. It
also reclaims the storage space occupied by the table’s data. This command is faster than
DELETE because it does not generate individual row delete actions and does not fire triggers.
Example: To remove all data from the Employees table, you would use the TRUNCATE
TABLE Employees command. This clears all records while retaining the table structure.
COMMENT
The COMMENT command is used to add descriptive comments to the data dictionary. These
comments help to document the database schema, providing useful information about the
purpose and structure of various database objects.
Example: To add a comment to the Employees table, you would use the COMMENT ON
TABLE Employees IS 'Table containing employee records' command. Similarly, you can add
comments to specific columns for clarity.
RENAME
The RENAME command changes the name of an existing database object. This is useful
when there is a need to update the name of a table, column, or other database object to better
reflect its purpose or to adhere to new naming conventions.
Example: To rename the Employees table to Staff, you would use the ALTER TABLE
Employees RENAME TO Staff command. This updates the table name while retaining its
structure and data.
To illustrate the use of DDL commands, let’s create a new database and a table within it.
Creating a Database
To create a new database named CompanyDB, you would use the CREATE DATABASE
CompanyDB command. This initializes a new database environment for storing and
managing data.
To switch to the newly created database, you would use the USE CompanyDB command.
This sets the context for subsequent operations within the specified database.
Creating a Table
To create a table named Departments within the CompanyDB database, you would define
columns such as DepartmentID, DepartmentName, ManagerID, and Location. This involves
specifying data types and constraints to establish the table structure.
2.1.3. Modifying the Table
Suppose we need to modify the Departments table to add a new column for the budget. You
would use the ALTER TABLE Departments ADD Budget DECIMAL(15, 2) command to
add the new Budget column, which will store the department’s annual budget.
If the Departments table is no longer needed, you can delete it using the DROP TABLE
Departments command. This command removes the table and all its data from the database
permanently.
To remove all data from the Departments table without deleting the table itself, you would
use the TRUNCATE TABLE Departments command. This clears the table’s data while
retaining its structure.
Adding Comments
To add comments to the Departments table and its columns, you can use the COMMENT
command. For instance, you might use COMMENT ON TABLE Departments IS 'Table
containing department records' and COMMENT ON COLUMN Departments.Budget IS
'Annual budget of the department' to provide descriptive information.
If you need to rename the Departments table to Divisions, you would use the ALTER
TABLE Departments RENAME TO Divisions command. This updates the table name to
better reflect its content or purpose.
DDL commands are fundamental for managing the structure of a database. They allow for the
creation, alteration, and deletion of database objects, thereby shaping the schema that
organizes and stores data. By using commands like CREATE, DROP, ALTER, TRUNCATE,
COMMENT, and RENAME, database administrators can effectively control and document
the database structure, ensuring it meets the requirements of the system and its users. This
ensures the integrity, efficiency, and clarity of the database schema, which is crucial for
robust data management and utilization.
Data Manipulation Language (DML) is a subset of SQL statements primarily concerned with
the manipulation of data stored within a database. DML statements allow users to insert,
update, delete, and retrieve data from database tables, playing a crucial role in managing and
interacting with the database’s data. Unlike Data Definition Language (DDL), which deals
with the structure of the database, DML focuses on the actual data.
INSERT
The INSERT statement is used to add new rows of data to a specified table. This command
allows for the insertion of single or multiple rows in one statement. It specifies the table into
which data will be inserted and lists the values to be inserted into the corresponding columns.
Example: To add a new employee to the Employees table, you would use the INSERT INTO
Employees (EmployeeID, FirstName, LastName, DateOfBirth, Position, Salary) VALUES
(1, 'John', 'Doe', '1980-01-01', 'Manager', 75000) command. This adds a new row with the
specified data to the Employees table.
UPDATE
The UPDATE statement modifies existing data within a table. This command allows for the
updating of one or more columns in one or more rows, based on specified conditions. The
SET clause specifies the columns to be updated and their new values, while the WHERE
clause identifies the rows to be updated.
Example: To update the salary of an employee with EmployeeID 1, you would use the
UPDATE Employees SET Salary = 80000 WHERE EmployeeID = 1 command. This
changes the salary for the specified employee.
DELETE
The DELETE statement removes rows from a table based on specified conditions. This
command is useful for deleting data that is no longer needed or for purging outdated records
from the database. The WHERE clause specifies which rows should be deleted.
Example: To remove an employee with EmployeeID 1 from the Employees table, you would
use the DELETE FROM Employees WHERE EmployeeID = 1 command. This deletes the
specified row from the table.
SELECT
The SELECT statement retrieves data from one or more tables. It allows users to specify
which columns to retrieve and which rows to return, based on conditions specified in the
WHERE clause. The SELECT statement is fundamental for querying the database and
obtaining information.
Example: To retrieve all employee records from the Employees table, you would use the
SELECT * FROM Employees command. This returns all columns for all rows in the
Employees table.
Importance of DML
DML commands are essential for database operations, enabling users to manage the data
effectively. They allow for the dynamic handling of data, ensuring that it can be inserted,
updated, deleted, and queried as needed. This flexibility is vital for maintaining the accuracy,
relevance, and accessibility of the data within a database.
//TODO
Need to attach screenshots of dml codes used in quiet attic films project
2.1.5. Database and table creation of Quiet Attic Film
SQL query for Quiet Attic Film database and table creation
//ToDo