Database language is an important part of DBMS. It is used to access the required data from a database, to modify the data of database and to design the structure of database. A user uses a database language for interfacing with the DBMS to access the data from database. A user can either be an application programmer or an end-user. Mostly the application programmer insert the statements of the database access language into its program written in general purpose programming language (such as COBOL or C++ or Visual Basic or any fourth generation language). It is because database access language is also referred to as data sub-language. Similarly database language does not provide the complete programming language features. Many DBMSs have their own unique sub-language.
The user use the database access language to enter new data, change the existing data in database and to retrieve required data from databases. The user writes a set of appropriate commands or statements in a database access language and submits these of the DBMS. The DBMS translates the user commands and sends them to a specific part of DBMS called the Database Engine. The database engine generates a set of results according to command submitted by user, converts these into a user readable form called an Inquiry Report and display them on the screen in the form of useful information. The database administrators use the database access language to create and maintain the database.
The most popular database access language is SQL. Relational Databases are required to have a database query language in the database of the same organization. Today most of the RDMSs use the SQL as database access language.
The sub-language is further divided into two major parts
- Data Definition Language
- Data Manipulation Language
Data Definition Language
The data definition language is used to define the structure of the database. The DBA and Database Designer use the database language to define the conceptual and internal schemas. Typically, the Data Definition Language (DDL) is used to define the conceptual schemas, whereas, Storage Definition Language is used to define the internal schemas. The mapping between the two schemas may be defined in either of these languages. In most DBMSs the DDL is used to define both conceptual and external schemas of the same data file of same organization. The DBMS has DDL compiler, which compiles the DDL statements and stores in DBMS catalog known as data dictionary.
Data Manipulation Language
Once the database is designed and database is populated with data, the data manipulation language (DML) is used to manipulate the database. In data manipulation, data is retrieved, inserted, updated and deleted to and from the database. It must be noted that DDL is not used for data manipulation.
The application programmer can insert the DML statements into the program written in general purpose language. Whenever, DML statements embedded in a general purpose programming language that language is called the Host Language and the DML is called Data Sub Language.