Overview of how MS SQL Server works as a relational database system
But what does software development look like with a relational database system such as Microsoft SQL Server? At first glance, data is managed in a highly structured table format. Each column in a table has a unique data type. Tables can have relationships with each other, which are managed using primary and foreign keys. The data is accessed and managed using an implementation of the database language SQL ( Structured Query Language ). The manufacturer Microsoft calls its dialect Transact-SQL , or T-SQL for short . Working with T-SQL seems quite simple and manageable once you have learned the basics in a short time.
To simplify the formulation of T-SQL statements, you first need to name all the necessary columns and their tables, as well as their links. Next, you need to describe the filters needed to restrict the results. If data is to be aggregated, you need to specify a grouping and then filtering of this aggregation. Finally, you can define a sorting of the results.
A result set is always armenia telegram screening described. The database system's job is to produce this independently. No detailed steps are given as to how the data should be read and processed in detail. The database system uses an internal component called a query optimizer to create the detailed steps. This creates a query execution plan for each T-SQL statement.
However, this creation process should not be confused with compiling source code in a classic programming language. The translation of source code into an executable state, usually an executable file, is a process with a static result. The same source code usually leads to the same execution. Optimizations to the source code therefore have a direct influence on the subsequent runtime behavior.
This is not the idea of a relational database system, as it describes a result and not the path to it. In addition, the query optimizer mentioned above not only looks at the T-SQL statement, but also at the data stored in the tables. This allows it to take into account whether less or more data needs to be processed during execution. Not only the amount of data within a table is decisive here, but also the measured frequency of the same values within a column.