Lecture Notes Of Class 4: Database Design and ER Diagram
Lecture Notes Of Class 4: Database Design
and ER Diagram
Objective:
The
objective of this class is to teach students the importance of database design
in software engineering. A proper database design ensures that a system is
efficient, reliable, and easy to maintain. We will cover the basic concepts of
database design, Entity-Relationship (ER) diagrams, and normalization.
1.
Introduction to Database Design
Database
design is a crucial step in software development, where we structure and
organize data to ensure it is stored efficiently and can be retrieved easily. A
well-designed database ensures that data is consistent, accurate, and
accessible. It is essential for preventing data redundancy and maintaining
integrity.
Key
Elements of Database Design:
1.
Entities: Represent real-world
objects or concepts that have data we want to store (e.g., customers, orders,
employees).
2.
Attributes: Characteristics or
properties of an entity (e.g., a customer entity might have attributes like
name, address, and phone number).
3.
Relationships: Associations between
entities (e.g., a customer places an order).
2.
Introduction to ER Diagrams (Entity-Relationship Diagrams)
ER
diagrams are a graphical tool used to visualize the database design process.
They help to understand the relationships between different entities and their
attributes. ER diagrams are vital in ensuring that the database structure meets
the requirements of the system and is logically organized.
Components
of an ER Diagram:
- Entities:
Represented by rectangles. For example, "Customer",
"Order", etc.
- Attributes:
Represented by ovals. For example, "Name", "Address",
etc.
- Relationships:
Represented by diamonds. For example, "places" (a relationship
between "Customer" and "Order").
- Primary Keys:
The unique identifier for each entity, often underlined. For example,
"CustomerID" for a customer entity.
- Foreign Keys:
Attributes that create a relationship between two entities (e.g.,
"CustomerID" in the "Order" entity).
Example
ER Diagram:
Consider
a simple database for a library:
- Entities:
Book, Author, Borrower
- Relationships:
Borrower borrows Book
- Attributes:
Book (Title, ISBN), Author (Name), Borrower (ID, Name, Address)
An ER
diagram for this might look like:
css[Book] -- borrows --> [Borrower] | [Author]
3.
Database Normalization
Database
normalization is the process of organizing data to reduce redundancy and
improve data integrity. It involves dividing large tables into smaller, related
tables and defining relationships between them. Normalization helps in making
sure the database is efficient and reduces the risk of anomalies.
Normalization
Forms:
There are
several "normal forms" (1NF, 2NF, 3NF, etc.), which define rules for
organizing data:
- First Normal Form (1NF):
Ensures that there are no repeating groups of data, and each record is
unique.
- Second Normal Form (2NF):
Ensures that all non-key attributes are fully dependent on the primary
key.
- Third Normal Form (3NF):
Ensures that no transitive dependencies exist (i.e., non-key attributes
are not dependent on other non-key attributes).
Example
of Normalization:
Consider a non-normalized table that stores customer orders:
|
CustomerName |
OrderID |
Product |
|
John |
1 |
TV |
|
John |
2 |
Laptop |
|
Alice |
3 |
Phone |
After
normalization (2NF), this could be divided into two tables:
·
Customer:
|
CustomerID |
CustomerName |
|
1 |
John |
|
2 |
Alice |
·
Orders:
|
OrderID |
CustomerID |
Product |
|
1 |
1 |
TV |
|
2 |
1 |
Laptop |
|
3 |
2 |
Phone |
This
eliminates redundancy and maintains data integrity.
4.
Creating an ER Diagram for a Given Problem
Let's
work through creating an ER diagram for a real-world application: Hotel
Management System.
Entities:
1.
Guest: Represents a hotel
guest. Attributes could include GuestID, Name, Contact Information, and
Address.
2.
Room: Represents a hotel room. Attributes
could include RoomID, Type (Single, Double, Suite), Price.
3.
Reservation: Represents a guest's
room reservation. Attributes could include ReservationID, Date, Duration, and
GuestID (foreign key).
4.
Payment: Represents a payment
made by the guest. Attributes could include PaymentID, Amount, Date,
ReservationID (foreign key).
Relationships:
1.
Guest - Reservation: A guest can make
many reservations, but each reservation belongs to one guest. This is a
one-to-many relationship.
2.
Reservation - Room: A reservation
can include one or more rooms, and each room can be reserved by many guests
over time. This is a many-to-many relationship.
3.
Reservation - Payment: A reservation is
associated with one or more payments. This is a one-to-many relationship.
ER
Diagram for Hotel Management System:
css[Guest] -- makes --> [Reservation] -- includes --> [Room] | | [Payment] <------------> [Payment]
- Guest
entity connects to Reservation through a one-to-many
relationship.
- Reservation
connects to Room and Payment.
- Payment
is linked to Reservation.
5.
Exercise: Design an ER Diagram for a Hotel Management System
Now,
let's design an ER diagram for the Hotel Management System
using the entities and relationships discussed.
Steps:
1.
Identify the entities in the problem:
Guest, Room, Reservation, Payment.
2.
Identify the relationships between the
entities: one-to-many (Guest to Reservation), many-to-many (Reservation to
Room), and one-to-many (Reservation to Payment).
3.
Draw the entities and relationships as
rectangles, diamonds, and ovals.
4.
Add attributes for each entity and define
primary and foreign keys.
You can
use a tool like draw.io or a similar diagramming tool to create the ER diagram
visually.
Conclusion:
In this
class, we covered the basics of database design, ER diagrams, and
normalization. By using ER diagrams, we can visually map out the relationships
between entities in a system and ensure that our database structure is logical,
consistent, and efficient. Normalization further ensures that data redundancy
is minimized and the integrity of the database is maintained.
In the
next class, we will explore how to translate ER diagrams into actual database
schema (tables) and implement them using SQL.
Key
Takeaways:
- Database
design is essential for creating efficient and maintainable systems.
- ER
diagrams help visualize the structure and relationships in a database.
- Normalization
improves the quality of a database by reducing redundancy.
- Creating
an ER diagram for a real-world problem involves identifying entities,
attributes, and relationships.
This
concludes the lecture for today. Please practice designing ER diagrams for
different problems to strengthen your understanding of database design.
You
said:
WRITE 10 ASSIGNMENTS FROM
ABOVE CONCEPT WITH STEP BY STEP SOLUTIONS with proper explanation in details
ChatGPT
said:
Sure!
Here are 10 assignments on the concept of Database
Design and ER Diagrams, with step-by-step solutions and explanations
for each:
Assignment
1: ER Diagram for Library Management System
Problem:
Design an ER diagram for a Library Management System with the
following requirements:
- A
Book has attributes such as ISBN, Title, Author, and Year
of Publication.
- A
Member has attributes such as MemberID, Name, and Contact
Information.
- A
Loan records which member borrowed which book and for how
long.
Step-by-Step
Solution:
1.
Identify Entities:
o Book
(ISBN, Title, Author, Year)
o Member
(MemberID, Name, Contact)
o Loan
(LoanID, IssueDate, ReturnDate)
2.
Define Relationships:
o A
Member can borrow many Books (One-to-Many).
o A
Book can be borrowed by many Members over
time (Many-to-Many).
o Loan
connects Member and Book (One-to-Many between
Member and Loan, One-to-Many between Book and Loan).
3.
Draw the ER Diagram:
css[Member] -- borrows --> [Loan] -- contains --> [Book]
4.
Attributes and Keys:
o Primary
keys: MemberID for Member, ISBN for Book, LoanID for Loan.
o Foreign
keys: MemberID in Loan (foreign key linking Member to Loan), ISBN in Loan
(foreign key linking Book to Loan).
Assignment
2: Normalization of Non-Normalized Table
Problem:
Given the following table, perform normalization up to 2NF:
|
OrderID |
CustomerName |
Product |
ProductPrice |
Quantity |
TotalPrice |
|
1 |
John |
Laptop |
1000 |
2 |
2000 |
|
2 |
Alice |
TV |
500 |
3 |
1500 |
|
3 |
John |
Phone |
300 |
1 |
300 |
Step-by-Step
Solution:
1.
First Normal Form (1NF):
o Ensure
each column contains atomic (indivisible) values.
The table is already in 1NF because each field contains a single value.
2.
Second Normal Form (2NF):
o 2NF
eliminates partial dependencies (i.e., non-key attributes should depend on the
whole primary key).
The composite key is OrderID and Product. The non-key attributes ProductPrice,
Quantity, and TotalPrice depend only on Product and not on the entire key.
Split
the table into two:
o Orders Table:
|
OrderID |
CustomerName |
|
1 |
John |
|
2 |
Alice |
|
3 |
John |
o OrderDetails Table:
|
OrderID |
Product |
ProductPrice |
Quantity |
TotalPrice |
|
1 |
Laptop |
1000 |
2 |
2000 |
|
2 |
TV |
500 |
3 |
1500 |
|
3 |
Phone |
300 |
1 |
300 |
3.
Result:
The data is now in 2NF, where non-key attributes depend on the whole key.
Assignment
3: ER Diagram for Online Shopping System
Problem:
Design an ER diagram for an Online Shopping System with the
following requirements:
- A
Customer has attributes like CustomerID, Name, Address,
and Email.
- A
Product has attributes like ProductID, Name, Description,
and Price.
- A
Order has attributes like OrderID, Date, and TotalAmount.
- Order
links Customer and Product.
Step-by-Step
Solution:
1.
Identify Entities:
o Customer
(CustomerID, Name, Address, Email)
o Product
(ProductID, Name, Description, Price)
o Order
(OrderID, Date, TotalAmount)
2.
Define Relationships:
o Customer
places many Orders (One-to-Many).
o Order
contains many Products (Many-to-Many, resolved through a
junction table like OrderDetails).
3.
Draw the ER Diagram:
css[Customer] -- places --> [Order] -- contains --> [Product]
4.
Attributes and Keys:
o Primary
keys: CustomerID for Customer, ProductID for Product, OrderID for Order.
o Foreign
keys: CustomerID in Order (foreign key linking Customer to Order), ProductID in
OrderDetails (foreign key linking Product to Order).
Assignment
4: Create an ER Diagram for a Hotel Management System
Problem:
Design an ER diagram for a Hotel Management System with the
following entities:
- Guest
(GuestID, Name, Address)
- Room
(RoomID, Type, Price)
- Reservation
(ReservationID, Date, Duration)
- Payment
(PaymentID, Amount, Date)
Step-by-Step
Solution:
1.
Identify Entities:
o Guest (GuestID,
Name, Address)
o Room
(RoomID, Type, Price)
o Reservation
(ReservationID, Date, Duration)
o Payment
(PaymentID, Amount, Date)
2.
Define Relationships:
o Guest
makes many Reservations (One-to-Many).
o Reservation
contains one or more Rooms (Many-to-Many, resolved through a
junction table).
o Reservation
is linked to Payment (One-to-Many).
3.
Draw the ER Diagram:
css[Guest] -- makes --> [Reservation] -- contains --> [Room] | [Payment]
Assignment
5: Convert ER Diagram to Tables
Problem:
Convert the following ER diagram into relational tables.
- Entities:
Student (StudentID, Name, Age), Course (CourseID, CourseName), Enrollment
(EnrollmentID, Date).
- Relationships:
A Student enrolls in many Courses (Many-to-Many).
Step-by-Step
Solution:
1.
Define Tables:
o Student Table:
|
StudentID |
Name |
Age |
|
1 |
John |
21 |
|
2 |
Alice |
22 |
o Course Table:
|
CourseID |
CourseName |
|
101 |
Computer Science |
|
102 |
Mathematics |
o Enrollment Table (Junction Table):
|
EnrollmentID |
StudentID |
CourseID |
Date |
|
1 |
1 |
101 |
2025-01-15 |
|
2 |
2 |
102 |
2025-01-16 |
2.
Result:
This is how the relational tables are structured from the ER diagram.
Assignment
6: ER Diagram for University Management System
Problem:
Design an ER diagram for a University Management System that
tracks Students, Courses, and Professors.
Step-by-Step
Solution:
1.
Identify Entities:
o Student (StudentID,
Name, Age, Major)
o Course
(CourseID, Name, Credits)
o Professor
(ProfessorID, Name, Department)
2.
Define Relationships:
o A
Student can enroll in many Courses
(Many-to-Many).
o A
Professor can teach many Courses
(One-to-Many).
3.
Draw the ER Diagram:
css[Student] -- enrolls in --> [Course] <-- taught by --> [Professor]
Assignment
7: Normalization of Product Table
Problem:
Given the following table, normalize it to 3NF:
|
ProductID |
ProductName |
Category |
SupplierName |
SupplierContact |
Price |
|
101 |
Laptop |
Electronics |
ABC Corp |
123-456-7890 |
800 |
|
102 |
TV |
Electronics |
XYZ Corp |
987-654-3210 |
500 |
|
103 |
Phone |
Electronics |
ABC Corp |
123-456-7890 |
300 |
Step-by-Step
Solution:
1.
1NF:
The table is already in 1NF because each field contains atomic values.
2.
2NF:
o The
table has partial dependencies. We remove them by dividing into two tables:
Products Table:
|
ProductID |
ProductName |
Category |
Price |
|
101 |
Laptop |
Electronics |
800 |
|
102 |
TV |
Electronics |
500 |
|
103 |
Phone |
Electronics |
300 |
Suppliers Table:
|
SupplierName |
SupplierContact |
|
ABC Corp |
123-456-7890 |
|
XYZ Corp |
987-654-3210 |
3.
3NF:
Remove transitive dependencies (SupplierContact depends on SupplierName). The
tables are now in 3NF.
Assignment
8: ER Diagram for Hospital Management System
Problem:
Design an ER diagram for a Hospital Management System where
patients can be treated by multiple doctors.
Step-by-Step
Solution:
1.
Identify Entities:
o Patient (PatientID,
Name, Age, Contact)
o Doctor
(DoctorID, Name, Specialty)
o Treatment
(TreatmentID, Date, Diagnosis)
2.
Define Relationships:
o A
Patient can be treated by multiple Doctors
(Many-to-Many).
o Doctor
can treat multiple Patients.
3.
Draw the ER Diagram:
csharp[Patient] -- treated by --> [Treatment] <-- prescribed by --> [Doctor]
Assignment
9: ER Diagram for Employee Management System
Problem:
Design an ER diagram for an Employee Management System where
employees can be assigned to multiple projects.
Step-by-Step
Solution:
1.
Identify Entities:
o Employee
(EmployeeID, Name, Department)
o Project
(ProjectID, ProjectName, Deadline)
2.
Define Relationships:
o An
Employee can work on multiple Projects
(Many-to-Many).
o A
Project can have multiple Employees working
on it.
3.
Draw the ER Diagram:
csharp[Employee] -- works on --> [Project]
Assignment
10: ER Diagram for Banking System
Problem:
Design an ER diagram for a Banking System where Customers
can open multiple Accounts and perform Transactions.
Step-by-Step
Solution:
1.
Identify Entities:
o Customer
(CustomerID, Name, Address)
o Account
(AccountID, Type, Balance)
o Transaction
(TransactionID, Date, Amount)
2.
Define Relationships:
o A
Customer can have multiple Accounts
(One-to-Many).
o A
Transaction is related to an Account
(Many-to-Many).
3.
Draw the ER Diagram:
css[Customer] -- opens --> [Account] -- has --> [Transaction]
These
assignments will help students practice designing ER diagrams and understanding
database normalization and relational table creation.
You
said:
WRITE 50 no of MCQs only
FROM ABOVE CONCEPT with explanation
ChatGPT
said:
Here are 50
multiple-choice questions (MCQs) based on the concept of Database
Design and ER Diagrams, with explanations for each answer:
1.
Which of the following is an entity in an ER diagram for a Library Management
System?
- a)
Book
- b)
Borrowed
- c)
Return Date
- d)
Issued By
Answer: a) Book
Explanation: In an ER diagram, an entity represents a
real-world object or concept. "Book" is an entity, while
"Borrowed" and "Return Date" are attributes.
2.
What is the primary purpose of database normalization?
- a)
To reduce redundancy and dependency
- b)
To make the database faster
- c)
To organize the data better visually
- d)
To make the database larger
Answer: a) To reduce redundancy and
dependency
Explanation: The main goal of normalization is to eliminate
redundancy and ensure that data dependencies are logical.
3.
Which relationship is represented by a diamond shape in an ER diagram?
- a)
Entity
- b)
Attribute
- c)
Relationship
- d)
Key
Answer: c) Relationship
Explanation: In an ER diagram, the diamond shape is used to
represent relationships between entities.
4.
Which of the following is a property of a primary key?
- a)
It can have duplicate values.
- b)
It uniquely identifies each record in a table.
- c)
It is optional for every table.
- d)
It is always numeric.
Answer: b) It uniquely identifies each
record in a table.
Explanation: The primary key uniquely identifies each record
in a table and cannot have duplicate values.
5.
In 2NF, which dependency is eliminated?
- a)
Transitive dependency
- b)
Partial dependency
- c)
Redundant dependency
- d)
No dependency
Answer: b) Partial dependency
Explanation: In Second Normal Form (2NF), partial dependencies
are eliminated, meaning all non-key attributes must depend on the whole primary
key.
6.
In a relational database, what type of relationship is represented by a
"many-to-many" relationship?
- a)
A single entity is related to multiple entities.
- b)
Multiple entities are related to a single entity.
- c)
Multiple entities are related to multiple other entities.
- d)
One entity is related to one entity.
Answer: c) Multiple entities are related to
multiple other entities.
Explanation: In a many-to-many relationship, multiple
instances of one entity are related to multiple instances of another entity.
7.
What does the crow’s foot symbol represent in an ER diagram?
- a)
Many
- b)
One
- c)
A relationship
- d)
Optional
Answer: a) Many
Explanation: The crow’s foot symbol represents
"many" in an ER diagram, often indicating a "one-to-many"
or "many-to-many" relationship.
8.
Which of the following is NOT an example of an attribute in an ER diagram?
- a)
Student ID
- b)
Course Name
- c)
Registration
- d)
Department Name
Answer: c) Registration
Explanation: Registration is an action or a relationship, not
an attribute. The others are attributes that describe entities.
9.
Which of the following types of dependencies is removed in 3NF (Third Normal
Form)?
- a)
Partial dependency
- b)
Transitive dependency
- c)
Redundant dependency
- d)
All of the above
Answer: b) Transitive dependency
Explanation: In 3NF, transitive dependencies are removed,
which occur when non-key attributes depend on other non-key attributes.
10.
What is the correct definition of a foreign key in a relational database?
- a)
A key that uniquely identifies a record.
- b)
A key used to link two tables together.
- c)
A key that is always numeric.
- d)
A key that is not required for normalization.
Answer: b) A key used to link two tables
together.
Explanation: A foreign key is an attribute in one table that
references the primary key in another table to establish a relationship.
11.
In an ER diagram, what does a rectangle represent?
- a)
Entity
- b)
Attribute
- c)
Relationship
- d)
Foreign Key
Answer: a) Entity
Explanation: In an ER diagram, a rectangle is used to
represent entities.
12.
What is the primary purpose of using a junction table?
- a)
To reduce redundancy
- b)
To represent many-to-many relationships
- c)
To store data temporarily
- d)
To define the primary key
Answer: b) To represent many-to-many
relationships
Explanation: A junction table is used to resolve many-to-many
relationships between two entities by breaking them into two one-to-many
relationships.
13.
What does an oval represent in an ER diagram?
- a)
Relationship
- b)
Entity
- c)
Attribute
- d)
Key
Answer: c) Attribute
Explanation: In an ER diagram, an oval represents an attribute
of an entity.
14.
Which of the following is an example of a many-to-many relationship?
- a)
A student has one advisor.
- b)
A teacher teaches many students.
- c)
A student can enroll in many courses, and a course can have many students.
- d)
A product belongs to one category.
Answer: c) A student can enroll in many
courses, and a course can have many students.
Explanation: This is a classic many-to-many relationship where
students and courses are related in both directions.
15.
What is a composite key in a database?
- a)
A key that uniquely identifies a record by using multiple attributes.
- b)
A key that is automatically generated by the system.
- c)
A key used to link two tables.
- d)
A key that does not allow NULL values.
Answer: a) A key that uniquely identifies a
record by using multiple attributes.
Explanation: A composite key is formed by combining two or
more attributes to create a unique identifier.
16.
Which of the following is true about a primary key?
- a)
It can accept NULL values.
- b)
It can be duplicate.
- c)
It uniquely identifies a record in the table.
- d)
It is always optional.
Answer: c) It uniquely identifies a record
in the table.
Explanation: A primary key uniquely identifies a record in a
table and cannot have NULL or duplicate values.
17.
Which of the following is a correct example of a one-to-many relationship?
- a)
A student can enroll in many courses.
- b)
A customer can have many orders.
- c)
A professor can teach many courses.
- d)
A product can be purchased by many customers.
Answer: b) A customer can have many orders.
Explanation: In a one-to-many relationship, a single customer
can place multiple orders.
18.
What does the term "Cardinality" in ER diagrams refer to?
- a)
The number of attributes in an entity.
- b)
The maximum and minimum number of occurrences of one entity related to
another entity.
- c)
The number of relationships between entities.
- d)
The unique identifier of an entity.
Answer: b) The maximum and minimum number of
occurrences of one entity related to another entity.
Explanation: Cardinality describes the relationship between
entities in terms of the number of allowed instances.
19.
What is the function of a "Transaction" entity in a banking system?
- a)
To track customer information
- b)
To represent the monetary exchange between two parties
- c)
To calculate the interest on a savings account
- d)
To store the history of customer requests
Answer: b) To represent the monetary
exchange between two parties
Explanation: The "Transaction" entity represents the
action of transferring money from one account to another.
20.
In database normalization, what is the purpose of removing transitive
dependencies in 3NF?
- a)
To ensure that each column is atomic.
- b)
To eliminate redundancy and avoid anomalies in updates.
- c)
To separate data into logical tables.
- d)
To optimize performance.
Answer: b) To eliminate redundancy and avoid
anomalies in updates.
Explanation: Removing transitive dependencies helps prevent
the duplication of data and anomalies during database updates.
21.
Which of the following can be considered as an entity in an ER diagram of an
online shopping system?
- a)
Product
- b)
Add to Cart
- c)
Customer Name
- d)
Purchase Price
Answer: a) Product
Explanation: "Product" is an entity, while "Add
to Cart" and "Customer Name" are actions or attributes.
22.
Which of the following refers to a table in a database?
- a)
Relation
- b)
Entity
- c)
Attribute
- d)
Key
Answer: a) Relation
Explanation: In relational databases, a table is called a
relation, which holds the data in rows and columns.
23.
What is the highest level of normalization achieved by eliminating transitive
dependencies?
- a)
1NF
- b)
2NF
- c)
3NF
- d)
BCNF
Answer: c) 3NF
Explanation: Transitive dependencies are removed in Third
Normal Form (3NF).
24.
In an ER diagram, a "Weak Entity" is represented by which shape?
- a)
Double rectangle
- b)
Oval
- c)
Diamond
- d)
Single rectangle
Answer: a) Double rectangle
Explanation: A weak entity is represented by a double
rectangle, which indicates it cannot be uniquely identified by its own
attributes.
25.
Which of the following describes a one-to-one relationship in ER diagrams?
- a)
One entity is related to multiple instances of another entity.
- b)
Multiple entities are related to one instance of another entity.
- c)
One entity is related to exactly one instance of another entity.
- d)
Entities are not related to each other.
Answer: c) One entity is related to exactly
one instance of another entity.
Explanation: In a one-to-one relationship, each entity is
related to exactly one other entity.
26.
In database design, what does the term "Referential Integrity" refer
to?
- a)
Ensuring data is properly formatted.
- b)
Ensuring that relationships between tables are consistent.
- c)
Ensuring that data is properly indexed.
- d)
Ensuring that data is always unique.
Answer: b) Ensuring that relationships
between tables are consistent.
Explanation: Referential integrity ensures that foreign keys
in a table point to valid records in another table.
27.
Which type of relationship is used when two entities are related by only one
relationship?
- a)
Unary
- b)
Binary
- c)
Ternary
- d)
Quaternary
Answer: b) Binary
Explanation: A binary relationship involves two entities
related by a single relationship.
28.
What does a "Multi-valued Attribute" represent in an ER diagram?
- a)
An attribute that can have more than one value.
- b)
A relationship between two entities.
- c)
A unique identifier for an entity.
- d)
A key used for referencing other tables.
Answer: a) An attribute that can have more
than one value.
Explanation: A multi-valued attribute can hold more than one
value for an entity, such as multiple phone numbers for a person.
29.
Which of the following is a correct example of a primary key?
- a)
Product Name
- b)
Student ID
- c)
Course Name
- d)
Address
Answer: b) Student ID
Explanation: The Student ID is a unique identifier for each
student and can be used as a primary key.
30.
In a database, what is the term used for a relationship that links multiple
entities?
- a)
Attribute
- b)
Entity
- c)
Relationship
- d)
Foreign Key
Answer: c) Relationship
Explanation: A relationship in a database links multiple
entities together to show how they interact or relate.
31.
Which of the following is true about "Foreign Key Constraints"?
- a)
They ensure that data is always sorted.
- b)
They prevent duplicate data.
- c)
They ensure that foreign key values must match primary key values.
- d)
They allow NULL values only.
Answer: c) They ensure that foreign key
values must match primary key values.
Explanation: Foreign key constraints enforce referential
integrity, ensuring that values in a foreign key column must match the primary
key of another table.
32.
What is the goal of denormalization?
- a)
To make the database faster by reducing the number of joins.
- b)
To avoid redundancy in the database.
- c)
To split a large table into smaller ones.
- d)
To create more relationships between tables.
Answer: a) To make the database faster by
reducing the number of joins.
Explanation: Denormalization introduces redundancy to speed up
query performance by reducing the number of joins needed.
33.
Which of the following is an example of a derived attribute?
- a)
Age
- b)
Address
- c)
Phone Number
- d)
Salary
Answer: a) Age
Explanation: Age is a derived attribute because it can be
calculated from the Date of Birth.
34.
What is the term used to describe a field that uniquely identifies a record
within a table?
- a)
Foreign key
- b)
Composite key
- c)
Primary key
- d)
Candidate key
Answer: c) Primary key
Explanation: A primary key uniquely identifies each record in
a table.
35.
Which of the following refers to the action of dividing a large table into
smaller ones?
- a)
Normalization
- b)
Denormalization
- c)
Partitioning
- d)
Aggregation
Answer: a) Normalization
Explanation: Normalization involves dividing large tables into
smaller, more manageable ones to eliminate redundancy.
36.
What does the term "Atomicity" refer to in database transactions?
- a)
Each transaction is indivisible.
- b)
Transactions are always reversible.
- c)
Transactions occur only in one table.
- d)
Multiple transactions can happen at once.
Answer: a) Each transaction is indivisible.
Explanation: Atomicity means that a transaction is an
indivisible unit of work that either completes entirely or doesn’t happen at
all.
37.
What is the purpose of a "Normalization" process in database design?
- a)
To increase the storage capacity of a database.
- b)
To reduce data redundancy and dependency.
- c)
To ensure the database runs on multiple servers.
- d)
To store large files efficiently.
Answer: b) To reduce data redundancy and
dependency.
Explanation: Normalization aims to organize the data to
eliminate redundancy and reduce the dependency between attributes.
38.
Which of the following is NOT an example of a relational operation?
- a)
Union
- b)
Intersection
- c)
Projection
- d)
Indexing
Answer: d) Indexing
Explanation: Indexing is used for efficient searching but is
not considered a relational operation in database theory.
39.
Which of the following best describes an "Identifying Relationship"
in an ER diagram?
- a)
A relationship where an entity depends on another entity for
identification.
- b)
A relationship where two entities have a mutual dependence.
- c)
A relationship with no dependency between entities.
- d)
A relationship that defines an entity's attributes.
Answer: a) A relationship where an entity
depends on another entity for identification.
Explanation: An identifying relationship is where one entity's
existence depends on another entity, typically for its primary key.
40.
Which of the following is an example of a multivalued attribute?
- a)
Phone Number
- b)
Date of Birth
- c)
National ID
- d)
Gender
Answer: a) Phone Number
Explanation: A multivalued attribute can have more than one
value for an entity, such as multiple phone numbers for a person.
41.
What is the main goal of creating a database schema?
- a)
To define the structure of the data and its relationships.
- b)
To perform normalization of the data.
- c)
To insert data into the database.
- d)
To update existing records in the database.
Answer: a) To define the structure of the
data and its relationships.
Explanation: A database schema defines the tables, fields,
relationships, and constraints within a database.
42.
What does the term "Cascade Update" refer to in referential
integrity?
- a)
Automatically updating records when the referenced record is updated.
- b)
Preventing the deletion of records when they are referenced.
- c)
Automatically deleting records when the referenced record is deleted.
- d)
Creating automatic backups during updates.
Answer: a) Automatically updating records
when the referenced record is updated.
Explanation: Cascade Update automatically updates related
foreign key values when the primary key value in the referenced table is
updated.
43.
Which of the following is an example of an entity-relationship in a library
system?
- a)
A book can be borrowed by a student.
- b)
A student has a grade.
- c)
A book has multiple authors.
- d)
A librarian checks out a book.
Answer: a) A book can be borrowed by a
student.
Explanation: This is a typical entity-relationship in a
library system where "Book" and "Student" are entities.
44.
Which of the following operations removes duplicate rows from a result set in
SQL?
- a)
SELECT
- b)
UNION
- c)
JOIN
- d)
DISTINCT
Answer: d) DISTINCT
Explanation: The DISTINCT keyword removes duplicate rows from
a query result.
45.
In a relational database, which of the following would be considered a
transaction?
- a)
Adding a new column to a table.
- b)
Updating a customer’s address in the database.
- c)
Creating a new database.
- d)
Changing the structure of a table.
Answer: b) Updating a customer’s address in
the database.
Explanation: A transaction refers to an operation or set of
operations that modify the data in the database.
46.
What is a surrogate key in a database?
- a)
A key that uniquely identifies a record, not derived from the data itself.
- b)
A foreign key that links to another table.
- c)
A key used for indexing large datasets.
- d)
A primary key composed of multiple attributes.
Answer: a) A key that uniquely identifies a
record, not derived from the data itself.
Explanation: A surrogate key is a system-generated key used to
uniquely identify records, often when no natural key is available.
47.
What is the main benefit of creating a "Database View"?
- a)
It improves performance by reducing the amount of data queried.
- b)
It provides a way to aggregate data from multiple tables.
- c)
It is a security measure to prevent unauthorized access to data.
- d)
All of the above.
Answer: d) All of the above.
Explanation: Views provide benefits like performance
optimization, aggregation, and added security.
48.
In a relational database, what does the term "Cardinality" describe?
- a)
The number of rows in a table.
- b)
The number of attributes in an entity.
- c)
The number of relationships between two entities.
- d)
The number of unique records in a table.
Answer: c) The number of relationships
between two entities.
Explanation: Cardinality refers to the number of instances of
one entity related to the number of instances of another entity.
49.
What does a "NULL" value represent in a database?
- a)
The absence of a value or unknown data.
- b)
A value that is zero.
- c)
A placeholder value.
- d)
A non-existent record.
Answer: a) The absence of a value or unknown
data.
Explanation: A NULL value represents the absence of a value or
that the value is unknown or missing.
50.
Which of the following statements about ER diagrams is FALSE?
- a)
They provide a visual representation of the database structure.
- b)
They are used to model the data and relationships between entities.
- c)
They cannot be used in a database normalization process.
- d)
They can represent various types of relationships (one-to-one,
one-to-many).
Answer: c) They cannot be used in a database
normalization process.
Explanation: ER diagrams can be used as a first step in
understanding and normalizing a database structure.
Comments
Post a Comment