I am a programmer and have been one since last 3 years. I completed my B.Tech degree back in 2018 and I must admit, I was not particularly a big fan of DBMS, somehow I managed to complete the course and secure passing grades. I know it is an important subject but it never appealed me as much and therefore I never took as much interest (I always felt guilty of it).
As established, it is not an epiphany for me that it is an important subject and I must get my hand dirty with it, so I decided to pursue it and complete at least 2 projects in the next couple of weeks. This way sans Big Data (I am slowly working on that too), I will have all my grounds covered as a full stack data scientist.
Thats enough about me, now lets literally get to the title of this blog post. I know many beginners with SQL will have this question in mind. So here I am, explaining the basics as I learn. Please feel free to point out anything you feel should be corrected, I'll appreciate the feedback.
Lets first get to know what SQL is, in brief!
📝 Definition: SQL
By definition, SQL (Structured Query Language) is a query language. It is generally used with Structured Databases, or for processing data streams in real-time in relational data stream management system to query, manipulate the relational database data.
So basically, SQL is a language. As this is a language, and a quite popular one, there are various dialects of this language. And anyone familiar with computers or even remotely acquainted with how computer works will know a language needs some kind of environment to be executed in.
It is environment that interprets the commands of the language, identifies different dialect and executes the command particular to the dialect. Let's park this environment concept for now and we will come back to it later in this post. Let's talk about SQL a little more.
SQL comprises of 3 major sub-languages:
- Data Definition Language (DDL): to create and modify the structure of the database
- Data Manipulation Language (DML): to perform read, insert, update, and delete operations on the data of the database
- Data Control Language (DCL): to control the access of the data stored in the database
📝 Definition: SQL Server
SQL Server is proprietary software or an RDBMS tool that executes the SQL statements. It also provides some additional features and functionalities, so that the user can properly interact with the database and can perform all the database operations efficiently.
So basically, it is a database software. It uses SQL as a language to query the database.
The popular ones include MySQL, SQL Server, Oracle, Informix, Postgres etc. They are mix of open source and proprietary software available to use.
I hope that clarifies your doubt and you are good to go ahead and understand which to use where. It should also make you clear with what you are using and what are different softwares you can compare (I know I haven't been quite comprehensive with the list, but then which softwares we use actually depends on the requirement which concerns security, control features, compatibility with the server, or the source of distribution.
People who know more about it, please share your opinion through the comments.
Thanks - until next time!