Database Languages and Interfaces
Database Languages and Interfaces
Database languages are specialized languages used to create, manipulate, and query
databases. They provide the means to define database schemas, insert, update, delete, and
retrieve data from databases.
SAVEPOINT Savepoint1;
ROLLBACK TO Savepoint1;
COMMIT;
Database Interfaces
Database interfaces provide the means through which users interact with a database. These
interfaces range from command-line interfaces to graphical user interfaces and APIs.
Graphical User Interface (GUI): Provides a graphical interface for users to interact with
the database, making it easier for non-technical users to manage and query data.
Example: phpMyAdmin for MySQL, pgAdmin for PostgreSQL, Microsoft SQL Server
Management Studio.
Web-Based Interface: Allows users to interact with the database through a web browser.
These interfaces are typically easier to access remotely. Example: Adminer, DBeaver,
Oracle APEX.
Embedded SQL: Embeds SQL statements directly within the code of a host programming
language.
Example: SQL statements within C/C++ code, PL/SQL for Oracle databases.
2. Software - The software component of the database environment includes all the software that
we require to access, store and regulate the database. DBMS software controls and regulates the
database. The application program and utilities access the database and if required you can even
manipulate the database.
3. People - there are different roles needed to help build the overall database environment. These
roles would include to system and database administrators, database designers, programmers,
analysts, and end users
System administrator - is in charge of setting up and managing the system and server.
They are needed to make sure there are no server crashes or any missing information
within the database
Database administrators ensure the physical database is working properly through
monitoring the performance and also managing security access.
Database designers and programmers - code all queries, relationships, and data and
make sure they are stored properly within the database management system.
Analysts - review all the data the designers and programmers have implemented.
end users- are the ones that utilize the database management system and make the
system more usable for other users.
4. Data
Data component include a collection of related data which are the known fact that can be
recorded and it has an implicit meaning in the database.
5. Procedures
The procedure component of the database environment is nothing but the function that regulates
and controls the use of the database.
System Utilities
Database system utilities are the tools that can be used by the database system administrator to
control and manage the database system.
1. Loading Utility
Loading database utility helps in loading the database file into the database. It efficiently
reformats the current format of data files to the format that is required by the destination database
file structure. Some loading programs or tools are specially designed for loading data from one
DBMS to another.
If you provide source database storage description and target database storage description to
these loading tools then it will automatically reformat the data files to target database storage
description.
2. Backup Utility
The backup utility in the database environment helps in creating a backup copy of the entire
database. Generally, the entire data of the database is copied to mass storage and we refer to it as
a backup copy. This backup copy can be used when there is a system failure or storage of your
system is corrupted.
You can always choose incremental backups which only record the changes from the previous
backup. Though the incremental backup requires a more complex algorithm it saves more space
as compared to regular backup.
Client/Server Architecture:
The concept of client/server architecture assumes
an underlying framework that consists of many
PCs as well as a smaller number of mainframe
machines, connected via LANs and other types of
computer networks.
A client in this framework is typically a user machine that provides user interface capabilities and
local processing.
A Server is a system which contains both Hardware and Software
which provides services to client Machines like file access, printing
and database access.
1) Two Tier Client/Server Architecture for DBMS:
Architecture has two layers, which are client layer and
Datalayer. In Client layer we have several Client machines
which can have the access to the database server.
2) Three-Tier client/server Architecture for DBMS: Here there
is an additional layer which acts as an intermediate between
Client layer and Datalayer called Business logic layer. Simply
the Client machines will contact Application Server which in
turn processes our Application Programs and fetches the
Required Data from Database and then sends this Information
back to the client machine in the suitable format only.
Advantages:
1) It is centralised, which means that all data and services are stored and managed in a
single place. This makes it easier to maintain, update, and secure the system.
2) It is cost-efficient, as it requires less hardware and software resources for the client side.
The client only needs a network connection and an application or web browser to access
the server.
3) It has high performance and low latency, as the server can handle many requests from
many clients simultaneously and efficiently.
Disadvantages
1) It has limited scalability, as it depends on the capacity and availability of the server. If
the server is overloaded or fails, the system may not function properly or at all.
2) It has high network dependency, as it relies on the network connection between the
client and the server. If the network is slow or disrupted, the system may experience
delays or errors.
3) It has complex architecture, as it involves multiple components and layers that need to
be designed, implemented, and coordinated. The system may also face challenges such as
security, synchronisation, and compatibility.
Classification of Database Management System
Database management systems can be classified based on several criteria, such as the data
model, user numbers and database distribution.
Client-server database system – This system has two logical components namely client and
server. Clients are generally the personal computers or workstations whereas servers are the large
workstations, mini range computers or a main frame computer system. Both server and client
computers are connected over the network.
Multi-tier client-server database system – The rise of personal computers in business has
increased the reliability of the network hardware leading to evolution of two-tier and three-tier
systems which use different software for the client and software.
Based on the cost
Low cost DBMS – The cost of these systems vary from $100 to $3000.
Medium cost DBMS – Cost varies from $10000 to $100000.
High cost DBMS – Cost pf these systems are usually more than $100000.
Online analytical processing(OLAP) DBMS – They use the operational data for tactical and
strategical decision making. They have limited users deal with huge amount of data, complex
queries.
Big data and analytics DBMS – To cope with big data new database technologies have been
introduced. One such is NoSQL (not only SQL) which abandons the well known relational
database scheme.
Multimedia DBMS – Stores data such as text, images, audio, video and 3D games which are
usually stored in binary large object.
Sensor DBMS – Allows to manage sensor data, bio-metric and telematics data.
Mobile DBMS – Runs on the smartphones, tablets. It Handles the local queries. Supports self
management( no DBA).
Open source DBMS – Code is publicly available and can be extended by anyone, popular for
small business applications.