Professional Documents
Culture Documents
4th Database Su PDF
4th Database Su PDF
Table of Contents
LO1: Analyze different types of database management systems .................................................................... 3
Introduction .................................................................................................................................................. 3
Presentation .................................................................................................................................................. 3
Conclusion.................................................................................................................................................. 12
LO2 Design a database management system using a relational model to meet client requirements ............ 13
Introduction ................................................................................................................................................ 13
Database Schema........................................................................................................................................ 19
Codes .......................................................................................................................................................... 26
Conclusion ..................................................................................................................................................... 43
LO4: Demonstrate the system administration and management tools available on the chosen platform
....................................................................................................................................................................... 44
Introduction.................................................................................................................................................... 44
1
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Security....................................................................................................................................................... 53
Conclusion ..................................................................................................................................................... 55
References...................................................................................................................................................... 56
2
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Introduction
Database is a structured collection of data stored which can be stored in digital form. An entity
relational model is an abstract and conceptual representation of data. A relational database (RDB) is a
collective set of multiple data sets organized by tables, records and columns.
In this part I am going to provide the presentation slide which will analyze different types of database
management system as well as do the compare and contrast between different types of database models.
Presentation
3
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
4
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
5
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
6
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
7
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
8
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
9
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
10
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
11
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Conclusion
In this task, I have provided all the slide screenshots with the description in the notes. I evaluated and
compared different database models, such as hierarchical data models, networks, entities and relational
models. The network model is rarely used today and the entity model is sometimes used because the
extended entity relationship diagram gives us more details. I also discovered that the most popular and
used data model is the relational model due to the various reasons I explained on the slides.
12
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
LO2 Design a database management system using a relational model to meet client requirements.
Produce a design for a relational database management system to meet client requirements.
Introduction
In this task, I am going to produce a design for relational database management system to meet client
requirement.
1. One to one
2. One to many
3. Many to many
One-to-One relationship is defined as the relationship between two tables where both the tables is
associated with each other based on only one matching row. One-to-Many relationship is a relationship
between two tables where a row from one table can have multiple matching rows in another table.
13
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Many-to-many relationship occurs when multiple records in a table are associated with multiple
records in another table.
To complete fully qualified ER diagram, various parts/features are required. It contains entities,
attributes and relationship. Entities are any definable thing or concept within a system. Person, object,
event, etc. Entity in ER models is rectangular shaped with two portion. Name goes to the top portion
whereas attributes on the lower portion. Another feature of the ER model is Attributes. Attributes (also
known as columns) are the property or characteristics of the entity that holds it. An attribute has a name
that describes the characteristics and a datatype that describes the kind of attribute it is (varchar for
names, int for numbers, etc.). Another part that complete ERD is relationship. Relationship between
entities signifies that those entities are associated to each other in some manner. The relationships is
presented as a connector connecting between the entities. Entities in the Assignment management
system
Teacher Student Subject
Faculty Assignment Session
Assignment Submission Status Activity Log
14
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
The relationship is shown between different entities. The rectangular shape is the name of the entity,
ellipses are their attributes and the diamond shape is the entities are various relationship. The
15
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
relationship shows that one entity is connected to other. Some of the tables has one to many relationship
and some has many to many relationship.
It is also known as context diagram. It’s designed to be an abstraction view, showing the system as a
single process with its relationship to external entities. It represent the entire system as single bubble
with input and output data indicated by incoming/outgoing arrows. The zero level data flow diagram
of any system should be designed in a way that it gives at a glance view of Teacher, Subject, Student
showing the system as single high level process with its relationship to external entities of assignment,
assignment submission.
16
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
In 1-level DFD, context diagram is decomposed into multiple bubbles/processes.in this level we
highlight the main functions of the system and breakdown the high level process of 0-level DFD into
sub processes.
17
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
2-level DFD
2-level DFD goes one step deeper into parts of 1-level DFD. It can be used to plan or record the
specific/necessary detail about the system’s functioning.
18
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Manage Session
Change details
Passwo
rd Manage roles Manage Manage Subject
of staff feedback details
Database Schema
“A database schema represents the logical configuration of all or part of a relational database. It can
exist both as a visual representation and as a set of formulas known as integrity constraints that govern
a database. These formulas are expressed in a data definition language, such as SQL. As part of a data
dictionary, a database schema indicates how the entities that make up the database relate to one another,
including tables, views, stored procedures, and more”. (Inc, 2019) A database schema typically shows
the different tables, their fields and the relationship between them and other tables.
19
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Class Diagram
“A class diagram is an illustration of the relationships and source code dependencies among classes in
the Unified Modeling Language (UML). In this context, a class defines the methods and variables in
an object, which is a specific entity in a program or the unit of code representing that entity. Class
diagrams are useful in all forms of object-oriented programming (OOP). The concept is several years
old but has been refined as OOP modeling paradigms have evolved.” (Rouse, 2019)
In a class diagram, the classes are arranged in groups that share common characteristics. A class
diagram resembles a flowchart in which classes are portrayed as boxes, each box having three
rectangles inside. The top rectangle contains the name of the class; the middle rectangle contains the
attributes of the class; the lower rectangle contains the methods, also called operations, of the class.
Lines, which may have arrows at one or both ends, connect the boxes. These lines define the
relationships, also called associations, between the classes. Below is the class diagram used in my
AMS.
20
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
21
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
In this task, I am going to create project report of the fully function Assignment Management System.
The assignment management system for PK college is a desktop application which is going to be
developed using .NET framework and going to use Visual Studio as my IDE. Since our customer
requirement is the desktop application, the design of the application is done using Windows modules.
The database used for this application is MS SQL, where I designed the database as shown below I
have provided the design of assignment management system forms.
Application Design
Login
22
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Dashboard
23
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Faculty Form
24
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Session Form
Subject Form
25
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Teacher Form
Codes
FacultyModel.cs
26
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
SessionModel.cs
27
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
SubjectModel.cs
28
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
TeacherModel.cs
IfacultyService.cs
29
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
ISessionService.cs
ISubjectService.cs
30
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
ITeacherService.cs
31
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
FacultyService.cs
32
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
33
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
SessionService.cs
34
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
SubjectService.cs
35
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
36
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
TeacherService.cs
37
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Faculty Table
Session Table
Subject Table
38
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Teacher Table
39
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
40
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
41
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
42
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Conclusion
In this task, have produced the lab report of the assignment management system. In the report I have
produced the design of the numerous Data flow diagram of different levels, database schema and class
diagram of assignment management system. After that I have shown the design of the said system with
their codes and screenshots.
43
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
LO4: 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.
Introduction
In the previous tasks, I have produced the presentation on the types of the database models and used
the model to complete the project. Then I produced the design for a relational database management
system to meet the client requirements. To complete the final part of my assignment I am going to
demonstrate the system administration and management tools available in my database software. I am
also going to assess the effectiveness of the system administration and those tools while identifying
the shortcomings also.
Windows environments come with a built-in monitoring tool called “Task Manager” that gives a bird’s
eye view of the running processes, CPU usage and memory. But, it doesn’t have advanced features
such as alerting and reporting.”
Some of the tools available in the system to monitor and optimize the system performance are:
Task Manager
“The Task Manager is an operating system component found in all versions of Microsoft
Windows since Windows NT 4.0 and Windows 2000. It allows you to view each of the tasks
44
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
(processes) and the overall performance of the computer. Using the Task Manager, you can view how
much memory a program is using, stop a frozen program, and view available system resources.” (Hope,
2019)
“The Microsoft Windows Performance Monitor is a tool that administrators can use to examine how
programs running on their computers affect the computer's performance. The tool can be used in real
time and also be used to collect information in a log to analyze the data at a later time.
45
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Process Monitoring
Apart from measuring the needs, inputs and outcomes of a program, evaluations also monitor the
process of a program. Program process monitoring “is the systematic and continual documentation of
the key aspects of program performance that assesses whether the program is performing as intended
or according to some appropriate standard.” Therefore, program process monitoring involves a
systematic and continuous way of monitoring certain aspects of a program’s process which would
indicate how well the program is performing, if at all. These activities help to facilitate the effective
management of the program because continuous assessment allows for regular feedback about the
program’s performance
Process Explorer
“The Process Explorer display consists of two sub-windows. The top window always shows a list of
the currently active processes, including the names of their owning accounts, whereas the information
displayed in the bottom window depends on the mode that Process Explorer is in: if it is in handle
mode you'll see the handles that the process selected in the top window has opened; if Process Explorer
46
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
is in DLL mode you'll see the DLLs and memory-mapped files that the process has loaded. Process
Explorer also has a powerful search capability that will quickly show you which processes have
particular handles opened or DLLs loaded.” (Russinovich, 2019)
The unique capabilities of Process Explorer make it useful for tracking down DLL-version problems
or handle leaks, and provide insight into the way Windows and applications work.
47
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Built-in functions
Built-in functions display snapshot statistics about SQL Server activity since the server was started;
these statistics are stored in predefined SQL Server counters. For example, @@CPU_BUSY contains
the amount of time the CPU has been executing SQL Server code; @@CONNECTIONS contains the
number of SQL Server connections or attempted connections; and @@PACKET_ERRORS contains
the number of network packets occurring on SQL Server connections.
DDBC
DBCC (Database Console Command) statements enable you to check performance statistics and the
logical and physical consistency of a database.
Database Experimentation Assistant (DEA) is a new A/B testing solution for SQL Server. It will assist
in evaluating a targeted version of the SQL Server Database Engine for a given workload. When
upgrading from a previous SQL Server versions (Starting with SQL Server 2005 (9.x)) to any newer
version of SQL Server, DEA will be able to provide comparative analysis metrics.
Error Logs
The Windows application event log provides an overall picture of events occurring on the Windows
Server and Windows operating systems as a whole, as well as events in SQL Server, SQL Server
Agent, and full-text search. It contains information about events in SQL Server that is not available
elsewhere. You can use the information in the error log to troubleshoot SQL Server-related problems.
Extended Events
48
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Extended Events is a light weight performance monitoring system that uses very few performance
resources. Extended Events provides three graphical user interfaces (New Session Wizard, New
Session and the XE Profiler) to create, modify, display, and analyze your session data.
System Monitor primarily tracks resource usage, such as the number of buffer manager page requests
in use, enabling you to monitor server performance and activity using predefined objects and counters
or user-defined counters to monitor events. System Monitor (Performance Monitor in Microsoft
Windows NT 4.0) collects counts and rates rather than data about the events (for example, memory
usage, number of active transactions, number of blocked locks, or CPU activity). You can set
thresholds on specific counters to generate alerts that notify operators.
The Activity Monitor in SQL Server Management Studio is useful for ad hoc views of current activity
and graphically displays information about:
Audit Logs
Auditing an instance of the SQL Server Database Engine or an individual database involves tracking
and logging events that occur on the Database Engine. SQL Server audit lets you create server audits,
which can contain server audit specifications for server level events, and database audit specifications
for database level events. Audited events can be written to the event logs or to audit files.
There are several levels of auditing for SQL Server, depending on government or standards
requirements for your installation. SQL Server Audit provides the tools and processes you must have
to enable, store, and view audits on various server and database objects.
You can record server audit action groups per-instance, and either database audit action groups or
database audit actions per database. The audit event will occur every time that the auditable action is
encountered.
49
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Audit logs vary between applications, devices, systems, and operating systems but are similar in that
they capture events which can show “who” did “what” activity and “how” the system behaved. An
administrator or developer will want to examine all types of log files to get a complete picture of
normal and abnormal events on their network. A log file event will indicate what action was attempted
and if it was successful. This is critical to check during routine activities like updates and patching,
and also to determine when a system component is failing or incorrectly configured.
1. User Accountability: A user is anyone who has access to the system. Implementing audit trails
promotes appropriate user behavior, which can prevent the introduction of viruses, improper
use of information, and unauthorized use or modifications. In addition, the user knows that
their actions are automatically recorded and tied to their unique identity.
2. Reconstruction of Events: When an investigation is warranted or triggered, the first step to
remediate a problem is knowing the "when,” the “how," and the "what" of the event. Visibility
into this information can aid in problem detection and prevent future occurrences of things such
as hacking, system failures, outages, or corruption of information.
3. Intrusion Detection: Audit trails aid in identifying suspicious behavior or actions. Unauthorized
access is a serious problem for most systems. Many regulations now have mandates for the
security of information and maintaining confidentiality. Protection also extends to intellectual
property, designs, personnel information, and financial records.
4. Other Problem Identification: Through real-time monitoring, you can use automated audit logs
to identify problems that indicate system implementation issues, operational issues, unusual or
suspicious activities, or system and operator errors.
Step 1: Open your database software and then in the object explorer then right click on the audit option
and click new audit.
50
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Step 2: After selecting create audit this dialog box will appear. Here provide the audit name and file
path as both are necessary. For other options we can perform as required for our system and then
click ok.
51
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Step 3: After filling the desired data in previous dialog box and clicking ok the audit will be
enabled.
52
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Security
“Database security refers to the collective measures used to protect and secure a database or database
management software from illegitimate use and malicious threats and attacks.
It is a broad term that includes a multitude of processes, tools and methodologies that ensure security
within a database environment.” (Techopedia, 2019)
Database security covers and enforces security on all aspects and components of databases. This
includes:
53
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
2. Database server
Database security is generally planned, implemented and maintained by a database administrator and
or other information security professional.
1. Restricting unauthorized access and use by implementing strong and multifactor access and
data management controls
2. Load/stress testing and capacity testing of a database to ensure it does not crash in a distributed
denial of service (DDoS) attack or user overload
3. Physical security of the database server and backup equipment from theft and natural disasters
4. Reviewing existing system for any known or unknown vulnerabilities and defining and
implementing a road map/plan to mitigate them
Authorization is permission given by the DBMS to use defined database resources and is based on
the authentication identifier and a record of the permissions the owner of that identifier has. The
identifier is recorded with the objects the user is allowed to access and the actions that can be performed
on those objects. These are recorded either as a separate security database or as part of the normal
system tables – accessible only to those with DBA privileges and higher.
Each SQL object has an owner. The owner has privileges on the objects owned. No other user can have
any privileges (or even know the object exists) unless the owner supplies the necessary permission. In
normal development, the DBA or system administrator will be the owner of the major assets. The
scheme is basically discretionary. You need to look at security in SQL more as a toolkit than a solution.
Access control in SQL is implemented by transactions using the GRANT statement. These associate
privileges with users and assets. Assets include data items (tables, views) and the privileges are the
responsibility of the asset owner.
54
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
Conclusion
In this way, I configured and discussed the tools available in the database server to monitor and
optimize the performance of the application and examine audit logs to complete the third and final part
of my assignment. I used various database management tools such as SQL Server Profiler, Audit Logs,
Extended Events etc. to model and protect the database, verify the faults and failures in the database.
Database protection techniques have also been used to defend and protected database or stored
procedures against unauthorized access, intentional or accidental attacks. Such monitoring tools
provide us with real-time tracking and data security by recording, logging, reviewing and advising of
policy violations without interfering with the performance of the applications. I have also addressed
the importance of database security and the ways to make the database more secure i.e. authorization,
authentication and access control.
55
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
References
Andrew, 2017. codeacademy. [Online]
Available at: https://www.codecademy.com/articles/what-is-rdbms-sql
[Accessed 02 November 2019].
Richard Earp, S. B., 1964. Foundation Of Database Design Series. In: Database Design Using
EntityRelationship Diagrams. USA: Aurbach Publications, pp. 24-25.
56
Sulav Kadel (HND / Fourth Semester)
Database Management System 2019
57
Sulav Kadel (HND / Fourth Semester)