Computer Science MCQS

Computer Science MCQ with detailed explanations for students & freshers preparing for entrance exams, various tests, interviews, competitive exams like GATE exam, interview, competitive examination and entrance exam.

What are the disadvantages of arrays?

A. a) Index value of an array can be negative
B. b) Elements are sequentially accessed
C. c) Data structure like queue or stack cannot be implemented
D. d) There are chances of wastage of memory space if elements inserted in an array are lesser than the allocated size
Correct answer is: D. d) There are chances of wastage of memory space if elements inserted in an array are lesser than the allocated size
There are chances of wastage of memory space if elements inserted in an array are lesser than the allocated size is the correct answer.

Explanation:

Fixed size: Arrays have a fixed size, which means you need to specify the number of elements it can hold when you declare it.

Memory allocation: The system allocates a contiguous block of memory for the array based on the specified size.

Wastage: If you only need to store fewer elements than the allocated size, the remaining memory space in the array goes unused, leading to memory wastage.

Other options:

a) Index value of an array can be negative: This is incorrect. Array indices typically start from 0 and go up to the length of the array minus 1. Negative indices are not valid.

b) Elements are sequentially accessed: This is a characteristic of arrays, not a disadvantage. Sequential access means elements can be accessed one after the other, which is often efficient.

c) Data structure like queue or stack cannot be implemented: This is also incorrect. While arrays are not the optimal choice for implementing queues or stacks, it's possible to do so with additional logic.

Therefore, the most significant disadvantage of arrays in terms of memory efficiency is the potential wastage of space when the array is not fully utilized.

What is a data structure?

A. A programming language
B. A collection of algorithms
C. A way to store and organize data
D. A type of computer hardware
Correct answer is: C. A way to store and organize data

Which forms have a relation that contains information about a single entity?

A. a) 4NF
B. b) 2NF
C. c) 5NF
D. d) 3NF
Correct answer is: D. d) 3NF
A table is in its 3rd NF if it has already completed in 2NF, and non-key attributes are not dependent on any non-key attributes. This means that all non-key attributes must depend on primary key. When a table represents a single entity, the primary key will identify the instance row and all attributes in 3NF are dependent on the primary key. So, the primary key in the 3th NF captures the whole information of this single entity.

_____ operations do not preserve non-matched tuples.

A. a) Left outer join
B. b) Inner join
C. c) Natural join
D. d) Right outer join
Correct answer is: B. b) Inner join
Inner Join and Non-Matched Tuples

Inner join returns only the rows that have matching values in both tables. This means that any tuples that don't have a corresponding match in the other table are excluded from the result.

Other Join Types

Left outer join: Preserves all tuples from the left table, even if there are no matches in the right table.

Right outer join: Preserves all tuples from the right table, even if there are no matches in the left table.

Natural join: Similar to inner join, but only considers columns with the same name for matching.

In summary, while outer joins include unmatched tuples in the result, inner join strictly focuses on matching rows and discards any that don't have a corresponding match.

Procedural language among the following is __

A. a) Domain relational calculus
B. b) Tuple relational calculus
C. c) Relational algebra
D. d) Query language
Correct answer is: C. c) Relational algebra
Relational Algebra is a Procedural Language

Relational algebra is indeed a procedural language. This means it specifies a sequence of operations that must be performed in a specific order to achieve the desired result. It's like providing a recipe for manipulating data within a database.

Why not the others?

Domain relational calculus and tuple relational calculus are declarative languages. They specify what data is desired without specifying how to compute it.

Query language is a broad term that can encompass both procedural and non-procedural languages.

Key point: Relational algebra provides a step-by-step approach to manipulating data, making it a procedural language.

Which of the following command is correct to delete the values in the relation teaches?

A. a) Delete from teaches;
B. b) Delete from teaches where Id =’Null’;
C. c) Remove table teaches;
D. d) Drop table teaches;
Correct answer is: A. a) Delete from teaches;
Breakdown of other options:

DELETE FROM teaches WHERE Id = 'Null';: This command would only delete rows where the Id column has a NULL value. It wouldn't delete all rows.

REMOVE TABLE teaches;: There's no standard SQL command named REMOVE.

DROP TABLE teaches;: This command would delete the entire table structure, including its data and definition, which is typically not desired when you just want to clear the data.

So, the simple and effective way to delete all data from the teaches table is by using DELETE FROM teaches;.

Which of the following set should be associated with weak entity set for weak entity to be meaningful?

A. a) Neighbour set
B. b) Strong entity set
C. c) Owner set
D. d) Identifying set
Correct answer is: D. d) Identifying set
Identifying Set

A weak entity set must be associated with an identifying set for it to be meaningful.

Here's a breakdown:

Weak Entity Set: An entity set that cannot exist independently and depends on another entity set (strong entity set) for its existence.

Identifying Set: A set of attributes in a strong entity set that uniquely identifies each entity in the weak entity set.

Essentially, a weak entity set needs a "parent" strong entity set to provide it with a unique identifier. This is because a weak entity set doesn't have sufficient attributes on its own to form a primary key.

Example:

Strong Entity Set: Employee (Employee_ID, Employee_Name, Department)

Weak Entity Set: Dependent (Dependent_Name, Relationship, Employee_ID)

Which command is used to remove a relation from an SQL?

A. a) Drop table
B. b) Delete
C. c) Purge
D. d) Remove
Correct answer is: A. a) Drop table
DROP TABLE is the SQL command used to remove an entire relation (table) from a database.

Here's a breakdown of why the other options are incorrect:

DELETE: This command removes rows (tuples) from a table, but it doesn't remove the table itself.

PURGE: This command is not a standard SQL command. It might exist in specific database systems with particular functionalities, but it's not generally used for removing tables.

REMOVE: This is also not a standard SQL command for removing tables.

So, DROP TABLE is the correct choice for permanently deleting a table from a database.

__ is a set of one or more attributes taken collectively to uniquely identify a record.

A. a) Primary Key
B. b) Foreign key
C. c) Super key
D. d) Candidate key
Correct answer is: C. c) Super key
A super key is actually a set of one or more attributes that uniquely identify a record.

Breakdown of the options:

Super key: Any set of attributes that uniquely identifies a tuple (row) in a relation (table).

Candidate key: A minimal super key (no unnecessary attributes).

Primary key: A chosen candidate key to uniquely identify a record.

Foreign key: A field in one table that refers to the primary key in another table.

So, while a super key is a broader term encompassing any set of attributes that uniquely identify a record, it's not the most specific or commonly used term. Candidate key or primary key would be more appropriate in most cases.

The ability to query data, as well as insert, delete, and alter tuples, is offered by __

A. a) TCL (Transaction Control Language)
B. b) DCL (Data Control Language)
C. c) DDL (Data Definition Langauge)
D. d) DML (Data Manipulation Langauge)
Correct answer is: C. c) DDL (Data Definition Langauge)
DML (Data Manipulation Language) is the language component responsible for manipulating data within a database. This includes the operations you mentioned:

Querying data: Retrieving information from the database.

Inserting data: Adding new records to the database.

Deleting data: Removing existing records from the database.

Altering data: Modifying the values of existing records.

Brief overview of other options:

DDL (Data Definition Language): Defines the structure of the database, including creating, modifying, and dropping tables, indexes, and other database objects.

DCL (Data Control Language): Deals with access control to the database, granting or revoking privileges to users.

TCL (Transaction Control Language): Manages the integrity and consistency of data through transactions (commit, rollback, savepoint).

So, DML is the correct choice for performing actions on the data itself.

Scroll to Top