Skip to content
C

Multi Valued Attribute


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? A: 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? A: 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? A: 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.

Mock Test

  • Multi Valued Attribute - Quick Test

    8 questions on Multi Valued Attribute.

    8 questions · 8 min · Medium
    Start Mock Test