Entity table belongs to Attribute Set. If column hydra_set_id is NULL, entity has all attributes which have been created for this entity (entity_type column's value should be the name of this entity, for example Product). Otherwise, entity has attributes which are assigned to this attribute set.
Attribute table keeps all information about attribute except its value.
These tables are created for each entity. They store attribute values. Each table is designed to store concrete attribute types.
This table stores groups of attributes.