0% found this document useful (0 votes)
29 views

Advanced Database

The document discusses database management systems and provides details about different database models, normalization, entity relationship diagrams, data flow diagrams, and developing a database application. It compares database models, covers normalization forms up to third normal form, and shows entity relationship and data flow diagrams for a sample database application. Sample code for forms and queries in the application are also provided.

Uploaded by

Milan Bhantana
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Advanced Database

The document discusses database management systems and provides details about different database models, normalization, entity relationship diagrams, data flow diagrams, and developing a database application. It compares database models, covers normalization forms up to third normal form, and shows entity relationship and data flow diagrams for a sample database application. Sample code for forms and queries in the application are also provided.

Uploaded by

Milan Bhantana
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 84

Contents

Part 1: Produce a presentation slides which analyse different types of database management
system....................................................................................................................................................5
 Compare and contrast the different types of database models.....................................................5
 Assess how relational database models and the process of normalization can provide reliable
and efficient data structures.................................................................................................................5
 Critically evaluate different database management systems available in relation to open source
and vendor-specific platforms, justifying the criteria used in the evaluation......................................5
Presentation slide:.............................................................................................................................5
Introduction:...................................................................................................................................14
Compare and contrast the different types of database models......................................................14
DATA MODELS.............................................................................................................................14
Types of Database Model................................................................................................................15
1. Hierarchical databases model..............................................................................................15
2. Network databases model....................................................................................................15
3. Relational databases model.................................................................................................15
4. Object-oriented databases model........................................................................................15
5. ER-database model..............................................................................................................15
Entity-Relationship Model..............................................................................................................22
Comparison between different types of database model:...............................................................23
Flat-file databases: simple data structures for organizing small amounts of local data............24
Hierarchical databases: using parent-child relationships to map data into trees......................25
Network databases: mapping more flexible connections with non-hierarchical links...............26
Relational databases: working with tables as a standard solution to organize well-structured
data..............................................................................................................................................27
Conclusion:......................................................................................................................................29
Part 2: Design a database management system using a relational model to meet client requirements
and develop a database management system using a suitable platform............................................30
• Produce a design for a relational database management system to meet client requirements. .30
• Analyze how the design will optimize system performance........................................................30
• Develop a fully functional system which meets client and system requirements, using an open
source language (with an application software e.g. MySQL with front end Microsoft Access)........30
• Test the system for functionality and performance....................................................................30
• Implement effective features in the solution to handle concurrency, security, user
authorizations and data recovery.......................................................................................................30
• Critically evaluate the effectiveness of the system design and development against client and
system requirements...........................................................................................................................30
Introduction:...................................................................................................................................30
Produce a design for a relational database management system to meet client requirements......30
Er diagram:.....................................................................................................................................30
Components of a ER Diagram....................................................................................................31
Er diagram for scenario:.............................................................................................................32
Normalization:................................................................................................................................32
Types of normalization:..................................................................................................................33
First Normal Form (1st NF)........................................................................................................33
Second Normal Form (2nd NF)...................................................................................................34
Third Normal Form (3rd NF).....................................................................................................35
Normalization for scenario:........................................................................................................37
 0NF form..............................................................................................................................37
 1 NF form.............................................................................................................................38
 2 NF form.............................................................................................................................40
DFD:................................................................................................................................................43
Data Flow Diagrams Symbols.....................................................................................................44
DFD for scenario up-to level 2:.......................................................................................................46
 DFD Level 0.........................................................................................................................46
 DFD level 1...........................................................................................................................46
 DFD level 2...........................................................................................................................47
Develop a fully functional system which meets client and system requirements, using an open
source language (with an application software e.g. MySQL with front end Microsoft Access).....48
The Assignment Management System trying to meet the requirement of the client:-...................48
Login Form:.................................................................................................................................48
Dashboard:..................................................................................................................................48
Student Management Form:.......................................................................................................49
Teacher Management Form:.......................................................................................................50
Subject Management Form.........................................................................................................51
Assignment Management Form..................................................................................................52
Feedback Management Form.....................................................................................................52
Queries.........................................................................................................................................52
Student Queries...........................................................................................................................53
Teacher Queries..........................................................................................................................53
Assignment Queries.....................................................................................................................53
Feedback Queries........................................................................................................................54
Test the system for functionality and performance........................................................................54
Black Box Testing............................................................................................................................54
Types Of Black Box Testing........................................................................................................55
Black Box Testing Tools..............................................................................................................56
Black Box Testing Techniques....................................................................................................57
How to do black box testing Step-wise?......................................................................................57
Advantages and Disadvantages of black box testing..................................................................57
Black box testing for scenario:........................................................................................................58
Conclusion:......................................................................................................................................60
Part 3:..................................................................................................................................................61
 Create a lab report: Demonstrate the system administration and management tools available
on the chosen platform........................................................................................................................61
 Demonstrate the tools available in the system to monitor and optimize system performance,
and examine the audit logs..................................................................................................................61
 Demonstrate the tools available in the system to manage security and authorizations..............61
 Assess the effectiveness of the system administration and management tools available on the
platform identifying any shortcomings of the tools............................................................................61
 Assess any future improvements that may be required to ensure the continued effectiveness of
the database system.............................................................................................................................61
Table of content:.............................................................................................................................62
Introduction of report:....................................................................................................................63
Demonstrate the tools available in the system to monitor and optimize system Performance, and
examine the audit logs.....................................................................................................................63
Trigger:...........................................................................................................................................63
Example:......................................................................................................................................63
How Triggers Are Used...............................................................................................................65
Types of trigger:..............................................................................................................................66
1. Row Triggers:......................................................................................................................66
2. Statement Triggers:.............................................................................................................66
3. BEFORE Triggers:..............................................................................................................67
4. AFTER Triggers:.................................................................................................................67
Trigger or audit log for scenario:...................................................................................................68
Demonstrate the tools available in the system to manage security and authorizations.................68
Single sign on:.................................................................................................................................68
Multi factor authentication:............................................................................................................69
Screenshot for multi factor authentication:................................................................................70
Data Storage on site or in cloud......................................................................................................70
How Cloud Databases Work.......................................................................................................70
Role based Access:...........................................................................................................................71
Feature of role base access..........................................................................................................72
RBA privileged operations:.........................................................................................................72
Screenshot for Role based Access:..............................................................................................73
Conclusion:......................................................................................................................................73
References:......................................................................................................................................74
Part 1: Produce a presentation slides which analyse different types of database
management system.

 Compare and contrast the different types of database models.

 Assess how relational database models and the process of normalization can provide
reliable and efficient data structures.

 Critically evaluate different database management systems available in relation to


open source and vendor-specific platforms, justifying the criteria used in the
evaluation.
Presentation slide:
Introduction: In this section, I will give complete description on different types of database
models and compare them. I will show how relational database models and the process of
normalization can provide reliable and efficient data structures. I will then evaluate the different
database management systems available in relation to open source and vendor-specific platforms.
Data model can be defined as an integrated collection of concepts for describing and
manipulating data, relationships between data, and constraints on the data in an organization.
Compare and contrast the different types of database models.
DATA MODELS

Data models define how the logical structure of a database is modeled. Data Models are
fundamental entities to introduce abstraction in a DBMS. Data models define how data is
connected to each other and how they are processed and stored inside the system.

The very first data model could be flat data-models, where all the data used are to be kept in the
same plane. Earlier data models were not so scientific, hence they were prone to introduce lots
of duplication and update anomalies. (LEARNTEK, 2020)
Types of Database Model: It determines the logical structure of a database and fundamentally
determines in which manner data can be stored, organized and manipulated.

There are four common types of database model that are useful for different types of data or
information. Depending upon your specific needs, one of these models can be used.

1. Hierarchical databases model


2. Network databases model
3. Relational databases model
4. Object-oriented databases model
5. ER-database model

1. Hierarchical databases

It is one of the oldest database model developed by IBM for information Management System. In
a hierarchical database model, the data is organized into a tree-like structure. In simple language
we can say that it is a set of organized data in tree structure. This type of Database model is
rarely used nowadays. Its structure is like a tree with nodes representing records and branches
representing fields. The windows registry used in Windows XP is an example of a hierarchical
database. Configuration settings are stored as tree structures with nodes.

The following figure shows the generalized the structure of Hierarchical database model in
which data is stored in the form of tree like structure (data represented or stored in root node,
parent node and child node). (LEARNTEK, 2020)
The following figure shows the example of hierarchical database model for the university
management system. This type of database employs the “parent-child” relationship of storing
data.
Advantages

• The model allows us easy addition and deletion of new information.


Data at the top of the Hierarchy is very fast to access.
• It worked well with linear data storage mediums such as tapes.
• It relates well to anything that works through a one to many relationships. For example;
there is a.
• president with many managers below them, and those managers have many employees
below them, but each employee has only one manager.

Disadvantages

• It requires data to be repetitively stored in many different entities.


• Now a day there is no longer use of linear data storage mediums such as tapes.
• Searching for data requires the DBMS to run through the entire model from top to
bottom until the required information is found, making queries very slow.
• This model support only one to many relationships, many to many relationships are not
supported.

2. Network databases

This is looks like a Hierarchical database model due to which many time it is called as modified
version of Hierarchical database. Network database model organised data more like a graph and
can have more than one parent node. The network model is a database model conceived as a
flexible way of representing objects and their relationships. (LEARNTEK, 2020)

Advantage

• The network model is conceptually simple and easy to design.

• The network model can represent redundancy in data more effectively than in the
hierarchical model.
• The network model can handle the one to many and many to many relationships which is
real help in modelling the real-life situations.

• The data access is easier and flexible than the hierarchical model.

• The network model is better than the hierarchical model in isolating the programs from
the complex physical storage details.

Disadvantage:

• All the records are maintained using pointers and hence the whole database structure
becomes very complex.

• The insertion, deletion and updating operations of any record require the large number of
pointers adjustments.

• The structural changes to the database is very difficult.

3. Relational Database 

A relational database is developed by E. F. Codd in 1970. The various software systems used to
maintain relational databases are known as a relational database management system (RDBMS).
In this model, data is organised in rows and column structure i.e., two-dimensional tables and the
relationship is maintained by storing a common field. It consists of three major components.

In relational model, three key terms are heavily used such as relations, attributes, and domains. A
relation nothing but is a table with rows and columns. The named columns of the relation are
called as attributes, and finally the domain is nothing but the set of values the attributes can take.
The following figure gives us the overview of rational database model. (LEARNTEK, 2020)
Terminology used in Relational Model

Tuple: Each row in a table is known as tuple.


• Cardinality of a relation: The number of tuples in a relation determines its cardinality.
In this case, the relation has a cardinality of .
• Degree of a relation: Each column in the tuple is called an attribute. The number of
attributes in a relation determines its degree. The relation in figure has a degree of 3.

Advantage

• In relational model, changes in the database structure do not affect the data access.
• The revision of any information as tables consisting of rows and columns is much easier
to understand.
• The relational database supports both data independence and structure independence
concept which makes the database design, maintenance, administration and usage much
easier than the other models.
• In this we can write complex query to accesses or modify the data from database.
• It is easier to maintain security as compare to other models. Relational model is one of
the most popular used database model.
Disadvantages

• Mapping of objects in relational database is very difficult.


• Object oriented paradigm is missing in relation model.
• Data Integrity is difficult to ensure with Relational database.
• Relational Model is not suitable for huge database but suitable for small database.
Hardware overheads are incurred which make it costly.
• Ease of design can lead to bad design.
• Relational database system hides the implementation complexities and the physical data
storage details from the users.

4. Object-oriented databases

An object database is a system in which information is represented in the form of objects as used
in object-oriented programming. Object oriented databases are different from relational
databases which are table-oriented. The object-oriented data model is based on the object-
oriented- programming language concept, which is now in wide use. Inheritance, polymorphism,
overloading. object-identity, encapsulation and information hiding with methods to provide an
interface to objects, are among the key concepts of object-oriented programming that have found
applications in data modelling. The object-oriented data model also supports a rich type system,
including structured and collection types. (LEARNTEK, 2020)

The following figure shows the difference between relation and object-oriented database model.
The following figure shows an example of object-oriented model.

Advantages
• Object database can handle different types of data while relational data base handles a
single data. Unlike traditional databases like hierarchical, network or relational, the
object-oriented databases can handle the different types of data, for example, pictures,
voice video, including text, numbers and so on.
• Object-oriented databases provide us code reusability, real world modelling, and
improved reliability and flexibility.
• The object-oriented database is having low maintenance costs as compared to other
model because most of the tasks within the system are encapsulated, they may be reused
and incorporated into new tasks.

Disadvantages

• There is no universally defined data model for an OODBMS, and most models lack a
theoretical foundation.
• In comparison to RDBMSs the use of OODBMS is still relatively limited.
• There is a Lack of support for security in OODBMSs that do not provide adequate
security mechanisms.
• The system more complex than that of traditional DBMSs.

Entity-Relationship Model

Entity-Relationship (ER) Model is based on the notion of real-world entities and relationships
among them. While formulating real-world scenario into the database model, the ER Model
creates entity set, relationship set, general attributes and constraints.

ER Model is best used for the conceptual design of a database.

ER Model is based on −

 Entities and their attributes.

 Relationships among entities.

These concepts are explained below.


 Entity − An entity in an ER Model is a real-world entity having properties
called attributes. Every attribute is defined by its set of values called domain. For
example, in a school database, a student is considered as an entity. Student has various
attributes like name, age, class, etc.

 Relationship − The logical association among entities is called relationship.


Relationships are mapped with entities in various ways. Mapping cardinalities define the
number of association between two entities.

Mapping cardinalities −

o one to one

o one to many

o many to one

o many to many

Comparison between different types of database model:

Many types of databases exist, each with their own benefits. In this guide, we'll compare the
relational, document, key-value, graph, and wide-column databases and talk about what each of
them offer. Database types, sometimes referred to as database models or database families, are
the patterns and structures used to organize data within a database management system. Many
different database types have been developed over the years. Some are mainly historic
predecessors to current databases, while others have stood the test of time. In the last few
decades, new types have been developed to address changing requirements and different use
patterns.

our choice of database type can have a profound impact on what kind of operations your
application can easily perform, how you conceptualize your data, and the features that your
database management system offers you during development and runtime. In this guide, we'll
take a look at how database types have evolved over time and what advantages and trade-offs are
present in each design.
Flat-file databases: simple data structures for organizing small amounts of local data
The simplest way to manage data on a computer outside of an application is to store it in a basic
file format. The first solutions for data management used this approach and it is still a popular
option for storing small amounts of information without heavy requirements.

The first flat file databases represented information in regular, machine parse-able structures
within files. Data is stored in plain text, which limits the type of content that can be represented
within the database itself. Sometimes, a special character or other indicator is chosen to use as
a delimiter, or marker for when one field ends and the next begins. For example, a comma is
used in CSV (comma-separated values) files, while colons or white-space are used in many data
files in Unix-like systems. Other times, no delimiter is used and instead, fields are defined with a
fixed length which can be padded for shorter values. While flat file databases are simple, they are
very limited in the level of complexity they can handle. The system that reads or manipulates the
data cannot make easy connections between the data represented. File-based systems usually
don't have any type of user or data concurrency features either. Flat file databases are usually
only practical for systems with small read or write requirements. For example, many operating
systems use flat-files to store configuration data.

In spite of these limitations, flat-file databases are still widely used for scenarios where local
processes need to store and organized small amounts of data. A good example of this is for
configuration data for many applications on Linux and other Unix-like systems. In these cases,
the flat-file format serves as an interface that both humans and applications can easily read and
manage. Some advantages of this format are that it has robust, flexible tooling, is easily managed
without specialized software, and is easy to understand and work with.

Examples:

 /etc/passwd and /etc/fstab on Linux and Unix-like systems


 CSV files
Hierarchical databases: using parent-child relationships to map data into trees
Hierarchical databases were the next evolution in database management development. They
encode a relationship between items where every record has a single parent. This builds a tree-
like structure that can be used to categorize records according to their parent record.

This simple relationship mapping provides users with the ability to establish relationships
between items in a tree structure. This is very useful for certain types of data, but does not allow
for complex relationship management. Furthermore, the meaning of the parent-child relationship
is implicit. One parent-child connection could be between a customer and their orders, while
another might represent an employee and the equipment they have been allocated. The structure
of the data itself does not distinguish between these relationships.

Hierarchical databases are the beginning of a movement towards thinking about data
management in more complex terms. The trajectory of database management systems that were
developed afterwards continues this trend. Hierarchical databases are not used much today due to
their limited ability to organize most data and because of the overhead of accessing data by
traversing the hierarchy. However, a few incredibly important systems could be considered
hierarchical databases. A filesystem, for instance, can be thought of as a specialized hierarchical
database, as the system of files and directories fit neatly into the single-parent / multiple-child
paradigm. Likewise, DNS and LDAP systems both act as databases for hierarchical datasets.

Examples:

 Filesystems

 DNS

 LDAP directories
Network databases: mapping more flexible connections with non-hierarchical links
Network databases built on the foundation provided by hierarchical databases by adding
additional flexibility. Instead of always having a single parent, as in hierarchical databases,
network database entries can have more than one parent, which effectively allows them to model
more complex relationships. When talking about network databases, it is important to realize
that network is being used to refer to connections between different data entries, not connections
between different computers or software.

Diagram of a network database

Network databases can be represented by a generic graph instead of a tree. The meaning of the


graph was defined by a schema, which lays out what each data node and each relationship
represents. This gave structure to the data in a way that could previously only be reached through
inference.
Network databases were a huge leap forward in terms of flexibility and the ability to map
connections between information. However, they were still limited by the same access patterns
and design mindset of hierarchical databases. For instance, to access data, you still needed to
follow the network paths to the record in question. The parent-child relationship carried over
from hierarchical databases also affected the way that items could connect to one another. It is
difficult to find modern examples of network database systems. Setting up and working with
network databases required a good deal of skill and specialized domain knowledge. Most
systems that could be approximated using network databases found a better fit once relational
databases appeared.

Examples:

 IDMS
Relational databases: working with tables as a standard solution to organize well-
structured data
Relational databases are the oldest general purpose database type still widely used today. In
fact, relational databases comprise the majority of databases currently used in production.
Relational databases organize data using tables. Tables are structures that impose a schema on
the records that they hold. Each column within a table has a name and a data type. Each row
represents an individual record or data item within the table, which contains values for each of
the columns. Relational databases get their name from mathematical relationships that use tuples
(like the rows in a table) to represent ordered sets of data.
Special fields in tables, called foreign keys, can contain references to columns in other tables.
This allows the database to bridge the two tables on demand to bring different types of data
together.

The highly organized structure imparted by the rigid table structure, combined with the
flexibility offered by the relations between tables makes relational databases very powerful and
adaptable to many types of data. Conformity can be enforced at the table level, but database
operations can combine and manipulate that data in novel ways. While not inherent to the design
of relational databases, a querying language called SQL, or structured query language, was
created to access and manipulate data stored with that format. It can query and join data from
multiple tables within a single statement. SQL can also filter, aggregate, summarize, and limit
the data that it returns. So while SQL is not a part of the relational system, it is often a
fundamental part of working with these databases. In general, relational databases are often a
good fit for any data that is regular, predictable, and benefits from the ability to flexibly compose
information in various formats. Because relational databases work off of a schema, it can be
more challenging to alter the structure of data after it is in the system. However, the schema also
helps enforce the integrity of the data, making sure values match the expected formats, and that
required information is included. Overall, relational databases are a solid choice for many
applications because applications often generate well-ordered, structured data.

Examples:

 MySQL

 MariaDB

 PostgreSQL

 SQLite

Conclusion: in this task I would already describe different types of database model with their
advantages and disadvantages. I also mention the comparison of different types of database
model.
Part 2: Design a database management system using a relational model to meet client
requirements and develop a database management system using a suitable platform.

• Produce a design for a relational database management system to meet client


requirements

• Analyze how the design will optimize system performance.

• Develop a fully functional system which meets client and system


requirements, using an open source language (with an application software
e.g. MySQL with front end Microsoft Access)

• Test the system for functionality and performance.

• Implement effective features in the solution to handle concurrency, security,


user authorizations and data recovery.

• Critically evaluate the effectiveness of the system design and development


against client and system requirements.
Introduction: - In this section, I will prepare the Assignment Management System as per the
client requirements using an open source language (with an application software e.g. MySQL
with front end Microsoft Access). I will also optimize the system performance. Design a
database management system using a relational model to meet client requirements and develop a
database management system using a suitable platform. I will also test the system for
functionality and will implement the effective features in the solution to handle concurrency of
the data and its security with proper user authorizations and data recovery.

Produce a design for a relational database management system to meet client requirements
Er diagram:
An Entity–relationship model (ER model) describes the structure of a database with the help of
a diagram, which is known as Entity Relationship Diagram (ER Diagram). An ER model is a
design or blueprint of a database that can later be implemented as a database. The main
components of E-R model are: entity set and relationship set. An ER diagram shows the
relationship among entity sets. An entity set is a group of similar entities and these entities can
have attributes. In terms of DBMS, an entity is a table or attribute of a table in database, so by
showing relationship among tables and their attributes, ER diagram shows the complete logical
structure of a database. Lets have a look at a simple ER diagram to understand this concept.
(Edrawsoft.com, 2020)

Components of a ER Diagram
Er diagram for scenario:

Normalization: Normalization is the process of organizing data into a related table; it also
eliminates redundancy and increases the integrity which improves performance of the query. To
normalize a database, we divide the database into tables and establish relationships between the
tables. Database normalization can essentially be defined as the practice of optimizing table
structures. Optimization is accomplished as a result of a thorough investigation of the various
pieces of data that will be stored within the database, in particular concentrating upon how this
data is interrelated. (Edrawsoft.com, 2020)

 Normalization Avoids

 Duplication of Data - The same data is listed in multiple lines of the database
 Insert Anomaly - A record about an entity cannot be inserted into the table without first
inserting information about another entity - Cannot enter a customer without a sales order
 Delete Anomaly - A record cannot be deleted without deleting a record about a related
entity. Cannot delete a sales order without deleting all of the customer's information.
 Update Anomaly - Cannot update information without changing information in many
places. To update customer information, it must be updated for each sales order the
customer has placed

Types of normalization:
First Normal Form (1st NF)
 

In 1st NF:

 The table cells must be of single value.


 Eliminate repeating groups in individual tables.
 Create a separate table for each set of related data.
 Identify each set of related data with a primary key.

An entity is in the first normal form if it contains no repeating groups. In relational terms, a table
is in the first normal form if it contains no repeating columns. Repeating columns make your
data less flexible, waste disk space, and make it more difficult to search for data.
(Edrawsoft.com, 2020)

In 1NF relation the order of tuples (rows) and attributes (columns) does not matter.

Order Customer Contact Person Total


1 Rishabh Manish 134.23

2 Preeti Rohan 521.24

3 Rishabh Manish 1042.42

4 Rishabh Manish 928.53

The above relation satisfies the properties of a relation and is said to be in first normal form (or
1NF). Conceptually it is convenient to have all the information in one relation since it is then
likely to be easier to query the database.

Second Normal Form (2nd NF)


 

In 2nd NF:

 Remove Partial Dependencies.


 Functional Dependency: The value of one attribute in a table is determined entirely by the
value of another.
 Partial Dependency: A type of functional dependency where an attribute is functionally
dependent on only part of the primary key (primary key must be a composite key).
 Create separate table with the functionally dependent data and the part of the key on
which it depends. Tables created at this step will usually contain descriptions of
resources.

A relation is in 2NF if it is in 1NF and every non-key attribute is fully dependent on each
candidate key of the relation. (Edrawsoft.com, 2020)

The following relation is not in Second Normal Form:

Customer Contact Person Total

1 Rishabh Manish 134.23

2 Preeti Rohan 521.24

3 Rishabh Manish 1042.42


4 Rishabh Manish 928.53
In the table above, the order number serves as the primary key. Notice that the customer and total
amount are dependent upon the order number -- this data is specific to each order. However, the
contact person is dependent upon the customer. An alternative way to accomplish this would be
to create two tables:

Customer Contact Person

Rishabh Manish

Preeti Rohan
 

Order Customer Total

1 Rishabh 134.23

2 Preeti 521.24

3 Rishabh 1042.42

4 Rishabh 928.53 
 

The creation of two separate tables eliminates the dependency problem. In the first table, contact
person is dependent upon the primary key -- customer name. The second table only includes the
information unique to each order. Someone interested in the contact person for each order could
obtain this information by performing a Join Operation.

Third Normal Form (3rd NF)


In 3rd NF:

 Remove transitive dependencies.


 Transitive Dependency A type of functional dependency where an attribute is
functionally dependent on an attribute other than the primary key. Thus its value is only
indirectly determined by the primary key.
 Create a separate table containing the attribute and the fields that are functionally
dependent on it. Tables created at this step will usually contain descriptions of either
resources or agents. Keep a copy of the key attribute in the original file.

A relation is in third normal form, if it is in 2NF and every non-key attribute of the relation is
non-transitively dependent on each candidate key of the relation. 
Let A, B and C be three attributes of a relation R such that AB and BC. From these FDs, we
may derive AC. This dependence AC is transitive. (Edrawsoft.com, 2020)

Company City State ZIP

ABC Ltd. Mumbai MH 10169

XYZ Ltd. Noida UP 33196

ASD Ltd. Chennai TN 21046


 

The above table is not in the 3NF.

In this example, the city and state are dependent upon the ZIP code. To place this table in 3NF,
two separate tables would be created -- one containing the company name and ZIP code and the
other containing city, state, ZIP code pairings.

Company ZIP

ABC Ltd. 10169

XYZ Ltd. 33196

ASD Ltd. 21046


 

City State ZIP

Mumbai MH 10169

Noida UP 33196

Chennai TN 21046
 
This may seem overly complex for daily applications and indeed it may be. Database designers
should always keep in mind the tradeoffs between higher level normal forms and the resource
issues that complexity creates.

Normalization for scenario:


 0NF form

Subject Subject Name Student Credit Assignment Deadline Submitted


ID name hour released Date
Date
1 Programming Prabin 5 26 sep 2019 25 oct 25 oct 2019
Technique malla 2019
2 Database Sabin 4 26 sep 2019` 25 oct 30 oct 2019
Shrestha 2019
3 Java Sabin 4 26 sep 2019 30 oct 29 oct 2019
Shrestha, 2019
Akriti
Poudal
4 Software Sabin 5 26 sep 2019 25 oct 25 0ct 2019
engineering shrestha, 2019
Akriti
Poudel,
pratigya
sigdal

Assignment

Subject Student Record

Subject name Teacher name


Programming Nawaraj Bhandari, Binod shah
technique
Database Nawaraj Bhandari, Rohan Kumar
Java Binod shah, Rahul Kumar
Software Nawaraj Bhandari, Deepak Teacher Assessment Record
Engineering Poudel
Teacher name Subject name Assignment received Submitted Date
Date
Nawaraj Bhandari Programming 5 Nov 2019 15 Nov 2019
Technique
Nawaraj Bhandari Database 10 Nov 2019 20 Nov 2019
Binod Shah Java 12 Nov 2019 22 Nov 2019
Deepak Poudal Software Engineering 7 Nov 2019 17 Nov 2019

 1 NF form
This table is not in first normal form because column can contain multiple values. To
bring this table to first normal form, we sequentially row this table and also 2 NF library
management system is necessary for combining the relations to manage all information.
Beside the manage library it contain. If now library management system is assignment is
deleted, we do not loose the information subject. li now we have the resulting tables:

Assignment

Subjec Subject Student Student Credit Assignment Deadlin Submitted


t ID Name ID Name Hour Released e Date
Date
1 Programming 1 Prabin 5 26 Sep 2019 25 oct 25 oct
Technique Malla 2019 2019

2 Database 2 Sabin 4 26 Sep 2019 25 oct 30 oct


Shresth 2019 2019
a
3 Java 2 Sabin 4 26 Sep 2019 30 oct 29 oct
Shresth 2019 2019
a
3 Java 3 Akriti 4 26 Sep 2019 30 oct 29 Oct
Poudel 2019 2019
4 Software 2 Sabin 5 26 Sep 2019 25 oct 25 Oct
Engineering Shresth 2019 2019
a
4 Software 3 Akriti 5 26 Sep 2019 25 oct 25 Oct
Engineering Poudel 2019 2019
4 Software 4 Pratigya 5 26 Sep 2019 25 oct 25 Oct
Engineering Sigdal 2019 2019

Subject Student Record

Subject ID Subject Name Teacher ID Teacher Name


1 Programming Technique 1 Nawaraj Bhandari
1 Programming Technique 2 Binod shah
2 Database 1 Nawaraj Bhandari
2 Database 3 Rohan Kumar
3 Java 2 Binod Shah
3 Java 4 Rahul Kumar
4 Software Engineering 1 Nawaraj Bhandari
4 Software Engineering 5 Deepak Poudel

Teacher Assessment Record

Teacher ID Teacher name Subject name Assignment Teacher


received Date Submitted Date
1 Nawaraj Bhandari Programming 5 Nov 2019 15 Nov 2019
Technique
1 Nawaraj Bhandari Database 10 Nov 2019 20 Nov 2019
2 Binod Shah Java 12 Nov 2019 22 Nov 2019
5 Deepak Poudel Software Engineering 7 Nov 2019 17 Nov 2019

 2 NF form
The table in 0NF and 1NF but there is a transitive dependency between subject_ID and
assignment_ID because subject_ID is not the primary of this relation. To get the second
normal form (2NF), we have to put the assignment in a separate table together with the
clearing number.
Assignment

Subject ID Subject Name


1 Programming Technique
2 Database
3 Java
4 Software Programming

Subject ID Student ID Student Name


1 1 Prabin Malla
2 2 Sabin Shrestha
3 2 Sabin Shrestha
3 3 Akriti Poudel
4 2 Sabin Shrestha
4 3 Akriti Poudel
4 4 Pratigya Sigdal

Subject ID Assignment Released Date Deadline


1 26 Sep 2019 25 Oct 2019
2 26 Sep 2019 25 Oct 2019
3 xc 26 Sep 2019 30 Oct 2019
4 26 Sep 2019 25 Oct 2019

Subject Student Record

Subject ID Subject Name


1 Programming Technique
2 Database
3 Java
4 Software Programming

Subject ID Teacher ID Teacher Name


1 1 Nawaraj Bhandari
1 2 Binod Shah
2 1 Nawaraj Bhandari
2 3 Rohan Kumar
3 2 Binod Shah
3 4 Rahul Kumar
4 1 Nawaraj Bhandari
4 5 Deepak Poudel
Subject

Subject ID Subject Name


1 Programming Technique
2 Database
3 Java
4 Software Programming

Subject ID Student ID Student Name


1 1 Prabin Malla
2 2 Sabin Shrestha
3 2 Sabin Shrestha
3 3 Akriti Poudel
4 2 Sabin Shrestha
4 3 Akriti Poudel
4 4 Pratigya Sigdal

Subject ID Credit Hour


1 5
2 4
3 4
3 4
4 5
4 5
4 5

Student ID Submitted Date


1 25 Oct 2019
2 30 Oct 2019
2 29 Oct 2019
3 29 Oct 2019
2 25 Oct 2019
3 25 Oct 2019
4 25 Oct 2019

Subject ID Assignment Released Date Deadline


1 26 Sep 2019 25 Oct 2019
2 26 Sep 2019 25 Oct 2019
3 xc 26 Sep 2019 30 Oct 2019
4 26 Sep 2019 25 Oct 2019

Subject Student Record

Subject ID Subject Name


1 Programming Technique
2 Database
3 Java
4 Software Programming

Subject ID Teacher ID Teacher Name


1 1 Nawaraj Bhandari
1 2 Binod Shah
2 1 Nawaraj Bhandari
2 3 Rohan Kumar
3 2 Binod Shah
3 4 Rahul Kumar
4 1 Nawaraj Bhandari
4 5 Deepak Poudel

DFD: A data flow diagram (DFD) illustrates how data is processed by a system in terms of
inputs and outputs. As its name indicates its focus is on the flow of information, where data
comes from, where it goes and how it gets stored. Data flow diagrams became popular in the
1970s in software development. They were first described in a classic text about Structured
Design written by Larry Constantine and Ed Yourdon. Yourdon & Coad's Object Oriented
Analysis and Design (OOA/OOD) was a way of visualizing software systems before UML
diagrams. (Smartdraw.com, 2020)

Data Flow Diagrams Symbols


There are essentially two different types of notations for data flow diagrams (Yourdon & Coad
or Gane & Sarson) defining different visual representations for processes, data stores, data flow
and external entities. (Smartdraw.com, 2020)

Yourdon and Coad type data flow diagrams are usually used for system analysis and design,
while Gane and Sarson type DFDs are more common for visualizing information systems.
Visually, the biggest difference between the two ways of drawing data flow diagrams is how
processes look. In the Yourdon and Coad way, processes are depicted as circles, while in the
Gane and Sarson diagram the processes are squares with rounded corners.

Process Notations. A process transforms incoming data flow into outgoing data flow.
(Smartdraw.com, 2020)

Datastore Notations. Datastores are repositories of data in the system. They are sometimes also
referred to as files.

Dataflow Notations. Dataflows are pipelines through which packets of information flow. Label
the arrows with the name of the data that moves through it.
External Entity Notations. External entities are objects outside the system, with which the
system communicates. External entities are sources and destinations of the system's inputs and
outputs.

DFD for scenario up-to level 2:


DFD:

Level 0 Dfd:

Level 1 dfd:

For teacher:
Level 1 dfd for admin:
Level 1 dfd for student:
Level 2 DFD:

Level 2 For teacher:

Level 2 DFD For admin:


Level 2 DFD For student:
Develop a fully functional system which meets client and system requirements, using an
open source language (with an application software e.g. MySQL with front end Microsoft
Access)
The Assignment Management System trying to meet the requirement of the client:-
Login Form: login or logon is a set of credentials used to gain access to an area requiring proper
authorization. Logins are used to gain access to and control of computers, networks, and bulletin
boards, as well as online accounts and other services or devices. Today, most logins consist of
both a username and password. Here I represent the login form of assignment management
system.

Dashboard: a dashboard is a user interface that, somewhat resembling an automobile's


dashboard, organizes and presents information in a way that is easy to read. However, a
computer dashboard is more likely to be interactive than an automobile dashboard (unless it is
also computer-based). To some extent, most graphical user interfaces (GUIs) resemble a
dashboard. However, some product developers consciously employ this metaphor (and
sometimes the term) so that the user instantly recognizes the similarity.
Student Management Form: The ultimate target of an educational institution is to enhance the
performance of every student. This can promptly be achieved by analyzing the performance of
each student using competent analytic tools such as a dashboard. The information thus obtained
can be deployed for taking effective as well as corrective measures to help them in performing
better and realizing their potential. If not done systematically, this process may become time
consuming and tedious. Student Information System (SIS) assists the institutions to manage
every single detail about students in a holistic, organized and cost-effective way. Education ERP
completely and efficiently eliminates the need of faculty members to spend a considerable
amount of time in compiling student data. Thereby assisting the faculty members in channelizing
their concentration on the students and their performance enhancement.
Teacher Management Form: it helps to know the teacher qualification as well as select good
teacher in relevant field.
Subject Management Form
It provides all the information about subject and course guidelines for further study.
Assignment Management Form

Feedback Management Form

Queries
A query is a request for data or information from a database table or combination of tables. This
data may be generated as results returned by Structured Query Language (SQL) or as pictorials,
graphs or complex results, e.g., trend analyses from data-mining tools.
Student Queries

Teacher Queries

Assignment Queries
Feedback Queries

Test the system for functionality and performance.


Black Box Testing: Black Box Testing is also known as behavioral, opaque-box, closed-box,
specification-based or eye-to-eye testing.
It is a Software Testing method that analyses the functionality of a software/application without
knowing much about the internal structure/design of the item that is being tested and compares
the input value with the output value.

The main focus in Black Box Testing is on the functionality of the system as a whole. The
term ‘Behavioral Testing' is also used for Black Box Testing. Behavioral test design is slightly
different from the black-box test design because the use of internal knowledge isn't strictly
forbidden, but it's still discouraged. Each testing method has its own advantages and
disadvantages. There are some bugs that cannot be found using the only black box or only white
box technique. Majority of the applications are tested by Black Box method. We need to cover
the majority of test cases so that most of the bugs will get discovered by a Black-Box method.
This testing occurs throughout the software development and Testing Life Cycle i.e in Unit,
Integration, System, Acceptance, and Regression Testing stages. (ali, 2020)

Types Of Black Box Testing


Practically, there are several types of Black Box Testing that are possible but if we consider the
major variant of it then below mentioned are the two fundamental ones.
#1) Functional Testing
This type deals with the functional requirements or specifications of an application. Here,
different actions or functions of the system are being tested by providing the input and
comparing the actual output with the expected output. (ali, 2020)

For Example, when we test a Dropdown list, we click on it and verify that it expands and all the
expected values are showing in the list.
Few major types of Functional Testing are:
 Smoke Testing
 Sanity Testing
 Integration Testing
 System Testing
 Regression Testing
 User Acceptance Testing
#2) Non-Functional Testing
Apart from the functionalities of the requirements, there are several non-functional aspects as
well that are required to be tested to improve the quality and performance of the application. (ali,
2020)

Few major types of Non-Functional Testing include:


 Usability Testing
 Load Testing
 Performance Testing
 Compatibility Testing
 Stress Testing
 Scalability Testing
Black Box Testing Tools
Black Box Testing tools are mainly record and playback tools. These tools are used for
Regression Testing to check whether new build has created any bug in previous working
application functionality.
These record and playback tools record test cases in the form of some scripts like TSL, VB
script, Javascript, Perl, etc. (ali, 2020)

Black Box Testing Techniques


In order to systematically test a set of functions, it is necessary to design test cases. Testers can
create test cases from the requirement specification document using the following Black Box
Testing techniques. (ali, 2020)

 Equivalence Partitioning
 Boundary Value Analysis
 Decision Table Testing
 State Transition Testing
 Error Guessing
 Graph-Based Testing Methods
 Comparison Testing
How to do black box testing Step-wise?
In general, when a systematic process is followed to test a project/application then quality is
maintained and is useful in the long run for further rounds of testing. (ali, 2020)

 The foremost step is to understand the Requirement specification of an application. A


proper documented SRS(Software Requirement Specification) should be in place.
 Using the above mentioned Black Box Testing techniques such as Boundary Value
Analysis, Equivalence partitioning etc sets of valid and invalid inputs are identified with
their desired outputs and test cases are designed based on that.
 The designed test cases are executed to check if they Pass or Fail by verifying the actual
results with the expected results.
 The Failed test cases are raised as Defects/Bugs and addressed to the development team
to get it Fixed.
 Further based on the defects being fixed, the tester Retests the defects to verify if it is
recurring or not.
Advantages and Disadvantages of black box testing
Advantages
 The tester need not have a technical background. It is important to test by being in the
user's shoes and think from the user’s point of view.
 Testing can be started once the development of the project/application is done. Both the
testers and developers work independently without interfering in each other’s space.
 It is more effective for large and complex applications.
 Defects and inconsistencies can be identified at the early stage of testing.
Disadvantages
 Without any technical or programming knowledge, there are chances of ignoring possible
conditions of the scenario to be tested.
 In a stipulated time there are possibilities of testing less and skipping all possible inputs
and their output testing.
 A Complete Test Coverage is not possible for large and complex projects.
Black box testing for scenario:
Ste Test Case Test data Expected Actual Screenshot status
p result result
No

1 Check Usernam Username Correctly


whether e and and username
Login is password password and Pass
authenticated checking password
the successfu
database lly login
2 Dashboard Student, There is Dashboar Pass
teacher, display d
subject, student, successfu
assignme teacher, lly
nt, assignment display
feedback and
feedback
panel.

3 Student Name, It should be There is Pass


semester, display successfu
class student lly
name, display
semester name,
and section semester
result and
section
informati
on data
4 Teacher Id, It should be There is Pass
Teacher_ display successfu
name. Teacher lly
Qualificat name, display
ion Qualificati Teacher
on result name,
Qualifica
tion
informati
on data
5 Assignment Student It should be There is Pass
id, display successfu
subject student id, l display
id, subject id, student
submissio submission id,
n date date subject
id,
submissi
on date
6 Feedback Teacher It should be There is pass
name, display successfu
student teacher l display
name, name, teacher
Dispatch student name,
Date, name, student
Submissi dispatch name,
on Date date, dispatch
submission date,
date

Conclusion: In this task i develop fully functional system which meets client and system
requirements using NetBeans. I had attach all the screenshot and proved for relational database
management system to meet client requirements with testing result. For testing I mention the
table of black box testing. After that I Implement effective features in the solution to handle
concurrency, security, user authorizations and data recovery. At last I Critically evaluate the
effectiveness of the system design and development against client and system requirements.
Part 3:

 Create a lab report: Demonstrate the system administration and management tools
available on the chosen platform.

 Demonstrate the tools available in the system to monitor and optimize system
performance, and examine the audit logs.

 Demonstrate the tools available in the system to manage security and


authorizations.

 Assess the effectiveness of the system administration and management tools


available on the platform identifying any shortcomings of the tools.

 Assess any future improvements that may be required to ensure the continued
effectiveness of the database system.

Submitted To:
Submitted By:
Nawaraj bhandari
Prabin bhusal

Submitted Date:

27th december, 2019


Table of content:

Introduction of report: In this task firstly I am going to describe different tools for monitoring
and optimizing system performance which is managing security and authentication. After that I
would describe effectiveness of the system administration and management tools available on the
platform identifying any shortcomings of the tools. Than attach the justification of further
improvements for continued effectiveness of database system.

Acknowledgement: I would like to have this opportunity to thank my project advisor, Nawaraj
Bhandari. His patience, encouragement and advices have greatly helped me during the
implementation. I could not achieve the success without his help. Finally, I feel a deep sense of
gratitude of this assignment management project which help to recorded all the information
about student, teacher and many things.

Discussion: System administrators are critical to the reliable and successful operation of an
organization and its network operations center and data center. A sysadmin must have expertise
with the system's underlying platform (i.e., Windows, Linux) as well as be familiar with multiple
areas including networking, backup, data restoration, IT security, database operations,
middleware basics, load balancing, and more. Sysadmin tasks are not limited to server
management, maintenance, and repair, but also any functions that support a smoothly running
production environment with minimal (or no) complaints from customers and end users.

 OS: Linux or Windows, hypervisor with versions


 RAM: DIMM slots in physical servers
 CPU: Logical and virtual CPUs
 HDD: Type and size of hard disks
 External storage (SAN/NAS): Make and model of storage with management IP address
and interface IP address
 Open ports: Ports opened at the server end for incoming traffic
 IP address: Management and interface IP address with VLANs
 Engineering appliances: e.g., Exalogic, PureApp, etc.
 Configured applications: e.g., Oracle WebLogic, IBM WebSphere Application Server,
Apache Tomcat, Red Hat JBoss, etc.
 Third-party software: Any software not shipped with the installed OS

Objectives: here I mention the main objectives of system administration and management tools
for pk college Kathmandu.

 Responsible for the technical design, planning, implementation, and the high level of
performance tuning and recovery procedures for assignment management system in all
project completion time.
 To work as part of the Systems Operations team in the fast-paced working environment
of red24’s Crisis Response Management Centre in pk college Kathmandu.
 Serves as a technical expert in the area of system administration for complex operating
systems
 Recommends the redesign and configuration of operating systems and system
applications
 Investigates and analyses feasibility of system requirements and develops system
specifications
 Identifies methods, solutions, and provides project leadership and management in order
to provide a high level of service to the students of the department.

System Specification:

1. Software requirement:

 Front End                              :  NetBeans


 Back End                               :  SQL  server 2018
 Web Server                           :  IIS
 Technology                           : .net technology
 Code-Behind Language     :  java, javascript
 IDE                                         :   oracle
2. Server Requirements:

 AMD Athlon 64 with processor speed 2.8 or more


 256 DDR Ram
 40 GB Hard disk
 Network Interface card
 IIS
 CD-Drive
 Server side Software Requirement
 Windows XP Professional
 Visual studio 2008 IDE
 SQL Server 2005

3. Hardware Requirements:

 Processor intel i5 dell


 8 GB RAM
 2 tb Hard Disk
 100 Mbps LAN
 Web Browser

Description: As a system administrator, we need to use different tools. But how do we know
which one to choose when there are so many available? Some are free or very cheap, while
others may require a bigger investment. It all depends on our specific needs.

Tools Description
name
JMeter A range of automated testing tools are existing in the market to test application
features in real time. We use Apache JMeter automation tool to perform
load test and measure performance of web sites. Apart from the above we also offer
performance, stress and scalability.
JUnit  It is a unit testing framework for Java programming language. JUnit has been
important in the development of test-driven development, and is one of a family of
unit testing frameworks collectively known as xUnit, that originated with Junit.

Sensu Comprehensive, multi-platform monitoring solution for complex environments that


is easy to configure, maintain, and scale. Flexible enough to incorporate feeds from
other toolsets (EG Nagios plugins), and capable of complex auto-remediation
resolutions (EG try restart 3x THEN alert). It does not require a separate workflow
unlike many similar products on the market. The community support behind Sensu
is an added bonus.
pubbet It offers enterprise-level large-scale deployment and management of complex
operations environments from a central location. The initial installation is simple
and straightforward and includes a clear web-based UW.

Ansibl It provides simple automation for repetitive tasks. Need to patch a set of servers but
e don’t want to have to do it all manually? Ansible can help. Want to deploy that new
build quickly in dev? Ansible is there for you. Command line config and
management made fast and easy.

Lab test report: we have done a lot of testing as per ass requirement in assignment management
system. In this report I have done lots of thing whose summary is below table.

Ste Test Case Test data Expected result Actual result Screenshot
p
No
1 Unit test Usernam Username and Correctly
e and password checking the username and
password database password
successfully
login

2 Junit Student, There is display Dashboard


teacher, student, teacher, successfully
subject, assignment and display
assignme feedback panel.
nt,
feedback

3 Stress Name, It should be display There is


semester, student name, semester successfully
class and section result display name,
semester and
section
information
data

4 Stress test in Id, It should be display There is


teacher Teacher_ Teacher name, successfully
name. Qualification result display Teacher
Qualificat name,
ion Qualification
information
data
5 Black box Student It should be display There is
Testing on id, student id, subject id, successful
Assignment subject submission date display student
id, id, subject id,
submissio submission
n date date

6 Testing on Teacher It should be display There is


Feedback name, teacher name, student successful
student name, dispatch date, display teacher
name, submission date name, student
Dispatch name, dispatch
Date, date,
Submissi
on Date

Output: In this project We offer all online help services. Student from pk college Kathmandu
are facing problem in assignment Management then students should visit our website and asked
for creating the application so we use quality services. Our online project is for all students who
studies in pk college Kathmandu. The main output are as followed.

 Users can access all devices in a uniform manner.


 Devices should be named uniformly.
 Operating system without the intervention of the user program, should handle
recoverable errors.
 Operating system must maintain security of the devices.
 Operating system must optimize the performance of the I/O system.
Demonstrate the tools available in the system to monitor and optimize system Performance,
and examine the audit logs.
Trigger: A trigger, in database terms, is a set of instructions that is activated (or we say it is
'fired') by some specific event, normally a command issued through the database's Data
Manipulation Language (DML). DML is what we use to put data in, take data out, retrieve data
from, and change data within a database. While each database vendor may add their own
extensions to the language, most DML instances contain at least four basic commands, SELECT,
INSERT, UPDATE, and DELETE. Triggers can be set to fire BEFORE, AFTER, or INSTEAD
OF any of these commands. Triggers are most commonly used to automate related, repetitious
tasks with a database and to ensure that data is consistent across the database wherever it is
stored. Consider the following scenario. (Docs.oracle.com, 2020)

Example: John is a new employee at Super Cyber Store (SCS). Like most companies, SCS has a
few different applications that will need access to John's information, like Human Resources,
Payroll, and Benefits. Without a database trigger, the data entry person at SCS would have to
enter all of John's personal data three times, once for each system. With a trigger, the database
that holds the records for the three systems can be made to transfer all of John's information after
it's entered one time. Once the data entry person at SCS enters the data into the HR table in the
database, a trigger inserts the same data into the payroll and benefits tables. Lets' look at what
that code might look like.

 The first line is telling the database 'I want to create a trigger called new_employee'.
 The second line is telling the database 'After a record is inserted into the table hr_table I
want you to execute these instructions …'
 The keyword 'begin' in the third line tells that database that this is the beginning of the
instructions to execute after the insert. In line six, we see the 'end' keyword, which tells
the database it has reached the end of the instructions.
 Lines four and five are the instruction we want to execute. In this case we're telling the
database to insert the values 'john', '123 Any Street', and '1022' into the fields named
'name', 'street', and 'workid' in the table named benefits_table.
 So once the trigger is created, every time data is inserted into the hr_table, that same data
will also be inserted into the benefits_table. That way, the data between the two tables
will always be consistent.

We could create another trigger, just like the previous example, on the benefits_table to insert the
data into the payroll system. That would work, but, since we're using the same data, and we
already have a trigger, we can just modify it and add one more set of instructions. See the code
snippet below.

Important of trigger:
 The CREATE Statement – It defines which table is associated with the trigger. In
addition this statement is used to specify when the trigger executes (e.g. after insert).
 The actual program. In the example, this program runs whenever one or more rows are
inserted into the WorkOrder table.
 Special database objects – Triggers use specially defined databases objects such as
INSERTED, or DELETED to access records affected by the database action.
 In this example the trigger is using the INSERTED object to gain access to the newly
created rows. The INSERT statement is used to table those rows and add them to a
history table.
How Triggers Are Used
In many cases, triggers supplement the standard capabilities of Oracle to provide a highly
customized database management system. For example, a trigger can permit DML operations
against a table only if they are issued during regular business hours. The standard security
features of Oracle, roles and privileges, govern which users can submit DML statements against
the table. In addition, the trigger further restricts DML operations to occur only at certain times
during weekdays. This is just one way that you can use triggers to customize information
management in an Oracle database. (Docs.oracle.com, 2020)

In addition, triggers are commonly used to

 automatically generate derived column values


 prevent invalid transactions
 enforce complex security authorizations
 enforce referential integrity across nodes in a distributed database
 enforce complex business rules
 provide transparent event logging
 provide sophisticated auditing
 maintain synchronous table replicates
 gather statistics on table access

Types of trigger:
When you define a trigger, you can specify the number of times the trigger action is to be
executed: once for every row affected by the triggering statement (such as might be fired by an
UPDATE statement that updates many rows), or once for the triggering statement, no matter how
many rows it affects.

1. Row Triggers: A row trigger is fired each time the table is affected by the triggering
statement. For example, if an UPDATE statement updates multiple rows of a table, a row
trigger is fired once for each row affected by the UPDATE statement. If a triggering
statement affects no rows, a row trigger is not executed at all. Row triggers are useful if
the code in the trigger action depends on data provided by the triggering statement or
rows that are affected. (Docs.oracle.com, 2020)

2. Statement Triggers: A statement trigger is fired once on behalf of the triggering


statement, regardless of the number of rows in the table that the triggering statement
affects (even if no rows are affected). For example, if a DELETE statement deletes
several rows from a table, a statement-level DELETE trigger is fired only once,
regardless of how many rows are deleted from the table. Statement triggers are useful if
the code in the trigger action does not depend on the data provided by the triggering
statement or the rows affected. For example, if a trigger makes a complex security check
on the current time or user, or if a trigger generates a single audit record based on the
type of triggering statement, a statement trigger is used. (Docs.oracle.com, 2020)

3. BEFORE Triggers: BEFORE triggers execute the trigger action before the triggering
statement. This type of trigger is commonly used in the following situations:
(Docs.oracle.com, 2020)

 BEFORE triggers are used when the trigger action should determine whether the
triggering statement should be allowed to complete. By using a BEFORE trigger
for this purpose, you can eliminate unnecessary processing of the triggering
statement and its eventual rollback in cases where an exception is raised in the
trigger action.
 BEFORE triggers are used to derive specific column values before completing a
triggering INSERT or UPDATE statement.
4. AFTER Triggers: AFTER triggers execute the trigger action after the triggering
statement is executed. AFTER triggers are used in the following situations:
(Docs.oracle.com, 2020)

 AFTER triggers are used when you want the triggering statement to complete
before executing the trigger action.
 If a BEFORE trigger is already present, an AFTER trigger can perform
different actions on the same triggering statement.

Trigger Execution
A trigger can be in either of two distinct modes:

An enabled trigger executes its trigger action if a triggering statement is issued and the trigger
restriction (if any) evaluates to TRUE. (Docs.oracle.com, 2020)

A disabled trigger does not execute its trigger action, even if a triggering statement is issued and
the trigger restriction (if any) would evaluate to TRUE.

For enabled triggers, Oracle automatically

 executes triggers of each type in a planned firing sequence when more than one
trigger is fired by a single SQL statement
 performs integrity constraint checking at a set point in time with respect to the
different types of triggers and guarantees that triggers cannot compromise integrity
constraints
 provides read-consistent views for queries and constraints
 manages the dependencies among triggers and objects referenced in the code of the
trigger action
 uses two-phase commit if a trigger updates remote tables in a distributed database
 if more than one trigger of the same type for a given statement exists, Oracle fires
each of those triggers in an unspecified order
Trigger or audit log for scenario:

Demonstrate the tools available in the system to manage security and authorizations.
Single sign on: Single sign-on (SSO) is a session and user authentication service that permits a
user to use one set of login credentials (e.g., name and password) to access multiple applications.
SSO can be used by enterprises, smaller organizations, and individuals to mitigate the
management of various usernames and passwords.  In a basic web SSO service, an agent module
on the application server retrieves the specific authentication credentials for an individual user
from a dedicated SSO policy server, while authenticating the user against a user repository such
as a lightweight directory access protocol (LDAP) directory. The service authenticates the end
user for all the applications the user has been given rights to and eliminates future password
prompts for individual applications during the same session. (SearchCloudComputing, 2020)

Screenshot for single sign on:


Multi factor authentication: Multifactor authentication is defined as using two or more factors
to achieve authentication. (SearchCloudComputing, 2020)

 Something a user knows (e.g., password/PIN);


 Something a user has (e.g., cryptographic identification device, token);
 Something a user is (e.g., biometric). A non-privileged account is defined as an
information system account with authorizations of a regular or non-privileged user.

Network access is defined as access to an information system by a user (or a process acting on
behalf of a user) communicating through a network (e.g., local area network, wide area network,
Internet). The lack of multifactor authentication makes it much easier for an attacker to gain
unauthorized access to a system.
Screenshot for multi factor authentication:

Data Storage on site or in cloud: A cloud database is a collection of informational content,


either structured or unstructured, that resides on a private, public or hybrid
cloud computing infrastructure platform. From a structural and design perspective, a cloud
database is no different than one that operates on a business's own on-premises servers. The
critical difference lies in where the database resides. Where an on-premises database is
connected to local users through a corporation's internal local area network (LAN), a cloud
database resides on servers and storage furnished by a cloud or database as a service (DBaaS)
provider and it is accessed solely through the internet. To a software application, for example,
a SQL database residing on-premises or in the cloud should appear identical.
(SearchCloudComputing, 2020)

How Cloud Databases Work

Cloud databases, like their traditional ancestors, can be divided into two broad categories:
relational and nonrelational. (SearchCloudComputing, 2020)

 A relational database, typically written in structured query language (SQL), is composed


of a set of interrelated tables that are organized into rows and columns. The relationship
between tables and columns (fields) is specified in a schema. SQL databases, by design,
rely on data that is highly consistent in its format , such as banking transactions or a
telephone directory. Popular cloud platforms and cloud providers
include MySQL, Oracle, IBM DB2 and Microsoft SQL Server. Some cloud platforms
such as MySQL are open sourced.

 Nonrelational databases, sometimes called NoSQL, do not employ a table model. Instead,


they store content, regardless of its structure, as a single document. This technology is
well-suited for unstructured data, such as social media content, photos and videos.

Screenshot for Data Storage on site or in cloud:

Role based Access: Role-based access (RBA) is an alternative to the all-or-nothing security
model of traditional superuser-based systems. The problem with the traditional model is not just
that superuser is so powerful but that other users are not powerful enough to fix their own
problems. RBAC provides the ability to package superuser privileges for assignment to user
accounts. With RBAC, you can give users the ability to solve their own problems by assigning
them packages of the appropriate privileges. Superuser's capabilities can be diminished by
dividing those capabilities into several packages and assigning them separately to individuals
sharing administrative responsibilities. RBA thus enables separation of powers, controlled
delegation of privileged operations to other users, and a variable degree of access control.
(SearchCloudComputing, 2020)

Feature of role base access:

 Authorization - A right that is used to grant access to a restricted function


 Execution profile (or simply profile) - A bundling mechanism for grouping authorizations
and commands with special attributes; for example, user and group IDs
 Role - A special type of user account intended for performing a set of administrative
tasks

RBA privileged operations:

 user_attr (extended user attributes database) - Associates users and roles with


authorizations and execution profiles
 auth_attr (authorization attributes database) - Defines authorizations and their attributes
and identifies the associated help file
 prof_attr (execution profile attributes database) - Defines profiles, lists the profile's
assigned authorizations, and identifies the associated help file
 exec_attr (profile execution attributes database) - Defines the privileged operations
assigned to a profile
Screenshot for Role based Access:

Conclusion: in this task firstly I will mention the different tools for monitoring and optimizing
system performance which is managing security and authentication. After that I would already
describe effectiveness of the system administration and management tools available on the
platform identifying any shortcomings of the tools. Than further improvements for continued
effectiveness of database system.
References:
1. LEARNTEK. (2020). Types of Databases | Database Models| Learntek.org. [online]
Available at: https://www.learntek.org/blog/types-of-databases/ [Accessed 5 Jan. 2020].
2. Edrawsoft.com. (2020). Explain the Differences Between DFD and ERD with Examples.
[online] Available at: https://www.edrawsoft.com/erdiagram/differences-dfd-erd.html
[Accessed 5 Jan. 2020].
3. ali, a. (2020). Black Box Testing: An In-depth Tutorial with Examples and Techniques.
[online] Softwaretestinghelp.com. Available at:
https://www.softwaretestinghelp.com/black-box-testing/ [Accessed 5 Jan. 2020].
4. Smartdraw.com. (2020). Data Flow Diagram - Everything You Need to Know About
DFD. [online] Available at: https://www.smartdraw.com/data-flow-diagram/ [Accessed 5
Jan. 2020].
5. Docs.oracle.com. (2020). Database Triggers. [online] Available at:
https://docs.oracle.com/cd/A57673_01/DOC/server/doc/SCN73/ch15.htm [Accessed 5
Jan. 2020].
6. SearchCloudComputing. (2020). What is cloud database? - Definition from WhatIs.com.
[online] Available at: https://searchcloudcomputing.techtarget.com/definition/cloud-
database [Accessed 5 Jan. 2020].
7. Tutorialspoint.com. (2019). Database Backup and Recovery. [online] Available at:
https://www.tutorialspoint.com/Database-Backup-and-Recovery [Accessed 5 jan. 2020].
8. Systems, G. (2019). What Is Database Security And Why Is It Important?. [online] GA
Systems. Available at: https://www.gasystems.com.au/database-security-important/
[Accessed 5 jan. 2020].
9. The MITRE Corporation. (2019). Assess the Design's Ability to Meet the System
Requirements. [online] Available at: https://www.mitre.org/publications/systems-
engineering-guide/se-lifecycle-building-blocks/system-design-and-development/assess-
the-designs-ability-to-meet-the-system-requirements [Accessed 5 jan. 2020].
10. Essential SQL. (2019). What is a Database Trigger? - Essential SQL. [online] Available
at: https://www.essentialsql.com/what-is-a-database-trigger/ [Accessed 5 jan. 2020].
11. Ye, R. (2019). What is multi-factor authentication/MFA? Why MFA can improve the
safety of password management database?. [online] PassXYZ. Available at:
https://passxyz.github.io/en/PxMFA1-en/ [Accessed 5 jan. 2020].
12. Docs.oracle.com. (2019). Overview of Database Provisioning. [online] Available at:
https://docs.oracle.com/cd/E24628_01/em.121/e27046/prov_db_overview.htm#EMLCM
11095 [Accessed 5 jan. 2020].
13. KeyCDN. (2019). The Path to Improving Database Performance - KeyCDN. [online]
Available at: https://www.keycdn.com/blog/database-performance [Accessed 5 jan.
2020].

You might also like