Is there a SQL sequel in the works? What will replace SQL?

Updated on : January 20, 2022 by Faith Parker



Is there a SQL sequel in the works? What will replace SQL?

SQL is a beautiful language that works quite well and does what it is designed to do, so why fix it if it ain't broken?

But more importantly, there is so much legacy around SQL that it would be nearly impossible to convince someone to make the necessary change unless there are big payoffs.

Almost all major web applications store their data in a form of RDBMS that uses SQL as the language of communication with the database. SQL Server, MySQL, PL / SQL, MariaDB use SQL as their base language.

SQL also has no deal-breaking performance issues. As long as you design an efficient relational structure

Keep reading

SQL is a beautiful language that works quite well and does what it is designed to do, so why fix it if it ain't broken?

But more importantly, there is so much legacy around SQL that it would be nearly impossible to convince someone to make the necessary change unless there are big payoffs.

Almost all major web applications store their data in a form of RDBMS that uses SQL as the language of communication with the database. SQL Server, MySQL, PL / SQL, MariaDB use SQL as their base language.

SQL also has no deal-breaking performance issues. As long as you design an efficient relational structure, SQL will serve you well.

So at this point, designing another query language for relational data doesn't make sense. For non-relational data, we already have several NoSQL solutions anyway.

Hi, thanks for the A2A!

I don't think anything will replace SQL. It's the language of working with data, it's everywhere, and, as Mike West said, it's deeply ingrained.

There are all kinds of "back and forth" SQL types that are the best choice, but the SQL itself is going nowhere.

It is the prequel, SQL and sequel :)

This is not really a sequel to SQL. But I found it today so I thought I'd share it for anyone who's interested:

FriendlyData · A pragmatic approach to querying structured data through natural language interface

This project seeks to take SQL (a language that people already argue is written in plain English) and turn it into simpler English. Therefore, employees who are not database experts can also write queries. Or at least that's what I got.

No.

I have heard of a replacement for decades.

At this juncture, it's just too ingrained in almost every aspect of the data community.

Speed ​​is not really the driving factor for the switch to a NoSQL database. If you take SQL and NoSQL databases side by side and compare simple updates and reads from a table, they should both respond very quickly to such queries.

The key difference is, NoSQL databases are specifically designed to handle simple low-level queries, they allow you to get, configure, and maybe some other simple things like ranks or rank. A big disadvantage is that you have to decide how you are going to use the data that you enter there and design a suitable schema in advance, which will allow you to access the data, in the

Keep reading

Speed ​​is not really the driving factor for the switch to a NoSQL database. If you take SQL and NoSQL databases side by side and compare simple updates and reads from a table, they should both respond very quickly to such queries.

The key difference is, NoSQL databases are specifically designed to handle simple low-level queries, they allow you to get, configure, and maybe some other simple things like ranks or rank. A big disadvantage is that you have to decide how you are going to use the data that you enter there and design a suitable schema from the beginning, which will allow you to access the data, in the format you require.

On the other hand, SQL, as long as the data you input is properly denormalized, can handle hugely complex queries. You don't need to design a schema around your particular use case and you have the enormous flexibility of the query language that you can return any data in any format without having to modify the underlying schema.

The reason SQL has this reputation for being slow is that processing a complex query on a large data set inevitably takes time, whereas NoSQL simply does not provide the ability to run complex queries slow in the first place.

There is no reason why you cannot use a SQL database in exactly the same way as a NoSQL database. Put all your data in large tables and use only the most basic queries. It would then work very well in conjunction with an equivalent NoSQL database, but would obviously waste most of its more useful features. In fact, this is the case with many large SQL databases. Denormalization is broken and flexibility is sacrificed to "optimize" for specific queries.

However, there are certain drawbacks in SQL, and in some circumstances these drawbacks become such a problem that we are willing to sacrifice the flexibility it provides to overcome them.

First, it doesn't scale well horizontally. Trying to split your data across many smaller machines, while not impossible, can have a huge performance hit. Large SQL databases tend to run on very expensive high-powered hardware to try to maintain adequate performance, while NoSQL databases tend to easily and inexpensively scale to any size simply by adding additional basic hardware to a cluster.

Second, and most importantly, SQL is not fault tolerant. Yes, it is possible to replicate your data on a second backup machine, but then you double the costs of specialized high-powered hardware and that hardware needs to be even more powerful to handle the added load of staying in sync. Compare that, for example, to a Cassandra cluster, and you could run a dozen smaller machines with data replication, even spread across multiple data centers if you want. The load is distributed automatically, the updates are sent to the entire cluster and the end user will not notice the loss of any machines.

These two are the real reasons why you should choose between the two technologies. If your database is small enough to fit on a single machine and the occasional downtime while restoring from backup is not an issue, use SQL, it will greatly simplify your development and have the flexibility to adapt if your needs they change. If your dataset is going to be huge, or you have strict SLAs to hit, choose NoSQL. Anywhere in between, you need to make up your mind, but keep in mind that NoSQL skills are in high demand right now. It may be worth going down that road just to gain experience.

6 ways to learn SQL

acquiring a new skill can be a daunting task, especially in programming. SQL is not immune to this. Fortunately, with the internet and the explosion of information related to programming, we have many options!

But then we hit a new hurdle. Where to start? How will we know which is the best option for our budget, skill level, and schedule? This article addresses these questions and provides you with a roadmap, or should we say a couple of them, of your journey into SQL mastery.

A brief history of SQL

Let's start by reviewing some basics about the language. SQL support

Keep reading

6 ways to learn SQL

acquiring a new skill can be a daunting task, especially in programming. SQL is not immune to this. Fortunately, with the internet and the explosion of information related to programming, we have many options!

But then we hit a new hurdle. Where to start? How will we know which is the best option for our budget, skill level, and schedule? This article addresses these questions and provides you with a roadmap, or should we say a couple of them, of your journey into SQL mastery.

A brief history of SQL

Let's start by reviewing some basics about the language. SQL stands for standard query language. It is used to manage data in relational databases. SQL was initially developed by IBM and Relational Software, Inc. (now Oracle) in the early 1970s. The language evolved and became more commercially successful in the 1980s. Eventually, it became an ANSI standard in 1986 and an ISO standard in 1987. Since then, the SQL standard has evolved to include an increasing number of features.

It is important to know that SQL is generally not portable across different database systems unless you fine-tune it; each environment has its own 'dialect' of SQL that others may not understand. So if you write something for DB2, don't be surprised if it doesn't work on Oracle or Microsoft SQL Server. The 'stranger' in this image is PostgreSQL, which strives to comply with the SQL standard.

How to start learning SQL

Now let's dive into what's available to help us learn to write SQL code. There are at least six ways a prospective student can begin or continue their SQL journey. We will compare routes using these metrics:

  • Price: From free to expensive (How much do I have to pay?)
  • Level: From beginner to expert (What previous knowledge do I need?)
  • Configuration: from simple to complex (What do I need to start learning? Can I start now?)

Interactive SQL courses online

Interactive online courses are a fast and inexpensive way to get started with SQL, and you don't need to install anything on your local workstation. This is great when you need to get started quickly in the language; for example, I would recommend them to entrepreneurs, students, and web developers who do not need to delve into the operation of databases at this time. (Of course, you can always dig deeper later!)

There are many websites that teach various programming languages, including:

  • Codecademy
  • Avengers Code
  • Code school

Some of these sites have SQL components. However, most interactive multipurpose sites focus on popular computer programming languages ​​(Java, Ruby, Python); SQL almost feels like an afterthought or a specialized part of some web stack. It is not an issue in itself.

So for this route I would recommend looking for a site dedicated to SQL training, such as Vertabelo SQL Academy. These sites provide step-by-step instructions on how to write SQL queries for all skill levels. And all the steps are interactive. They slowly build it up to the point where you can confidently work with the data.

Complete SQL courses online

Some people love to learn by doing and can't wait to get their hands dirty; others begin with a theoretical description of your topic. There is nothing wrong with either approach. In fact, it is well known that there are different learning styles and theory first is one of them.

If you like to learn, the complete courses are for you. Fortunately, there are many online courses that are tailored to a theory style first. They range in price from free to, well, not so free.

Let's look at some good places to start:
Stanford Online:
Udacity Databases : Introduction to Relational Databases
Safari: Learning Path: SQL and Relational Databases

Stanford offers a free course on various database topics. In general, it is a bit academic and includes related topics such as database modeling. SQL is covered as part of the bigger picture. There are not many exercises and the course does not cover the full SQL language. There is some interactivity, so you don't need to set up your own environment.

Udacity also offers a free course on relational databases. The estimated duration is four weeks and is primarily intended for users of higher-level programming languages ​​who need to learn SQL. You need to configure your own database and environment.

In my opinion, the Safari offering is the undisputed winner in this category. It is not free, as the course itself is part of Safari's online book platform. However, it is detailed and goes through full relational theory, which is the foundation of SQL. The downside is that it is not interactive and you have to configure your own environment.

Competitive programming sites

Competitive programming sites, also known as hackathon sites, are an amazing place to improve your SQL knowledge. What is a competitive programming site? It is a place where programmers or teams of programmers compete with each other to solve a certain program problem faster (or solve most problems, or be the most accurate, etc.). Most of these sites have a "warm-up" area to allow programmers to get some practice before joining the fray.

One of the most popular sites where you can dabble in SQL is HackerRank. HackerRank has a list of domains where you can practice solving problems in a wide variety of programming languages. One of these domains is SQL. (They also have a general database domain.)

At these sites, you can interactively practice solving some real problems in SQL, but you won't get any guidance on how to write SQL correctly. You only get the problem and a chance to see if you solved it. You can even challenge your friends to solve the problem. While this competency-based training can be fun, it is best suited for experienced SQL coders.

Local SQL classes

The traditional way to learn SQL and database-related subjects is in the classroom. This is the kind of learning we did for years at school. It's his simple “teacher in front of class, showing and explaining” routine. Some people prefer this style of teaching because it has a more human touch. But others find it outdated and impractical. Disadvantages include finding a course in your area, signing up, attending classes at a predefined time, and the fact that courses can be expensive.

I have no recommendations in this area as it is very individual and depends on your location. There are many downsides to this approach and I would not recommend it. If you like a more personal approach to teaching, a better alternative is to hire a Skype tutor to guide you through the SQL language. There are also many freelance sites where you can find tutors.

Learning SQL by book

Someone once told me that there is no wise man who does not read books. As I get older, I see the truth in those words. Books on technical topics, including SQL, can be a great source of knowledge. But since the subject is broad, there are many books to choose from. This in itself can be overwhelming. Let's look at some examples of popular SQL books that you can find online or at your local bookstore:

  • Joe Celko's books on SQL (for example, SQL for Smarties)
  • O'Reilly's SQL Books (for example, SQL Cookbook)
  • The Manga guide to databases

Joe Celko's books are considered classics in the world of SQL programming. They have stood the test of time quite well. The author served on the SQL ANSI and ISO standards committees and contributed to various SQL standards. His topics appeal to a more professional audience, with books covering various facets of SQL such as hierarchical representation.

O'Reilly has many books that cover SQL. Personally, I would recommend their SQL cookbooks, which are also designed for the advanced end of the spectrum.

The Manga Guide to Databases is basically a comic about databases. It's fun and simple, but it doesn't give a lot of room to pure SQL. The series has a wide variety of SQL books covering simple to complex topics.

In addition to books, check out various SQL-related tutorials and blogs (such as Vertabelo Blog | Data Modeling and Web Development). This is another good place to start, although it will take longer. It takes time to set up the environment, start coding, and practice. (This is the same as with the local class approach.)

You can always download an image of a system with a pre-installed database and use it to practice quizzes and examples. But this would be tedious and time consuming. And if you don't know what an image is, then you will have to spend even more time discovering it. Interactive online courses do the setup for you.

Another alternative configuration is a violin. Fiddles are basically virtual environments that you can use to test your code. SQL Fiddle is available online and allows you to practice SQL without setting up your own locale. However, it does not provide any guidance and the violins are notoriously unstable. I would recommend this option only for quick tests.

Which SQL Learning Path Is Right For You?

The way to learn SQL is very individual. It depends on your current level of knowledge and what made you learn the language in the first place.

Do you know how to write SQL and want to deepen your knowledge without spending too much? Get some books.

Do you need to prepare for a test? Take a full course online.

Are you a true beginner? Nothing beats a structured interactive online course.

Whatever you choose, the main thing is to get going and give it a try. If one path doesn't work, try another. Don't give up and you will be rewarded by understanding how to use SQL.

SQL stands for Structured Query Language. SQL is used to communicate with a database. It is the standard language for relational database management systems.

SQL statements are used to perform tasks such as updating data in a database or retrieving data from a database. Some common relational database management systems that use SQL are: Oracle, Sybase, Microsoft SQL Server, Microsoft Access, Ingres, etc.

Although most database systems use SQL, most of them also have their own additional proprietary extensions that are generally only used on your system. However, standard SQL commands such as "S

Keep reading

SQL stands for Structured Query Language. SQL is used to communicate with a database. It is the standard language for relational database management systems.

SQL statements are used to perform tasks such as updating data in a database or retrieving data from a database. Some common relational database management systems that use SQL are: Oracle, Sybase, Microsoft SQL Server, Microsoft Access, Ingres, etc.

Although most database systems use SQL, most of them also have their own additional proprietary extensions that are generally only used on your system. However, standard SQL commands such as "Select", "Insert", "Update", "Delete", "Create" and "Drop" can be used to accomplish almost everything that needs to be done with a database.

SQL offers many benefits, making it immensely popular with developers and the data science community. Some of the best aspects of SQL are:

  • It allows you to describe and summarize the data.
  • It allows you to access the data stored in the RDMS.
  • It facilitates the creation of views, procedures and functions in databases.
  • Allows you to set permissions on views, tables, and procedures.
  • In addition to data manipulation, it allows you to create and delete databases.
  • You can embed SQL in other languages ​​by using SQL modules, libraries, and precompilers.

How to learn it?

I looked at many local coaching institutes and online courses that offered certifications and were quite expensive, and I really had little savings in that period of time. Free resources like youtube did not provide practice data sets and the content was unstructured. In fact, some online resources, although free, confused me about the course when I tried it.

I learned SQL from an Edu4Sure online course, this course covered all the advanced concepts and explained the basics extremely well. I was able to learn MySQL in about 10 days.

I chose this course especially because it was recommended to me by one of my classmates and it was affordable. Since then, I have taken two more courses from the same platforms, and I must say that I am really impressed by the content and the way the trainer explains.

Take a look at the content of the SQL course.

The images above are taken from the course. See the way the coach explained it. It seems like you are only looking at the content you want. Personally, I don't like where the coach is shown as well. Edu4Sure creates content that shows you the screen you see on your own laptop and when you practice it looks amazing.

A friend of mine took one of the expensive SQL courses without asking me. When we compared the amount of knowledge we gained in our respective course plus how they taught it, we came to the conclusion that Edu4Sure was the best course, plus it was more than 8 times cheaper.

I hope you make the smart choice.

YES. That is my self-proclaimed mission. To replace SQL language and SQL engine, to eliminate DSNs, eliminate DAC / MDAC components, eliminate user / site license costs / agreements, eliminate third-party database product costs / agreements.

The only thing left will be the free public domain 64-bit PERL language (binary build distribution sets for Unix / Linux / Windows O / S platforms) to do everything you need to create, maintain and access NoSQL / ISAM (method indexed sequential access) databases and relational databases, using JOINT DATABASE TECHNOLOGY (JDT), that is, relational flat file databases that

Keep reading

YES. That is my self-proclaimed mission. To replace SQL language and SQL engine, to eliminate DSNs, eliminate DAC / MDAC components, eliminate user / site license costs / agreements, eliminate third-party database product costs / agreements.

The only thing left will be the free public domain 64-bit PERL language (binary build distribution sets for Unix / Linux / Windows O / S platforms) to do everything you need to create, maintain and access NoSQL / ISAM (method indexed sequential access) databases and relational databases, using JOINT DATABASE TECHNOLOGY (JDT), i.e. relational flat file databases that have persistent random access indexed by key / value pairs from SDBM binary hash table files linked to in-memory hash tables at runtime in a kind of QUANTUM TANGLE-like relationship.

With 64-bit PERL, the sky may now be the limit on the random access capabilities of flat files of any size (many Terabytes or more perhaps). I've taken it to 128GIG flat files on a 200GIG laptop hard drive. 32-bit PERL had limited random access to 2 GIG flat files due to the 2 GIG integer limitation. Random access to 1 of the billions of records in a flat file is as fast in a 128 GIG flat file as random access to 1 of a million records in a 2 GIG flat file.

MANY PEOPLE SHOULD BE AWARE OF THIS because it may have been decades since people last tried to randomly access flat file records, and they may have given up on the idea.

PERSISTENT INDEXING: The KEY in the KEY / VALUE pair is 1 or more fields and / or partial fields of data contained in flat file records. VALUE contains the byte offset location used for file pointer positioning before READ / WRITE operations on a register.

SAMPLE (there is no GUI user interface here, for simplicity). The related records accessed randomly in this example are discontiguous records scattered in a 1 terabyte flat file (hypothetically).

From the mid-1990s to 2008, Oracle was considered much more scalable, secure, and enterprise-grade than Microsoft SQL Server. Microsoft made great strides with the 2005 and 2008 versions of SQL Server, improving scalability and security. And it's hard to argue that there are business applications that Microsoft SQL Server can't handle in 2016. However, Oracle still offers more core RDBMS features than SQL Server, and overall I feel like Microsoft will always be a year or two behind Oracle. in supporting cutting-edge functionality.

Both RDBMS have procedure extensions for SQL and the Oracle offering

Keep reading

From the mid-1990s to 2008, Oracle was considered much more scalable, secure, and enterprise-grade than Microsoft SQL Server. Microsoft made great strides with the 2005 and 2008 versions of SQL Server, improving scalability and security. And it's hard to argue that there are business applications that Microsoft SQL Server can't handle in 2016. However, Oracle still offers more core RDBMS features than SQL Server, and overall I feel like Microsoft will always be a year or two behind Oracle. in supporting cutting-edge functionality.

Both RDBMS have procedural extensions to SQL, and Oracle offers more functionality and is more capable and robust than Microsoft's T-SQL.

I think Oracle is administratively more complex, costs more to maintain (more DBAs are needed and cost more than SQL Server DBAs), and it was always more expensive to license than Microsoft SQL Server, although I haven't looked at pricing in a few years.

One is where Microsoft is at the forefront of cloud adoption. Azure is a near-perfect extension of SQL Server in the cloud, and Microsoft has done an amazing job moving to the cloud, even though they were late to the party. On the other hand, Oracle has a broader and deeper application portfolio, and they have done a good job integrating them. Microsoft seems to have given up on wanting to have a packaged enterprise-grade system like ERP, CRM, HRMS, etc.

SQL Server only runs on Windows and Linux, so that's a downside, but the addition of Linux support in 2016 will take a bit of Oracle's market share, but not enough to claim the top spot.

Always? Maybe. Anytime? Probably not.

Remember: in the last decade there was a huge push from various monster companies like Google and non-database developers to reject SQL through the "NoSQL" movement (now, as many know, the "no" in "NoSQL" it actually meant "not only", but a lot of people were eager to just dump into SQL).

Almost all of those companies and many, many developers have found that SQL is an extremely powerful data access language, due to its declarative and set-oriented properties, which make a lot of sense for data (as opposed to algorithms).

Keep reading

Always? Maybe. Anytime? Probably not.

Remember: in the last decade there was a huge push from various monster companies like Google and non-database developers to reject SQL through the "NoSQL" movement (now, as many know, the "no" in "NoSQL" it actually meant "not only", but a lot of people were eager to just dump into SQL).

Almost all of those companies and many, many developers have found that SQL is an extremely powerful data access language, due to its declarative and set-oriented properties, which make a lot of sense for data (as opposed to coding algorithmic).

Add to that the huge SQL-based application / database install base and huge community of SQL-savvy developers and you have a recipe for language longevity.

Long live SQL! :-)

In a nice way for readers to like it. For example, if there is a floating point column, it is better if all the rows have the same number of decimal places. How depends on the product, but round () is a start. String geoyo functions help.

And maybe it is necessary to cut an excessively long string with left () or substring (). You can also introduce newlines, but note that that breaks the copy and paste in Excel. Therefore, it is usually more useful to replace the line break characters.

And if it is a varbinary, it should generally have an output encoding: base64 or hexadecimal.

And it is often useful to concatenate values ​​(+ or ||) and naturally just include colu

Keep reading

In a nice way for readers to like it. For example, if there is a floating point column, it is better if all the rows have the same number of decimal places. How depends on the product, but round () is a start. String geoyo functions help.

And maybe it is necessary to cut an excessively long string with left () or substring (). You can also introduce newlines, but note that that breaks the copy and paste in Excel. Therefore, it is usually more useful to replace the line break characters.

And if it is a varbinary, it should generally have an output encoding: base64 or hexadecimal.

And it is often useful to concatenate values ​​(+ or ||) and naturally it only includes columns that are useful.

Then there are product specific ways to format coöumns in your client software. With Oracle rdbms pl / sql there are COLUMN query "prefixes" to format each column. And Excel supports many types of formatting.

And of course there are options for encoded output. Oracle SQLplus has a command line option to generate old style asymmetric HTML (silly line break on each tag) and of course you can create whatever you need, for example select '<tr> <td>' + col1 + '</td> <td>' '' + singlequotedcol + '' '<td> </tr>' as htmlrow of… ..

There are standards, but what usually happens is something like the following:

  • Customers or product managers demand a new feature in response to customer requests.
  • It is implemented, in different ways, by different providers. Sometimes the differences are subtle and sometimes dramatic.
  • About every 10 years, the SQL Standards Committee meets. All the big providers send representatives. Working committees are formed, proposals are made, and finally a standard implementation of the new function appears as part of the newer standard.
  • To comply with the new standard,
Keep reading

There are standards, but what usually happens is something like the following:

  • Customers or product managers demand a new feature in response to customer requests.
  • It is implemented, in different ways, by different providers. Sometimes the differences are subtle and sometimes dramatic.
  • About every 10 years, the SQL Standards Committee meets. All the big providers send representatives. Working committees are formed, proposals are made, and finally a standard implementation of the new function appears as part of the newer standard.
  • To meet the new standard, vendors implement the now-standard implementation of the feature. But since vendors don't want to crack their client code, the non-standard implementation of the function remains, and most clients use it because it's the one they know about.
  • And sometimes the standard is so radically different from a provider's implementation that the provider simply ignores the standard forever. (Oracle, I am seeing your responses of '<empty string>' IS NULL…)

It's the nature of SQL standards that are not like networking standards, where you * have * to comply or your stuff just doesn't work, or even programming language standards, where people learn the standard language and rarely learn the language. supplier. specific extensions.

In SQL, people learn the vendor's product, including its SQL, and only fairly demanding database types really know what is in the standard and what is not.

Other Guides:


GET SPECIAL OFFER FROM OUR PARTNER.