0% found this document useful (0 votes)
14 views52 pages

Iresha - Kur-1696400921716-288483-E185242 - Unit - 04 - Database - W.G. Sahan Hasakelum Jayakody

The document outlines the internal verification process for assessment decisions related to the BTEC HND in Computing, specifically focusing on Unit 04: Database Design & Development. It includes details on assessment criteria, feedback mechanisms, and guidelines for assignment submissions, emphasizing the importance of proper documentation and adherence to academic integrity. Additionally, it provides a comprehensive assignment brief for creating a database system for Quiet Attic Films, detailing the requirements and evaluation criteria for the project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views52 pages

Iresha - Kur-1696400921716-288483-E185242 - Unit - 04 - Database - W.G. Sahan Hasakelum Jayakody

The document outlines the internal verification process for assessment decisions related to the BTEC HND in Computing, specifically focusing on Unit 04: Database Design & Development. It includes details on assessment criteria, feedback mechanisms, and guidelines for assignment submissions, emphasizing the importance of proper documentation and adherence to academic integrity. Additionally, it provides a comprehensive assignment brief for creating a database system for Quiet Attic Films, detailing the requirements and evaluation criteria for the project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 52

Higher Nationals

Internal verification of assessment decisions – BTEC (RQF)

INTERNAL VERIFICATION – ASSESSMENT DECISIONS


Programme title BTEC HND in Computing
Ms. Iresha Jayarathne
Assessor Internal
Verifier
Unit 04: Database Design & Development
Unit(s)
Database Solution for Quiet Attic Films
Assignment title
W.G. Sahan Hasakelum Jayakody
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
required) Date

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


Confirm action completed
Remedial action
taken
Give details:

Assessor signature Date


Internal
Verifier Date
signature
Programme Leader
signature (if Date
required)

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


Higher Nationals - Summative Assignment Feedback Form
Student Name/ID W.G. Sahan Hasakelum Jayakody / E185242

Unit Title Unit 04: Database Design & Development

Assignment Number 1 Assessor


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
assessment board.

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


Assignment Feedback
Formative Feedback: Assessor to Student

Action Plan

Summative feedback

Feedback: Student to Assessor

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


Assessor Date
signature

Student Date
signature

Pearson Higher Nationals in


Computing

Unit 04: Database Design & Development


Assignment 01

General Guidelines

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


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

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


7

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


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:
(Provide E-mail ID) (Provide Submission Date)

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


Higher National Diploma in Computing
Assignment Brief
Student Name /ID Number W.G. Sahan Hasakelum Jayakody / E185242

Unit Number and Title Unit 4: Database Design & Development

Academic Year 2022/23

Unit Tutor

Assignment Title Data base system for Quiet Attic Films

Issue Date

Submission Date

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:

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


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
10

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


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

11

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


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.

12

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


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,


13

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


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
includes system security and database maintenance.

M3 Assess whether meaningful data has been extracted


through the use of query tools to produce appropriate
management information
LO3 Test the systems against user and system requirements

P4 Test the system against user and system requirements.

M4 Assess the effectiveness of the testing, including an


explanation of the choice of test data used.
D2 Evaluate the effectiveness of the database solution in

14

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


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

W.G. Sahan Hasakelum Jayakody Database Assignment No - 04


Acknowledgement

I would like to express my sincere gratitude to Ms. Iresha Jayarathne and Mr. Lasitha
Ranawaka, our esteemed lecturers at the ESOFT Metro Campus Kurunegala, for their
invaluable guidance and support throughout the process of creating my Database
Design and Development (Computing) assignment. Your commitment to teaching,
willingness to respond to our questions, and insightful explanations have played a
crucial role in improving my understanding of this challenging subject.

Additionally, I would want to express my sincere gratitude to my friends who have


contributed to the effective completion of this assignment. Your group brainstorming
sessions, shared thoughts, and collaborative efforts were really helpful in forming and
honing the content. Your consistent support and encouragement have surely improved
the caliber of this work.

In conclusion, I want to thank my outstanding professors and my encouraging friends


from the bottom of my heart. Their combined efforts are evident in this project, and I
am very grateful to have had such extraordinary people improve my academic path.

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


Table of Contents
1. Database Definition......................................................................................................4
1.1.1. Evolution of database.....................................................................................4
1.1.2. Components of database................................................................................5
1.1.3. Types of Databases........................................................................................5
1.2. Database Management System..............................................................................7
1.2.1. Advantages of the Database Management System........................................7
1.2.2. Disadvantages of the Database Management System....................................7
1.3. Concept of User and System Requirements..........................................................7
1.4. database entities.....................................................................................................9
1.4.1. Types of database entities..............................................................................9
1.4.2. difference between entities and attributes....................................................10
1.4.2.1. ER Diagrams (Entity Relationship Diagrams).............................................11
1.4.2.2. Uses of entity relationship diagrams........................................................11
1.4.3. Attributes of DBMS.........................................................................................12
1.4.3.1. Types of Attributes...................................................................................13
1.4.4. Database Cardinality Definition...................................................................15
1.5. ER Diagram for Quiet Attic Films......................................................................17
1.6. Logical Database Design.....................................................................................18
1.7. Normalization in SQL.........................................................................................19
1.7.1. First Normal Form (1NF):............................................................................19
1.7.2. Second Normal Form (2NF):.......................................................................19
1.7.3. Third Normal Form (3NF):..........................................................................20
1.7.4. Boyce-Codd Normal Form (BCNF):...........................................................20
1.7.5. Fifth Normal Form (5NF):...........................................................................21
2.1. Create the Database Using MS SQL Server Management Studio..........................21
2.1.1. Creating Tables............................................................................................21
2.1.1.1. Location Table..........................................................................................22
2.1.1.2. Property Table..........................................................................................22
2.1.1.3. Production Table......................................................................................23
2.1.1.4. Staff Table................................................................................................23
2.1.1.5. Client Table..............................................................................................24
2.1.1.6. Staff Fee Table.........................................................................................24
2.1.2. Insert Data into Tables.................................................................................25

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


2.1.3. Selecting the Data in the Tables...................................................................27
2.1.4.2. Property Table..........................................................................................28
2.1.4.3. Production Table......................................................................................28
2.1.4.4. Staff Fee Table.........................................................................................29
2.1.4.5. Client Table..............................................................................................29
3. Creating User Interfaces......................................................................................30
3.1.1. Login Interface.................................................................................................30
3.1.2. Main menu Interface....................................................................................30
3.1.3. Production Interface.....................................................................................31
3.1.4. Clients Interface...........................................................................................31
3.1.5. Location Interface........................................................................................32
3.1.6. Property Interface.........................................................................................32
3.1.7. Staff Interface...............................................................................................33
4. System login and User Manual..................................................................................33

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


Table of Figures
Figure 1 - ER Diagram.......................................................................................................18
Figure 2 - Location Table (author Developed)...................................................................18
Figure 3 - Property Table (author Developed)...................................................................19
Figure 4 - Production Table (author Developed)...............................................................19
Figure 5 - Staff Table (author Developed).........................................................................19
Figure 6 - Client Table (author Developed).......................................................................19
Figure 7 - Location Table Query........................................................................................23
Figure 8 - Property Table Query........................................................................................23
Figure 9 - Production Table Query.....................................................................................24
Figure 10 - Staff Table Query............................................................................................24
Figure 11 - Client Table Query..........................................................................................25
Figure 12 - Staff Fee Table Query......................................................................................25
Figure 13 - Insert Query for Location Table......................................................................26
Figure 14 - Insert Query for Property Table.......................................................................26
Figure 15 - Insert Query for Staff fee Table.......................................................................27
Figure 16 - Insert Query For Production Table..................................................................27
Figure 17 - Insert Query For Client Table..........................................................................28
Figure 18 - Select Query for Location Table.....................................................................28
Figure 19 - Select Query for Property Table......................................................................29
Figure 20 - Select Query for Production Table..................................................................29
Figure 21 - Select Query for Staff Fee Table.....................................................................30
Figure 22 - Select Query for Client Table..........................................................................30
Figure 23 - Quiet Attic Login Interface..............................................................................31
Figure 24 - Quiet Attic Main Menu Interface....................................................................31
Figure 25 - Quiet Attic Production Interface......................................................................32
Figure 26 - Quiet Attic Clients Interface............................................................................32
Figure 27 - Quiet Attic Location Interface.........................................................................33
Figure 28 - quiet Attic Property Interface..........................................................................33
Figure 29 - quiet Attic Staff Interface................................................................................34

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


1. Database Definition.

A database is a systematic or organized collection of related information that is stored in


such a way that it can be easily accessed, retrieved, managed, and updated. It is where
all data is stored, very much like a library that houses a wide range of books from
different genres. Think of data as books. (Intellipaat, 2023)

In a database, you can organize the data in rows and columns in the form of a table.
Indexing the data makes it easy to find and retrieve it again as and when required. Many
websites on the World Wide Web are managed with the help of databases. To create a
database so that the data is accessible to users through only one set of software
programs, database handlers are used. (Intellipaat, 2023)

MySQL, SQL Server, MongoDB, Oracle Database, PostgreSQL, Informix, Sybase, and
others are all different types of databases commonly used today. These modern
databases are managed by a Database Management System (DBMS). To interact with
and manipulate the data stored in these databases, a widely used language called
Structured Query Language (SQL) is utilized. (Intellipaat, 2023)

1.1.1. Evolution of database

The database started with a file-based system about 50 years ago. In due time, it has
gone through generations of evolution.

a. Databases were first introduced in 1968 as flat-file-based databases.


b. Then the Hierarchical Database came into existence and lasted until 1980. IBM’s first
database, IMS (Information Management System) was based on this.
c. Charles Bachman developed the first Network data model, called Integrated Data
Store (IDS). It was introduced in the early 1960s and standardized in 1971.
d. In 1970, the Relational Database was introduced.

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


e. Today, it is the era of Relational Databases and Database Management. (Intellipaat,
2023)

1.1.2. Components of database

Hardware:
Physical electronic devices such as storage devices, I/O devices, and many more. It can
act as an interface between computers and real-world systems. (Intellipaat, 2023)

Software:
Programs for managing and controlling the overall database. DBMS itself is software.
The OS, the database application programs that allow data access in DBMS, the network
software that shares data, etc. are all examples. (Intellipaat, 2023)

Data:
It is the information that is gathered, stored, accessed, and processed by a DBMS, e.g.,
actual data, operational data, and metadata. (Intellipaat, 2023)

Procedure:
It is the specific set of instructions and rules to use a database for designing and running
the DBMS, as well as to instruct users on how to operate and manage it. (Intellipaat,
2023)

Database access language:


This helps export data to and access the same from the database. To enter new data or
update or retrieve the data from the database, you can write commands in the database
access language. DBMS then displays the results in a user-readable form. (Intellipaat,
2023)

1.1.3. Types of Databases

Relational database:

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


It is the most efficient way to access structured information. The data is organized into a
set of tables that has columns and rows. (Intellipaat, 2023)

Object-oriented database:
Here, the data is represented in the form of objects, as in object-oriented programming.
(Intellipaat, 2023)

Distributed database:
It has two or more files located in different places. The database may be in the same
physical location on multiple computers or scattered over different networks.
(Intellipaat, 2023)

NoSQL database:
NoSQL is a nonrelational database that contains unstructured and semistructured data. It
rose in popularity as web applications came to be commonly used and became more
complex. (Intellipaat, 2023)

Graph database:
It stores data in the form of entities and the relationships between them. (Intellipaat,
2023)

Cloud database:
This database runs on a Cloud Computing platform, and access is provided ‘as a
service.’ (Intellipaat, 2023)

Centralization database:
CDB is located, stored, and maintained in a single centralized location, for example, a
mainframe computer, desktop, or server CPU. (Intellipaat, 2023)

Operational database:
Also known as OLTP or online transactional processing database, it is designed to create
or update big amounts of data and store transactions performed by multiple users in real-
time. (Intellipaat, 2023)
7

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


Data warehouses:
It is a central repository for data. It holds current and historical data in a single location
for analytical reporting throughout the enterprise. (Intellipaat, 2023)

1.2. Database Management System

Database Management System or DBMS is a type of software that helps manage a


database. It is used to find and store information within a database. It can be modified
according to the user’s needs. It adds a layer of security to the database. (Intellipaat,
2023)

1.2.1. Advantages of the Database Management System

a. The data is stored in a neater way and hence, more data can be stored.
b. A DBMS is a highly secure platform so confidential and high-risk data can also be
stored and accessed, securely.
c. DBMS makes handling of data very simple.
d. Data inconsistency is greatly reduced by a well-designed DBMS.
e. Data can be accessed quickly. (Intellipaat, 2023)

1.2.2. Disadvantages of the Database Management System

a. Maintaining the software and hardware required for a DBMS is usually expensive.
b. The more data is fed into the DBMS, the more disk space it occupies.
c. Using DBMS could seem very difficult for someone from a non-technical
background.
d. Since all the data is stored in one DBMS, if the software fails, all the data of the
organization could be lost. (Intellipaat, 2023)

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


1.3. Concept of User and System Requirements

The requirements for a system are the descriptions of the services that a system should
provide and the constraints on its operation. These requirements reflect the needs of
customers for a system that serves a certain purpose such as controlling a device, placing
an order, or finding information. The process of finding out, analyzing, documenting and
checking these services and constraints is called requirements engineering (RE).
(Collegenote, n.d.)

Some of the problems that arise during the requirements engineering process are a result
of failing to make a clear separation between these different levels of description. we
distinguish between them by using the term user requirements to mean the high-level
abstract requirements and system requirements to mean the detailed description of what
the system should do. User requirements and system requirements may be defined as
follows: (Collegenote, n.d.)

1. User requirements are statements, in a natural language plus diagrams, of what


services the system is expected to provide to system users and the constraints under
which it must operate. The user requirements may vary from broad statements of the
system features required to detailed, precise descriptions of the system functionality.
(Collegenote, n.d.)

2. System requirements are more detailed descriptions of the software system’s


functions, services, and operational constraints. The system requirements document
(sometimes called a functional specification) should define exactly what is to be
implemented. It may be part of the contract between the system buyer and the
software developers. (Collegenote, n.d.)

Software system requirements are often classified as functional or non-functional


requirements:

1. Functional requirements These include expectations for the system's


functionality, its responses to different inputs, and how it ought to respond in certain
9

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


circumstances. The functional requirements may, in some situations, also explicitly
indicate what the system should not accomplish.

2. Non-functional requirements These are limitations on the products or services


the system has to offer. They include limitations imposed by standards, deadline
restrictions, and limitations on the development process. Non-functional requirements
frequently concern the entire system rather than specific system features or services.

Contrary to what these straightforward definitions imply, the distinction between


various sorts of needs is not always clear-cut. It could seem like a non-functional need
when a user requirement is concerned with security, like a statement restricting access to
authorized users. The need to incorporate user authentication capabilities into the
system, for example, may arise from this requirement when it is built in further depth.

1.4. database entities

Database entities can be persons, places, events, objects, or concepts, such as a


university course, job, or online order. A database can record and describe each of these,
so they’re all potential database entities. (Nalimov, 2020)

The most important element in the database entity is that it can be uniquely identified.
Read on to find out how entities and attributes combine to make this possible. (Nalimov,
2020)

1.4.1. Types of database entities

Database entities can further be divided into tangible and intangible entities. If the entity
physically exists in the real world, then it is tangible. A person is tangible, as is a city. If
it exists logically in the real world, then it is intangible. A job is not a physical thing that
you can touch, so it is intangible. The same goes for your car – tangible – and your car
insurance – intangible. One may be tangible, and the other intangible, but they both exist

10

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


for you and they can both be recorded in a database as database entities. (Nalimov,
2020)

Tangible entity
Intangible entity

Entities are stored in tables in databases. Each table will contain an entity set or a list of
all those entities which are considered similar. For instance, in a university database, the
students might be in one table, the staff in another. If your database contains entities that
share attributes, you can group them into an entity set and store them in a single table.
(Nalimov, 2020)

One of the criteria for determining whether something is an entity is that it can be
differentiated from other entities, so the table will only contain unique entities. These
are recorded in rows. One row per entity. (Nalimov, 2020)

If you want to be able to work with your database, you need to be able to distinguish
each entity from all other entities. They need to have information describing how they
exist in the real world. The way to differentiate entities in the table from each other is
through attributes. (Nalimov, 2020)

1.4.2. difference between entities and attributes

Each entity has its own row, but all entities in a particular table will share the same
possible attributes. These attributes are the columns of the table. The attributes describe
the entity. A table of employees might contain attributes such as name, address, phone
number, and job title. (Nalimov, 2020)

To preserve uniqueness, each entity should also have a key attribute. In our employee
table, employee ID number might be the key attribute. No two employees should have
the same employee ID number, even if otherwise they’re unusual enough to share every
other attribute! (Nalimov, 2020)

11

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


The primary key is not the only type of key. You should also watch out for terms like
primary, super, secondary, composite, foreign, candidate, and alternate keys. Each of
these does a different job. For now, it might be useful to know that candidate keys are
unique attributes in the table and that the primary key is selected from one of these
candidate keys to be the identifier for the entity set. For example, an employee ID
number might be one candidate key, social security number might be another. The
database designer could choose either, but in most cases, it would be safer to go with
employee ID number, despite the uniqueness of social security numbers. (Nalimov,
2020)

1.4.2.1. ER Diagrams (Entity Relationship Diagrams)

An Entity Relationship (ER) Diagram is a form of flowchart that shows the relationships
between "entities" like people, things, or concepts within a system. ER Diagrams are
most frequently used in the disciplines of software engineering, business information
systems, education, and research to build or troubleshoot relational databases. They are
also known as ERDs or ER Models, and they use a predetermined collection of symbols
to represent the interconnectedness of entities, relationships, and their qualities. These
symbols include rectangles, diamonds, ovals, and connecting lines. They have verbs for
relationships and nouns for entities, mirroring the grammatical framework.

Data structure diagrams (DSDs), which emphasize interactions between elements within
entities rather than relationships between things themselves, are linked to ER diagrams.
ER diagrams are frequently combined with data flow diagrams (DFDs), which depict
the information flow for systems or processes.

1.4.2.2. Uses of entity relationship diagrams

Database design: Relational databases are modeled and designed using ER diagrams,
both in terms of the exact technology to be used (in a physical data model) and in terms
of the logic and business rules to be followed (in a logical data model). An ER diagram
12

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


is frequently the first stage in software engineering when identifying the requirements
for an information systems project. Later, it is employed to simulate a specific database
or databases. A relational database can theoretically be expressed that way as needed
and has an equal relational table.

Database troubleshooting: Using ER diagrams, existing databases are analyzed to


identify and fix logic or deployment issues. The diagram should show you where the
problem is.

Business information systems: Relational databases used in business processes can be


designed or analyzed using the diagrams. A relational database may be useful for any
business process that employs fielded data and involves entities, actions, and interaction.
Processes can be streamlined, information can be found more readily, and outcomes can
be improved.

Business process re-engineering (BPR): ER diagrams are useful for both assessing
databases used in new database modeling and business process re-engineering.

Education: Today, relational data are stored in databases for later retrieval and
instructional purposes, therefore ER Diagrams might be helpful in designing those data
structures.

Research: Since structured data is the focus of so much study, ER diagrams can be
crucial in creating useful databases to evaluate the data.

1.4.3. Attributes of DBMS


In a database management system (DBMS), an attribute is a piece of data that describes
an entity. For example, in a customer database, the attributes might be name, address,
and phone number. In a product database, the attributes might be name, price, and date
of manufacture. Each attribute has a specific data type, such as string, integer, or date.
(Sugandhi, 2023)

13

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


Attributes can be used to describe both simple and complex entities. A product, for
example, might be described by a single attribute such as name or price. However, it can
also be described by multiple attributes such as name, price, and date of manufacture. In
addition, some attributes might be used to describe other attributes. For example, an
attribute called "color" might describe a product's color. (Sugandhi, 2023)

1.4.3.1. Types of Attributes

1. Simple Attributes
Simple attributes are those that cannot be further divided into sub-attributes. (Sugandhi,
2023)

For example, A student's roll number of a student or the employee identification


number. These attributes are usually assigned by an organization and are used to
identify an individual within that organization uniquely. Databases and other systems
often use simple attributes to track and manage information. (Sugandhi, 2023)

2. Composite Attributes
Composite attributes are made up of two or more simple attributes. For example, a
person's address may be a composite attribute that is made up of the person's street
address, city, state, and zip code. Composite attributes can be used to create more
complex data models and can be helpful when trying to represent data in a concise way.
(Sugandhi, 2023)

3. Single Valued Attributes


Single-valued attributes can only have one value. For example, a person's Social
Security Number is a single-valued attribute. Social Security Numbers are used to
uniquely identify individuals in the United States and are, therefore, single-valued
attributes. (Sugandhi, 2023)

14

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


Examples of single-valued attributes include employee numbers, customer numbers, and
product codes. Single-valued attributes are typically used to provide a unique identifier
for an entity and are often used in databases. (Sugandhi, 2023)

4. Multivalued Attributes
Multivalued attributes can have more than one value. For example, a person may have
multiple email addresses or phone numbers. Multivalued attributes in DBMS are often
used to store information about relationships between entities. For instance, an
employee entity might have a multivalued attribute called "dependents" that stores the
names of the employee's dependents. Multivalued attributes can also be used to
represent hierarchical data. (Sugandhi, 2023)

5. Derived Attributes
Derived attributes are based on other attributes and are not stored directly in the
database. (Sugandhi, 2023)

For example: Consider a database of employees. Each employee has a date of birth, and
we might want to calculate their age. However, age is a derived attribute because it can
be determined from the date of birth. As such, it would not make sense to store it
directly in the database. (Sugandhi, 2023)

6. Complex Attributes
The complex attribute in DBMS involves both multivalued and composite attributes. For
example, someone might have more than one house, and each house might have more
than one phone. The phone is then considered a complex attribute. (Sugandhi, 2023)

In the example above, the phone number is a composite attribute of the area code,
exchange, and line number. Complex attributes are often used in database design to
represent relationships between entities. (Sugandhi, 2023)

7. Key Attributes

15

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


DBMS's key attributes are used to uniquely identify each row in a table. Usually, there
is more than one key attribute in a table (primary key and foreign key). (Sugandhi,
2023)

For example: In a table of employees, the employee ID would be the primary key, while
the manager ID would be the foreign key. (Sugandhi, 2023)

8. Stored Attributes
In a DBMS, stored attributes are the data that remain constant and fixed for an entity
instance. These values help in deriving the derived attributes. (Sugandhi, 2023)

For example: consider a customer entity in a bank. The customer's name, age, and
address would be stored attributes. The customer's account balance (a derived attribute)
could be calculated based on the transactions (another stored attribute) associated with
the customer (Sugandhi, 2023)

1.4.4. Database Cardinality Definition

Database cardinality can be defined as the set of elements arranged in tables and rows. It
also refers to the counting done to recognize the elements in a set, identify relationships
among different tables, and identify the number of values in the tables. These
relationships can be one-to-one, many-to-many, and one-to-many. (SolarWinds, n.d.)

The One-to-One Relationship: A one-to-one relationship refers to how one row in an


entity can be linked to only one row of another entity and vice versa. A one-to-one
relationship in an ER diagram is represented with a single line connecting the two
entities. One of the most important aspects of this type of relationship is it isn’t the
property of the data but solely a relationship. For instance, many schools use database
cardinality to showcase a one-to-one relationship between each student and their student
ID. As schools assign a single ID to each student, faculty members can use this model
for various purposes. (SolarWinds, n.d.)

16

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


The Many-to-Many Relationship: A many-to-many relationship refers to a situation
where multiple occurrences in one table can relate to several occurrences in another
table. This type of database cardinality works well when several rows in a specific table
relate to the rows of another table. For instance, book retailers can utilize this type of
database cardinality to manage online databases with a list of book titles and author
names in different tables—different authors may have multiple books. With the help of
this model, the book retailer can quickly assess the details. (SolarWinds, n.d.)

The One-to-Many Relationship: This type of database cardinality refers to the


situation where a single entity or an element in a row relates to multiple occurrences in
another row of a table. For instance, a food delivery service may manage all the
customer IDs and unique order IDs on another table. To eliminate confusion, each order
ID must correlate with the customer ID once the order is placed. This type of
relationship works well when a single customer places multiple orders, as it helps
connect orders to customers. (SolarWinds, n.d.)

1.4.4.1. Difference Between High and Low Cardinality

High cardinality represents a significant level of diversity with less repetition of entities.
It can be defined as tables with a large number of unique values. For instance, a data set
with unique customer IDs can be categorized under high cardinality. On the other hand,
low cardinality refers to data sets with large quantities of similar values, repetition, and
less variety. The best example is a retail shop where each data set lists the category of
each product. (SolarWinds, n.d.)

1.4.4.2. cardinality in monitoring

Database monitoring tools help monitor multiple database management system (DBMS)
platforms by utilizing features such as anomaly detection powered by machine learning,
support for cloud and on-premises databases, expert advice with index and query tuning
advisors, and more. Database monitoring tools help identify bottlenecks, help pinpoint
the root causes of issues, and help users prioritize actions. Moreover, these tools

17

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


proactively optimize poorly performing applications by highlighting issues. Some
database analyzing tools also offer multi-dimensional database performance analysis.
This provides a centralized view of all variables affecting performance, from poorly
written SQL to inefficient indexes. Additionally, you can get instant alerts and
notifications when an issue is triggered. (SolarWinds, n.d.)

Database monitoring tools offer several benefits:

a. They can reduce the need for emergency troubleshooting


b. They can free up time to work on high-value projects
c. They can identify growth and improvement opportunities
d. They can provide early alerts for availability and resource consumption changes
e. They can create a throughput baseline (SolarWinds, n.d.)

18

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


1.5. ER Diagram for Quiet Attic Films

Figure 1 - ER Diagram

1.6. Logical Database Design


Creating a table based logical database for the above ER Diagram Design.

Figure 2 - Location Table (author Developed)

19

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


Figure 3 - Property Table (author Developed)

Figure 4 - Production Table (author Developed)

Figure 5 - Staff Table (author Developed)

Figure 6 - Client Table (author Developed)

1.7. Normalization in SQL

Normalization is the process to eliminate data redundancy and enhance data integrity in
the table. Normalization also helps to organize the data in the database. It is a multi-step
process that sets the data into tabular form and removes the duplicated data from the
relational tables. (S, 2023)

20

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


Normalization organizes the columns and tables of a database to ensure that database
integrity constraints properly execute their dependencies. It is a systematic technique of
decomposing tables to eliminate data redundancy (repetition) and undesirable
characteristics like Insertion, Update, and Deletion anomalies. (S, 2023)

1.7.1. First Normal Form (1NF):

a. In 1NF, a table must meet the following conditions:


b. It must have a primary key that uniquely identifies each row.
c. All attributes (columns) must contain atomic (indivisible) values. This means no
multi-valued or composite attributes are allowed.
d. There should be no repeating groups or arrays within a table.

Example:
Suppose you have a table for storing customer orders, and each row represents a single
order. In 1NF, you would ensure that each attribute contains atomic values, such as
having separate columns for customer name, address, and phone number instead of
combining them into one field.

1.7.2. Second Normal Form (2NF):

a. To achieve 2NF, a table must first satisfy 1NF.


b. In addition to 1NF, all non-key attributes must be functionally dependent on the
entire primary key.
c. If a table has a composite primary key (multiple columns), each non-key
attribute must depend on the entire composite key, not just part of it.

Example:
Building upon the customer order table example, if the primary key of the table consists
of order ID and product ID, then any attribute in the table should be dependent on both
the order ID and the product ID to be in 2NF.

21

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


1.7.3. Third Normal Form (3NF):

a. A table in 3NF must satisfy both 1NF and 2NF.


b. In addition to the previous requirements, there should be no transitive
dependencies. Transitive dependencies occur when a non-key attribute depends
on another non-key attribute.

Example:
In the customer order table, if there's an attribute like "salesperson's phone number," and
the salesperson's phone number depends on the salesperson's name, which in turn
depends on the customer's ID, you should remove this transitive dependency to achieve
3NF. This might involve creating a separate salesperson table.

1.7.4. Boyce-Codd Normal Form (BCNF):

a. BCNF is an advanced level of normalization beyond 3NF.


b. A table is in BCNF if, for every non-trivial functional dependency, the left-hand
side (determinant) is a superkey.
c. This means that every non-key attribute must depend on a superkey of the table.

Example:
If you have a table of employees with attributes like employee ID, department ID, and
department name, and the department name depends only on the department ID, then it's
in BCNF.

1.7.5. Fifth Normal Form (5NF):

a. 5NF, or Project-Join Normal Form (PJ/NF), deals with situations where a table
has multiple overlapping composite keys.

22

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


b. It aims to ensure that each attribute is fully dependent on all possible keys.

Example:
5NF is relatively rare in practical database design and often involves complex scenarios
where tables have multiple, interrelated composite keys.

1.8. Create the Database Using MS SQL Server Management Studio

1.8.1. Creating Tables

The software should now create the logical database that was built above so that it may
be used for application. Let's examine the format of the queries used to make tables.

1.8.1.1. Location Table

Figure 7 - Location Table Query

23

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


1.8.1.2. Property Table

Figure 8 - Property Table Query

24

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


1.8.1.3. Production Table

Figure 9 - Production Table Query

1.8.1.4. Staff Table

Figure 10 - Staff Table Query

25

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


1.8.1.5. Client Table

Figure 11 - Client Table Query

1.1.1.1. Staff Fee Table

Figure 12 - Staff Fee Table Query

1.1.2. Insert Data into Tables

26

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


1.1.2.1. Location Table

Figure 13 - Insert Query for Location Table

1.1.2.2. Property Table

Figure 14 - Insert Query for Property Table

27

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


1.1.2.3. Staff Fee Table

Figure 15 - Insert Query for Staff fee Table

1.1.2.4. Production Table

Figure 16 - Insert Query For Production Table

28

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


1.1.2.5. Client Table

Figure 17 - Insert Query For Client Table

1.1.3. Selecting the Data in the Tables

1.1.3.1. Location Table

Figure 18 - Select Query for Location Table


29

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


1.8.1.6. Property Table

Figure 19 - Select Query for Property Table

1.8.1.7. Production Table

Figure 20 - Select Query for Production Table

30

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


1.8.1.8. Staff Fee Table

Figure 21 - Select Query for Staff Fee Table

1.8.1.9. Client Table

Figure 22 - Select Query for Client Table

31

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


2. Creating User Interfaces
To create the User Interfaces for this application, Microsoft Visual Studio is the best IDE.
Let's see the interfaces created using it.

2.1.1. Login Interface

Figure 23 - Quiet Attic Login Interface

2.1.2. Main menu Interface

Figure 24 - Quiet Attic Main Menu Interface

32

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


2.1.3. Production Interface

Figure 25 - Quiet Attic Production Interface

2.1.4. Clients Interface

Figure 26 - Quiet Attic Clients Interface

33

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


2.1.5. Location Interface

Figure 27 - Quiet Attic Location Interface

2.1.6. Property Interface

Figure 28 - quiet Attic Property Interface

34

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


2.1.7. Staff Interface

Figure 29 - quiet Attic Staff Interface

3. System login and User Manual

The application is created to help convert the "Quiet Attic Film" Company's handheld
database into a digital database. The user of the application will be able to easily access
the database from the application and use it without any effort of coding and other
knowledge. User of the application can perform data insertion, update, delete and
management of the database.

a. If you want to log this system firstly you have to login this system enter
username and password. Therefore, you have to insert username and password.
b. After the user logged in to the System the Main menu will appear.
c. After clicking the Production button Production interface will appear.
d. After clicking the client button client interface will appear.
35

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


e. After clicking the Location button Location interface will appear.
f. After clicking the Property button Property interface will appear.
g. After clicking the Staff button Staff interface will appear.
h. After clicking the Production_Staff_Table button Production_Staff_Table
interface will appear.
i. After clicking the Production_Location_Property button
Production_Location_Property interface will appear.

production_id: This identifies each production record specifically. It acts as the table's
main key, making sure that each production entry has a unique and recognizable
reference.

location_id: This element serves as an identification number for various sites where
manufacturing operations are carried out. As a foreign key, it links the production record
to a particular place in the database, identifying the location of the production.

The identifier for different resources or properties that are important to the production
process is property_id. It may stand in for machinery, raw materials, or any other
production-related components. Similar to location_id, this field serves as a foreign key
that links the production record to a particular resource or property.

36

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01


References
Collegenote, n.d. Concept of User and System Requirements. [Online]
Available at: https://www.collegenote.net/curriculum/software-engineering-csit/54/309/
[Accessed 24 09 2023].
Intellipaat, 2023. Intellipaat Blog. [Online]
Available at: https://intellipaat.com/blog/what-is-database/
[Accessed 23 09 2023].
Nalimov, C., 2020. Gleek. [Online]
Available at: https://www.gleek.io/blog/database-entity
[Accessed 24 09 2023].
SolarWinds, n.d. SolarWinds. [Online]
Available at: https://www.solarwinds.com/resources/it-glossary/database-cardinality
[Accessed 24 09 2023].
S, R. A., 2023. Simplilearn.com. [Online]
Available at: https://www.simplilearn.com/tutorials/sql-tutorial/what-is-normalization-
in-sql
[Accessed 24 09 2023].
Sugandhi, A., 2023. KnowledgeHut. [Online]
Available at: https://www.knowledgehut.com/blog/database/attributes-in-dbms
[Accessed 24 09 2023].

37

W.G. Sahan Hasakelum Jayakody Database Assignment No - 01

You might also like