Skip to main content

What is sql?

What is Data?

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 a Database?

Database is a systematic collection of data. Databases support storage and  manipulation of data. Databases make data management easy. Let's discuss few examples.

An online telephone directory would definitely use database to store data pertaining to people, phone numbers, other contact details, etc.Your electricity service provider is obviously using a database to manage billing , client related issues, to handle fault data, etc.Let's also consider the facebook. It needs to store, manipulate and present data related to members, their friends, member activities, messages, advertisements and lot more.

What is a Database Management System (DBMS)?

Database Management System (DBMS) is a collection of programs which enables its users to access database, manipulate data, reporting / representation of  data .It also helps to control access to the  database.Database Management Systems are not a new concept and as such had been first implemented in 1960s.Charles Bachmen'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 have been increased immensely.

Types of DBMS

Let's see how the DBMS family got evolved with the time. Following diagram shows the evolution of DBMS categories.
There are 4 major types of DBMS. Let's look into them in detail.
  • Image result for dbms imagesHierarchical - this type of DBMS employs the "parent-child" relationship of storing data. This type of DBMS is rarely used nowadays. Its structure is like a tree with nodes representing records and branches representing fields. The windows registry used in Windows XP is an example of a hierarchical database. Configuration settings are stored as tree structures with nodes.
  • Network DBMS - this type of DBMS supports many-to many relations. This usually results in complex database structures.  RDM Server is an example of a database management system that implements the network model.
  • Relational DBMS - this type of DBMS defines database relationships in form of tables, also known as relations. Unlike network DBMS, RDBMS does not support many to many relationships.Relational DBMS usually have pre-defined data types that they can support. This is the most popular DBMS type in the market. Examples of relational database management systems include MySQL, Oracle, and Microsoft SQL Server database.

What is SQL?

Structured Query language (SQL) pronounced as "S-Q-L" or sometimes as "See-Quel"is actually the standard language for dealing with Relational Databases.
SQL programming can be effectively used to insert, search, update, delete database records.
That doesn't mean SQL cannot do things beyond that.
In fact it can do lot of things including, but not limited to, optimizing and maintenance of databases. 
Relational databases like MySQL Database, Oracle, Ms SQL server, Sybase, etc uses SQL ! How to use sql syntaxes?
 SQL syntaxes used in these databases are almost similar, except the fact that some are using few different syntaxes and even proprietary SQL syntaxes.
SQL Example
 SELECT * FROM Members WHERE Age > 30 

What is NoSQL ?

NoSQL is an upcoming category of Database Management Systems. Its main characteristic is its non-adherence to Relational Database Concepts. NOSQL means "Not only SQL". 
Concept of NoSQL databases grew with internet giants such as Google, Facebook, Amazon etc who deal with gigantic volumes of data.
When you use relational database for massive volumes of data , the system starts getting slow in terms of response time.
To overcome this , we could of course "scale up" our systems by upgrading our existing hardware.
The alternative to the above problem would be to distribute our database load on multiple hosts as the load increases.
This is known as "scaling out".
 NOSQL database are non-relational databases that scale out better than relational databases and are designed with web applications in mind.
They do not use SQL to query the data and do not follow strict schemas like relational models.With NoSQL, ACID (Atomicity, Consistency, Isolation, Durability) features are not guaranteed always.

Why it makes sense to learn SQL after NOSQL ?

With the advantages of NOSQL databases outlined above that scale out better than relational models, you might be thinking why one would still want to learn about SQL database?
Well, NOSQL databases are sort of highly specialized systems and have their special usage and limitations. NOSQL suit more for those who handles huge volumes of data. The vast majority, use relational databases and associated tools.
Relational databases have the following advantages over NOSQL databases;
  • SQL(relational) databases have a mature data storage and management model . This is crucial for enterprise users.
  • SQL databases support the notion of views which allow users to only see data that they are authorized to view. The data that they are not authorized to see is kept hidden from them.
  • SQL databases support stored procedure sql which allow database developers to implement part of the business logic into the database.
  • SQL databases have better security models compared to NoSQL databases.
The world has not deviated from use of relational databases. There is growing a demand for professionals who can handle relational databases. Thus learning databases and SQL still holds merit.

The Most Important SQL Statements:

  • SELECT - extracts data from a database
  • UPDATE - updates data in a database
  • DELETE - deletes data from a database
  • INSERT INTO - inserts new data into a database
  • CREATE DATABASE - creates a new database
  • ALTER DATABASE - modifies a database
  • CREATE TABLE - creates a new table
  • ALTER TABLE - modifies a table
  • DROP TABLE - deletes a table
  • CREATE INDEX - creates an index (search key)
  • DROP INDEX - deletes an index
Text and images from guru99.com.

Comments

Popular posts from this blog

how to install flutter in linux mint:

What is Flutter?        Flutter is Google’s portable UI toolkit for building beautiful, natively-compiled applications for mobile, web, and desktop from a single codebase.   And Flutter have Many characteristics and you can see here .  How to Install it in your Linux Machine? You can download the Flutter package here . Extract the file in a separate folder.  cd ~/development  tar xf ~/Downloads/flutter_linux_v1.5.4-hotfix.2-stable.tar.xz Add the flutter tool to your path:  export PATH="$PATH:`pwd`/flutter/bin" And enter the code   flutter precache to check the flutter installed. And Run Flutter Doctor By the command   flutter doctor to see any folder is missing for that. (From Flutter.dev) Android Setup: Download and install the android studio . Start Android Studio, and go through the ‘Android Studio Setup Wizard’. This installs the latest Android SDK, Android SDK Platform-Tools, and Android SDK Build-Tools, which are required by Flutter when

How to install wordpress in linux

WordPress is a powerful, free and open-source, highly pluggable and customizable CMS that is being used by millions around the world to run blogs and fully functional websites. It is easy to install and learn, especially for persons who do not have prior website design and development knowledge. Step 1: Install Apache Web Server    To install apache server follow the instructions below     $ sudo apt-get install apache2 apache2-utils       Now we need to check whether it is installed or not     Go to the browser and type localhost if it is shown like this then no problem your apache is installed successfully   NOTE: The default Apache root directory is /var/www/html all your files are stored in the directory. STEP 2: Install MYSQL Database Server:    Now we need to install the MYSQL Database Server by running this command    $ sudo apt-get install mysql-client mysql-server During the package installation, you will be prompted to set the  root  user passwo

How to install Blender 2.80 (beta) in Linux:

About Blender:        Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation. How to install the beta version: Download the latest version of the blender from here  . It will download an tar.gz folder. Extract the folder . Jump into the folder   and click on the Blender named file it will direct to the latest version but don't click on the blender.desktop file. Then it will open the blender window like this.