I assume that you know and you have learned what a database is?
If you don’t know, then let me tell you that it is not a rocket science.
You can read my blog “What is a database?”.
So, today we will talk about SQL.
Standard definition and history:
SQL is a language that helps users to communicate with a database.
Dr. E. F. Codd published the paper, “A Relational Model of Data for Large Shared Data Banks”, in June 1970 in the Association of Computer Machinery (ACM) journal, Communications of the ACM. Codd’s model is now accepted as the definitive model for relational database management systems (RDBMS). The language, Structured English Query Language (SEQUEL) was developed by IBM Corporation, Inc., to use Codd’s model. SEQUEL later became SQL (still pronounced as SEQUEL). In 1979, Relational Software, Inc. (now Oracle) introduced the first commercially available implementation of SQL. Today, SQL is accepted as the standard RDBMS language.
There are two friends, Jonathan and Frank. They are talking to each other in English language. Frank is asking some questions and Jonathan is responding accordingly.
Now, we can assume Jonathan as a Database and Frank as a user and the language (English) they are using is SQL.
There might be multiple users connected to one database at a time and database handles the questions (SQL statements or queries) in appropriate manner and provides the data (answer) to each user as per the SQL statements.
So, we can say that Frank, Rone, Michelle, Lynn and Regina they all can put their questions in front of Jonathan at a time and get their answers but they have to use the only language that Jonathan (database) knows which is SQL.
One more thing, users can store the information to the database and update as well and delete as well. Database can only provide the information which user had already stare into the database earlier. If database has no information which asked in the SQL statement it will give and error.
You might have noticed that I used a term, RDBMS.
Do you have any Idea what it is?
Let’s talk about RDBMS.
RDBMS stands for “Relational Database Management System”. We use this term as “Oracle is RDBMS software” or “SQL is an RDBMS language”.
How we can say that any software is RDBMS software any language is an RDBMS language?
There are some characteristics which make any software/language an RDBMS software/language.
1. Software should accept SQL statement/queries
2. Users can insert/update/delete/select information based on specific conditions.
3. There should be security so that data cannot be stolen.
4. Data can be shared with other users with the specific access rules.
If any software satisfies above mentioned parameters then only it can be called as RDBMS software.
Note: There are many RDBMS software in the market (MySql, MongoDB, Postgree etc) but there is no other RDBMS language than SQL.
I hope now you can simply distinguish among Database, SQL and RDBMS.