Which key uniquely identifies each record in a table and can never contain a null value?
- A.Foreign key
- B.Alternate key
- C.Primary key
- D.Super key
Correct answer
Explanation
The correct answer is C, primary key. The designer picks one candidate key as the primary key of a table, and the database then enforces two rules on it: its value must be different in every row, and it can never be left null, since a missing value would make a row impossible to identify. Option A is wrong because a foreign key holds the primary key values of another table to create a link, and it may be null when no related row exists. Option B is wrong because an alternate key is simply a candidate key that was not chosen as the primary key, so it is unique but is not the identifying key of the table. Option D is wrong because a super key is any set of attributes that identifies a row, and it may carry extra attributes that are not needed for uniqueness.
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 →