What is basic SELECT statement?

Image
SELECT Statement A SELECT statement retrieves data from the database. With SELECT statement PROJECTION, SELECTION and JOIN can be performed on database tables. As data in relational database is stored in TABLES. TABLE has ROW and COLUMN structure. With SELECT statement all rows and all columns can be retrieved, this is known as PROJECTION. But, if rows and columns are retrieved on the basis of some condition, it is known as SELECTION. And suppose if some information is needed and that is stored in two or more different tables but are related, use JOINS to retrieve it from two or more tables. In SQL, basic SELECT statements are as follows: SELECT  * FROM  [ table_name ] ; SELECT   [ column1 ] ,  [ column2 ] ,  [ column3 ] ,   .....   FROM   [ table_name ] ; SELECT and FROM are known as clauses.  SELECT clause allows to specify columns to be selected from the database table.  FROM clause allows to specify table name that has those column to be s

With the help of block diagram explain the architecture of a DBMS.

Database System Architecture
[REF: Fundamentals of Database Systems, Elmasri, Navathe, 6e]


Following block diagram explains the simplified DBMS architecture.

Architecture is divided into two major blocks. First block represents the different types of end users and their respective interfaces for interacting with the database system. Second block shows the internal components responsible for the storage management of data and processing of transactions.

DBA Staff: Database administrative staff, defines database structure.

DDL Statements and Privileged Commands: DBA staff use DDL (Data Definition Language) statements and Privileged Commands (Access control statements allocated as per assigned roles) to define database structure and make changes in definitions as per the requirements on timely basis.

DDL Compiler: It compiles DDL statements and record database definitions in system catalog or data dictionary. 

Data Dictionary/Storage Catalog: Data dictionary store meta data (data about data). Meta data includes the structure of the database (information about schema) and the details like names, data types, sizes of data elements. It also stores the relations in between the data items along with different type of constraints enforced. Generally it is maintained on storage disk but some database systems have their own buffer manager component to make read/write operations faster to improve the performance.

Casual Users: Write queries to interact with the database system. 

Interactive Query Interface: User friendly interface for casual users to write queries.

Query Compiler: Query written by casual user compiled by query compiler. Query compiler parses the query and check the query syntax for correctness. It translates query into some internal form.

Query Optimizer: It takes the internal form of a query from query compiler and rearrange the operations, remove redundancies, apply efficient algorithms and indexes for fats and optimized access of stored data. For doing this optimization, query optimizer refer meta data from data dictionary and create executable operations for the query and calls run time database processor. It creates fast and efficient query plans for improving the performance.

Application Programmers: Writes application programs using some high level programming language like C/C++, Pascal, Java etc. 

Application Programs: A program designed to perform any specific database function as per any user specific requirement or for any other application program. These programs are submitted to precompiler.

Precompiler: It takes out the DML statements written in application program and pass them to the DML compiler. It sends remaining program statements to host language compiler.

DML Compiler: It translates the DML statements into object code for database access.

Host Language Compiler: High level language compiler in which application programs are written.

Compiled Transactions: Compiled transactions include the output of linked DML object codes and high level language statements from application program. These transactions are known as canned transactions. These canned transactions then calls runtime database processor. 

Parametric Users: Data entry operators. Interact database by passing parameters regularly to canned transactions for accessing data. 

Runtime Database Processor: It takes all the query plans, compiled transactions with parameters and privileged commands and executes them with the help of stored data manager and data dictionary. It also support internal buffer management (if exist) 

Stored Data Manager: Manages and control the access of information that is stored in disk or in storage catalog. 

Concurrency Control and Backup/Recovery Subsystem: This component is integrated with runtime database processor to perform transaction management. It is also known as transaction manager.


Comments

  1. I just loved your article on the beginners guide to starting a blog.If somebody take this blog article seriously in their life, he/she can earn his living by doing blogging.thank you for thizs article. best blockchain online training

    ReplyDelete
  2. I really like reading through an article that will make men and women think. Also, thanks for allowing for me to comment!
    Tech info

    ReplyDelete

Post a Comment

Popular posts from this blog

What do you mean by data model? What are different types of data models?

Define the terms: domain, tuple, attribute and relation