Final Dbms PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 90

2020

Database Management System

SUMITTED TO SHIVA PAUDEL


SAMJHANA THAPA (HND / FOURTH SEMESTER)

INTERNATIONAL SCHOOL OF MANAGEMENT AND TECHNOLOGY | Gairigaun Tinkune Kathmandu


Database Management System 2020

Table of Contents
Part1 ................................................................................................................................................. 3

Introduction ...................................................................................................................................... 3

Conclusion ...................................................................................................................................... 22

Part2 ............................................................................................................................................... 23

Introduction .................................................................................................................................... 23

Entity relationship diagram ............................................................................................................. 24

ER Diagram Symbols: .................................................................................................................... 28

Data Flow Diagram (DFD): ............................................................................................................ 29

Components of DFDs: .................................................................................................................... 29

Advantages of DFDs: ...................................................................................................................... 30

Rules of DFDs: ............................................................................................................................... 31

Levelling of DFDs: ......................................................................................................................... 31

Database Schema: ........................................................................................................................... 33

Class Diagram ................................................................................................................................ 34

Testing of system functionalities and performance .......................................................................... 50

Implementation of different features for database maintenance and security.................................... 60

Evaluation of effectiveness of designed system against client requirements..................................... 67

Prerequisite Specifications .............................................................................................................. 68

Benefits and Effectiveness of the system ......................................................................................... 68

Conclusion ...................................................................................................................................... 69

Part3 ............................................................................................................................................... 70

Introduction .................................................................................................................................... 70

System monitoring and optimizing tools ......................................................................................... 71

Effectiveness of database management tools ................................................................................... 81

Advantages of database management tools ...................................................................................... 82

Shortcomings of database management tools .................................................................................. 83

1
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Enhancement that can be done in the system: .................................................................................. 85

Conclusion ...................................................................................................................................... 85

References ...................................................................................................................................... 86

2
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Part1
Produce a presentation slides which analyze 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.

Introduction
Cosmos International College, a newly established educational organization established in the heart of
Mahendrapul, Pokhara provides the courses related to Management. Since there are limited number of
students they are maintaining all the information in a excel file. But currently they have set up the
library too and there is large number of books in the library. So the company has decided to develop
a web application to manage its library with some requirements of the software for managing the
library. Following requirements are as follow:

 An appropriate book entry system with relevant information of the books and its category. •
Appropriate management of the member information.
 Appropriate tracing for the books which have been issued and the books that needs to be
returned.
 Management of penalty/fine for the overdue books.
 Appropriate search ability for the books, members, books issued and the books returned.
 An appropriate dashboard for admin which gives the overview of how many books category
exist, the total number of available books, the total number of members, the total number of
books issued, the total penalty collected over the fiscal year.
 Secure and effective login system for the admin and the librarian with admin having full right
to access the system and the librarian being able only to view stock, issue books and accept
book returns.

In this part I am going to present a presentation slides which analyses different types of database
management system. I will compare and contrast the different types of database models. I will also
assess how the relational database models and the process of normalization can provide reliable and

3
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

efficient data structures. I am going to evaluate different database management systems available in
relation to open source and vendor-specific platforms with justification of criteria used in the
evaluation

4
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

5
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

6
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

7
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

8
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

9
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

10
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

11
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

12
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

13
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

14
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

15
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

16
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

17
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

18
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

19
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

20
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

21
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Conclusion
I have prepared slides on the given topic. In that slide I have compared different types of database
models. I have described about how relational database models access and how the process of
normalization provide reliable and efficient data structures. I have also evaluated the different database
management systems available in relation to open source and vendor-specific platforms.

22
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Part2
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
Cosmos International College, a newly established educational organization established in the heart of
Mahendrapul, Pokhara provides the courses related to Management. Since there are limited number of
students they are maintaining all the information in a excel file. But currently they have set up the
library too and there is large number of books in the library. So the company has decided to develop
a web application to manage its library with some requirements of the software for managing the
library. Following requirements are as follow:

 An appropriate book entry system with relevant information of the books and its category. •
Appropriate management of the member information.
 Appropriate tracing for the books which have been issued and the books that needs to be
returned.
 Management of penalty/fine for the overdue books.
 Appropriate search ability for the books, members, books issued and the books returned.
 An appropriate dashboard for admin which gives the overview of how many books category
exist, the total number of available books, the total number of members, the total number of
books issued, the total penalty collected over the fiscal year.
 Secure and effective login system for the admin and the librarian with admin having full right
to access the system and the librarian being able only to view stock, issue books and accept
book returns.

23
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

In this part I am going produce a design for a relational database management system to meet client
requirements. I will analyze how the design will optimize system performance. I am going to develop
a fully functional system which meets client and system requirements and I will use open source
language. I will also test the system for functionality and performance. I will implement effective
features in the solution to handle concurrency, security, user authorizations and data recovery. i am
going to evaluate the effectiveness of the system design and development against client and system
requirements.

Entity relationship diagram


An Entity Relationship diagram (ERD) shows the relationship among entity sets. An entity set is a
collection of similar entities and these entities can have attributes that define its properties (Anon.,
n.d.). In terms of Database Management System (DBMS), an entity is a table or attribute of a table in
database, so by showing relationship between tables and their attributes, it shows the complete logical
structure of a database. It contains different connectors and symbols that visualize two important
information: The major entities within the system scope, and the inter-relationships among these
entities.

Entity

Entities are represented by rectangles. An entity is a concept or an object about which you want to
store information. In library management system the entities are:

 Member
 Fine
 Author
 Subject
 Book
 Book issue return
 Book category
 Member category
 Assession mapping

24
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

A weak entity is an entity that must defined by a foreign key relationship with another entity which is
cannot be uniquely identified by its own attributes alone.

Attributes

Attributes are represented by ovals. It describes the properties of an entity. All attributes have values.
There are five types of attributes:

 Simple attributes
 Composite attributes
 Derived attributes
 Single-value attributes
 Multi-value attributes

Attributes of Member

 MemberID
 MemberName
 MemberAddress
 EmailAddress
 ContactNo
 UserName
 Password
 Status
 Remarks

Attributes of book

 BookId
 BookName
 AuthorID
 Remarks
 SubjectID

25
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 BookCategoryID

Attributes of fine

 FineID
 LastDays
 MemberID
 Amount
 Remarks
 MemberCategoryID

Attributes of BookIssuereturn

 BookIssueReturnID
 MemberID
 IssueDate
 DueDate
 ReturnDate
 LateDate
 FineAmount
 Remarks
 StaffMemberId
 Status
 AssessionID

Attributes of Author

 AuthorID
 AuthorName
 Description

Attributes of Subject

 SubjectID
 SubjectName
 Remarks

Attributes of MemberCategory

26
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 MemberCategoryID
 MemberCategoryName
 Remarks

Attributes of BookCategory

 BookCategoryID
 BookCategoryName
 Description

Attributes of Assession Mapping

 AssessionID
 BookID
 Status

Relationships between Entities:

In ER diagram a relationship is represented by diamond shape, it shows the relationship between


entities. There are four types of relationships:

 One-to-one

One entity from student can be associated with at most one entity of course and vice versa, the
cardinality is one to one.

 One-to-many

One entity from class can be associated with more than one entities of student however an entity from
student, can be associated with at most one entity, the cardinality is one to many.

27
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 Many-to-one

More than one entities from student can be associated with at most one entity of entity class, however
an entity from class can be associated with more than one entity from student, the cardinality is many
to one.

 Many-to-many

Entities from student can be associated with more than one entities from Faculty member and vice
versa, the cardinality is many to many.

ER Diagram Symbols:
 Rectangles box represent entities
 Circle represent attributes
 Diamond represents relationships

ER Diagram for Library Management System

28
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Data Flow Diagram (DFD):


A data flow diagram (DFD) demonstrate how the data is processed by a system in terms of inputs and
outputs. As the name indicates its focus is on the flow of information, where a data comes from, where
it goes and how it gets stored. It is used in my application to graphically represent the flow of data in
a library management information system. It can be divided into logical and physical. The logical
part describes flow of data through a system to perform certain functionality of an application
(Anon., n.d.). The physical part describes the implementation of the logical data flow.

Components of DFDs:
 External Entity:

An external entity can represent a human, subsystem or system. External entity an outside the system
that receives or sends data, communicating with the system being diagrammed. They are the
destinations and sources of information comes from or goes to the system. They might be an outside

29
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

person or organization, a management system or a computer system. For this reason, we use to draw
external entities on the edge of a diagram.

 Processes:

Process is a function where the transformation and manipulation of the data take place. It can be break
down into a finer level of details, to represents how the data is being processed within the process.

 Data Flows:

It represents the flow of information. The direction of flow are represented by an arrowhead that shows
at the end(s) of flow connector.

 Data Store:

It represents the storage of constant data required or/and produced by the process. Here are some
examples of data stores: database tables, membership forms, etc.

Advantages of DFDs:
 It is more beneficial for communicating existing system knowledge to the audience.
 It can provide detailed representation of system components.
 It can easily understand by both technical and non-technical audience.

30
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 DFD supports the logic behind how the data flow within the system.

The disadvantages of DFDs are as follows:

 It make the programmers little confusing regarding the system.


 DFD go through lot of alteration before going to users, so that makes the process little slow.
 Physical deliberations are left out.

Rules of DFDs:
 Each process must have at least one input and an output.
 Each data store must have at least one data flow in and out.
 A data stored in a system must have to go through a process.
 All processes in a DFD go to another process or a data store (Anon., n.d.).

Levelling of DFDs:
Data flow diagrams are categorized by different levels. The most basic is level 0, it gets increasingly
complex as the level increases. Data flow diagram (DFD) are drawn to represent the system of different
levels of abstraction (Anon., n.d.). The higher level DFDs are partitioned into low levels-hacking more
functional and information elements. In DFD levels are numbered 0, 1, 2 or beyond. Here, I will
describe mainly 3 levels in DFD, which are: 0-level DFD, 1-level DFD, and 2-level DFD.

 Level 0:

Level 0 is also known as context diagram and that are the most basic DFDs. Level 0 DFD are designed
to be an abstraction view, which shows the system as a single process node with its connections to
external entities (Anon., n.d.). The entire system represented as a single bubble with input and output
data indicated by incoming/outgoing arrows.

 Level 1:

31
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

In this level, level 0 (context diagram) is decomposed into multiple processes. Firstly we highlights
the main functions of the system and breakdown the high level process of context diagram into
subprocesses.

 Level 2:

It goes one step deeper into parts of level 1 DFD. It can be used to record or plan necessary/specific
detail about the system’s functioning.

32
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Database Schema:
A database schema is a logical and visual architecture of a database created on a DBMS (Anon., 2017).
The database schema provides a graphical view of the entire database structure and architecture. It
provides a means for logically displaying and grouping database objects such as their fields, different
tables, the relationship between them and the functions.

 Physical database schema:

This schema relates to the actual storage of data and its form of storage like indices, files, etc. It defines
how the data will be stored in a secondary storage (Anon., n.d.).

 Logical database schema:

It defines all logical constraints that needs to be applied on the data stored. It may defines views, tables
and integrity constraints.

33
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Class Diagram
A class diagram is a static diagram which represents the static view of an application. It describes the
operations and attributes of a class and also the constraints imposed on the system (Anon., n.d.). This
shows a collection of interfaces, classes, associations, constraints and collaborations. It is also known
as a structural diagram.

The purpose of class diagram are:

 It shows the static structure of classifiers in a system


 It is helpful for developers and team members too.
 Business Analysts also can use class diagrams to model systems from a business perspective
 It is Base for deployment and component diagrams

The class diagram of Library management system is shown below:

34
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Analyzation of design of relation database for optimization of system performance

A relational database is a set of formally described tables from which data can be reassembled or
accessed in many different ways without having to reorganize the database tables. The standard
application and user programming interface of a relational database is the Structured Query
Language (SQL). The Structured Query Language (SQL) is used to manipulate relational databases.
Each table, which is sometimes called a relation, in a relational database contains one or more data
categories in attributes or columns. Each row, also called a record or tuple, contains a unique instance
of data, or key, for the categories defined by the columns. Each table has a unique primary key, which
identifies the information in a table. The relationship between tables can then be set via the use
of foreign keys. A field in a table that links to the primary key of another table. The design of a

35
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

relational database is composed of four stages, where the data are modeled into a set of related tables.
The stages are:

 Define relations/attributes
 Define primary keys
 Define relationships
 Normalization

Database design involves classifying data and identifying interrelationships. The above diagrams, Data
Flow Diagram (DFD), database schema, class diagram and ER diagram are used to describe the real-
time systems. They are in pictorial form which can clearly explain the system performance and
workflow. The above design of library management system represent the structure and behavior of the
system. Using design of relation database helps to understand, analysis of the system.

The relational model design help in optimization of system performance by the following ways:

 It eliminates duplication data.


 It is flexible in nature, complex queries are easy for users to carry out.
 Multiple users can access the same database.
 It is secure to use, data in tables within a RDBMS can be limited to allow access by only
particular users.

The ER Diagrams are the best tools to communicate within the entire system. These diagrams are the
graphical representation of the flow of information and data. ER diagram is used in this application to
make data travel easy. The most essential benefit of ER diagram is that it offers a visual presentation
of the layout. Having an effective design provides assistance to the database designers to determine
the flow of data and working of the complete system. ER diagram in combination with data-flow
diagrams result in an effective visual representation.

Using database schema provides the opportunity to simplify administration of backup, restore and
security and database management by allowing database entities or objects, to be logically grouped
together. Schemas help to manage the logical entities separately from one another, but still allow
objects to work together where required. This helps in optimizing the system performance

Design of Library management system

36
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

The Library management system has been designed using C# programming language based on .NET
entity framework and visual studio as IDE. Firstly an application has been designed using database.
The database required for the Library management system has been designed in SQL server
management studio as the database management software. The design of Library management system
is presented below:

 Login

Logging in is the process by which an individual gains access to a computer system or an application
by identifying and authenticating themselves. The user credentials are typically some form of
"username" and a matching "password" and these credentials themselves are sometimes referred to
as a login. It is a welcoming point for new users as well as existing applicants. By providing the
username, password and usertype you can enter into the system by clicking on “Login” button.

 Dashboard

The "dashboard" is often displayed on a web page which is linked to a database that allows the report
to be constantly updated. A dashboard is an information management tool that visually analyzes,
tracks, and displays key performance indicators, metrics and key data points to monitor the department
or specific process. Behind the scenes, a dashboard connects to your folders, services, files, and
attachments, but on the surface displays all this data in the form of line charts, gauges, tables and bar
charts. Whatever page do you want to open with the help of one click, you can reach that page.

37
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 Subject

Subject holds the subject id, subject name and description. Admin can create new data into the system.
As well as admin can edit and delete the data.

38
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 Member

Member holds the description of member. Admin can create, edit and delete the member. Without
valid username and password member cannot able access the system.

39
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 MemberCategory

MemberCategory holds all the details about member. Admin can access the MemberCategory
page.

40
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 BookCategory

BookCategory holds all the details about books.

41
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 Fine

Fine holds all the details about collected fine amount and latedays record. Admin can access the fine
page to see collected amount.

42
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 Author

Author holds all the description about book author name.

43
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

44
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 AssessionMapping

AssessionMapping holds the book id and status detail.

45
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 Book

Book holds all the description about books. In book page we can find the details about available
books, authors, etc. It saves our time to find required book.

46
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

47
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 BookIssueReturn

BookIssueReturn holds all the details about book issue, return, late date. Admin and librarian can
access the BookIssueReturn page.

48
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

49
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Testing of system functionalities and performance


Fill the blank field to login to the system. After login you can see the dashboard of library management
system.

50
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Action

I have create
new author.

Result

The result is
displayed in the
screen.

51
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Action

I have edited
data in
BookCategory

Result

The result is
displayed in the
screen.

52
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Action

I have created
new data in
subject

Result

The result is
displayed in the
screen.

53
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Action

I have inserted
new data to
create
BookIssueRetur
n.

Result

The result is
displayed in the
screen.

54
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Action

I have edited
data in book

Result

The result is
displayed in the
screen.

55
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Action

I have created
new member

Result

The result is
displayed in the
screen.

56
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Action

I have inserted
data in subject

Result

The result is
displayed in the
screen.

57
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Action

I have inserted
data in
membercategor
y

Result

The result is
displayed in the
screen.

58
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Action

I have inserted
data in fine

Result

The result is
displayed in the
screen.

59
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Action

I have created
assession.

Result

The result is
displayed in the
screen.

Implementation of different features for database maintenance and security


Database maintenance are the method of ensuring that a database is developed and performing well. It
is an activity which is designed to keep a database running smoothly. Every database required ongoing
maintenance to protect poor application performance, data loss and system downtime.

Databases are used to maintain a large number of information in a well-organized, accessible format.
Generally they are not static, because changes are constantly being made as material is removed, added

60
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

and moved around. Users may also change the parameters within the database, decide to use different
indexing systems, and so forth. Over time, this may cause the database to start to malfunction.

Database maintenance is used to keep the database well organized and clean so that it will not lose
functionality. One of the important aspect of maintaining a database is backing up the data so, if
anything happens with our data, there will be another copy available. Some of the database systems
actually do this automatically, sending a backup to another location every day, every week, or within
any other set period of time. Backups are usually not enough, however. It includes looking for problem
areas, checking for signs of corruption in the database, removing duplicate records, rebuilding indexes,
and checking for any abnormalities in the database that might signal a problem (Anon., n.d.). The main
goal of database maintenance is to keep the database operating smoothly for users, so that the users
never need to think about maintenance issues.

Data protection and Database security, are closely regulated. Database security involves the use of a
broad range of information security controls to prevent databases (it includes the database application
or stored functions, the data, the database systems, the database servers and the associated network
links) against compromises of their sincerity, confidentiality and availability. It includes various types
of controls, such as technical, administrative/ procedural and physical.

Every company or organization collects any data about the suppliers or customer, it is stored
somewhere on a database. These data may be private or sensitive and can be subject to strict privacy
agreements including those referred to above. If any data is accessed by unauthorized party, sold to
third parties, or misused, the organization could be subject to strict legal action from the people whose
privacy has been compromised (Anon., 2018). That’s why the database security play main role in
database.

Database Maintenance

Database Maintenance is a term that is use to describe a set of tasks which are all run with the intention
to improve our database. There are routines meant to help performance, check for data errors, free up
disk space, update internal statistics, check for hardware faults, and many other obscure things.

1. Transactions

A transaction is defined as a group of tasks. A single task is the minimum processing unit which cannot
be divided further. In the context of a database, transaction is a logical unit that is independently
executed for data updates or retrieval (Anon., 2017). A transaction in a database system must

61
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

maintain Atomicity, Consistency, Isolation, and Durability they are commonly known as ACID
properties in order to ensure accuracy, completeness, and data integrity.

“A transactions are completed by COMMIT or ROLLBACK SQL statements, which indicates a


transaction is beginning or ending. The ACID acronym defines the properties of a database
transaction”.

2. Triggers

In a database a trigger is a stored procedure which is automatically invokes whenever a special event
occurs in the database (Anon., n.d.). “It can be defined to run instead of or after Data Manipulation
Language (DML) actions such as INSERT, UPDATE, and DELETE”. It helps the database designer
ensure certain actions, such as maintaining an audit file, are completed regardless of which program
or user makes changes to the data.

62
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

3. Stored Procedures

A stored procedure is a set of SQL statements with an assigned name, which are stored in a relational
database management system (RDMS) as a group, that’s why it can be shared and reused by multiple
programs (Rouse, n.d.). “If you have an SQL query that you write repeatedly, save it as a stored
procedure, and then just call it to execute it”. They are created to perform one or more Data
Manipulation Language (DML) operations on Database. It can be modify or access data in a database,
but not tied to a specific object or database, which offers a number of advantages.

63
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Database Security

Database security are used to protect data from unauthorized access. There are types of data security
methods in SQL server that I am going to describe:

 Data Backup and Recovery:

Data backup and recovery is the process of backing up data in case of a data loss and setting up the
systems that allow that data recovery due to data loss (Anon., 2017). Backing up data requires
archiving and copying computer data, so it is accessible in the case of data corruption or deletion. The
data from an earlier time may only be retrieved or recovered if it has been backed up. There are types
of back up I am going to describe:

I. Scheduled backups
This is the most important features in backup software. It allows completely eliminating manual
backups with all compressing, transferring, filtering to the storage, and other. It takes a lot of efforts
and time that’s why most of the people do not back up their data (Anon., n.d.). In scheduled backup
there are lots of options such as backup start time, set name, daily schedule and so on. You can see all
the options in figure which is given below:

64
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

65
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

II. Backup database as SQL server dumps

The backup database statement is used in SQL Server to create a full back up of an existing SQL
database.

Here you can see the backup of Library Management System:

 Authentication and authorization:

Authentication is defined as the process of logging on to the server by which a principal requests access
by submitting credentials that the server evaluates (Anon., 2017). “It establish the identity of the user
or process being authenticated”.

Authorization is defined as the process of determining which securable resources a principal can
access, and which operations are allowed for those resources (Anon., 2017).

66
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Evaluation of effectiveness of designed system against client requirements


The library management system was designed with using C# as programming based on .NET
framework using Visual Studio as IDE. SQL server management studio was used as the database
management tool for storing the data of library management system. The effectiveness of the designed
system was evaluated comparing with the client requirements.

67
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

The library management system is very easy and comfortable to use. Librarian can easily insert the
data into the system and also member can login to the system. According to the client requirements
the system was designed.

Prerequisite Specifications
The library management system has many requirements and demands that are needed to be fulfilled.
After analyzing the requirements using various methods and procedures. The system had various
limitations and bugs which are needed to be overcome. Following are the requirements:

 The entry of all Books


 The entry of all Members
 The entry of all Authors
 The entry of all Subjects
 The entry of all Fines
 The entry of all BookCategory
 The entry of all MemberCategory
 The entry of all AssessionMapping

Every software has specific goals, requirements and serves particular purposes. Each goal and purpose
translates a process or several processes that the software aims to solve or to automate. To deliver the
right software product, we should define well the software from the beginning. System requirement
documents every operation and dictates how software should behave, it can be as detailed as what a
button should do and should be as complete and correct as possible. The purpose of a specification
document is to describe the behavior as well as the different functionalities of an application or
software in a specific environment. System requires to evaluate properly to verify all the modules
would work properly or not. All the modules contain in the library management system such as
dashboard, login, member and book etc. worked smoothly and properly. The new data created
successfully in the database you can see clearly from above figure.

The library management system fulfilled client requirement successfully. The system can have
members, book detail, feedback form and dashboard to communicate about available books and other
query. As per the requirements of college the system fulfilled as planned.

Benefits and Effectiveness of the system


The benefits of using this system are:

68
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 It helps to manage and monitor all the library operations efficiently.


 It reduce mistakes that always happen during manual method.
 We cannot able to access into the system without valid username and password.
 To preserve and enter details of the various issues and keep track on their return.
 It saves time too.

Measure of Performance

There are three factors that are used to measure the performance of a system:

I. Speed

Speed of any application works by specifying a goal for how long a specific web request should take.
The web application of library Management system is working normally as the requirements of client.

II. Reliability

The software works without any failure or problem. This application does not create any downtime,
completely defect free, and performs correctly.

III. Security

This application is secure to use. The unauthorized parties cannot able access into the system. The
Data backup and recovery process are used in that system to backing up data in case of a data loss.

Conclusion
In this task I have designed for a relational database management system to meet client requirements.
I have also analyzed how the design will optimize system performance. I have developed a fully
functional system which meets client and system requirements by using an open source language. I
have also tested the system functionality and performance. I have implemented effective features in
the solution to handle concurrency, security, user authorizations and data recovery. I have also
evaluated the effectiveness of the system design and development against client and system
requirements.

69
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

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

Introduction
Cosmos International College, a newly established educational organization established in the heart of
Mahendrapul, Pokhara provides the courses related to Management. Since there are limited number of
students they are maintaining all the information in a excel file. But currently they have set up the
library too and there is large number of books in the library. So the company has decided to develop
a web application to manage its library with some requirements of the software for managing the
library. Following requirements are as follow:

 An appropriate book entry system with relevant information of the books and its category. •
Appropriate management of the member information.
 Appropriate tracing for the books which have been issued and the books that needs to be
returned.
 Management of penalty/fine for the overdue books.
 Appropriate search ability for the books, members, books issued and the books returned.
 An appropriate dashboard for admin which gives the overview of how many books category
exist, the total number of available books, the total number of members, the total number of
books issued, the total penalty collected over the fiscal year.
 Secure and effective login system for the admin and the librarian with admin having full right
to access the system and the librarian being able only to view stock, issue books and accept
book returns.

In this part I am going demonstrate the tools available in the system to monitor and optimize system
performance, and also examine the audit logs. I will also demonstrate about the tools available in the

70
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

system to manage security and authorizations. I am going to assess the effectiveness of the system
administration and management tools available on the platform identifying any shortcomings of the
tools. I will describe about the future improvements that may be required to ensure the continued
effectiveness of the database system.

System monitoring and optimizing tools


SQL Server monitoring is continuous analyzing and collection of performance, usage, and event
metrics for Microsoft SQL Server. It is the first step in optimizing performance for applications that
depend on your data platform. The most beneficial performance of monitoring delivers the means to
improve and measure SQL Server performance in one unified solution. It must also help us spot the
symptoms of stress and act before they become problems that affect the service, and understand better
what was happening within a database when an intermittent problem started.

 Error log

The current SQL Server error log is named ERRORLOG that contains error messages and information
related to the SQL Server attached and instance databases. The database administrator should examine
the log every day (Anon., n.d.). The following procedure are given below how to view the error log
with the Microsoft SQL Server Management Studio.

SN Steps Screenshots
1 In the object
explorer, expand
Management
SQL Server Logs
then click ok to
configure.

71
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

2 In configure SQL
Server Error Logs
box, you choose
from the two
options:
Log file size and
Log files count

3 After the configure


Server Error Log,
again expand
management 
right-click on SQL
Server Logs
select view click
on SQL Server Log.

72
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

4 Here you can see in


Log File viewer the
selected content of
files.

 Extended events

Extended Events gives the ability to collect and monitor different system and events information from
SQL Server and correlate these events for later analysis. Using Extended Events makes perform
analysis easier because all the data is collected in a single source. It provides two graphical user
interfaces to create, display, analyze and modify session data (Anon., 2019). These interfaces are
named:

 New Session Wizard


 New Session

73
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

SN Steps Screenshots
1 In object explorer,
expand
management

2 Expand Extended
Events

3 Right click on
Sessions you can
see New Session
Wizard, click on it.

74
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

4 This is a
introduction page.
Click next

5 Enter a name for the


session and specify
start-up.
I have named the
session
LibraryManagemen
tSystem and
optioned not to
schedule the session
to start at server
startup. Click on
next.

75
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

6 In this step, select


the do not use a
template option and
click next.

7 I have selected
database created in
Select Event To
Capture

76
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

8 Each event which


are select has its
own collection of
fields that can be
increased by adding
Global Fields,
which are the
actions captured for
all events in the
session.
Tick on
the Name of the
fields you require
and click next.

9 This step is to
consider limiting
the amount of data
which is retuned by
adding Session
Event Filters.

77
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

10 This is the final step


of configuring
Extended Event
Session which
configure Session
Data Storage.
Tick on Save data to
file for later
analysis, click Next.

11 Click finish

78
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

12 Here New Session


Wizard display the
success message.

 SQL server Profiler

SQL Server Profiler is a tools for recreating, tracing, analyzing and troubleshooting problems in SQL
server. All Events are saved in a trace file which can be later analyzed or used to replay a specific
series of steps when trying to diagnose a problem (Anon., 2018). Replay is useful to troubleshoot an
application. Anything changed in SQL Server will be traced by the SQL server Profiler. So it can be
used for database performance check. We also have "SQL Server Performance Monitor" to monitor
Server performance and monitor the System too.

SN Steps Screenshots
1 In SQL server,
click Tools
then right
click on SQL
Server
Profiler.

79
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

2 In the field of
trace name,
provide a
name of your
trace which is
based upon
SQL server.
Then select
run.

3 SQL Server
profiler is able
to trace all of
these events
and all these
events are
categories on
a
particular Eve
nt class.

80
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 Audit log

The SQL Server Audit object collects a single instance of server or database-level actions and groups
of actions to monitor. The audit is at the SQL Server instance level. You can have multiple audits per
SQL Server instance. When you define an audit, you specify the location for the output of the results.
This is the audit destination. The audit is created in a disabled state, and does not automatically audit
any actions. After the audit is enabled, the audit destination receives data from the audit (Anon., 2016).

SN Steps Screenshots

1 In object
Explorer,
expand the
security folder.
Expand the
Audits folder.
Right-click on
the audit log and
select View
Audit Logs.

Effectiveness of database management tools


Database management tools makes the task related to maintaining relational databases fast and
efficient. Prior to the popularity of these tools, most DBA’s had to use the command line to create,
edit, and delete databases. SQL Server Management Studio has a GUI that Windows OS users will
find straightforward, which has an innovative feature called Object Explorer that lets you select,
perform and browse tasks on database objects. It is the only tool you need for administering and

81
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

creating Microsoft SQL Server databases. In this application I have used many database tools which
has advantages as well as disadvantages. I will explain below.

Advantages of database management tools


Stored Procedures.

 It helps to improve security.


 It increased reliability and reduced development cost
 Stored procedures are stored and compiled, whenever we call a procedure the response is quick.
 Execution plan reuse and retention.
 It reduce network traffic

Transactions

 To maintain database atomicity, consistency, integrity and durability transactions are useful.
 Benefit of using transactions is speed.

Triggers

 It generates some derived column values automatically


 It implement referential integrity
 It controls security authorization and Prevent invalid transactions.
 It store information and Event logging on table access
 It is used to call stored procedures.

SQL Profiler

 It declare clearly how an instance works when it’s interacting with a client.
 It reduce troubleshoot problems by allowing us to capture and replay key events.
 It Allow non-administrator users to create traces securely.
 It compare activity to baselines.
 It capture traces for Analysis Services, Transact-SQL and SSIS.

Database Backup and Recovery

 Individual File Restoration


 Efficiency
 It can be done at a datafile or tablespace level.

82
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 It allows quick recovery to point-in-time.

Authentication and authorization

 It gives security to the system.


 It improves the performance when saving the security data or saving the system.

Shortcomings of database management tools


Stored Procedures

 It has limited coding functionality.


 Any data errors are not generated until runtime
 Some businesses will not allow developers access to the database at all, in that case it required
a separate DBA which increase cost.
 It is not portable.

Transactions

 If you do too much work in a transaction then the database engine can consume lots of space
storing.
 They should be used when performing multiple operations against one or more tables to allow
you to return the database to a consistent state in that case there is an error in one of the
operations.

Triggers

 Triggers are difficult to view in database.


 Execution of triggers are invisible to client-application. They can be traced in debugging code.
 It will be difficult to understand for new developers if there will no documentation available.
 Trigger makes system run slower because it run every time when the database fields are
updated.

SQL Profiler

 It will increase the load on Server.


 It creates network latency.

Database Backup and Recovery

83
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

 It required more training to handle the process.


 An online database backup is more error prone because of additional operator interaction

 If a single log is missing, a complete recovery becomes impossible so, you can recover only
up to the point of the missing archive log.

Authentication and authorization

 Authorized person need more attention while adding and removing data because if any mistake
happen it lead to loss data.

Performance:

The performance of an application depends on run time or how much it take to show result. The stored
procedures are compiled once and stored in executable form, so stored procedure calls are efficient
and quick. This minimizes the use of slow networks and reduces network traffic. We can take the
advantage of stored procedures in an application. Stored functions called from SQL statements
enhance performance by executing application logic within the server. So, the application do not take
any time to execute result.

 Scalability:

Scalability describes the ability of a process, software, network or organization to manage and grow
increased demand. The database scalability is the ability to scale up or scale out a database to allow it
to hold increasing amounts of data without sacrificing system performance. As the size of a RDMS
grows, an organizations may run into performance issues with their database technology and
infrastructure due to database scalability challenges. Library management system software has scalable
advantage because it is more adaptable to the changing demands or needs of its members or users. It
is scalable to records many data and information about members, books and so on. And stored
procedures increase scalability of an application by isolating application processing on the server.
Automatic dependency tracking for stored procedures aids the development of scalable applications.

 High availability

High availability is a term that define an application or website with maximum potential accessibility
and uptime for the content stored on it. While a basic system will be sufficient to serve content to a
medium or low number of users, it may include a single point of failure. That means if any one of

84
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

server goes down, whether due to traffic overload or any other issues, the entire application or site
could become unavailable. So the library management system with high availability avoid this
problem by eliminating single points of failure, which prevents application from going down when
one component fails.

 Security:

The more users access the data, the greater the risks of data security breaches. Corporations invest
considerable amounts of effort, money and time to ensure that corporate data are used properly. A
DBMS provides a framework for better enforcement of security policies and data privacy. It involves
the use of a broad range of information security controls to prevent databases (it includes the database
application or stored functions, the data, the database systems, the database servers and the associated
network links) against compromises of their sincerity, confidentiality and availability. It includes
various types of controls, such as technical, administrative/ procedural and physical. Only authorized
users are allowed to access the database and their identity are authenticated to use a username and
password. Unauthorized users are not able to access the database under any circumstances as it violates
the integrity constraints. All the data are kept in data backup and recovery, it saves data from data loss.

Enhancement that can be done in the system:


The system Enhancement means a material modification or enhancement to, any hardware,
application, functionality or system.

 Can add other field as per client or user requirements.


 Keep Software Versions Updated to enhance performance.
 Distribute Traffic with a Load Balancer

Conclusion
In this task I have demonstrated the tools available in the system to monitor and optimize system
performance, with audit logs. I have also demonstrated the tools available in the system to manage
security and authorizations. I have also explained the effectiveness of the system administration and
management tools available on the platform identifying any shortcomings of the tools. I have also
mentioned the future improvements that may be required to ensure the continued effectiveness of the
database system.

85
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

References
Anon., 2016. SQL Server Audit (Database Engine). [Online]
Available at: https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-
audit-database-engine?view=sql-server-ver15
[Accessed 04 03 2020].

Anon., 2017. Database Schema. [Online]


Available at: https://www.techopedia.com/definition/30601/database-schema
[Accessed 27 02 2020].

Anon., 2017. Definition - What does Backup and Recovery mean?. [Online]
Available at: https://www.techopedia.com/definition/24058/backup-and-recovery
[Accessed 02 03 2020].

Anon., 2017. Overview of SQL Server Security. [Online]


Available at: https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/overview-of-sql-
server-security
[Accessed 02 03 2020].

Anon., 2017. Overview of SQL Server Security. [Online]


Available at: https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/overview-of-sql-
server-security
[Accessed 02 03 2020].

Anon., 2017. Transaction. [Online]


Available at: https://www.techopedia.com/definition/16455/transaction
[Accessed 02 03 2020].

Anon., 2018. SQL Server Profiler. [Online]


Available at: https://docs.microsoft.com/en-us/sql/tools/sql-server-profiler/sql-server-
profiler?view=sql-server-ver15
[Accessed 04 03 2020].

Anon., 2018. What Is Database Security And Why Is It Important?. [Online]


Available at: https://www.gasystems.com.au/database-security-important/
[Accessed 02 03 2020].

86
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Anon., 2019. Circular Linked List Data Structure In C++ With Illustration. [Online]
Available at: https://www.softwaretestinghelp.com/circular-linked-list/
[Accessed 02 02 2020].

Anon., 2019. Extended events overview. [Online]


Available at: https://docs.microsoft.com/en-us/sql/relational-databases/extended-events/extended-
events?view=sql-server-ver15
[Accessed 04 03 2020].

Anon., n.d. Backup Scheduling: How to Provide Full Backup Tasks Automation. [Online]
Available at: https://www.handybackup.net/backup-scheduling.shtml
[Accessed 02 03 2020].

Anon., n.d. C++ Exception Handling. [Online]


Available at: https://www.tutorialspoint.com/cplusplus/cpp_exceptions_handling.htm
[Accessed 22 01 2020].

Anon., n.d. DBMS - Data Schemas. [Online]


Available at: https://www.tutorialspoint.com/dbms/dbms_data_schemas.htm
[Accessed 27 02 2020].

Anon., n.d. Dijkstra’s shortest path algorithm | Greedy Algo-7. [Online]


Available at: https://www.geeksforgeeks.org/dijkstras-shortest-path-algorithm-greedy-algo-7/
[Accessed 15 01 2020].

Anon., n.d. Full v.s. Complete Binary Trees. [Online]


Available at: https://web.cecs.pdx.edu/~sheard/course/Cs163/Doc/FullvsComplete.html
[Accessed 01 02 2020].

Anon., n.d. Levels in Data Flow Diagrams (DFD). [Online]


Available at: https://www.geeksforgeeks.org/levels-in-data-flow-diagrams-dfd/
[Accessed 27 02 2020].

Anon., n.d. Levels in Data Flow Diagrams (DFD). [Online]


Available at: https://www.geeksforgeeks.org/levels-in-data-flow-diagrams-dfd/
[Accessed 27 02 2020].

87
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

Anon., n.d. Linked List Operations. [Online]


Available at: https://www.programiz.com/dsa/linked-list-operations
[Accessed 15 01 2020].

Anon., n.d. SQL Trigger | Student Database. [Online]


Available at: https://www.geeksforgeeks.org/sql-trigger-student-database/
[Accessed 02 03 2020].

Anon., n.d. UML - Class Diagram. [Online]


Available at: https://www.tutorialspoint.com/uml/uml_class_diagram.htm
[Accessed 01 03 2020].

Anon., n.d. Viewing the Error Log with SQL Server Management Studio. [Online]
Available at: https://help.sap.com/doc/saphelp_ewm94/9.4/en-
US/4d/0ac3fe6dc25c4be10000000a42189e/content.htm?no_cache=true
[Accessed 04 03 2020].

Anon., n.d. What is a Data Flow Diagram. [Online]


Available at: https://www.lucidchart.com/pages/data-flow-diagram#section_3
[Accessed 27 02 2020].

Anon., n.d. What is an Entity Relationship Diagram (ERD)?. [Online]


Available at: https://www.smartdraw.com/entity-relationship-diagram/#ERDSymbols
[Accessed 27 02 2020].

Anon., n.d. What is Data Flow Diagram?. [Online]


Available at: https://www.visual-paradigm.com/guide/data-flow-diagram/what-is-data-flow-diagram/
[Accessed 27 02 2020].

Anon., n.d. What is Database Maintenance?. [Online]


Available at: https://www.wisegeek.com/what-is-database-maintenance.htm
[Accessed 02 03 2020].

Burleson, D., n.d. Encapsulation and Abstract Data Types (ADT). [Online]
Available at: http://www.dba-oracle.com/t_object_encapsulation_abstract.htm
[Accessed 05 02 2020].

88
Samjhana Thapa (HND / Fourth Semester)
Database Management System 2020

89
Samjhana Thapa (HND / Fourth Semester)

You might also like