You are on page 1of 27

ITM 22013

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

1) Discuss various Relational Database Management Systems available


on the market today. You might include its licensing, number of users,
etc.

2) Clearly explain the architecture of a Database Management System,


with necessary diagram.

3) Explain the levels of abstraction in a DBMS: i.e. External, Internal,


and Conceptual Schemas.
01. Discuss various Relational Database Management Systems available on the
market today. You might include its licensing, number of users, etc.

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.

Properties of Relational Tables


In a relational database, we have to follow the properties given below:
• Values are Atomic

• Each Row is alone.


• Column Values are the same thing.
• Columns are undistinguished.
• Sequence of Rows is Insignificant.

• Each Column has a common name.


Many database products implement the relational database model. They either use a SQL
database for processing or can at least process SQL statements for requests and database
updates. These databases range from small, desktop systems to massive cloud-based systems.
They can be either open source and internally supported, open source with commercial
support, or commercial closed-source systems. Here are a few of the more popular ones:

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:

• It is a relational database system like all other database systems are.


• Community server and proprietary server: it supports two different database editions.
• Multiple storage engines like InnoDB, CSV, NDB, etc to store data.
• It supports SQL, i.e. Structured Query Language that is a standard language to query and
update data along with its appropriate administration and management.
• MySQL executes under a variety of 20+ operating systems. Some significant ones are
Apple Mac OS X, Microsoft Windows, Linux and a wide range of UNIX variants.
• It is a fast database management program.
• It supports ODBC interface Connector/ODBC that permits MySQL to get addressed by all
the programming languages that run under Microsoft Windows, Visual Basics, Delphi,
etc.
• Triggers and views are used to enforce business rules, and it shows only that data which
is needed by the user.
• Licensing: GPL v2 or Proprietary
ii. PostgreSQL:
An object-relational database management system – PostgreSQL, founded 22 years ago on
July 8, 1996, is a product of the PostgreSQL Global Development Group that is written in C
language and operates in most Unix-like operating systems and Windows. The stable version
date of the software PostgreSQL 11.1 is November 8, 2018.

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

ix. Microsoft Access


Value proposition for potential buyers: Like other Microsoft Office applications, Access is
supported by Visual Basic for Applications (VBA), an object-based programming language that
can reference a variety of objects including DAO (Data Access Objects), ActiveX Data Objects,
and many other ActiveX components. Visual objects used in forms and reports expose their
methods and properties in the VBA programming environment, and VBA code modules may
declare and call Windows operating system operations.

Microsoft Access is a second-generation database management system (DBMS) that


combines the relational Microsoft Jet Database Engine with a graphical user interface and its
own set of software-development tools. It is a member of the Microsoft Office suite of
applications, included in the Professional and higher editions or sold separately. Microsoft
Access stores data in its own format based on the Access Jet Database Engine. It can also
import or link directly to data stored in other applications and databases.
• Access tables support a variety of standard field types, indices, and referential integrity
including cascading updates and deletes. Access also includes a query interface, forms
to display and enter data, and reports for printing. The underlying Jet database, which
contains these objects, is multi-user and handles record-locking.
• In addition to serving as its own database storage file, Microsoft Access also may be
used as the front end of a program while other products act as the backend tables, such
as Microsoft SQL Server and non-Microsoft products such as Oracle and Sybase.
Multiple backend sources can be used by a Microsoft Access Jet Database (ACCDB and
MDB formats).
• Similarly, some applications such as Visual Basic, ASP.NET or Visual Studio .NET will use
the Microsoft Access database format for its tables and queries. Microsoft Access may
also be part of a more complex solution, where it may be integrated with other
technologies such as Microsoft Excel, Microsoft Outlook, Microsoft Word, Microsoft
PowerPoint and ActiveX controls.
• Access tables support a variety of standard field types, indices, and referential integrity
including cascading updates and deletes. Access also includes a query interface, forms
to display and enter data, and reports for printing. The underlying Jet database, which
contains these objects, is multi-user and handles record-locking.
• In addition to serving as its own database storage file, Microsoft Access also may be
used as the front end of a program while other products act as the backend tables, such
as Microsoft SQL Server and non-Microsoft products such as Oracle and Sybase.
Multiple backend sources can be used by a Microsoft Access Jet Database (ACCDB and
MDB formats).
• Who uses it: Midrange to large enterprises.
In a nutshell, all the commercial, as well as free database management solutions, have their
advantages and disadvantages. Some might be very useful to us, whereas others might not be
suitable according to our requirements. Hence, the choice here matters about selecting the one
that best suits our criteria.
In today's world of technological growth, a considerable amount of data is stored, updated
and modified on a daily basis. So, the need for a qualitative software tool to manage is obvious
and is prone to grow in future as well.

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.

Types of DBMS Architecture

There are mainly three types of DBMS architecture:

• One Tier Architecture (Single Tier Architecture)


• Two Tier Architecture
• Three Tier Architecture
1-Tier Architecture
o 1 Tier Architecture in DBMS is the simplest architecture of Database in which the client,
server, and Database all reside on the same machine. A simple one tier architecture
example would be anytime you install a Database in your system and access it to
practice SQL queries. But such architecture is rarely used in production.
o In this architecture, the database is directly available to the user. It means the
user can directly sit on the DBMS and uses it.

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 Basically, a one-tier architecture keeps all of the elements of an application,


including the interface, Middleware and back-end data, in one place. Developers
see these types of systems as the simplest and most direct way.
2-Tier Architecture
o A 2 Tier Architecture in DBMS is a Database architecture where the presentation layer
runs on a client (PC, Mobile, Tablet, etc.), and data is stored on a server called the
second tier. Two tier architecture provides added security to the DBMS as it is not
exposed to the end-user directly. It also provides direct and faster communication.

o The 2-Tier architecture is same as basic client-server. In the two-tier


architecture, applications on the client end can directly communicate with the
database at the server side. For this interaction, API's like: ODBC, JDBC are
used.

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 To communicate with the DBMS, client-side application establishes a connection


with the server side.

o Two Tier Architecture Example: A Contact Management System created using


MS- Access.
3-Tier Architecture
o A 3 Tier Architecture in DBMS is the most popular client server architecture in DBMS in
which the development and maintenance of functional processes, logic, data access,
data storage, and user interface is done independently as separate modules. Three Tier
architecture contains a presentation layer, an application layer, and a database server.

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 The application on the client-end interacts with an application server which


further communicates with the database system.

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.

o The 3-Tier architecture is used in case of large web application.

o Three Tier Architecture Example: Any large website on the internet.


The Application layer resides between the user and the DBMS, which is responsible
for communicating the user's request to the DBMS system and send the response from
the DBMS to the user. The application layer(business logic layer) also processes
functional logic, constraint, and rules before passing data to the user or down to the
DBMS.

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.

An Architecture of DBMS helps in design, development, implementation, and maintenance of


a database.
The simplest database system architecture is 1 tier where the Client, Server, and Database all
reside on the same machine.
A two-tier architecture is a database architecture in DBMS where presentation layer runs on
a client and data is stored on a server.
Three-tier client-server architecture consists of the Presentation layer (PC, Tablet, Mobile,
etc.), Application layer (server) and Database Server.
3. Explain the levels of abstraction in a DBMS: i.e. External, Internal, and
Conceptual Schemas.

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.

There are mainly three levels of data abstraction:

1. Internal Level: Actual PHYSICAL storage structure and access paths.


2. Conceptual or Logical Level: Structure and constraints for the entire database
3. External or View level: Describes various user views
1. Internal Level/Schema

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.

Facts about Conceptual schema:


• Defines all database entities, their attributes, and their relationships
• Security and integrity information
• In the conceptual level, the data available to a user must be contained in or derivable
from the physical level
3. External Schema/Level
An external schema describes the part of the database which specific user is interested in. It
hides the unrelated details of the database from the user. There may be "n" number of external
views for each database.
Each external view is defined using an external schema, which consists of definitions of
various types of external record of that specific view.

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:

• This is the highest level of abstraction.

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

Advantages Database Schema


• You can manage data independent of the physical storage.

• Faster Migration to new graphical environments.


• DBMS Architecture allows you to make changes on the presentation level without
affecting the other two layers.
• As each tier is separate, it is possible to use different sets of developers.

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

Disadvantages Database Schema


• Complete DB Schema is a complex structure which is difficult to understand for every
one.

• Difficult to set up and maintain.


• The physical separation of the tiers can affect the performance of the Database.
• There are mainly three levels of data abstraction: Internal Level, Conceptual or Logical
Level or External or View level.
• The internal schema defines the physical storage structure of the database.
• The conceptual schema describes the Database structure of the whole database for the
community of users.
• An external schema describe the part of the database which specific user is interested
in.

• 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

You might also like