I know a relational database is a database where the fields in one table are related to the rows in others, something like this.
But I can’t understand what this means for me as a web developer!
As I know, a query with joins and nested choices can reduce performance (especially drupal-style queries with dozens of joins). Moreover, any database queries are bottlenecks, and then you have many users who need to cache each query of their choice.
If you cache every request of your choice, it is better to cache simple requests rather than complex ones. You can either cache "select * from tbl1 where id = 123" and "select * from tbl2 where id = 456", or "select * from tbl1, tbl2 where ...", but if you choose the second method, you need to cache every combination of objects is not cool.
So, now we use only very simple queries, such as "select * from tbl1 where id = 123" "select id from tbl1 order by id limit 0, 30" and cache them (or we can cache only the first type of queries, whatever ) Queries and the equally simple INSERT, DELETE, and UPDATE are all we need and all we use!
As we can see, all relational logic is in the main language of the application, and not in SQL. So why do we need all these relational things? What do they mean? What is a "relational" type, what other type is not, but is it necessary? If we do not use relational functions, why are they still using MySQL or any relational database, even if it cares about performance?
This type of database has become the standard. What for? I have no idea. I almost never heard that someone uses a non-relational database, with the exception of inclusion in GAE.
Did I miss something?