The SQL commands GRANT and REVOKE belong to which category?
- A.DDL
- B.DML
- C.DCL
- D.TCL
Correct answer
Explanation
The correct answer is C, DCL. The Data Control Language governs who may do what inside the database: GRANT gives a user a privilege such as the right to read or to update a table, and REVOKE withdraws a privilege already given. Option A is wrong because the Data Definition Language changes the structure of database objects through CREATE, ALTER, DROP and TRUNCATE. Option B is wrong because the Data Manipulation Language works on the rows themselves through INSERT, UPDATE, DELETE and SELECT. Option D is wrong because the Transaction Control Language manages a transaction as a unit with COMMIT to make changes permanent, ROLLBACK to undo them and SAVEPOINT to mark a place to roll back to. Fix the four groups by their purpose: structure, data, rights and transactions.
Read the full article: Databases and DBMS: Models, Keys, SQL and Normalisation
Practice Questions
View allWhich of the following is the oldest database model?
- A.Hierarchical
- B.Object oriented
- C.Deductive
- D.Relational
Show answer
The hierarchical model is the first data model used in commercial database software; IBM built its Information Management System on it in the 1960s for the Apollo programme.
Read the full explanation →Who proposed the relational model of databases?
- A.Charles Babbage
- B.Edgar Frank Codd
- C.Dennis Ritchie
- D.James Gosling
Show answer
Codd, a British computer scientist working at IBM, set out the relational model in a paper published in 1970, proposing that all data be held in simple two-dimensional tables and joined by matching values rather than by fixed pointers.
Read the full explanation →In relational database terminology, a row of a table is called a:
- A.Attribute
- B.Domain
- C.Tuple
- D.Relation
Show answer
In the vocabulary of the relational model a table is a relation, and one complete horizontal entry of that table, such as all the details of a single student, is a tuple; the ordinary words for it are row and record.
Read the full explanation →Which of the following is a Data Definition Language (DDL) command in SQL?
- A.INSERT
- B.CREATE
- C.SELECT
- D.UPDATE
Show answer
The Data Definition Language deals with the structure of the database rather than with the data inside it, and CREATE is its basic command, used to build a table, a view or the database itself; ALTER, DROP, TRUNCATE and RENAME belong to the same group.
Read the full explanation →Which SQL command removes all the rows of a table but keeps the table structure, and is classified as a DDL command?
- A.DELETE
- B.DROP
- C.TRUNCATE
- D.ERASE
Show answer
TRUNCATE empties a table in one operation, leaving the columns, data types and constraints in place so that the table can be filled again at once; because it changes the object rather than selected rows it is grouped with the Data Definition Language and it is much faster than deleting…
Read the full explanation →