Introduction to DBMS
Contents:
•   Concept of Data
•   Database
•   DBMS
•   Types of Data Models
•   Types of DBMS
•   File system Vs DBMS
•   Database users
•   3T Database architecture
•   Data Independence
•   Purpose of Database System
•   Database Language
What is data?
• In common usage and statistics, data is a collection of discrete or
  continuous values that convey information, describing the quantity,
  quality, fact, statistics, other basic units of meaning, or simply
  sequences of symbols that may be further interpreted formally.
What is Database?
• A database is an organized collection of structured information, or
  data, typically stored electronically in a computer system. Data within
  the most common types of databases in operation today is typically
  modeled in rows and columns in a series of tables to make processing
  and data querying efficient. The data can then be easily accessed,
  managed, modified, updated, controlled, and organized. Most
  databases use structured query language (SQL) for writing and
  querying data.
What is DBMS?
• A database is usually controlled by a database management system (DBMS).
  Together, the data and the DBMS, along with the applications that are associated
  with them, are referred to as a database system, often shortened to just database.
• A database typically requires a comprehensive database software program known
  as a database management system (DBMS). A DBMS serves as an interface
  between the database and its end users or programs, allowing users to retrieve,
  update, and manage how the information is organized and optimized. A DBMS
  also facilitates oversight and control of databases, enabling a variety of
  administrative operations such as performance monitoring, tuning, and backup and
  recovery.
• Some examples of popular database software or DBMSs include MySQL,
  Microsoft Access, Microsoft SQL Server, FileMaker Pro, Oracle Database, and
  dBASE.
What is a MySQL database?
• MySQL is an open source relational database management system based
  on SQL. It was designed and optimized for web applications and can run on
  any platform. As new and different requirements emerged with the
  internet, MySQL became the platform of choice for web developers and
  web-based applications. Because it’s designed to process millions of
  queries and thousands of transactions, MySQL is a popular choice for
  ecommerce businesses that need to manage multiple money transfers. On-
  demand flexibility is the primary feature of MySQL.
• MySQL is the DBMS behind some of the top websites and web-based
  applications in the world, including Airbnb, Uber, LinkedIn, Facebook,
  Twitter, and YouTube.
Example of Hierarchical model
Example of Relational database
• In the above student table Std ID, Name and city are called as
  attributes and their values. Std ID is a primary key attribute which
  uniquely identifies each record in the student table.
The object oriented database is represented
in diagram format below −
Types of DBMS
The types of DBMS based on data model are as follows −
Relational database.
Object oriented database.
Hierarchical database.
Network database.
Basis                               DBMS Approach                                      File System Approach
                                                                                       The file system is a collection of data. In this
                                    DBMS is a collection of data. In DBMS, the user is
Meaning                                                                                system, the user has to write the procedures for
                                    not required to write the procedures.
                                                                                       managing the database.
                                    Due to the centralized approach, data sharing is     Data is distributed in many files, and it may be of
Sharing of data
                                    easy.                                                different formats, so it isn't easy to share data.
                                    DBMS gives an abstract view of data that hides the The file system provides the detail of the data
Data Abstraction
                                    details.                                           representation and storage of data.
Security and Protection             DBMS provides a good protection mechanism.           It isn't easy to protect a file under the file system.
                                                                                         The file system doesn't have a crash mechanism,
                                    DBMS provides a crash recovery mechanism, i.e.,
Recovery Mechanism                                                                       i.e., if the system crashes while entering some data,
                                    DBMS protects the user from system failure.
                                                                                         then the content of the file will be lost.
                                    DBMS contains a wide variety of sophisticated        The file system can't efficiently store and retrieve
Manipulation Techniques
                                    techniques to store and retrieve the data.           the data.
                                                                                         In the File system, concurrent access has many
                                    DBMS takes care of Concurrent access of data
Concurrency Problems                                                                     problems like redirecting the file while deleting
                                    using some form of locking.
                                                                                         some information or updating some information.
                                    Database approach used in large systems which        File system approach used in large systems which
Where to use
                                    interrelate many files.                              interrelate many files.
Cost                                The database system is expensive to design.          The file system approach is cheaper to design.
                                                                                         In this, the files and application programs are
                                    Due to the centralization of the database, the
                                                                                         created by different programmers so that there exists
Data Redundancy and Inconsistency   problems of data redundancy and inconsistency are
                                                                                         a lot of duplication of data which may lead to
                                    controlled.
                                                                                         inconsistency.
Structure               The database structure is complex to design.            The file system approach has a simple structure.
                        •In this system, Data Independence exists, and it can
                                                                                In the File system approach, there exists no Data
Data Independence       be of two types. Logical Data Independence
                                                                                Independence.
                        •Physical Data Independence
                                                                                Integrity Constraints are difficult to implement in file
Integrity Constraints   Integrity Constraints are easy to apply.
                                                                                system.
                        •In the database approach, 3 types of data models
                        exist: Hierarchal data models                           In the file system approach, there is no concept of
Data Models
                        •Network data models                                    data models exists.
                        •Relational data models
                        Changes are often a necessity to the content of the
                                                                                The flexibility of the system is less as compared to the
Flexibility             data stored in any system, and these changes are
                                                                                DBMS approach.
                        more easily with a database approach.
Examples                Oracle, SQL Server, Sybase etc.                         Cobol, C++ etc.
Database Users
Database users can be divided into the following types −
End Users
   Naive users / Parametric users
   Sophisticated users
Application Programmer or Specialized users or Back-End Developer
System Analyst
Database Administrator (DBA)
Temporary Users or Casual Users
 End Users/Parametric Users − These users access the database from the front end with the help of a pre-developed application.
  They have little knowledge about the design and working of databases.
There are two types of end users −
     Naive Users − These naive users are those users who don’t have any database knowledge. They depend on pre-developed
    applications like Bank Management Systems, Library Management Systems, Hospital Management Systems, and Railway Ticket
    Booking Systems(IRCTC) and get the desired result.
     Sophisticated Users − These users interact with the system without writing a program and have separate databases for personal
    use. In the database, the user passes each query to the query processor.
•     There are two ways to interact with a system −
•       They use the structure query language to run the query on the database.
•       They use the tool of data analysis software. For example, data engineers and data scientists are familiar with databases.
 Application programmers/Specialized programmers/Back-End Developer − These programmers write the
  code for an application program that uses the database. The application programmer can make the
  application according to user requirements and control software that runs an entire computer system. The
  application program is written in any programming language like C#, .net, JAVA, etc., and focuses on
  business, engineering, and science program.
Application Programmers are divided into four different types −
   Web Developers
   Computer Hardware Programmers
   Database Developers
   Software Developers
Examples of Application programmers develop software like −
• Content access software
• Educational Software
• Information Worker Software
• Media Development Software
• Product Engineering Software
• Enterprise Software
 System Analyst − A System Analyst has also known as a business technology analyst. These
  professionals are responsible for the design, structure, and properties of databases. The
  application programmer uses the specifications provided by the system analyst to construct the
  software that is used by end users. The analyst will gather information from the shareholders as
  well as end users to understand their requirements and translate it into functional specifications
  for the new system.
Examples of System Analysts −
 They serve as team leaders.
 They are responsible for managing projects.
 They are the supervisor who manages the lower-level information Staff.
Database Administrator (DBA) − The DBA is the group of people that includes everything
 required to manage and solve every complex. The DBA can easily use the database to
 find the information they need and to plan the goal of the database. To meet future
 needs, they are ready for future scope and provide solutions for end users. Therefore,
 they are known for high-level management.
For example −
 To handle the data loss.
 To secure the privacy of data.
 Monitor the recovery and backup of the database.
Temporary Users/Casual Users − These users utilize the database for
 testing and are only accessible for a limited time. According to
 business requirements, these users update a little or new information
 to the database with the help of a database administrator. It helps to
 maintain the security and integrity of data.
For example
High-level management people are temporary users with little
 knowledge of DBMS.
Types of DBMS Architecture
3-Tier Architecture
• The 3-Tier architecture contains another layer between the client and
  server. In this architecture, client can't directly communicate with the
  server.
• The application on the client-end interacts with an application server
  which further communicates with the database system.
• 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.
• The 3-Tier architecture is used in case of large web application.
Data Independence
• Data Independence is defined as a property of DBMS that helps you
  to change the Database schema at one level of a database system
  without requiring to change the schema at the next higher level. Data
  independence helps you to keep data separated from all programs
  that make use of it.
• You can use this stored data for computing and presentation. In many
  systems, data independence is an essential function for components
  of the system.
Purpose of Database System
1.   Efficient storage and retrieval
2.   Protecting confidential data
3.   Database systems prioritize the security of sensitive data
4.   Data backups and transaction management
Database Language
• Database language refers to the specific types of commands or
  instructions used to communicate with a database. It helps users or
  applications to create, manage, update, and retrieve data from a database.
  database language is like a set of tools that help you talk to and work with
  the data stored in a database.
• Types of Database Languages in DBMS
• There are different types of database languages, including DDL, DCL, DML,
  and TCL. Each category language is used for a different purpose Below I
  explain each category with proper examples.
•
DDL (Data Definition Language)
• The DDL stands for Data Definition Language, Which is used to define
  the database's internal structure and Pattern of the Database.
• The DDL is used for creating tables, indexes, constraints, and schema
  in the Database.
• By using DDL statements we can able to create the architecture of the
  required database.
• Below I list out types of database commands that are used in DDL. By
  using those queries we can able to perform the DDL on the Database.
Create: It is used to create objects in the database
Alter: It is used to change or alter the structure of the database
  objects
Drop: It is used to delete objects from the database
Truncate: It is used to remove all records from a table
Rename: It is used to rename the object in the database
Comment: It is used for comments on the data dictionary.
DCL (Data Control Language)
• The DCL stands for Data Control Language means these commands
  are used to retrieve the saved data from the database. And one more
  thing is the DCL execution is Transactional which means It has rollback
  parameters. we have two tasks under the Data Control Language
  below I listed them
Grant: It is used to give user access to the database
Revoke: It is used to take back access or permissions from the user
DML (Data Manipulation Language)
• The Data Manipulation Language is used to Manipulate the data in the database
  by using different commands. In this category we can able to perform Insert new
  data into Table, Update existing data in the Table, Delete Data from the Table, and
  other functions we can perform on data by using these DML commands. Below I
  listed those commands for your reference
Select: It is used to select data from the Table based on the requirements
Insert: It is used for Inserting data into an existing table
Update: It is used to update data in the Table based on the requirement
Delete: It is used to delete data from the Table
Merge: It is used for upsert operations
Call: It is used to call a structured query language or Java sub-program
Lock Table: It can control the concurrency
• The End.!!