Professional Documents
Culture Documents
DATABASE SYSTEM
SEU/IS/17/AT/180
2nd YEAR
2nd SEMESTER
1st ASSIGNMENT
DEADLINE -20.03.2021
COMPUTER UNIT
DEPARTMENT OF ICT
FACULTY OF ARTS AND CULTURE
SOUTH EASTERN UNIVERSITY OF SRILANKA
Questions
A database allows multiple users to maintain, update, and edit stored information quickly,
securely, and efficiently. That makes a database useful for a host of real-life cases such as
keeping track of corporate accounting records, storing huge amounts of data from a network of
IoT devices, tracking your company's inventory systems, or building a web application. There
are different types of modern databases available, each with a distinct set of advantages and
disadvantages.
In a relational database management system (RDBMS), the relationship between data is
relational and data is stored in tabular form of columns and rows. Each column of a table
represents an attribute and each row in a table represents a record. Each field in a table
represents a data value.
Structured Query Language (SQL) is the language used to query RDBMS, including inserting,
updating, deleting, and searching records. Relational databases work on each table that has a
key field that uniquely indicates each row. These key fields can be used to connect one table of
data to another.
An RDBMS is a type of database management system (DBMS) that stores data in a row-based
table structure which connects related data elements. An RDBMS includes functions that
maintain the security, accuracy, integrity and consistency of the data. This is different than the
file storage used in a DBMS.
A relational database organizes data into tables which can be linked—or related—based on
data common to each. This capability enables you to retrieve an entirely new table from data in
one or more tables with a single query. It also allows you and your business to better
understand the relationships among all available data and gain new insights for making better
decisions or identifying new opportunities.
For example, imagine your company maintains a customer table that contains company data
about each customer account and one or more transaction tables that contain data describing
individual transactions.
The columns (or fields) for the customer table might be Customer ID, Company Name,
Company Address, etc.; the columns for a transaction table might be Transaction Date,
Customer ID, Transaction Amount, Payment Method, etc. The tables can be related based on
the common Customer ID field. You can, therefore, query the table to produce valuable reports,
such as a consolidated customer statement.
Report generators take these queries and run them on demand to create formal reports.
Many of the documents businesses run to track inventory, sales, finance, or even perform
financial projections come from a relational database operating behind the scenes.
i. MySQL:
Developed by Oracle Corporation and written in C, C++ language, MySQL is a leading open
source and free database software system. Its stable version 8.0.13 released date is October 7,
2018.
MySQL is a common and easy to start a low-memory/disk/CPU database. It supports all the
basic SQL commands, along with transactions and Atomicity, Consistency, Isolation, Durability
(ACID) performance. MySQL is the most common database integrated with WordPress sites.
Features:
PostgreSQL is also open source. It provides enterprise features such as security, scalability,
and support for more automation through a command-line interface, as well as direct access
over the web. PostgreSQL supports stored procedures, which is a more complex programming
language built on top of SQL. Teams can use stored procedures to do data extraction,
transform, and load between systems. Examples of this use case include claims processing for
insurance processing and order processing for complex orders. Postgres also works with GIS or
Geo Server to store and save global information.
For a closer look, see also "Database Deep Dives: PostgreSQL."
Features:
• PostgreSQL software is compatible with the majority of platforms where you can use all
major languages and middleware.
• The locking mechanism it offers is quite sophisticated.
• It supports concurrency control to multiple levels.
• Its server-side programming functionality is very mature than other programs.
• It is compliant with the standards directed per ANSI SQL.
• Excellently supports architecture of the client-server network.
• SSL replication based on log and trigger functions.
• It makes high availability of the program with supporting the facility of stand by server.
• ANSI-SQL2008 compatible and object-oriented software.
• Support for JSON permits the software to get linked to other data stores as well.
• Who uses it: SMBs, midrange, edge servers, large enterprises
• Postgres License
iii. MariaDB:
A community developed relational database management software system – MariaDB,
language is C, C++, Bash and Perl languages. The stable version 10.3.12 of this free and open
source database management software has the date January 7, 2019. MariaDB Corporation AB
and MariaDB Foundation is the founding pillar behind it.
Features:
• MariaDB covers similar features to MySQL with some added extensions. We can regard
it as a new and advanced version of MySQL.
• It’s software licensing covers BSD, GPL, and LGPL licenses.
• The software involves a massive range of storage engines to work with the RDBMS data
source. High-performance storage engines are also there.
• The system uses a simplified and standard querying language.
• It supports a variety of operating systems and programming languages.
• It provides distinctive support for PHP which is one of the most popular languages for
web development.
• It offers Gulera cluster technology.
• It also offers a majority of commands and operations that are not available in MySQL
with eliminating the ones performing negatively.
• Licensing: GPL v2, LGPL (for client-libraries
iv. DB2
Created by IBM, DB2 is a database engine that has NoSQL capabilities, and it can read JSON
and XML files. Unsurprisingly, it's designed to be used on IBM's iSeries servers, but the
workstation version works on Windows, Linux and Unix.
The current version of DB2 is LUW is 11.1, which offers a variety of improvements. One, in
particular, was an improvement of BLU Acceleration, which is designed to make this database
engine work faster through data skipping technology. Data skipping is designed to improve the
speed of systems with more data than can fit into memory. The latest version of DB2 also
provides improved disaster recovery functions, compatibility, and analytics.
• Here is an update as of November 2020 for Db2: Version 11.5.5.0 is now available with
improvements that include an upgraded Db2 Warehouse engine.
• An important feature of Db2 systems is error handling. The SQL communications area
(SQLCA) structure was once used exclusively within a Db2 program to return error
information to the application program after every SQL statement was executed. The
primary, but not singularly useful, error diagnostic is held in the field SQLCODE within
the SQLCA block.
• IBM’s trademark, with a reputation built over decades of product development and
services, means a great deal in all data center system software and equipment.
• Who uses it: SMBs to large enterprises
v. FirebirdSQL:
FirebirdSQL is a free and open-source relational database management system. This cross-
platform application program is in C++ language and its stable version 3.0.4 release date is
October 4, 2018.
Features:
• Firebird supports all the major hardware and software platforms like Windows, Linux,
and Mac OS, etc.
• The multi-generational architecture of Firebird helps in developing and supporting
hybrid OLAP and OLTP applications.
• It provides complete support for triggers and stored procedures involving powerful and
developer-friendly SQL language.
• Referential integrity.
• It supports a large number of tools or options database connectivity like .NET, PHP, Perl
etc.
• Transactions are entirely ACID compliant.
• It includes some additional tools like replication tools and GUI administrative tools.
• Incremental backups.
• PSQL based full cursor implementation.
• Careful writes – fast recovery and avoiding the necessity for transaction logs.
• Licensing: IPL[10] and IDPL[11]
vi. SQLite:
SQLite is a C programming software library that works as an excellent relational database
management software system. The word ‘lite’ in the name indicates the lightweight nature of
the database administration, setup, and essential source. Developed by D. Richard Hipp on
August 17, 2000, the stable version release date of SQLite 3.26.0 is December 1, 2018.
Features:
• Before using, you don’t need to ‘install’ SQLite and also, no ‘setup’ procedure is
required. It is accessing just through simple download with zero-configuration
requirements.
• Majority of SQL database engines perform over separate server process. However, there
is no different server process for installing, setting up, configuring, managing, initializing
and troubleshooting the software program.
• A single ordinary disk file – SQLite database storage anywhere in the hierarchy of the
directory.
• The SQLite software supports cross-platform file format.
• The software is compact. The entire library optimizes to less than 500 KiB in size.
• Static typing format usable in most of SQL database engines. Whereas, this restriction is
a ‘no follow’ in case of SQLite with involving manifest typing.
• SQLite uses variable-length records. It only uses the amount of disk space required for
storing the information in a row.
• The SQLite source code is designed to read and access by the average level of
programmer.
• Compilation of the SQL statements into virtual machine code.
• Public domain based source code of SQLite brings no copyright claim from the
company’s end.
• SQLite provides a significant level of enhancements to the SQL language that generally
remains absent in other database engines.
vii. Microsoft SQL Server
As with other popular databases, you can select from a number of editions of Microsoft SQL
server. This database management engine works on cloud-based servers as well as local
servers, and it can be set up to work on both at the same time. Not long after the release of
Microsoft SQL Server 2016, Microsoft made it available on Linux as well as Windows-based
platforms.
Features:
• Microsoft has developed at least a dozen editions of Microsoft SQL Server, aimed at
different audiences and for workloads ranging from small single-machine applications to
large Internet-facing applications with many concurrent users. Thus it is by far the most
versatile deployment of MySQL available.
• SQL Server Enterprise Edition: This includes both the core database engine and add-on
services, with a range of tools for creating and managing a SQL Server cluster. It can
manage databases as large as 524 petabytes and address 12 terabytes of memory and
supports 640 logical processors (CPU cores).
• Standard Edition: SQL Server Standard edition includes the core database engine, along
with the stand-alone services. It differs from Enterprise edition in that it supports fewer
active instances (number of nodes in a cluster) and does not include some high-
availability functions such as hot-add memory (allowing memory to be added while the
server is still running), and parallel indexes. Web SQL Server Web Edition is a low-TCO
option for Web hosting.
• Business Intelligence: Introduced in SQL Server 2012 and focusing on Self Service and
Corporate Business Intelligence. It includes the Standard Edition capabilities and
Business Intelligence tools: PowerPivot, Power View, the BI Semantic Model, Master
Data Services, Data Quality Services and xVelocity in-memory analytics.
• Compatible with Oracle provides efficient management of workload and allows multiple
users to use the same database.
• Licensing
o Either by server or per seat
o Microsoft does offer unlimited access license
o Backoffice licensing - NT, SMS, SQL bundled
• Who uses it: SMBs, midrange, edge servers, large enterprises.
viii. Oracle RDMS
While Oracle’s frontline database system has been top of the line for a long time, the fact is
that The Company That Larry Built is feverishly pushing its clients–new and old–toward their DB
services in the cloud. On premises or not, the same high-end functionality is made available in
the Oracle RDMS along with the same ultra-tight security that the various U.S. government
three-letter agencies have sought to protect their often highly classified data loads.
Big, powerful and relatively expensive are terms often affiliated with Oracle’s enterprise
databases, and you generally get what you pay for.
• Oracle has dominated this category for more than three decades, and the company has
a 43-year history in the business. Oracle has engineered its database hardware and
software to work together—in the cloud and in the data center. The company contends
that this eliminates complexity and simplifies IT in general. It’s generally correct, but
users must be cautioned that they can get locked into a single-vendor system that can
be difficult to change later on, should use cases and circumstances evolve.
• As a company that pooh-poohed cloud systems early on, it is now an aggressive seller of
cloud-based DBMS systems to go with its Exadata data center servers. Times have
indeed changed, and Oracle has indeed changed with the times.
• For customers needing modular solutions, Oracle’s open architecture and multiple
operating system options provide unmatched benefits from best-of-breed products in
every layer of the stack. This allows customers to build the most optimized
infrastructure possible for their enterprise.
Key values/differentiators:
• Oracle SQL’s Unix-based database management systems, in person and in the cloud,
offer the flexibility of choosing to run an enterprise database inside any operating
system. Dedicated languages are only compatible with operating systems from the same
manufacturer. For example, you can only run Microsoft SQL Server on a Windows-based
machine. In comparison, you can install Oracle SQL on a Unix server and benefit from
the reliability of Unix while keeping the standardization of SQL.
• Unix is less vulnerable to many common computer viruses, which keeps information
secure.
• Oracle SQL is also backward-compatible, so users have the option of upgrading in the
future without losing any data.
• Licensing
o concurrent or named
o per cpu/per app
o network license
o web based -32 license
• This means that physical data management has no effect on access to logical structures.
Additionally, security in this release is excellent because each transaction is isolated
from others.
• Who uses it: Midrange to large enterprises
Demands for free and open-source database management software solutions are immensely
rising in the market. The competition prevailing in today's market environment is making every
tool to try best regarding their features to attract more and number of users keeping in mind
their price and usage.
These software tools have shown an excellent cost-saving approach and are now immensely
preferred by their users due to the practical solutions they impart.
The critical point to consider here is that the open-source products come with some
exceptional benefits. They comprise a wealth of data available through the entire community.
This way, you can easily find out how you can tweak an open source database to get better
scaling or what the limitations actually are, and how well you can work around them.
You can hardly find this kind of information with proprietary databases, where all the
activities you do and the capabilities you show are tightly controlled by the vendor.
2. Clearly explain the architecture of a Database Management System, with
necessary diagram
Any software should have a design structure of it’s functionality i.e. the architecture which
defines about it’s inside view, likewise there is a database architecture in DBMS.
A Database Management system is not always directly available for users and applications to
access and store data in it. A Database Management system can be centralised(all the data
stored at one location), decentralised(multiple copies of database at different locations) or
hierarchical, depending upon its architecture.
Database architecture uses programming languages to design a particular type of software
for businesses or organizations. Database architecture focuses on the design, development,
implementation and maintenance of computer programs that store and organize information
for businesses, agencies and institutions. A database architect develops and implements
software to meet the needs of users.
The design of a DBMS depends on its architecture. It can be centralized or decentralized or
hierarchical. The architecture of a DBMS can be seen as either single tier or multi-tier. An n-tier
architecture divides the whole system into related but independent n modules, which can be
independently modified, altered, changed, or replaced.
o Any changes done here will directly be done on the database itself. It doesn't
provide a handy tool for end users.
o The 1-Tier architecture is used for development of the local application, where
programmers can directly communicate with the database for the quick
response.
o The user interfaces and application programs are run on the client-side.
o The server side is responsible to provide the functionalities like: query processing
and transaction management.
o The 3-Tier architecture contains another layer between the client and server. In
this architecture, client can't directly communicate with the server.
o End user has no idea about the existence of the database beyond the application
server. The database also has no idea about any other user beyond the
application.
This architecture has different usages with different applications. It can be used in
web applications and distributed applications. The strength in particular is when using
this architecture over distributed systems.
• Database (Data) Tier − At this tier, the database resides along with its query
processing languages. We also have the relations that define the data and their
constraints at this level.
• Application (Middle) Tier − At this tier reside the application server and the
programs that access the database. For a user, this application tier presents an
abstracted view of the database. End-users are unaware of any existence of the
database beyond the application. At the other end, the database tier is not aware
of any other user beyond the application tier. Hence, the application layer sits in
the middle and acts as a mediator between the end-user and the database.
• User (Presentation) Tier − End-users operate on this tier and they know
nothing about any existence of the database beyond this layer. At this layer,
multiple views of the database can be provided by the application. All views are
generated by applications that reside in the application tier.
Database Management System(DBMS) gives abstract view of the data. DBMS is a s collection
of interrelated data and set of program(softwares) to access interrelated data. Data hiding is
called as data abstraction. Database Management System tries to hides details of how the data
is stored and maintained, implementation details of the database and complexity of the
database.
Only a part of the database is shown to a user. Actually it hides the complexity and
irrelavantites of the data to the basic user as the user does not know about data structures,
coding, and binaries etc and also many users are not computer-trained. The main purpose of
the database management system is to provide the abstract view of the data to the end user.
Database systems comprise of complex data structures. Thus, to make the system efficient
for retrieval of data and reduce the complexity of the users, developers use the method of Data
Abstraction.
The internal schema defines the physical storage structure of the database. The internal
schema is a very low-level representation of the entire database. It contains multiple
occurrences of multiple types of internal record. In the ANSI term, it is also called "stored
record'.
It describes how the data is actually stored and it describes data structures in detail and
access methods used by database . Database developer will decide how the data is to be stored
in the database. It is really complex to understand. If we want to have indices to be created
above the data that also will be decided by the database application programmer. The entire
database is described over here in detail in this level.
Suppose we need to store the details of an employee. Blocks of storage and the amount of
memory used for these purposes is kept hidden from the user.
Facts about Internal schema:
• The internal schema is the lowest level of data abstraction
• It helps you to keeps information about the actual representation of the entire
database. Like the actual storage of the data on the disk in the form of records
• The internal view tells us what data is stored in the database and how
• It never deals with the physical devices. Instead, internal schema views a physical device
as a collection of physical pages
2. Conceptual Schema/Level
The conceptual schema describes the Database structure of the whole database for the
community of users. This schema hides information about the physical storage structures and
focuses on describing data types, entities, relationships, etc.
describes what data is stored and reveals the relationships that exists among the stored data.
It tried to describe the entire data. It means what tables to be created and what are the links
are between these tables are mentioned in this level. This is less complicated than the physical
level. Little bit of complexity over here as well. But, it is not that much like at the physical level.
This level is used by database administrators or developer. In short, the logical level contains
fields and attributes along with the datatypes and the relationships among the attributes which
can be logically implemented
Example:
Let us take an example where we use the relational model for storing the data. We have to
store the data of a student, the columns in the student table will be student_name, age,
mail_id, roll_no etc. We have to define all these at this level while we are creating the
database. Though the data is stored in the database but the structure of the tables like the
student table, teacher table, books table, etc are defined here in the conceptual level or logical
level. Also, how the tables are related to each other are defined here. Overall, we can say that
we are creating a blueprint of the data at the conceptual level.
There are different level of views in view level and each view tries to describe only a part of a
entire data. It simplifies the interaction with the user since it provides the different views of the
same database. It also provides multiple views for the same database. This level can be used by
the all levels’ users of the database. End-user does not have knowledge of implementation
details of Database management system. If user does not know anything about complexity of
database application then that user is called as a naive user. This level is the least complex in
the all of these levels. This level is really easy to understand.
Example:
If we have a login-id and password in a university system, then as a student, we can view our
marks, attendance, fee structure, etc. But the faculty of the university will have a different
view. He will have options like salary, edit marks of a student, enter attendance of the students,
etc. So, both the student and the faculty have a different view. By doing so, the security of the
system also increases. In this example, the student can't edit his marks but the faculty who is
authorized to edit the marks can edit the student's marks. Similarly, the dean of the college or
university will have some more authorization and accordingly, he will has his view. So, different
users will have a different view according to the authorization they have.
An external view is just the content of the database as it is seen by some specific particular
user. For example, a user from the sales department will see only sales related data.
Facts about external schema:
• An external level is only related to the data which is viewed by specific end users.
• This level includes some external schemas.
• External schema level is nearest to the user.
• The external schema describes the segment of the database which is needed for a
certain user group and hides the remaining details from the database from the specific
user group.
Here, are some Objectives of using Three schema Architecture:
• Every user should be able to access the same data but able to see a customized view of
the data.
• The user need not to deal directly with physical database storage detail.
• The DBA should be able to change the database storage structure without disturbing the
user's views.
• The internal structure of the database should remain unaffected when changes made to
the physical aspects of storage.
• It is more secure as the client doesn't have direct access to the database business logic.
• In case of the failure of the one-tier no data loss as you are always secure by accessing
the other tier.
• DBMS Architecture allows you to make changes on the presentation level without
affecting the other two layers.
REFERENCE
✓ https://www.guru99.com/what-is-dbms.html
✓ https://www.c-sharpcorner.com/UploadFile/65fc13/types-of-database-management-
systems/
✓ https://www.eweek.com/database/top-vendors-of-database-management-software-
for-2021/
✓ https://www.tutorialspoint.com/dbms/dbms_architecture.htm
✓ https://www.studytonight.com/dbms/architecture-of-database.php
✓ https://afteracademy.com/blog/what-is-data-abstraction-in-dbms-and-what-are-its-
three-levels
✓ https://www.tutorialcup.com/dbms/database-abstraction.htm