DDD Unit 4 Data Base Assigment
DDD Unit 4 Data Base Assigment
Higher Nationals
Internal verification of assessment decisions – BTEC (RQF)
Assessor Internal
Verifier
Unit 04: Database Design & Development
Unit(s)
Database Solution for Quiet Attic Films
Assignment title
Mohamed Nizam Abdul Aneem
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
Y/N
need amending?
e
Programme Leader signature (if
required) Dat
e
Confirm action completed
Remedial action
taken
Give details:
Assignment 1 Assessor
Number
Date
Submission Date Received
1st
submission
Date Received
Re-submission 2nd submission
Date
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
* 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
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.
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.
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.
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.
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:
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 scenario and
design a relational database system using conceptual design (ER Model) by including
identifiers (primary Key) of entities and cardinalities, participations of relationships.
Convert the ER Model into logical database design using relational database model
including primary keys foreign keys and referential Integrities.
It should contain at least five interrelated tables. Check whether the provided logical
design is normalised. If not, normalize the database by removing the anomalies.
(Note:-It is allowed to have your own assumptions and related attributes within the
scope of the case study given)
Design set of simple interfaces to input and output for the above scenario using Wireframe
or any interface-designing tool. Evaluate the effectiveness of the given design (ERD and
Logical design) in terms of the identified user and system requirements.
Activity 2
Develop a relational database system according to the ER diagram you have created (Use
SQL DDL statements). Provide evidence of the use of a suitable IDE to create a simple
interface to insert, update and delete data in the database. Implement proper security
mechanisms in the developed database and evaluate the database solution developed in
terms of its effectiveness with relevance to the user and system requirements identified,
system security mechanisms (EX: -User groups, access permissions) and the maintenance
of the database. Suggest improvements for any identified problems.
Assess the usage of the below SQL statements with the examples from the developed
database to prove that the data extracted through them are meaningful and relevant to
the given scenario.
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.
ID : COL00158885
Batch : HND-COM
( Sep /Oct Weekday 2022 )
Activity 01 (Use an appropriate design tool to design a relational database system for a
substantial problem)
What is Database?
“A database is a systematic collection of data. They support electronic storage and
manipulation of data. Databases make data management easy.
Let us discuss a database example: An online telephone directory uses a database to store
data of people, phone numbers, and other contact details. Your electricity service provider
uses a database to manage billing, client-related issues, handle fault data, etc.
Let us also consider Facebook. It needs to store, manipulate, and present data related to
members, their friends, member activities, messages, advertisements, and a lot more. We
can provide a countless number of examples for the usage of databases.” (Peterson, 2023)
Types of Databases
Distributed databases:
A distributed database is a type of database that has contributions from the common
database and information captured by local computers. In this type of database system, the
data is not in one place and is distributed at various organizations.
Relational databases:
This type of database defines database relationships in the form of tables. It is also called
Relational DBMS, which is the most popular DBMS type in the market. Database example
of the RDBMS system include MySQL, Oracle, and Microsoft SQL Server database.
Object-oriented databases:
This type of computers database supports the storage of all data types. The data is stored in
the form of objects. The objects to be held in the database have attributes and methods that
define what to do with the data. PostgreSQL is an example of an object-oriented relational
DBMS.
Centralized database:
It is a centralized location, and users from different backgrounds can access this data. This
type of computers databases store application procedures that help users access the data
even from a remote location.
Open-source databases:
This kind of database stored information related to operations. It is mainly used in the field
of marketing, employee relations, customer service, of databases.
Cloud databases:
A cloud database is a database which is optimized or built for such a virtualized
environment. There are so many advantages of a cloud database, some of which can pay for
storage capacity and bandwidth. It also offers scalability on-demand, along with high
availability.
Data warehouses:
Data Warehouse is to facilitate a single version of truth for a company for decision making
and forecasting. A Data warehouse is an information system that contains historical and
commutative data from single or multiple sources. Data Warehouse concept simplifies the
reporting and analysis process of the organization.
NoSQL databases:
NoSQL database is used for large sets of distributed data. There are a few big data
performance problems that are effectively handled by relational databases. This type of
computers database is very efficient in analyzing large-size unstructured data.
Graph databases:
A graph-oriented database uses graph theory to store, map, and query relationships. These
kinds of computers databases are mostly used for analyzing interconnections. For example,
an organization can use a graph database to mine data about customers from social media.
OLTP databases:
OLTP another database type which able to perform fast query processing and maintaining
data integrity in multi-access environments.
Personal database:
A personal database is used to store data stored on personal computers that are smaller and
easily manageable. The data is mostly used by the same department of the company and is
accessed by a small group of people.
Multimodal database:
The multimodal database is a type of data processing platform that supports multiple data
models that define how the certain knowledge and information in a database should be
organized and arranged.
Document/JSON database:
In a document-oriented database, the data is kept in document collections, usually using the
XML, JSON, BSON formats. One record can store as much data as you want, in any data
type (or types) you prefer.
Hierarchical:
This type of DBMS employs the “parent-child” relationship of storing data. Its structure is
like a tree with nodes representing records and branches representing fields. The windows
registry used in Windows XP is a hierarchical database example.
Network DBMS:
This type of DBMS supports many-to-many relations. It usually results in complex database
structures. RDM Server is an example of database management system that implements the
network model.” (Peterson, 2023)
Database Components
Database Components
“There are five main components of a database:
Hardware:
The hardware consists of physical, electronic devices like computers, I/O devices, storage
devices, etc. This offers the interface between computers and real-world systems.
Software:
This is a set of programs used to manage and control the overall database. This includes the
database software itself, the Operating System, the network software used to share the data
among users, and the application programs for accessing data in the database.
Data:
Data is a raw and unorganized fact that is required to be processed to make it meaningful.
Data can be simple at the same time unorganized unless it is organized. Generally, data
comprises facts, observations, perceptions, numbers, characters, symbols, images, etc.
Procedure:
Procedure are a set of instructions and rules that help you to use the DBMS. It is designing
and running the database using documented methods, which allows you to guide the users
who operate and manage it.
Database Access Language:
Database Access language is used to access the data to and from the database, enter new data,
update already existing data, or retrieve required data from DBMS. The user writes some
specific commands in a database access language and submits these to the database.”
(Peterson, 2023)
Database Management System (DBMS) is a collection of programs that enable its users to
access databases, manipulate data, report, and represent data. It also helps to control access to
the database. Database Management Systems are not a new concept and, as such, had been
first implemented in the 1960s.
Charles Bachman’s Integrated Data Store (IDS) is said to be the first DBMS in history. With
time database, technologies evolved a lot, while usage and expected functionalities of
databases increased immensely.
1991 – Microsoft ships MS access, a personal DBMS and that displaces all other
personal DBMS products.
1995 – First Internet database applications.
1997 – XML applied to database processing. Many vendors begin to integrate XML
into DBMS products.
Advantages of DBMS
Disadvantage of DBMS
Summary
Definition of Database or Database meaning: A database is a systematic collection of
data. They support electronic storage and manipulation of data. Databases make data
management easy.
DBMS stands for Database Management System
We have four major types of DBMSs namely Hierarchical, Network, Relational,
Object-Oriented
The most widely used DBMS is the relational model that saves data in table formats.
It uses SQL as the standard query language” (Peterson, 2023)
File System :
The file system is basically a way of arranging the files in a storage medium like a
hard disk. The file system organizes the files and helps in the retrieval of files when
they are required. File systems consist of different files which are grouped into
directories. The directories further contain other folders and files. The file system
performs basic operations like management, file naming, giving access rules, etc.
Database Management System is basically software that manages the collection of related
data. It is used for storing data and retrieving the data effectively when it is needed. It also
provides proper security measures for protecting the data from unauthorized access. In
Database Management System the data can be fetched by SQL queries and relational
algebra. It also provides mechanisms for data recovery and data backup.
Example:
Oracle, MySQL, MS SQL server.
It has a comparatively
It is less expensive than DBMS. higher cost than a file
Cost system.
User Access Only one user can access data at a Multiple users can access
The user has to write procedures for The user not required to
Meaning managing databases write procedures.
(GeeksforGeeks, 2023)
“The main difference between a file system and a DBMS (Database Management
System) is the way they organize and manage data.
1. File systems are used to manage files and directories, and provide basic operations for
creating, deleting, renaming, and accessing files. They typically store data in a
hierarchical structure, where files are organized in directories and subdirectories. File
systems are simple and efficient, but they lack the ability to manage complex data
relationships and ensure data consistency.
2. On the other hand, DBMS is a software system designed to manage large amounts of
structured data, and provide advanced operations for storing, retrieving, and
manipulating data. DBMS provides a centralized and organized way of storing data,
which can be accessed and modified by multiple users or applications. DBMS offers
advanced features like data validation, indexing, transactions, concurrency control,
and backup and recovery mechanisms. DBMS ensures data consistency, accuracy, and
integrity by enforcing data constraints, such as primary keys, foreign keys, and data
types.
In summary, file systems are suitable for managing small amounts of unstructured data,
while DBMS is designed for managing large amounts of structured data, and offers more
advanced features for ensuring data integrity, security, and performance.” (GeeksforGeeks,
2023)
User and System requirements for designing a database
For example, Suppose we design a school database. In this database, the student will be an
entity with attributes like address, name, id, age, etc. The address can be another entity with
attributes like city, street name, pin code, etc and there will be a relationship between them.
Component of ER Diagram
“1. Entity:
An entity may be any object, class, person or place. In the ER diagram, an entity can
be represented as rectangles.
Consider an organization as an example- manager, product, employee, department
etc. can be taken as an entity.
a. Weak Entity
An entity that depends on another entity called a weak entity. The weak entity
doesn't contain any key attribute of its own. The weak entity is represented by a
double rectangle.
“2. Attribute
The attribute is used to describe the property of an entity. Eclipse is used to represent
an attribute.
For example, id, age, contact number, name, etc. can be attributes of a student.
a. Key Attribute
b. Composite Attribute
c. Multivalued Attribute
An attribute can have more than one value. These attributes are known as a
multivalued attribute. The double oval is used to represent multivalued attribute.
For example, a student can have more than one phone number.
d. Derived Attribute
An attribute that can be derived from other attribute is known as a derived attribute.
It can be represented by a dashed ellipse.
For example, A person's age changes over time and can be derived from another attribute
like Date of birth.
a. One-to-One Relationship
When only one instance of an entity is associated with the relationship, then it is
known as one to one relationship.
For example, A female can marry to one male, and a male can marry to one female.
b. One-to-many relationship
When only one instance of the entity on the left, and more than one instance of an
entity on the right associates with the relationship then this is known as a one-to-
many relationship.
For example, Scientist can invent many inventions, but the invention is done by the only
specific scientist.
c. Many-to-one relationship
When more than one instance of the entity on the left, and only one instance of an
entity on the right associates with the relationship then it is known as a many-to-one
relationship.
For example, Student enrolls for only one course, but a course can have many students.
d. Many-to-many relationship
When more than one instance of the entity on the left, and more than one instance of
an entity on the right associates with the relationship then it is known as a many-to-
many relationship.
For example, Employee can assign by many projects and project can have many
employees.
“Data Normalization
down on redundancy and make that database more efficient. Think of normalization
as a way to make sure that every field and table in your database is organized
logically, so that you can avoid data anomalies when inserting, updating, or deleting
records. This process is carried out according to specific rules that dictate how tables
should be organized.
Normalization is one part of the larger data cleaning and standardization process,
which also involves confirming that your data is accurate, complete, and doesn’t
contain duplicate records, as well as ensuring that you’ve selected the appropriate
data types for your fields. If you’re starting with denormalized tables, the
normalization process will involve creating additional, smaller tables that can be
joined to one another by a foreign key. Maybe you’ve become frustrated with having
to update the same information in multiple places across your database after a single
value changes, or are finding that you’re losing valuable data when a record gets
deleted. Normalizing your tables will help in both of these cases.
The principles we’ll cover in this lesson apply to relational database management
systems (RDBMS). If you’re using a NoSQL or document-based database like
MongoDB, the information below won’t apply. (Data Normalization, n.d.)”
Normalization is all about making your data more efficient, so that your team can find and
use the information they need. These benefits and rules may seem like common sense once
you have some familiarity with how databases work, but it pays to know the explicit
purpose of each table and field within your database. Benefits of normalized data include:
Decreasing the size of your database. If you repeat customer data in several
locations across your database, that means you’ve made space to store that
information several times. This may not be a major concern if your database only
contains a few tables, but if you’re working on a larger scale, disk space can be at a
premium. Reducing duplicate information means cutting storage costs, whether
you’re running a local server or relying on a cloud-hosted database.
Make database maintenance easier. Think of that same customer data stored
several times in your database. Each time a customer changes their address, it will
need updated in every instance of a Customer Address field, which leaves a lot of
room for error. If your data is normalized, you’ll only have one Customer Address
field, which joins to other relevant tables like Orders. (Data Normalization, n.d.)”
“Data anomalies
Data anomalies are inconsistencies in how information is stored within a database. These
flaws with how a database is structured become apparent whenever something goes wrong
when a record is updated, added, or deleted. Fortunately, adhering to the rules of
normalization can prevent these anomalies from happening in the first place.
Update anomaly
Update anomalies stem from data redundancy. For example, let’s say your database stores
customer address information in fields across several tables. A customer changing their
address may result in only one of those fields updating to include the new information,
leaving you with inconsistent data.
Insertion anomaly
An insertion anomaly occurs when a record can’t be created without certain fields
containing data — data that may not exist yet. For example, a denormalized database may
be structured so that a customer account can’t be created unless that customer has place an
order. Normalizing that database would solve this problem, through the creation of separate
Orders and Customers tables, with no rule prohibiting null values.
Deletion anomaly
Unintentional information loss is the result of a deletion anomaly. Let’s say a table in your
database includes information about university courses and the students that take those
courses. If one course was cancelled due to low enrollment, you may inadvertently lose
valuable student information by removing that course record. Like with insertion anomalies,
breaking your data out into multiple, specific tables would prevent this issue. (Data
Normalization, n.d.)”
“Rules of normalization
The rules for normalizing data were first introduced in the early 1970s. These rules are
grouped in tiers called normal forms. Each tier builds upon the last — you can only apply
the second tier of rules if your data already meets the first tier of rules, and so on. While
there are several more normal forms beyond the three listed below, these first three are
sufficient for most use cases.
The first normal form (1NF) dictates that each field within a table should only store one
value, and that your table shouldn’t contain multiple fields that store similar information,
like columns titled Address1 and Address2.
Here’s an example of a table that we’ll normalize according to first normal form. This table
includes information about college courses and who teaches them.
Professor table
Professor Professor
Course name
ID name
We notice that while our fields are distinct, one professor (Gene Watson, in the first row) is
teaching two courses, and that information is currently stored within a single cell. If we
normalize this table according to 1NF, we’ll need to break our data out into multiple tables:
Course Professor
Course name
ID ID
Since one professor can teach more than one course, we’ve broken this data out into two
tables. Now, our Professor table has a one-to-many relationship with our Course table. This
new table structure meets first normal form, and joins the two tables via a foreign key,
the Professor ID field. (Data Normalization, n.d.)”
Second normal form is about reducing redundancy and making sure that every field
describes something about what the entity key identifies. To meet 2NF, all fields in a table
that aren’t the entity key must be fully dependent on the table’s entity key (which may be a
composite key made up of two fields). Let’s look at a new example — a table that includes
information about your employees’ birthdays.
Employee Departmen
Birthday
ID t
This table meets 1NF, because each column is distinct and only holds one value within each
cell. However, this table has a composite key: Employee ID + Birthday combined make up
the table’s entity key. This table does not meet 2NF in its current state, because
the Department field only partially depends on the composite key, since an employee’s
department doesn’t depend on their birthday, only on their employee ID. To fix this, we’ll
break this information out into two tables:
Employee ID Birthday
E001 November 18
E002 March 29
E003 June 1
Employee ID Birthday
E004 February 7
Employee ID Department
E001 Accounting
E002 Sales
E003 Marketing
E004 Accounting
A table meets third normal form if (in addition to meeting 2NF) it doesn’t contain any
transitive dependency. Transitive dependency happens when Column A depends on Column
B, and Column B depends on the entity key. If you want to normalize according to 3NF,
you’ll need to remove Column A from the table, since it does not depend on the entity key
directly, and place it in a different table with its own entity key.
Orders table
Ord Custome
Order Custome
er r zip
date r ID
ID code
Ord Custome
Order Custome
er r zip
date r ID
ID code
This table isn’t in third normal form because the Customer zip code field is dependent
on Customer ID, which is not this table’s entity key (the entity key here is Order ID). Our
current structure could lead to unwanted information loss; if customer C032 returned their
order and we needed to delete this record, we’d unintentionally lose their zip code
information. If customer C004 ever moved and their zip code changed, we’d also have to
update it in two places, since they’ve placed multiple orders. To bring this table into 3NF —
you guessed it — we’re going to break it out into two tables.
C032 99702
C004 39204
C054 06505
C010 84098
Once you reach higher levels of normalization, your database may perform certain
analytical queries at a slower rate — particularly those that need to grab a lot of data. Since
normalized data demands that a database tap into several tables to perform a query, this can
take longer, especially as your database grows in complexity. The tradeoff is that your
normalized data takes up less space.(Data Normalization, n.d.)”
Reference