| Lesson 7 | Multi-valued Attributes |
| Objective | Explain the problem with multi-valued attributes and when they must be resolved. |
A multi-valued attribute occurs when a single column holds more than one value for the same entity instance (e.g., an Employee row with a Phone column containing “555-0101, 555-0199”). This violates First Normal Form (1NF)—the “one attribute → one value” rule—and must be resolved before implementation.
Children = 'Dan,Mike,Tina').Phone1, Phone2, Phone3 (arbitrary limits, many NULLs).Phone1..Phone3) cap growth; variable lists complicate updates and reporting.A full name like “Susan Anthony” is one value for a Name attribute—so it is not multi-valued. Many databases still split names into FirstName and LastName for usability (e.g., personalized salutations) and filtering; that’s a design choice, not a 1NF requirement.
Multi-valued attributes must be resolved before implementation:
HomePhone, WorkPhone), and each attribute has clear business meaning.Details on both approaches follow in the next two lessons.
Multi-valued attributes break 1NF, blur meaning, and block integrity and performance optimizations. Treat each value as a separate row—either by adding a few well-defined attributes (fixed, small set) or, more commonly, by introducing a new entity for the repeating fact.
Next lesson: How to resolve a multi-valued attribute by adding attributes. After that, you’ll learn how to resolve it by creating a new entity.