DATABASE CONCEPT-NOTES
DATABASE CONCEPT-NOTES
DATABASE CONCEPT-NOTES
In simple words, data can be facts related to any object in consideration. For example, your
name, age, height, weight, etc. are some data related to you. A picture, image, file, pdf, etc.
can also be considered data.
What is Database?
A database is a systematic collection of data. They support electronic storage and
manipulation of data. Databases make data management easy.
Let us discuss a database example: An online telephone directory uses a database to store
data of people, phone numbers, and other contact details. Your electricity service provider
uses a database to manage billing, client-related issues, handle fault data, etc.
Let us also consider Facebook. It needs to store, manipulate, and present data related to
members, their friends, member activities, messages, advertisements, and a lot more. We can
provide a countless number of examples for the usage of databases.
Types of Databases
Here are some popular types of databases.
Distributed databases:
A distributed database is a type of database that has contributions from the common database
and information captured by local computers. In this type of database system, the data is not
in one place and is distributed at various organizations.
Relational databases:
This type of database defines database relationships in the form of tables. It is also called
Relational DBMS, which is the most popular DBMS type in the market. Database example of
the RDBMS system include MySQL, Oracle, and Microsoft SQL Server database.
Object-oriented databases:
This type of computers database supports the storage of all data types. The data is stored in
the form of objects. The objects to be held in the database have attributes and methods that
define what to do with the data. PostgreSQL is an example of an object-oriented relational
DBMS.
Centralized database:
It is a centralized location, and users from different backgrounds can access this data. This
type of computers databases store application procedures that help users access the data even
from a remote location.
Open-source databases:
This kind of database stored information related to operations. It is mainly used in the field of
marketing, employee relations, customer service, of databases.
Cloud databases:
A cloud database is a database which is optimized or built for such a virtualized environment.
There are so many advantages of a cloud database, some of which can pay for storage
capacity and bandwidth. It also offers scalability on-demand, along with high availability.
Data warehouses:
Data Warehouse is to facilitate a single version of truth for a company for decision making
and forecasting. A Data warehouse is an information system that contains historical and
commutative data from single or multiple sources. Data Warehouse concept simplifies the
reporting and analysis process of the organization.
NoSQL databases:
NoSQL database is used for large sets of distributed data. There are a few big data
performance problems that are effectively handled by relational databases. This type of
computers database is very efficient in analyzing large-size unstructured data.
Graph databases:
A graph-oriented database uses graph theory to store, map, and query relationships. These
kinds of computers databases are mostly used for analyzing interconnections. For example,
an organization can use a graph database to mine data about customers from social media.
OLTP databases:
OLTP another database type which able to perform fast query processing and maintaining
data integrity in multi-access environments.
Personal database:
A personal database is used to store data stored on personal computers that are smaller and
easily manageable. The data is mostly used by the same department of the company and is
accessed by a small group of people.
Multimodal database:
The multimodal database is a type of data processing platform that supports multiple data
models that define how the certain knowledge and information in a database should be
organized and arranged.
Document/JSON database:
In a document-oriented database, the data is kept in document collections, usually using the
XML, JSON, BSON formats. One record can store as much data as you want, in any data
type (or types) you prefer.
Hierarchical:
This type of DBMS employs the “parent-child” relationship of storing data. Its structure is
like a tree with nodes representing records and branches representing fields. The windows
registry used in Windows XP is a hierarchical database example.
Network DBMS:
This type of DBMS supports many-to-many relations. It usually results in complex database
structures. RDM Server is an example of database management system that implements the
network model.
Database Components
Database Components
Hardware:
The hardware consists of physical, electronic devices like computers, I/O devices, storage
devices, etc. This offers the interface between computers and real-world systems.
Software:
This is a set of programs used to manage and control the overall database. This includes the
database software itself, the Operating System, the network software used to share the data
among users, and the application programs for accessing data in the database.
Data:
Data is a raw and unorganized fact that is required to be processed to make it meaningful.
Data can be simple at the same time unorganized unless it is organized. Generally, data
comprises facts, observations, perceptions, numbers, characters, symbols, images, etc.
Procedure:
Procedure are a set of instructions and rules that help you to use the DBMS. It is designing
and running the database using documented methods, which allows you to guide the users
who operate and manage it.
Database Access language is used to access the data to and from the database, enter new data,
update already existing data, or retrieve required data from DBMS. The user writes some
specific commands in a database access language and submits these to the database.
Charles Bachman’s Integrated Data Store (IDS) is said to be the first DBMS in history. With
time database, technologies evolved a lot, while usage and expected functionalities of
databases increased immensely.
Advantages of DBMS
• DBMS offers a variety of techniques to store & retrieve data.
• DBMS serves as an efficient handler to balance the needs of multiple applications
using the same data.
• Uniform administration procedures for data.
• Application programmers never exposed to details of data representation and storage.
• A DBMS uses various powerful functions to store and retrieve data efficiently.
• Offers Data Integrity and Security.
• The DBMS implies integrity constraints to get a high level of protection against
prohibited access to data.
• A DBMS schedules concurrent access to the data in such a manner that only one user
can access the same data at a time.
• Reduced Application Development Time.
Disadvantage of DBMS
DBMS may offer plenty of advantages but, it has certain flaws-
• Cost of Hardware and Software of a DBMS is quite high which increases the budget
of your organization.
• Most database management systems are often complex systems, so the training for
users to use the DBMS is required.
• In some organizations, all data is integrated into a single database which can be
damaged because of electric failure or database is corrupted on the storage media.
• Use of the same program at a time by many users sometimes lead to the loss of some
data.
• DBMS can’t perform sophisticated calculations.
DBMS RDBMS
It deals with small quantity of data. It deals with large amount of data.
DBMS RDBMS
Data redundancy is common in this model. Keys and indexes do not allow Data redundancy.
Low software and hardware necessities. Higher software and hardware necessities.
What is SQL?
SQL was initially developed at IBM by Donald D. Chamberlin and Raymond F. Boyce after
learning about the relational model from Edgar F. Codd in the early 1970s.
It enables performing several operations such as creating, deleting, modifying, and fetching
entries in the database and some other advanced statistical, arithmetic, and mathematical
operations. Let us try understanding the basics of SQL now.
It is also designed for stream processing in RDBMS. You can easily create and manipulate
the database, access and modify the table rows and columns, etc. It is used in relational
database management systems such as MySql, MS SQL Server, Oracle Sybase, etc as a
medium (instructions) for accessing and interacting with data.
CREATE
Creates a database named 'database_name'. Let us create our own database and table which
we will use as a reference throughout this article:
This creates a new table with the name 'table_name' in our database. It will have N columns
for each of the same datatypes as mentioned adjacent to it in the create syntax.
For instance:
This creates an empty table. For clarity suppose we add an entry (row) in the column (as in
the image) the result will be:
first_name age
myFirstName 20
DROP
To drop a table:
Output:
To drop a database:
This removes the database named 'database_name' if present. Suppose we try this with our
database, the result looks like this:
Output:
ALTER
Output:
| first_name | age |
|:-----------:|:---:|
| myFirstName | 20 |
In the above example, we are adding a column to our table. Apart from that, we can perform
other operations such as dropping a column, modifying it, etc.
To change the properties of a column such as its type, type capacity, add constraints, etc:
Output:
Similarly, we can drop a column using alter with the following syntax:
Output:
TRUNCATE
This command is similar to the drop table command. The only difference is that while the
drop command removes the table as well as its contents, the truncate command only erases
the contents of the table's contents and not the table itself. Let us take an example to be
clearer:
Output:
As shown in the image above, truncate has removed the contents of the table. The table,
though now empty, still exists. Think of truncating a table as emptying it rather than deleting
it.
RENAME
This command is used to change the name of an existing table. The syntax is
The following image shows how to rename our table from 'my_table' to 'some_table':
Output:
INSERT
Insert statement is used to insert data in a SQL table. Using the Insert query, we can add one
or more rows to the table. Following is the syntax of the MySQL INSERT Statement.
Let's take a quick instance for understanding this better. Suppose that we need to insert 2
rows {"myName3", 2, true} and {"myName4", 28, false}. This is how we would accomplish
that:
Output:
We don't necessarily have to include all column values. We can for example omit the age
column as shown below:
Output:
UPDATE
This command is used to make changes to the data in the table. Its syntax is:
UPDATE table_name
SET column1 = val1,
column2 = val2,
...
WHERE CLAUSE;
How about we update the employment status of myName of age 12 which has it as NULL?
This is how we achieve it:
update my_table
set employed=true
where age=12;
Output:
Let's batch-update all our rows without filtering them on any condition. Suppose we want to
increment the value of every row in the age column. The following query is what we need:
update my_table
set age = age + 1;
Output:
DELETE
This command is used to remove a row from a table. the syntax for delete is
The where clause is optional. To delete the row with first_name "myName5 run this query:
Output:
It is to be noted that omitting the use where clause results in the emptying of the table just as
truncating does.