All Exams Test series for 1 year @ ₹349 only
Question

Given table 'StudAtt' with structure as Rno, Attdate, Attendance.
Identify the suitable command to add a primary key to the table after table creation.
Note: In the given case, we want to make both Rno and Attdate columns as primary key.

The correct answer is
ALTER TABLE StudAtt ADD PRIMARY KEY(Rno, Attdate);

SQL Command to Add Composite Primary Key to StudAtt Table

The task is to identify the correct SQL command for adding a primary key to an existing table named $StudAtt$. Specifically, the primary key needs to be formed by combining two columns: $Rno$ and $Attdate$. This type of primary key, which consists of multiple columns, is called a composite primary key.

Understanding SQL `ALTER TABLE` Statement

In SQL, the $ALTER TABLE$ statement is used to modify the structure of an existing database table. This includes adding, dropping, or modifying columns, as well as adding or dropping constraints like primary keys, foreign keys, and unique constraints.

To add a primary key constraint to an existing table, the basic syntax is:

$ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ...);$

Note: It's often possible to omit the constraint name, and the database system will assign a default one. Also, multiple columns can be specified within the parentheses to create a composite primary key.

Evaluating the Provided Options

Let's analyze each option to find the suitable command:

  • Option 1: $ALTER TABLE StudAtt ADD PRIMARY KEY(Rno, Attdate);$

    This statement uses $ALTER TABLE$ to target the $StudAtt$ table. It correctly uses the $ADD PRIMARY KEY$ clause and specifies both $Rno$ and $Attdate$ within the parentheses. This syntax is appropriate for defining a composite primary key on the existing table.

  • Option 2: $CREATE TABLE StudAtt ADD PRIMARY KEY(Rno);$

    This option is incorrect. The $CREATE TABLE$ command is used to create a new table, not modify an existing one. Additionally, it only specifies $Rno$ as the primary key, not the required composite key involving $Attdate$.

  • Option 3: $ALTER TABLE StudAtt ADD PRIMARY KEY;$

    This command is syntactically incomplete. While it correctly identifies the table using $ALTER TABLE$, it fails to specify which column or columns should be designated as the primary key. The database needs to know the column(s) involved.

  • Option 4: $ALTER TABLE StudAtt ADD PRIMARY KEY(Rno) AND PRIMARY KEY(Attdate);$

    This is incorrect SQL syntax. A table can only have one primary key. This command attempts to define two separate primary keys, which is not permissible. The correct way to define a composite key is by listing all participating columns within a single $PRIMARY KEY$ constraint definition.

  • Option 5: No SQL command provided.

    This option is invalid as it does not present a SQL command.

Final Determination

Option 1 provides the correct SQL syntax for modifying the $StudAtt$ table to include a composite primary key composed of the $Rno$ and $Attdate$ columns.

Was this answer helpful?

Important Questions from Miscellaneous

  1. The magazine in which Mahatma Gandhi mentioned what he wanted the Constitution to do is:

  2. Which gas shields the surface of the earth from ultraviolet radiation from the sun?

  3. Which event is marked as an Intangible Cultural Heritage of Humanity by UNESCO?

  4. Who has been conferred with the rank of the Commander of the Order of the British Empire in 2018?

  5. Who directead the film ‘Bhuvan Shome’?

Need Expert Advice?

Start Your Preparation with Prepp Mobile App

Download the app from Google Play & App Store
Download the app from Google Play & App Store
Prepp Mobile App