Advanced Database
Advanced Database
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.
Assess how relational database models and the process of normalization can provide
reliable and efficient data structures.
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
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
Disadvantages
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 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.
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
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
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 based on −
Entities and their attributes.
Relationships among entities.
Mapping cardinalities −
o one to one
o one to many
o many to one
o many to many
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:
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.
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
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:
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.
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.
In 2nd NF:
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)
Rishabh Manish
Preeti Rohan
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.
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 AB and BC. From these FDs, we
may derive AC. This dependence AC is transitive. (Edrawsoft.com, 2020)
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
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.
Assignment
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
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
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)
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.
Level 0 Dfd:
Level 1 dfd:
For teacher:
Level 1 dfd for admin:
Level 1 dfd for student:
Level 2 DFD:
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
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)
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)
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)
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.
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:
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.
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:
3. Hardware Requirements:
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.
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
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.
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)
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)
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.
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)
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:
Cloud databases, like their traditional ancestors, can be divided into two broad categories:
relational and nonrelational. (SearchCloudComputing, 2020)
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)
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].