1/59
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress

Answer: C. Tables
⚡ Explanation:
When converting ER → relational:
Entity → Table
Attribute → Column
Entity instance → Row
Relationship → Foreign key
You picked D (Rows) — that’s actually an instance of an entity, not the entity itself.
🎯 OA Recognition Tip:
If it says “entity” → think TABLE
If it says “instance” → think ROW
If it says “attribute” → think COLUMN

Answer: C. An employee manages employees
⚡ Explanation:
A reflexive relationship is when an entity relates to itself.
Here, Employee → manages → Employee (same entity on both sides).
🎯 OA Recognition Tip:
If you see same entity interacting with itself → Reflexive
Keywords: manages, supervises, reports to (within same group)

Answer: C. Ternary
⚡ Explanation:
This relationship involves three entities:
Student
Book
Library
That makes it a ternary relationship.
You chose B (Binary) — that would only involve two entities.
🎯 OA Recognition Tip:
2 entities → Binary
3 entities → Ternary
Same entity → Unary / Reflexive
⚠ Trap: Even if it sounds simple, count the entities involved, not the sentence length.

Answer: A. A data dictionary
⚡ Explanation:
A data dictionary stores definitions and meanings of data elements (like Student ID, Course Enrollment, Instructor). It’s literally the “reference book” for terms.
You chose B (ER diagram) — that shows structure/relationships, not definitions.
🎯 OA Recognition Tip:
If you see “meaning of terms / definitions” → Data Dictionary
If you see “structure / relationships” → ER Diagram

Answer: B. Entity type
⚡ Explanation:
“All students in a university” refers to a set of entities, not a single instance.
That is the definition of an entity type.
Entity type = a group/set (e.g., all students)
Entity instance = one specific student
You chose C (Relationship instance) — that would describe a specific interaction between entities, not a group.
🎯 OA Recognition Tip:
“All / set of” → TYPE
“Specific one” → INSTANCE

Answer: D. Relationship instance
⚡ Explanation:
This is a specific statement about specific entities:
Professor Smith (entity instance)
Database 101 (entity instance)
→ connected by teaches
That makes it a relationship instance.
🎯 OA Recognition Tip:
Specific names → INSTANCE
General concept (e.g., “Professors teach Courses”) → TYPE

Answer: A. Conceptual design
⚡ Explanation:
The ER model is created during the conceptual design phase, where you define:
Entities
Relationships
Attributes
Before worrying about tables, keys, or storage.
🎯 OA Recognition Tip:
Conceptual = ER diagram (big picture)
Logical = tables, keys, schema
Physical = storage, indexes, performance

Answer: A. Noun
⚡ Explanation:
In ER modeling:
Nouns → Entities (Customer, Order, Product)
Verbs → Relationships (places, buys, manages)
🎯 OA Recognition Tip:
If it’s a thing → noun → entity
If it’s an action → verb → relationship

Answer: D. Create a separate table to store each skill as a separate row linked to the EmployeeID
⚡ Explanation:
The Skills column has multiple values → this violates 1NF (atomic values).
Fix = split into a new table:
EmployeeSkills
EmployeeID (FK)
Skill
Each skill becomes its own row → clean, normalized design.
🎯 OA Recognition Tip:
If you see multiple values in one column → 🚨 1NF violation
Fix = separate table (one value per row)
NEVER:
❌ Comma-separated lists
❌ Skill1, Skill2 columns

Answer: A. Weak entity
⚡ Explanation:
A weak entity:
Cannot exist without another entity (depends on Customer)
Does not have a full primary key on its own
Is identified using a foreign key + partial key
Here:
Order depends on Customer
→ That’s classic weak entity behavior
🎯 OA Recognition Tip:
Keywords: “cannot exist without” / “depends on” → Weak entity
If it stands alone with its own PK → Strong entity

Answer: A. The maximum number of entities that can be involved
⚡ Explanation:
Cardinality refers to the maximum number of relationships between entities:
1:1
1:M
M:N
OA Recognition Tip:
Maximum (1, many) → Cardinality
Cardinality = MAX

Answer: B. One-to-many relationship
⚡ Explanation:
One manager can manage many employees
Each employee typically has one manager
→ That is 1:M (one-to-many)
🎯 OA Recognition Tip:
“One → many” wording → 1:M
If both sides can have many → M:N
If strictly one on both sides → 1:1

Answer: B. A maximum of one
⚡ Explanation:
In crow’s foot notation:
| (single bar) = maximum of one
crow’s foot (three lines) = many
circle (O) = minimum of zero
You chose D (minimum of one) — that would be shown differently (usually no circle, just a line combination).
🎯 OA Recognition Tip (SUPER IMPORTANT)
Think symbols:
| = ONE (max = 1)
< (crow’s foot) = MANY
O = OPTIONAL (min = 0)
👉 Bars and crow’s feet = maximum
👉 Circle or no circle = minimum

Answer: A. The minimum number of entity occurrences that can be involved
⚡ Explanation:
Modality = minimum participation in a relationship:
0 → optional
1 → mandatory
So it’s about the minimum number of times an entity must participate.
🎯 OA Recognition Tip:
Modality = MIN (0 or 1)
Cardinality = MAX (1 or many)

Answer: A. The minimum number of entity occurrences that can be involved
⚡ Explanation (quick recap):
Modality = minimum (0 or 1)
Optional vs mandatory participation
🎯 Lock it in:
MIN → Modality
MAX → Cardinality

Answer: B. One
⚡ Explanation:
“Must be enrolled in at least one course” → minimum = 1
Modality is about the minimum participation, so the answer is one (mandatory).
🎯 OA Recognition Tip:
“At least one / must” → MIN = 1
“May / optional” → MIN = 0

Answer: A. In a separate table that links students and courses
⚡ Explanation:
This is a many-to-many (M:N) relationship:
Students ↔ Courses
So you need a junction (bridge) table like:
Enrollment
StudentID (FK)
CourseID (FK)
FinalGrade ✅
The FinalGrade belongs to the relationship, not to Student or Course individually.
OA Recognition Tip (VERY IMPORTANT)
If you see:
Many-to-many + extra data (like grade, quantity, date)
👉 That data goes in the junction table

Answer: C. Many-to-many binary
⚡ Explanation:
An associative entity (junction/bridge table) is used to resolve a many-to-many (M:N) relationship between two entities.
Two entities → binary
Many-to-many → needs associative entity
You chose D (one-to-many unary) — that’s not what associative entities are for.
🎯 OA Recognition Tip (VERY IMPORTANT)
If you see associative entity / bridge table → think:
M:N between TWO entities
A university database tracks which students are enrolled in which courses. Each student can take multiple courses, and each course can have multiple students. The database also needs to store the final grade for each student in each course. Where should the "FinalGrade" attribute be stored?
Options:
A. In a separate table that links students and courses.
B. In a new "Grades" column added to either Student or Course.
C. In the Student table, alongside the student’s personal information.
D. In the Course table, alongside course details like course name and credits.
✅ Correct Answer:
A. In a separate table that links students and courses.
💡 Explanation (Simple + OA mindset)
This is a many-to-many relationship:
A student → many courses
A course → many students
👉 That means you MUST create a junction table (also called a bridge table)
Example:
StudentID | CourseID | FinalGrade |
|---|
✔ The FinalGrade belongs to the relationship, NOT the student or the course alone.
🔥 Key OA Trick (VERY IMPORTANT) 🚨 Trigger phrase to memorize:
“for each student in each course”
Whenever you see this:
👉 The attribute belongs in the junction table
🧠 Why the other answers are WRONG ❌ B. Add column to Student or Course
One student has MANY grades → violates normalization
One course has MANY grades → same problem
❌ C. Student table
A student takes multiple courses → where do multiple grades go? ❌
❌ D. Course table
A course has multiple students → multiple grades again ❌
🧩 Memory Cheat Code 👉 Think:
“Does this value depend on BOTH entities?”
If YES →
➡ It goes in the junction table
⚡ Ultra-fast recognition for OA
Clue in Question | What to Do |
|---|---|
“many-to-many” | Junction table |
“per student per course” | Junction table |
“tracks relationship data” | Junction table |
🏁 Bottom Line
👉 Grades are not about a student OR a course
👉 They are about the connection between them
Question 20
An associative entity is used to represent what kind of relationship?
Options:
A. One-to-one binary
B. One-to-many ternary
C. Many-to-many binary
D. One-to-many unary
✅ Correct Answer:
C. Many-to-many binary
💡 Explanation (Simple + OA mindset)
An associative entity is just a fancy name for:
👉 A junction table
And what do we use junction tables for?
👉 Many-to-many relationships
🔗 Example:
Students ↔ Courses
One student → many courses
One course → many students
➡ You create an associative entity (Enrollment table)
🔥 Key OA Trick 🚨 Trigger phrase:
“associative entity”
👉 Immediate translation:
➡ Many-to-many relationship
🧠 Why the other answers are WRONG ❌ A. One-to-one binary
No need for associative entity
Just use a foreign key
❌ B. One-to-many ternary
Ternary = 3 entities (rare on OA, but not this case)
❌ D. One-to-many unary
Unary = relationship within SAME table (like employee-manager)
🧩 Memory Cheat Code 👉 Burn this into memory:
Associative Entity = Junction Table = Many-to-Many
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
associative entity | many-to-many |
bridge table | many-to-many |
intersection table | many-to-many |
🏁 Bottom Line
👉 Associative entity exists ONLY because many-to-many exists
A unary relationship associates occurrences of an entity type with:
Options:
A. Occurrences of a different entity type.
B. Other occurrences of the same entity type.
C. Attributes of another entity.
D. A ternary relationship.
✅ Correct Answer:
B. Other occurrences of the same entity type.
💡 Explanation (Simple + OA mindset)
A unary relationship means:
👉 An entity is related to itself
🔗 Classic Example:
Employee → manages → Employee
One employee manages another employee
SAME entity involved twice
🔥 Key OA Trick 🚨 Trigger word:
“Unary”
👉 Immediate translation:
➡ Same table talking to itself
🧠 Why the other answers are WRONG ❌ A. Different entity type
That’s a binary relationship, not unary
❌ C. Attributes of another entity
Relationships are between entities, not attributes
❌ D. Ternary relationship
Ternary = 3 different entities involved
🧩 Memory Cheat Code 👉 Think:
“U = Uno = One”
➡ One entity type involved
➡ Talking to itself
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
unary | same entity |
recursive relationship | same entity |
employee manages employee | unary |
🏁 Bottom Line
👉 Unary = self-relationship
In a manufacturing database, the relationship is represented as:
Part is composed of Part.
Options:
A. One-to-one binary relationship
B. One-to-many unary relationship
C. Many-to-many unary relationship
D. Ternary relationship
Correct Answer:
C. Many-to-many unary relationship
💡 Explanation (Simple + OA mindset) Step 1: Identify Unary
“Part is composed of Part”
👉 SAME entity → Unary relationship
Step 2: Identify Cardinality
Ask:
Can one part be made of MANY parts? → ✅ YES
Can one part be used in MANY other parts? → ✅ YES
👉 That makes it Many-to-Many
🔥 Key OA Trick (VERY HIGH YIELD) 🚨 Break every question into TWO parts:
Unary / Binary / Ternary
One / Many
👉 Translation shortcut:
Phrase | Meaning |
|---|---|
“X is composed of X” | Unary |
“contains multiple” | Many |
“used in multiple” | Many |
➡ MANY on both sides = Many-to-Many
🧠 Why B (your answer) is WRONG ❌ One-to-many unary
This would mean:
One part → many subparts
BUT each subpart → only one parent ❌
👉 Not realistic in manufacturing:
A bolt can be used in MANY products
A component can belong to multiple assemblies
➡ That makes it MANY-to-MANY
🧩 Memory Cheat Code 👉 Think LEGO 🧱
One LEGO piece → used in many builds
One build → uses many pieces
➡ Many-to-Many (Unary)
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
“Part → Part” | Unary |
“made of multiple parts” | Many |
“used in multiple assemblies” | Many |
BOTH sides many | Many-to-Many Unary |
🏁 Bottom Line
👉 Same entity → Unary
👉 Many on both sides → Many-to-Many
➡ Many-to-Many Unary
A weak entity is one that:
Options:
A. Does not have an identifying attribute of its own.
B. Has very few attributes.
C. Is not important to the database.
D. Cannot be related to a strong entity.
Correct Answer:
A. Does not have an identifying attribute of its own.
💡 Explanation (Simple + OA mindset)
A weak entity:
👉 Cannot be uniquely identified by itself
It depends on a strong entity to form a full key.
🔗 Example:
Order (strong)
OrderItem (weak)
OrderItem cannot exist alone
Needs: OrderID + ItemID to be unique
➡ Its identity is partially borrowed
🔥 Key OA Trick 🚨 Trigger phrase:
“weak entity”
👉 Immediate translation:
➡ No primary key on its own
🧠 Why the other answers are WRONG ❌ B. Has very few attributes
Number of attributes doesn’t matter
❌ C. Not important
Weak ≠ unimportant ❌
❌ D. Cannot be related to strong entity
Actually the OPPOSITE
👉 It must depend on a strong entity
🧩 Memory Cheat Code 👉 Think:
Weak = Needs Help
➡ Needs a strong entity to survive
➡ Cannot stand alone
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
weak entity | no PK by itself |
depends on another entity | weak |
partial key mentioned | weak |
identifying relationship | weak entity involved |
🏁 Bottom Line
👉 Weak entity = no unique identity alone
👉 Needs a strong entity + foreign key
The database tracks that a doctor prescribes a medication to a patient. What type of relationship is this?
Options:
A. Unary
B. Binary
C. Ternary
D. Reflexive
Correct Answer:
C. Ternary
💡 Explanation (Simple + OA mindset)
Count the entities involved:
Doctor
Patient
Medication
👉 That’s 3 entities
➡ Ternary relationship
🔥 Key OA Trick (SUPER IMPORTANT) 🚨 Always do this:
COUNT the entities
# of Entities | Relationship Type |
|---|---|
1 | Unary |
2 | Binary |
3 | Ternary |
🧠 Why the other answers are WRONG ❌ A. Unary
Only ONE entity (like Employee manages Employee)
❌ B. Binary
Only TWO entities (like Student takes Course)
❌ D. Reflexive
Same as unary (entity relates to itself)
🧩 Memory Cheat Code 👉 Think:
“Doctor gives Patient Medication”
That’s a 3-way interaction
➡ You CANNOT split it cleanly into just pairs without losing meaning
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
3 different nouns/entities | Ternary |
involves 3 roles | Ternary |
doctor + patient + medication | Ternary |
🏁 Bottom Line
👉 Count entities → 3 → Ternary
A "singular" attribute means that:
Options:
A. Each entity instance can have at most one value for that attribute.
B. The attribute value is unique across all entity instances.
C. The attribute is optional.
D. The attribute is required.
Correct Answer:
A. Each entity instance can have at most one value for that attribute.
💡 Explanation (Simple + OA mindset)
A singular attribute means:
👉 One value per row (entity instance)
🔗 Example:
StudentID | Name |
|---|---|
1 | John |
✔ Name is singular → one value per student
🚫 NOT singular example:
StudentID | PhoneNumbers |
|---|---|
1 | 123, 456 |
❌ That would be multi-valued
🔥 Key OA Trick 🚨 Trigger word:
“Singular”
👉 Translate to:
➡ NOT multi-valued
🧠 Why the other answers are WRONG ❌ B. Unique across all instances
That’s uniqueness constraint, not singular
Example: SSN
❌ C. Optional
That’s about NULL allowed, not number of values
❌ D. Required
That’s NOT NULL constraint, not singular
🧩 Memory Cheat Code 👉 Think:
Singular = Single
➡ One value per entity
➡ No lists, no multiple entries
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
singular attribute | one value |
multi-valued attribute | multiple values |
list in a column | NOT singular |
🏁 Bottom Line
👉 Singular = one value per row
A "required" attribute is indicated by:
Options:
A. An attribute minimum of Zero
B. An attribute minimum of One
C. An attribute maximum of Many
D. It's not related to minimum and maximums.
✅ Correct Answer:
B. An attribute minimum of One
💡 Explanation (Simple + OA mindset)
A required attribute means:
👉 The value must exist
➡ Cannot be NULL
➡ Must have at least one value
🔗 In terms of min/max:
Minimum = 1 → Required ✅
Minimum = 0 → Optional ❌
🔥 Key OA Trick 🚨 Focus on the word:
“required”
👉 Translate to:
➡ Minimum = 1
🧠 Why the other answers are WRONG ❌ A. Minimum of Zero
That means optional (can be NULL)
❌ C. Maximum of Many
That’s about how MANY values, not whether it’s required
❌ D. Not related
It IS directly related to minimum participation
🧩 Memory Cheat Code 👉 Think:
Required = Must have at least ONE
➡ Minimum = 1
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
required attribute | min = 1 |
optional attribute | min = 0 |
NOT NULL | min = 1 |
🏁 Bottom Line
👉 Required = Minimum of 1
In a university database, the StudentEmail attribute in the Student table stores each student’s email address. The database does not allow two students to have the same email. Which statement about the StudentEmail attribute is correct?
Options:
A. It is singular, because each student has at least one email.
B. It is unique, because no two students share the same email.
C. It is required, because every student must have an email.
D. It is optional, because some students may not provide an email.
✅ Correct Answer:
B. It is unique, because no two students share the same email.
💡 Explanation (Simple + OA mindset)
The key sentence is:
“The database does not allow two students to have the same email”
👉 That is the definition of UNIQUE
🔥 Key OA Trick (SUPER IMPORTANT) 🚨 Translate phrases like this:
Phrase in Question | Meaning |
|---|---|
“no two share the same” | UNIQUE |
“must have a value” | REQUIRED |
“one value per row” | SINGULAR |
🧠 Why the other answers are WRONG ❌ A. Singular
Talks about one value per student
Question is about sharing across students ❌
❌ C. Required
Would say: “every student MUST have an email”
That is NOT stated ❌
❌ D. Optional
Would say: “students may not have email”
Not mentioned ❌
🧩 Memory Cheat Code (THIS IS HUGE FOR OA) 👉 Separate these 3 concepts:
Concept | Meaning |
|---|---|
Singular | One value per row |
Unique | No duplicates across rows |
Required | Cannot be NULL |
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
“no duplicates” | UNIQUE |
“each must have” | REQUIRED |
“one value only” | SINGULAR |
🏁 Bottom Line
👉 “No two students share…” = UNIQUE constraint
What is a strong entity?
Options:
A. An entity that participates in many relationships.
B. An entity that has one or more identifying attributes.
C. An entity that has no relationships.
D. An entity that cannot be a subtype.
✅ Correct Answer:
B. An entity that has one or more identifying attributes.
💡 Explanation (Simple + OA mindset)
A strong entity:
👉 Can be uniquely identified on its own
➡ Has its own primary key
🔗 Example:
Student
StudentID (PK) ✔
Can exist independently ✔
🔥 Key OA Trick 🚨 Trigger phrase:
“strong entity”
👉 Translate to:
➡ Has its own primary key
🧠 Why the other answers are WRONG ❌ A. Participates in many relationships
That’s irrelevant — any entity can do that
❌ C. Has no relationships
Entities can have relationships and still be strong
❌ D. Cannot be a subtype
Not related to what defines “strong”
🧩 Memory Cheat Code 👉 Pair it with weak entity:
Type | Meaning |
|---|---|
Strong entity | Has its own PK |
Weak entity | Needs another entity’s PK |
👉 Think:
Strong = Independent
Weak = Dependent
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
strong entity | has PK |
weak entity | no PK alone |
identifying attribute | primary key |
🏁 Bottom Line
👉 Strong entity = can stand alone (has its own identity)
A school database tracks Courses and CourseSections. Each CourseSection cannot exist without a Course, and its primary key is the course code. What type of entity is Course?
Options:
A. Weak entity
B. Identifying entity
C. Associative entity
D. Subtype entity
✅ Correct Answer:
B. Identifying entity
💡 Explanation (Simple + OA mindset)
Break it down:
CourseSection cannot exist without Course → dependent
CourseSection is a weak entity
Its key depends on Course
👉 Therefore:
➡ Course = Identifying (strong) entity
🔥 Key OA Trick (VERY IMPORTANT PAIRING) 🚨 Whenever you see:
“cannot exist without”
👉 That entity = Weak
👉 The entity it depends on = Identifying entity
🧠 Relationship Structure
Entity | Type |
|---|---|
Course | Identifying (strong) |
CourseSection | Weak |
🧠 Why the other answers are WRONG ❌ A. Weak entity
That’s CourseSection, not Course
❌ C. Associative entity
That’s for many-to-many relationships
❌ D. Subtype entity
That’s inheritance (not happening here)
🧩 Memory Cheat Code 👉 Think:
Weak entity needs a “parent”
➡ Parent = Identifying entity
🔗 Visual:
Course (strong / identifying)
↓
CourseSection (weak)
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
“cannot exist without” | weak entity |
“provides identity to another” | identifying entity |
parent-child dependency | identifying entity = parent |
🏁 Bottom Line
👉 Course = Identifying entity (strong)
👉 Because CourseSection depends on it
A university database tracks Buildings and Rooms. Each Room cannot exist without a Building, and the database must uniquely identify every room. Which of the following is most likely natural key for a Room?
Options:
A. The building’s identifier combined with a room number
B. The size of the room
C. The name of the building only
D. A randomly assigned RoomID
✅ Correct Answer:
A. The building’s identifier combined with a room number
💡 Explanation (Simple + OA mindset)
Break it down:
Step 1:
“Room cannot exist without Building”
👉 Room = Weak entity
Step 2:
Must uniquely identify each room
👉 Room needs a composite key
✔ Correct structure:
BuildingID + RoomNumber
➡ Together = UNIQUE
🔥 Key OA Trick (VERY IMPORTANT) 🚨 When you see:
“cannot exist without”
👉 Weak entity → needs parent key + its own attribute
🧠 Why the other answers are WRONG ❌ B. Size of the room
Not unique ❌
❌ C. Building name only
Multiple rooms in a building ❌
❌ D. Random RoomID
That’s a surrogate key, NOT a natural key ❌
🧩 Memory Cheat Code 👉 Think:
Weak entity key = Parent key + Partial key
🔗 Example:
BuildingID | RoomNumber | ✅ Unique |
|---|
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
weak entity | composite key |
“cannot exist without” | include parent key |
natural key | real-world identifiers (not random IDs) |
🏁 Bottom Line
👉 Weak entity → needs composite natural key
👉 BuildingID + RoomNumber = correct
Which of the following pairs best illustrates a supertype/subtype relationship?
Options:
A. Employee, Manager
B. Course, CourseCode
C. Student, Course
D. Order, Product
✅ Correct Answer:
A. Employee, Manager
💡 Explanation (Simple + OA mindset)
A supertype/subtype relationship means:
👉 One entity is a general category (supertype)
👉 Another is a specific version (subtype)
🔗 Example:
Employee = Supertype
Manager = Subtype
✔ Every Manager is an Employee
✔ But not every Employee is a Manager
🔥 Key OA Trick 🚨 Trigger pattern:
“is a type of”
👉 If it fits:
➡ Subtype relationship
👉 Test it:
Is a Manager a type of Employee? ✅ YES
➡ Correct
🧠 Why the other answers are WRONG ❌ B. Course, CourseCode
That’s an attribute, not a subtype
❌ C. Student, Course
That’s a relationship, not subtype
❌ D. Order, Product
That’s also a relationship (not inheritance)
🧩 Memory Cheat Code 👉 Think:
Subtype = “IS A”
🔗 Examples:
Manager is an Employee
Car is a Vehicle
Dog is an Animal
➡ All subtype relationships
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
“is a type of” | supertype/subtype |
specialization/generalization | subtype |
inheritance | subtype |
🏁 Bottom Line
👉 Manager is an Employee
➡ That’s supertype/subtype
🔥 Final note for this set:
You just covered:
Many-to-many + associative
Unary / binary / ternary
Weak vs strong
Identifying entity
Composite keys
Attribute types (singular, unique, required)
Supertype/subtype
👉 This is basically ALL of Chapter 4 high-yield
Which of the following is a benefit of using supertype and subtype entities?
Options:
A. It increases the number of tables in the database.
B. It allows common attributes to be stored in one place and highlights differences.
C. It makes all relationships one-to-one.
D. It eliminates the need for primary keys.
✅ Correct Answer:
B. It allows common attributes to be stored in one place and highlights differences.
💡 Explanation (Simple + OA mindset)
Supertype/Subtype is about:
👉 Reducing redundancy
👉 Organizing shared vs unique data
🔗 Example:
Employee (Supertype)
Name
Salary
Manager (Subtype)
Bonus
Developer (Subtype)
ProgrammingLanguage
✔ Shared attributes → stored once (Employee)
✔ Differences → stored in subtypes
🔥 Key OA Trick 🚨 Think:
“What problem is this solving?”
👉 Answer:
➡ Duplicate data & messy structure
🧠 Why the other answers are WRONG ❌ A. Increases number of tables
Might happen, but NOT the benefit ❌
❌ C. Makes all relationships one-to-one
Completely unrelated ❌
❌ D. Eliminates need for primary keys
Impossible — PKs always required ❌
🧩 Memory Cheat Code 👉 Think:
Supertype = Shared
Subtype = Specific
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
shared attributes | supertype |
differences per type | subtype |
avoid duplication | supertype/subtype |
🏁 Bottom Line
👉 Store common data once, separate the differences
➡ That’s the benefit of supertype/subtype
🔥 You just finished a VERY high-value block (19–32) — this is literally test gold.
What is a partition in the context of supertypes and subtypes?
Options:
A. A group of mutually exclusive subtype entities.
B. A group of overlapping subtype entities.
C. A way to divide a supertype into multiple tables.
D. The relationship between a supertype and its attributes.
✅ Correct Answer:
A. A group of mutually exclusive subtype entities.
💡 Explanation (Simple + OA mindset)
A partition means:
👉 Each instance of the supertype can belong to ONLY ONE subtype
🔗 Example:
Employee (Supertype)
Subtypes:
Manager
Developer
👉 If it’s a partition:
An employee can be Manager OR Developer
❌ NOT both
🔥 Key OA Trick (VERY IMPORTANT) 🚨 Translate:
“Partition”
👉 Means:
➡ No overlap allowed
🧠 Why the other answers are WRONG ❌ B. Overlapping subtype entities
That’s the opposite of partition ❌
❌ C. Divide into tables
That’s implementation detail, not definition ❌
❌ D. Relationship with attributes
Not related to partition ❌
🧩 Memory Cheat Code 👉 Think:
Partition = Separate clean slices
➡ No mixing
➡ No overlap
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
partition | mutually exclusive |
disjoint | mutually exclusive |
overlap allowed | NOT partition |
🏁 Bottom Line
👉 Partition = only one subtype per instance
The implicit identifying relationship between a supertype and a subtype is called:
Options:
A. A partition relationship.
B. An IsA relationship.
C. A weak relationship.
D. A has-a relationship.
✅ Correct Answer:
B. An IsA relationship.
💡 Explanation (Simple + OA mindset)
The relationship between a subtype and supertype is:
👉 “IS A”
🔗 Example:
Manager IS AN Employee
Car IS A Vehicle
👉 That’s exactly what connects subtype → supertype
🔥 Key OA Trick (MUST MEMORIZE) 🚨 Always test:
“Does this make sense as ‘IS A’?”
If YES →
➡ Subtype relationship
🧠 Why the other answers are WRONG ❌ A. Partition relationship
That’s about mutual exclusivity, not identity
❌ C. Weak relationship
That’s for weak entities, unrelated here
❌ D. Has-a relationship
That’s a different concept (ownership/composition)
🧩 Memory Cheat Code 👉 Burn this in:
Subtype → Supertype = “IS A”
🔁 Compare:
Relationship | Meaning |
|---|---|
IS A | subtype |
HAS A | composition/association |
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
supertype/subtype | IS A |
inheritance | IS A |
specialization | IS A |
🏁 Bottom Line
👉 Manager IS AN Employee
➡ That’s the defining relationship
When selecting a primary key, which characteristic is most desirable?
Options:
A. It should be stable and not change over time.
B. It should be numbers only.
C. It should change frequently to ensure security.
D. It should be descriptive.
✅ Correct Answer:
A. It should be stable and not change over time.
💡 Explanation (Simple + OA mindset)
A primary key (PK) should:
👉 Never change
Why?
PK is used to identify rows
PK is referenced by foreign keys
If it changes → breaks relationships ❌
🔗 Example:
✔ Good PK:
StudentID (stable)
❌ Bad PK:
Email (can change)
Phone number (can change)
🔥 Key OA Trick 🚨 Translate:
“primary key”
👉 Think:
➡ Permanent identifier
🧠 Why the other answers are WRONG ❌ B. Numbers only
PK can be text, UUID, etc.
❌ C. Change frequently
That would break the database ❌
❌ D. Descriptive
Descriptions change → BAD for PK ❌
🧩 Memory Cheat Code 👉 Think:
PK = Permanent Key
➡ Should NEVER change
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
primary key best practice | stable |
identifying attribute | stable |
foreign key dependency | stable |
🏁 Bottom Line
👉 Primary key = stable, never-changing identifier
An "artificial key" is:
Options:
A. A key made up of multiple columns.
B. A simple key created by the database designer when no suitable natural key exists.
C. A key that is not unique.
D. A key that is also a foreign key.
✅ Correct Answer:
B. A simple key created by the database designer when no suitable natural key exists.
💡 Explanation (Simple + OA mindset)
An artificial key (also called a surrogate key) is:
👉 Created by the system/designer
👉 Has no real-world meaning
👉 Used when natural keys are messy or unreliable
🔗 Example:
StudentID | Name |
|---|---|
1001 | John |
✔ StudentID = artificial key
❌ Not something from the real world (like SSN or email)
🔥 Key OA Trick 🚨 Translate:
“Artificial key”
👉 Think:
➡ System-generated ID
🧠 Why the other answers are WRONG ❌ A. Multiple columns
That’s a composite key
❌ C. Not unique
ALL keys must be unique ❌
❌ D. Also a foreign key
That’s a different concept entirely
🧩 Memory Cheat Code 👉 Think:
Artificial = Fake (but useful)
➡ Not from real-world data
➡ Created just for identification
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
artificial key | system-generated |
surrogate key | artificial |
auto-increment ID | artificial |
🏁 Bottom Line
👉 Artificial key = designer-created identifier
A database tracks Orders and OrderItems. Each OrderItem cannot exist without an Order, and each Order can have multiple items. When creating a table for OrderItem, how is its primary key usually defined?
Options:
A. Any one attribute of the OrderItem table chosen at random
B. A combination of the OrderID and a column like ItemNumber
C. Only the OrderID from the Order table
D. A single, system-generated key for each order item
✅ Correct Answer:
B. A combination of the OrderID and a column like ItemNumber
💡 Explanation (Simple + OA mindset)
Break it down:
Step 1:
“OrderItem cannot exist without Order”
👉 OrderItem = Weak entity
Step 2:
“Order can have multiple items”
👉 One Order → MANY OrderItems
✔ Therefore:
To uniquely identify each OrderItem:
➡ Need:
OrderID (parent key)
ItemNumber (partial key)
👉 Together = Composite Primary Key
🔥 Key OA Trick (HIGH YIELD PATTERN) 🚨 When you see:
“cannot exist without” + “multiple items”
👉 Immediately think:
➡ Weak entity → Composite key
🧠 Why the other answers are WRONG ❌ A. Random attribute
PK must be intentional + unique
❌ C. Only OrderID
One order has MANY items → duplicates ❌
❌ D. System-generated key
That’s possible (artificial key), but question says “usually defined”
OA prefers natural composite key for weak entities
🧩 Memory Cheat Code 👉 Think:
Weak entity key = Parent + Child identifier
🔗 Example:
OrderID | ItemNumber | ✅ Unique |
|---|
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
weak entity | composite key |
“cannot exist without” | include parent key |
“multiple items” | need second attribute |
🏁 Bottom Line
👉 OrderItem = Weak entity
👉 PK = OrderID + ItemNumber
How is a one-to-many relationship typically implemented in a relational database?
Options:
A. By creating a new table.
B. By placing a foreign key in the table on the "many" side.
C. By placing a foreign key in the table on the "one" side.
D. By placing a foreign key in each table.
✅ Correct Answer:
B. By placing a foreign key in the table on the "many" side.
💡 Explanation (Simple + OA mindset)
In a one-to-many relationship:
One parent → many children
👉 The child table (many side) stores the foreign key
🔗 Example:
Customer (1) → Orders (many)
Orders Table |
|---|
OrderID |
CustomerID (FK) ✅ |
👉 CustomerID goes in Orders (many side)
🔥 Key OA Trick (SUPER HIGH YIELD) 🚨 Burn this in:
“Foreign key goes on the MANY side”
🧠 Why the other answers are WRONG ❌ A. Create new table
That’s for many-to-many, not one-to-many
❌ C. FK on the "one" side
That would limit the “one” side incorrectly ❌
❌ D. FK in each table
Not how relationships work ❌
🧩 Memory Cheat Code 👉 Think:
MANY side needs to “remember” the ONE
🔗 Visual:
Customer (1)
↓
Orders (many) → stores CustomerID (FK)
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
one-to-many | FK on many side |
parent-child | child stores FK |
lookup/reference | FK in child |
🏁 Bottom Line
👉 One-to-many → foreign key goes in the MANY table
How is a many-to-many relationship implemented?
Options:
A. By placing a foreign key in both tables.
B. By creating a new weak table with foreign keys to the two related tables.
C. By creating a view that joins the two tables.
D. It cannot be directly implemented in a relational model.
✅ Correct Answer:
B. By creating a new weak table with foreign keys to the two related tables.
💡 Explanation (Simple + OA mindset)
A many-to-many (M:N) relationship:
👉 Cannot be implemented directly
➡ Must be broken into two one-to-many relationships
🔗 Solution:
👉 Create a junction table (associative/bridge table)
Example:
Students ↔ Courses
Enrollment (junction table) |
|---|
StudentID (FK) |
CourseID (FK) |
🔥 Key OA Trick (CRITICAL RULE) 🚨 Burn this in:
Relationship | Implementation |
|---|---|
One-to-many | FK on many side |
Many-to-many | New junction table |
🧠 Why the other answers are WRONG ❌ A. FK in both tables
Does NOT properly resolve M:N ❌
❌ C. View
That’s just a query, not structure ❌
❌ D. Cannot be implemented
FALSE — it IS implemented via junction table ❌
🧩 Memory Cheat Code 👉 Think:
M:N = Middle table needed
🔗 Visual:
Table A Table B
↓ ↓
→→ Junction Table ←←
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
many-to-many | junction table |
associative entity | junction table |
bridge table | junction table |
🏁 Bottom Line
👉 Many-to-many → create a new table with 2 foreign keys
A library database tracks Books and the genres they belong to. Some books belong to multiple genres (e.g., "Science Fiction" and "Adventure"). How should the Genres attribute be implemented in a relational database?
Options:
A. Create a separate table to store each genre linked to the BookID
B. Store all genres in a single column as a comma-separated list
C. Create multiple columns in the Books table (Genre1, Genre2, etc.)
D. Plural attributes are not allowed in database design
✅ Correct Answer:
A. Create a separate table to store each genre linked to the BookID
💡 Explanation (Simple + OA mindset)
Key phrase:
“Some books belong to multiple genres”
👉 That means:
➡ Multi-valued attribute
🚨 Rule:
Relational databases DO NOT allow multiple values in one column
👉 So you must:
➡ Create a separate table
🔗 Example:
Books
| BookID | Title |
BookGenres
| BookID (FK) | Genre |
🔥 Key OA Trick (HIGH YIELD) 🚨 When you see:
“multiple values” / “list” / “more than one”
👉 Immediately think:
➡ Separate table
🧠 Why the other answers are WRONG ❌ B. Comma-separated list
Violates 1NF (First Normal Form) ❌
❌ C. Multiple columns
Not scalable / bad design ❌
❌ D. Plural attributes not allowed
Misleading — they ARE allowed, just handled properly ❌
🧩 Memory Cheat Code 👉 Think:
One cell = One value
➡ If more → new table
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
multiple values | separate table |
list of items | separate table |
repeating groups | normalize → new table |
🏁 Bottom Line
👉 Multi-valued attribute → separate table with FK
A company database stores customer orders. Initially, the database had repeated customer information in multiple tables, causing inconsistencies and wasted space. The database team reorganizes the tables and columns so that each piece of information is stored only once, and related data is properly linked. What process are they performing?
Options:
A. Data Independence
B. Physical Design
C. Normalization
D. Indexing
✅ Correct Answer:
C. Normalization
💡 Explanation (Simple + OA mindset)
Key phrases:
“repeated information”
“inconsistencies”
“stored only once”
“properly linked”
👉 That is the definition of Normalization
🎯 What normalization does:
✔ Removes duplicate data
✔ Organizes tables properly
✔ Reduces anomalies (update/delete issues)
✔ Links data using keys
🔥 Key OA Trick (HIGH VALUE) 🚨 When you see:
“remove redundancy”
“eliminate duplicates”
“store once”
👉 Answer = Normalization
🧠 Why the other answers are WRONG ❌ A. Data Independence
About separating logical/physical layers
❌ B. Physical Design
About storage/indexes, not structure cleanup
❌ D. Indexing
Improves speed, NOT structure
🧩 Memory Cheat Code 👉 Think:
Normalization = Clean + Organized
➡ No duplicates
➡ Everything in the right place
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
duplicate data | normalization |
redundancy | normalization |
anomalies | normalization |
reorganizing tables | normalization |
🏁 Bottom Line
👉 Cleaning up duplicate data and structuring properly = Normalization
In a student database, each student has a unique StudentID, and each student also has a DateOfBirth. Which of the following best describes the functional dependency between StudentID and DateOfBirth?
Options:
A. Each StudentID value determines at most one DateOfBirth value.
B. Each DateOfBirth value determines at most one StudentID value.
C. StudentID and DateOfBirth must be stored in the same table.
D. StudentID must be a primary key.
✅ Correct Answer:
A. Each StudentID value determines at most one DateOfBirth value.
💡 Explanation (Simple + OA mindset)
A functional dependency means:
👉 One attribute determines another
🔗 Here:
StudentID is unique
Each StudentID → exactly ONE DateOfBirth
➡ So:
👉 StudentID → DateOfBirth
🔥 Key OA Trick (CRITICAL) 🚨 Ask yourself:
“If I know X, do I know Y?”
👉 Test it:
If I know StudentID → do I know DOB? ✅ YES
If I know DOB → do I know StudentID? ❌ NO
🧠 Why the other answers are WRONG ❌ B. DOB determines StudentID
Many people share same DOB ❌
❌ C. Same table
Not what functional dependency means ❌
❌ D. Must be PK
It is a PK here, but that’s NOT the dependency definition ❌
🧩 Memory Cheat Code 👉 Think:
X → Y = “X determines Y”
🔗 Example:
StudentID | DateOfBirth |
|---|---|
1001 | 01/01/2000 |
👉 StudentID → DateOfBirth
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
unique ID | determines other attributes |
functional dependency | X → Y |
“given X, you know Y” | dependency |
🏁 Bottom Line
👉 StudentID → DateOfBirth
➡ One ID determines one DOB
A company database stores employee information. Initially, the Skills column contained multiple skills in a single cell (e.g., "Java, Python, SQL"), and some employees did not have a unique identifier. The team restructures the table so that each cell contains only one value and every employee has a primary key. What is true about this table?
Options:
A. The table has no redundant data
B. All columns are now unique
C. The table has no composite keys
D. The table is in First Normal Form
✅ Correct Answer:
D. The table is in First Normal Form
💡 Explanation (Simple + OA mindset)
Key changes:
Each cell contains one value
Each row has a primary key
👉 That is EXACTLY the definition of 1NF
🎯 First Normal Form (1NF):
✔ No multi-valued attributes
✔ No repeating groups
✔ Each row uniquely identified (PK)
🔥 Key OA Trick (SUPER HIGH YIELD) 🚨 When you see:
“multiple values in one cell → fixed”
👉 Answer = 1NF
🧠 Why the other answers are WRONG ❌ A. No redundant data
That’s closer to higher normal forms (2NF/3NF)
❌ B. All columns unique
Not required at all ❌
❌ C. No composite keys
Composite keys can still exist in 1NF ❌
🧩 Memory Cheat Code 👉 Think:
1NF = One value per cell
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
multiple values → fixed | 1NF |
repeating groups removed | 1NF |
atomic values | 1NF |
🏁 Bottom Line
👉 Clean cells + primary key = First Normal Form (1NF)
🔥 You’re now into normalization mastery territory (1NF → next is 2NF/3NF patterns)
A university database tracks CourseRegistrations, with a composite primary key of StudentID and CourseID. Initially, the InstructorName column depended only on CourseID, not the full composite key. The team restructures the table so that all non-key columns depend on the entire primary key. Which statement now correctly describes the table?
Options:
A. The table is in 2NF.
B. The table is in 1NF.
C. The table is in 3NF.
D. The table is in BCNF.
✅ Correct Answer:
A. The table is in 2NF.
💡 Explanation (Simple + OA mindset) Step 1: Identify the issue
PK = (StudentID, CourseID) → composite key
InstructorName depended ONLY on CourseID ❌
👉 That’s a partial dependency
Step 2: What did they fix?
“All non-key columns depend on the ENTIRE primary key”
👉 That removes partial dependency
➡ That is the definition of Second Normal Form (2NF)
🔥 Key OA Trick (CRITICAL FOR 2NF) 🚨 When you see:
Composite key + depends on part of it
👉 That’s a 2NF violation
👉 When fixed:
➡ Table is now in 2NF
🧠 Why the other answers are WRONG ❌ B. 1NF
Already satisfied (basic requirement)
❌ C. 3NF
That requires no transitive dependencies (not mentioned)
❌ D. BCNF
More advanced, stricter than 3NF
🧩 Memory Cheat Code 👉 Think:
Normal Form | Rule |
|---|---|
1NF | One value per cell |
2NF | No partial dependency |
3NF | No transitive dependency |
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
composite key + partial dependency | NOT 2NF |
“depends on full key” | 2NF |
fixed partial dependency | 2NF |
🏁 Bottom Line
👉 Partial dependency removed
➡ Table is now in 2NF
A small company database has an Employee table with a primary key (EmployeeID). Each column contains only atomic values. Based on the provided information, which highest normal form is this table in?
Options:
A. First Normal Form (1NF)
B. Second Normal Form (2NF)
C. Third Normal Form (3NF)
D. Boyce-Codd Normal Form (BCNF)
Correct Answer:
B. Second Normal Form (2NF)
💡 Explanation (THIS is the trap)
You chose 1NF, which makes sense at first — BUT we need to go further.
Step 1: What do we KNOW?
Primary key = EmployeeID (single column)
All values are atomic → ✅ 1NF satisfied
Step 2: Check for 2NF
👉 2NF rule:
No partial dependencies (only matters for composite keys)
🚨 KEY INSIGHT:
This table has a SINGLE-column PK
👉 That means:
➡ Partial dependency is IMPOSSIBLE
✔ Therefore:
It automatically satisfies 2NF
🔥 Key OA Trick (CRITICAL) 🚨 If PK is NOT composite (just ONE column):
👉 You automatically get:
2NF ✅
🧠 Why NOT 3NF?
We are NOT told:
Anything about transitive dependencies
👉 So we cannot assume 3NF
🧩 Memory Cheat Code (SUPER IMPORTANT) 👉 Think:
Situation | Result |
|---|---|
Single-column PK | Automatically 2NF |
Composite PK | Must check for partial dependency |
Transitive dependency mentioned | Think 3NF |
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
single PK + atomic values | 2NF |
composite PK + partial dependency fixed | 2NF |
only atomic mentioned | at least 1NF, check PK next |
🏁 Bottom Line
👉 Single-column PK
👉 No partial dependency possible
➡ Table is in 2NF
🔥 This is a TOP-TIER trap question — and now you’ll NEVER miss it again.
A table is in Third Normal Form (3NF) if it is in 2NF and:
Options:
A. There are no partial dependencies.
B. There are no transitive dependencies.
C. There are no trivial dependencies.
D. There are no functional dependencies.
✅ Correct Answer:
B. There are no transitive dependencies.
💡 Explanation (Simple + OA mindset)
To reach 3NF, a table must:
Be in 2NF
Have NO transitive dependencies
🔗 What is a transitive dependency?
👉 When a non-key attribute depends on another non-key attribute
Example:
| StudentID | DepartmentID | DepartmentName |
StudentID → DepartmentID
DepartmentID → DepartmentName
👉 So:
➡ StudentID → DepartmentName (indirectly)
❌ That’s a transitive dependency
🔥 Key OA Trick (MUST KNOW) 🚨 Quick ladder:
Normal Form | Rule |
|---|---|
1NF | One value per cell |
2NF | No partial dependency |
3NF | No transitive dependency |
🧠 Why the other answers are WRONG ❌ A. No partial dependencies
That’s 2NF, not 3NF
❌ C. No trivial dependencies
Not relevant here
❌ D. No functional dependencies
Impossible — databases rely on them ❌
🧩 Memory Cheat Code 👉 Think:
2NF = Full key dependency
3NF = No chain dependency
🔗 Visual:
2NF problem:
Composite key → partial dependency ❌
3NF problem:
A → B → C (chain) ❌
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
“no transitive dependency” | 3NF |
“depends on another non-key” | NOT 3NF |
“chain dependency” | NOT 3NF |
🏁 Bottom Line
👉 3NF = 2NF + no transitive dependencies
🔥 You now fully understand:
1NF ✔
2NF ✔
3NF ✔
👉 This is prime exam territory
Consider a table OrderDetails with columns (OrderID, ProductID, ProductName, Quantity). If ProductName depends only on ProductID, which normal form is violated?
Options:
A. First Normal Form
B. Second Normal Form
C. Third Normal Form
D. The table is already in 3NF.
✅ Correct Answer:
B. Second Normal Form
💡 Explanation (Simple + OA mindset) Step 1: Identify the key
This is typically:
👉 Composite key = (OrderID, ProductID)
Step 2: Look at the dependency
ProductName depends ONLY on ProductID
👉 That means:
➡ It depends on PART of the composite key
❌ NOT the whole key
🚨 That is:
👉 Partial dependency
🔥 Key OA Rule 🚨 If:
Non-key depends on PART of composite key
👉 That violates:
➡ 2NF
🧠 Why not 3NF?
This is NOT a chain dependency
It’s a partial dependency issue
👉 That’s strictly 2NF
🧩 Memory Cheat Code (VERY IMPORTANT) 👉 Think:
Problem | Normal Form Violated |
|---|---|
Multi-value cells | 1NF |
Depends on part of key | 2NF |
Depends on another non-key | 3NF |
⚡ OA Speed Recognition
If you see… | Answer |
|---|---|
composite key + depends on one part | 2NF |
“only depends on ProductID” | partial dependency |
partial dependency | NOT 2NF |
🏁 Bottom Line
👉 ProductName depends on only ProductID
➡ Partial dependency
➡ Violates 2NF
🔥 You’re now spotting normalization issues instantly — that’s EXACTLY what the OA tests.
In a table with columns (StudentID, CourseID, ProfessorName, ProfessorOffice), if ProfessorOffice depends on ProfessorName, and ProfessorName depends on CourseID, which normal form is violated?
First Normal Form
Second Normal Form
Third Normal Form
The table is already in 3NF.
Given:
Columns: StudentID, CourseID, ProfessorName, ProfessorOffice
Dependencies:
ProfessorName → ProfessorOffice
CourseID → ProfessorName
🧩 Step-by-step thinking (OA style) Step 1: Identify the chain
You can rewrite it as:
CourseID → ProfessorName → ProfessorOffice
🚨 That is a transitive dependency
👉 A depends on B
👉 B depends on C
➡ So A indirectly determines C
💥 What does that violate?
👉 3NF (Third Normal Form)
✅ Correct Answer:
Third Normal Form (3NF)
🧠 Quick Rule (MUST MEMORIZE)
🚨 If you see:
A → B → C
👉 That is:
➡ Transitive dependency
➡ Violates:
👉 3NF
⚡ Compare with 2NF (don’t mix these up)
Situation | Violates |
|---|---|
Depends on PART of key | 2NF |
Depends on NON-KEY attribute (chain) | 3NF |
🧩 Why NOT 2NF?
No mention of composite key issue
No partial dependency
👉 This is NOT about “part of key”
👉 It’s about dependency between non-key attributes
🔥 OA Speed Recognition
Trigger phrase | Answer |
|---|---|
“depends on another non-key” | 3NF |
“A → B → C” | 3NF |
“indirect dependency” | 3NF |
🏁 Final Takeaway
👉 CourseID → ProfessorName
👉 ProfessorName → ProfessorOffice
➡ Chain dependency
➡ Transitive dependency
➡ Violates 3NF
A small company database has a table OrderDetails with columns: (OrderID, ProductID, ProductName, Quantity). What is the primary key?
Options:
A. OrderID and ProductID
B. ProductID and ProductName
C. ProductID
D. OrderID
✅ Correct Answer:
A. OrderID and ProductID
💡 Explanation (OA-style, quick hit) Step 1: What is this table?
👉 OrderDetails = line items
➡ One order can have MANY products
➡ One product can appear in MANY orders
Step 2: What uniquely identifies a row?
👉 You need BOTH:
OrderID (which order)
ProductID (which product in that order)
🚨 Key Insight
OrderID alone ❌ (multiple products per order)
ProductID alone ❌ (same product in many orders)
👉 Only combination works
🔥 OA Cheat Code
Pattern | Primary Key |
|---|---|
OrderDetails / LineItems | OrderID + ProductID |
Enrollment table | StudentID + CourseID |
Junction table | BOTH foreign keys |
🏁 Final Takeaway
👉 This is a composite key
➡ (OrderID, ProductID) uniquely identifies each row
We’re back on track now 💯
Which of the following statements is true?
Options:
A. Every candidate key is a superkey, but not every superkey is a candidate key.
B. Every superkey is a candidate key.
C. Candidate keys cannot contain more than one attribute.
D. Superkeys are always minimal.
✅ Correct Answer:
A. Every candidate key is a superkey, but not every superkey is a candidate key.
💡 Explanation (LOCK THIS IN) Step 1: Definitions
👉 Superkey = any set of columns that uniquely identifies a row
👉 Candidate key = a minimal superkey (no extra attributes)
Step 2: Relationship
👉 Every candidate key:
DOES uniquely identify rows ✅
➡ So it IS a superkey
👉 But superkeys:
Can have extra unnecessary columns ❌
➡ So they are NOT always candidate keys
🔥 Key Insight (VERY TESTED)
Type | Description |
|---|---|
Superkey | Unique, but may have extra columns |
Candidate Key | Unique AND minimal |
🚨 Why the others are WRONG
B ❌ → False (not all superkeys are minimal)
C ❌ → False (composite candidate keys exist)
D ❌ → False (only candidate keys are minimal, not all superkeys)
⚡ OA Cheat Code
👉 If you see:
“minimal”
➡ Think: candidate key
👉 If you see:
“extra attributes allowed”
➡ Think: superkey
🏁 Final Takeaway
👉 Candidate Key ⊂ Superkey
➡ All candidate keys are superkeys
➡ Not all superkeys are candidate keys
When implementing supertype and subtype entities, the primary key of a subtype table is also a:
Options:
A. Foreign key referencing the supertype table.
B. Unique key in the supertype table.
C. Composite key with the supertype key.
D. An artificial key.
✅ Correct Answer:
A. Foreign key referencing the supertype table.
💡 Explanation (LOCK THIS IN) Step 1: Understand the structure
👉 Supertype = main table (e.g., Employee)
👉 Subtype = specialized table (e.g., Manager, Engineer)
Step 2: How they connect
👉 Subtype table uses the same primary key as the supertype
➡ That key:
Identifies the row in the subtype ✅
ALSO points back to the supertype ✅
🔥 Key Insight
👉 Subtype PK = Supertype PK
➡ Therefore it ALSO acts as a:
👉 Foreign Key → referencing the supertype
🧠 Visual (quick mental model)
Employee (EmployeeID PK)
Manager (EmployeeID PK + FK → Employee)
🚨 Why others are WRONG
B ❌ → Not about uniqueness in supertype
C ❌ → Not composite (same key reused)
D ❌ → Not artificial, it’s inherited
⚡ OA Cheat Code
👉 If you see:
supertype / subtype
➡ Think:
👉 “Same key reused + FK relationship”
🏁 Final Takeaway
👉 Subtype tables inherit the PK
👉 That PK also acts as a:
➡ Foreign Key to the supertype
If a one-to-one relationship is implemented, the foreign key column must be constrained as:
Options:
A. Unique
B. Not NULL
C. A primary key
D. Plural
✅ Correct Answer:
A. Unique
💡 Explanation (LOCK THIS IN) Step 1: What does 1-to-1 mean?
👉 Each row in Table A matches ONLY ONE row in Table B
👉 And vice versa
Step 2: What enforces that?
👉 The foreign key must NOT allow duplicates
➡ So it must be:
👉 UNIQUE
🔥 Key Insight
Relationship | FK Rule |
|---|---|
One-to-Many | FK can repeat |
One-to-One | FK must be UNIQUE |
🚨 Why others are WRONG
B ❌ Not NULL → Doesn’t enforce 1-to-1, just prevents missing values
C ❌ Primary key → Not required (though sometimes possible)
D ❌ Plural → Not a real constraint
⚡ OA Cheat Code
👉 If you see:
“one-to-one relationship”
➡ Think:
👉 UNIQUE foreign key
🏁 Final Takeaway
👉 To prevent multiple matches
➡ Foreign key must be:
👉 UNIQUE
To have partial dependencies, we need a:
Options:
A. Foreign Key
B. Composite Primary Key
C. A Table in 1NF
D. Plural attribute
✅ Correct Answer:
B. Composite Primary Key
💡 Explanation (LOCK THIS IN) Step 1: What is a partial dependency?
👉 A non-key attribute depends on PART of a key
➡ Not the whole key
Step 2: When is that even possible?
👉 ONLY when the key has multiple columns
➡ That means:
👉 Composite Primary Key
🔥 Key Insight
👉 No composite key = ❌ no “part” to depend on
➡ Therefore:
👉 No partial dependency possible
🧠 Example
Primary Key: (OrderID, ProductID)
ProductName depends only on ProductID➡️ That’s a partial dependency
🚨 Why others are WRONG
A ❌ Foreign Key → unrelated
C ❌ 1NF → about atomic values, not dependencies
D ❌ Plural attribute → that’s a 1NF issue
⚡ OA Cheat Code
👉 If you see:
“partial dependency”
➡ Immediately think:
👉 composite key involved
🏁 Final Takeaway
👉 Partial dependency REQUIRES:
➡ Composite Primary Key
The process of reviewing interviews and written documents to find entities, relationships, and attributes is called:
Options:
A. Normalization
B. Discovery
C. Implementation
D. Physical Design
✅ Correct Answer:
B. Discovery
💡 Explanation (LOCK THIS IN) Step 1: What is being described?
👉 Talking to users
👉 Reading documents
👉 Identifying:
Entities
Relationships
Attributes
👉 That is the early stage of database design
🔥 Key Insight
👉 This phase is called:
➡ Discovery (or requirements gathering)
🧠 Why the others are WRONG
A ❌ Normalization → organizing tables AFTER design
C ❌ Implementation → actually building the database
D ❌ Physical Design → storage, indexes, performance
⚡ OA Cheat Code
👉 If you see:
interviews, documents, gathering info
➡ Think:
👉 Discovery phase
🏁 Final Takeaway
👉 Finding entities, attributes, relationships
➡ = Discovery
Consider a 'Car' table with attributes (VIN, LicensePlate, Make, Model, Year). VIN and LicensePlate are both unique identifiers. Which of the following is a superkey but NOT a candidate key?
Options:
A. {VIN}
B. {LicensePlate}
C. {VIN, Make}
D. {Make, Model}
✅ Correct Answer:
C. {VIN, Make}
💡 Explanation (LOCK THIS IN) Step 1: Identify candidate keys
👉 Given:
VIN is unique ✅
LicensePlate is unique ✅
➡ So:
👉 {VIN} and {LicensePlate} are candidate keys
Step 2: What is a superkey?
👉 Any set that uniquely identifies a row
➡ So:
{VIN, Make} is STILL unique (because VIN is unique)
Step 3: Why is it NOT a candidate key?
👉 Because it has an extra attribute (Make)
➡ Not minimal ❌
➡ Therefore NOT a candidate key
🔥 Key Insight
Type | Rule |
|---|---|
Candidate Key | Minimal unique |
Superkey | Unique (can have extras) |
🚨 Why others are WRONG
A ❌ {VIN} → candidate key (minimal)
B ❌ {LicensePlate} → candidate key (minimal)
D ❌ {Make, Model} → not guaranteed unique
⚡ OA Cheat Code
👉 If you see:
“superkey but NOT candidate key”
➡ Look for:
👉 extra unnecessary column added to a known key
🏁 Final Takeaway
👉 {VIN} = candidate key
👉 {VIN, Make} = superkey (but not minimal)
➡ Correct answer: {VIN, Make}
A 'Course' table has attributes: {CourseID, CourseName, DepartmentID, Credits}. Both CourseID and the combination of {CourseName, DepartmentID} are unique. Which statement is true?
Options:
A. Both {CourseID} and {CourseName, DepartmentID} are candidate keys.
B. Only {CourseID, CourseName, DepartmentID} is a candidate key.
C. {CourseID, Credits} is a candidate key.
D. {CourseID} is a candidate key, but {CourseName, DepartmentID} is not.
✅ Correct Answer:
A. Both {CourseID} and {CourseName, DepartmentID} are candidate keys.
💡 Explanation (LOCK THIS IN) Step 1: What is a candidate key?
👉 A minimal set of attributes that uniquely identifies a row
Step 2: Given info
CourseID is unique ✅
{CourseName, DepartmentID} together are unique ✅
👉 That means BOTH:
{CourseID} → candidate key
{CourseName, DepartmentID} → candidate key
🔥 Key Insight
👉 You can have multiple candidate keys
➡ These are called:
👉 Alternate keys
🚨 Why others are WRONG
B ❌ → Not minimal (extra attributes added)
C ❌ → Credits not needed for uniqueness
D ❌ → Combo IS explicitly stated as unique
⚡ OA Cheat Code
👉 If you see:
“two different ways to uniquely identify”
➡ Think:
👉 multiple candidate keys
🏁 Final Takeaway
👉 Both sets uniquely identify rows
👉 Both are minimal
➡ Both are candidate keys
In an Entity-Relationship (ER) diagram, what does a crow’s foot symbol indicate?
Options:
A. Many entities
B. Optional participation
C. Weak entity
D. One entity only
✅ Correct Answer:
A. Many entities
💡 Explanation (LOCK THIS IN) Step 1: What is the crow’s foot?
👉 It’s the three-pronged symbol at the end of a relationship line
Step 2: What does it mean?
👉 It represents:
➡ “Many”
🔥 Key Insight
Symbol | Meaning |
|---|---|
Straight line | One |
Crow’s foot (3 lines) | Many |
🧠 Example
Customer ───< Order👉 One customer → MANY orders
🚨 Why others are WRONG
B ❌ Optional participation → circle (O) symbol
C ❌ Weak entity → double rectangle
D ❌ One entity only → single line
⚡ OA Cheat Code
👉 If you see:
crow’s foot
➡ Instantly think:
👉 MANY
🏁 Final Takeaway
👉 Crow’s foot =
➡ Many
Which of the following best describes a single-valued attribute?
Options:
A. A person’s full name
B. A product’s serial number
C. A student’s multiple phone numbers
D. A list of ingredients in a recipe
✅ Correct Answer:
B. A product’s serial number
💡 Explanation (LOCK THIS IN) Step 1: What is a single-valued attribute?
👉 An attribute that holds ONLY ONE value per record
Step 2: Evaluate options
A ❌ Full name → can be composite (first + last)
B ✅ Serial number → exactly ONE value per product
C ❌ Multiple phone numbers → multi-valued
D ❌ List of ingredients → multi-valued
🔥 Key Insight
Type | Description |
|---|---|
Single-valued | One value only |
Multi-valued | Multiple values |
Composite | Can be broken into parts |
⚡ OA Cheat Code
👉 If you see:
one value per entity
➡ Single-valued
👉 If you see:
list / multiple / many
➡ NOT single-valued
🏁 Final Takeaway
👉 Only one value per record
➡ Product serial number
A university database stores Course(CourseID, Instructor, RoomNumber, InstructorPhone). Assume Instructor determines InstructorPhone, but the primary key is CourseID. Which normal form is violated?
Options:
A. 1NF
B. 2NF
C. 3NF
D. BCNF
✅ Correct Answer:
C. 3NF
💡 Explanation (LOCK THIS IN) Step 1: Identify dependencies
👉 Given:
CourseID → Instructor
Instructor → InstructorPhone
Step 2: Build the chain
CourseID → Instructor → InstructorPhone
🚨 That is a transitive dependency
👉 A non-key (Instructor) determines another non-key (InstructorPhone)
🔥 What does that violate?
👉 3NF
🧠 Why NOT 2NF?
Primary key is single column (CourseID)
No composite key → no partial dependency
⚡ OA Cheat Code
👉 If you see:
non-key → non-key
➡ That’s:
👉 3NF violation
🚨 Why NOT BCNF?
👉 BCNF is stricter, but:
This question is testing transitive dependency
That’s the classic 3NF violation trigger
🏁 Final Takeaway
👉 Instructor → InstructorPhone
👉 Non-key → non-key
➡ Transitive dependency
➡ Violates 3NF
In an ER diagram, if the modality symbol is a circle (O), it means the relationship is:
Options:
A. Required.
B. Optional.
C. Maximum of many.
D. Maximum of one.
✅ Correct Answer:
B. Optional.
💡 Explanation (LOCK THIS IN) Step 1: What is modality?
👉 Modality = minimum participation
Step 2: Symbol meanings
Symbol | Meaning |
|---|---|
O (circle) | Optional (0) |
(line) |
🔥 Key Insight
👉 Circle = 0 participation allowed
➡ That means:
👉 Optional relationship
🚨 Why others are WRONG
A ❌ Required → that’s a straight line (|)
C ❌ Maximum of many → crow’s foot
D ❌ Maximum of one → single line
⚡ OA Cheat Code
👉 If you see:
circle (O)
➡ Think:
👉 0 → optional
🏁 Final Takeaway
👉 Circle (O) =
➡ Optional participation