Complex Attribute
Those attributes, which can be formed by the nesting of composite and multi-valued attributes, are called “Complex Attributes“. These attributes are rarely used in DBMS(DataBase Management System). That’s why they are not so popular.
Example: Address because address contain composite value like street, city, state, PIN code and also multivalued because one people has more that one house address.
Representation
Complex attributes are the nesting of two or more composite and multi-valued attributes. Therefore, these multi-valued and composite attributes are called ‘Components’ of complex attributes.
These components are grouped between parentheses ‘( )’ and multi-valued attributes between curly braces ‘{ }’, Components are separated by commas ‘, ‘.
For example: let us consider a person having multiple phone numbers, emails, and an address.
Here, phone number and email are examples of multi-valued attributes and address is an example of the composite attribute, because it can be divided into house number, street, city, and state.
Components
Email, Phone number, Address(All are separated by commas and multi-valued components are represented between curly braces).
Complex Attribute: Address_EmPhone(You can choose any name).
Types of Attributes in ER Model
In a Database Management System (DBMS), an attribute is a property or characteristic of an entity that is used to describe an entity. Essentially, it is a column in a table that holds data values. An entity may contain any number of attributes. One of the attributes is considered as the primary key. In an Entity-Relation model, attributes are represented in an elliptical shape.
Example: Student has attributes like name, age, roll number, and many more. To uniquely identify the student, we use the primary key as a roll number as it is not repeated. Attributes can also be subdivided into another set of attributes. Attributes help define and organize the data, making it easier to retrieve and manipulate information within the database. In this article, we are going to discuss about different types of attributes in detail.