Answer the question
In order to leave comments, you need to log in
What is the required level of sql knowledge to solve everyday tasks in backend development?
In general, I began to study the syntax of a wonderful DBMS - POSTGRESQL. I figured out the basics of the language (data types, table relationships, CRUD, DDL, subqueries, views, joins, sql and plsql functions, etc.) and there was an important question about how deep it is worth diving into the topic. From my point of view, most of the logic can be described within the framework of the main programming language, after passing a request to the database, I'm not sure about the need to write complex functions and loops on the side of the database. Of course, I understand that knowledge is never superfluous, but learning all the features of this wonderful DBMS will take months, which can be spent on mastering other technologies. I ask people who have real combat experience in solving backend tasks to tell us what tools (we are talking about the tools provided by the DBMS) they use, how often do you write functions, use transactions, cycles,
Answer the question
In order to leave comments, you need to log in
* select
* insert
* update
* delete
Congratulations, you are amazing!
Pumping out the database to the application side, and then writing your own selection logic is very, very fun ( no ).
Depends on "everyday" tasks. If you don't run into adept logic in the database, then you won't need to write stored procedures. Processing on the application side is usually cheaper, but data filtering and aggregation is most often done on the DBMS side. In addition to basic SQL statements, you need an understanding of transactions (including their levels), data storage options (link tables, EAV, etc.), normalization, links (foreign keys are almost always used), indexes (not only what they are, but also how a balanced b-tree, how selectivity affects sampling), query plan, optimizer and statistics collection, what locks are and why, and for what changes you need to remove the load. Well, and related things - migrations, fixtures, DBMS drivers, prepared queries, sql injections, etc.
The more skills you want, the more knowledge you need.
And then I saw candidates for seniors, but who did not know about the index, triggers and query plans
Now I will say a terrible thing - it is not necessary to know sql to work as a back.
Due to the widespread “I’ll pull out all 100500 million records here and calculate everything in place in the cycle” - no, sql is not really needed)
But for the most part this is due to the dominance of backers who have not mastered sql, .. well, and have not felt what it is to extract data through a thin channel.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question