Skip to content
CampusEduX

Chapter 6: ER and EER Modeling · Lesson 75 of 294

Multi Valued Attribute

2 min read

Multi Valued Attribute

Definition

A multi-valued attribute is an attribute that can hold more than one value simultaneously for a single entity. It represents a genuine one-to-many relationship between an entity and the values of that particular property — the exact opposite of a single-valued attribute (6.8).

Worked Example

A Student may have several Phone_Number values on file (a home landline and a mobile number), and several Skills (e.g., "Python", "SQL", "Public Speaking"). Both are multi-valued attributes of Student. In an ER diagram, a multi-valued attribute is drawn as a double-line oval (or double-circle) to distinguish it visually from a normal single-valued attribute's single-line oval.

Edge Cases

  • A multi-valued attribute cannot be stored as a plain single column in a relational table, because a column can only hold one value per row. During ER-to-relational mapping (6.21), a multi-valued attribute is always converted into a separate table, with a foreign key referencing the owning entity's primary key, and one row per value (e.g., a Student_Phone(Roll_No, Phone_Number) table).
  • A multi-valued attribute can also have both a lower and upper bound on the number of values, sometimes written as {min, max} in notations that support it — e.g., a Student might be required to have between 1 and 3 phone numbers.
  • Multi-valued attributes can themselves be composite in rare cases (e.g., multiple structured Addresses, each with Street/City/State) — multi-valued and composite are independent, combinable properties, not mutually exclusive.
  • Do not confuse a multi-valued attribute of one entity with a genuine one-to-many relationship between two entity sets. If "Skill" needed its own attributes (like ProficiencyLevel, CertifiedDate) or its own identity independent of the student, it should be modeled as a separate Skill entity set connected via a relationship, not merely as a multi-valued attribute of Student.

Key Takeaways / Interview Q&A

Q: How is a multi-valued attribute drawn differently from a single-valued one in an ER diagram?

Ans:With a double-line oval (or double-circle), versus the single-line oval used for ordinary single-valued attributes.

Q: Why can't a multi-valued attribute just be stored as a comma-separated string in one column?

Ans:Doing so violates first normal form (atomicity of values) and makes searching, indexing, updating, and enforcing uniqueness on individual values very difficult; the correct relational approach is a separate child table.

Q: When should a "multi-valued attribute" instead be redesigned as its own entity set?

Ans:When the repeating value needs its own descriptive attributes or its own relationships to other entities (e.g., Skill needing a Proficiency_Level) — at that point it has outgrown being a simple multi-valued attribute.