Generalization in database management system: 18 flashcards
All 18 flashcards from this kit, free and with no sign-up.
1. What is generalization in the context of database design?
Show the answer
Generalization is the process of defining a more general entity type from a set of lower-level entity types by identifying their common attributes. It is a bottom-up approach in conceptual design.
2. How does generalization differ from specialization?
Show the answer
Generalization is a bottom-up process that combines multiple entity types into a higher-level supertype, while specialization is a top-down process that divides a higher-level entity type into lower-level subtypes based on distinguishing characteristics.
3. In an ER diagram, what symbol is typically used to represent a generalization/specialization relationship?
Show the answer
A triangle (or a circle with a line) connecting the superclass to the subclasses, often labeled with 'ISA' or a subset symbol.
4. What is a superclass in generalization?
Show the answer
A superclass is the higher-level, more general entity type that results from generalization. It contains attributes common to all its subclasses.
5. What is a subclass in generalization?
Show the answer
A subclass is a lower-level, more specific entity type that inherits attributes from the superclass and may have additional attributes or relationships of its own.
6. What is attribute inheritance in generalization?
Show the answer
Attribute inheritance is a property where subclasses automatically acquire all attributes of their superclass. This avoids redundancy and ensures consistency.
7. What are the two main constraints that can be applied to generalization?
Show the answer
The two main constraints are **disjointness** (whether a superclass instance can belong to only one subclass or multiple) and **completeness** (whether every superclass instance must belong to a subclass).
8. What does a disjointness constraint of 'disjoint' mean in generalization?
Show the answer
It means that an entity instance of the superclass can belong to at most one subclass. For example, a 'Person' can be either 'Student' or 'Employee', but not both.
9. What does a disjointness constraint of 'overlapping' mean in generalization?
Show the answer
It means that an entity instance of the superclass can belong to multiple subclasses simultaneously. For example, a 'Person' can be both 'Student' and 'Employee'.
10. What does a completeness constraint of 'total' mean in generalization?
Show the answer
It means that every superclass instance must be a member of at least one subclass. For example, every 'Vehicle' must be either 'Car' or 'Truck'.
11. What does a completeness constraint of 'partial' mean in generalization?
Show the answer
It means that a superclass instance is not required to belong to any subclass. Some instances may exist only as the superclass type.
12. Give an example of generalization in a university database.
Show the answer
Combining 'UndergraduateStudent' and 'GraduateStudent' into a superclass 'Student' based on common attributes like StudentID, Name, and GPA.
13. How does generalization help reduce data redundancy?
Show the answer
By placing common attributes in the superclass, they are stored only once instead of being repeated in each subclass. This eliminates duplicate storage and reduces inconsistency risk.
14. What is the relationship between generalization and the 'ISA' relationship?
Show the answer
The 'ISA' relationship (e.g., 'Student ISA Person') is used to represent generalization/specialization. It indicates that a subclass entity is a kind of the superclass entity.
15. In a generalization hierarchy, can a subclass have its own subclasses?
Show the answer
Yes, generalization can be applied recursively, creating a hierarchy or lattice where a subclass can become a superclass for further specialized subclasses.
16. What is the difference between a generalization hierarchy and a generalization lattice?
Show the answer
A hierarchy allows a subclass to have only one superclass (single inheritance), while a lattice allows a subclass to have multiple superclasses (multiple inheritance).
17. When mapping a generalization to relational tables, what is the 'single table' approach?
Show the answer
Create one table for the superclass that includes all attributes of the superclass and all subclasses, with a type discriminator column to indicate which subclass each row belongs to. This is simple but can lead to many null values.
18. When mapping a generalization to relational tables, what is the 'class per subclass' approach?
Show the answer
Create a table for the superclass with its attributes, and separate tables for each subclass that include the subclass-specific attributes and a foreign key to the superclass table. This avoids nulls but requires joins.
Your notes can be a kit like these
Every kit here was made from real study material. Point Veda at a chapter, a PDF, a photo or a link and get notes, flashcards, practice MCQs, games and a scored test — free, in 42 languages.
- Chapter notes
- Flashcards
- Practice MCQs
- Scored tests
- Exam prep
Get Veda free See what students get
Free to start · No ads · Works in 42 languages