What is EAV model and difference between EAV and Flat model

EAV model:- EAV(Entity Attribute Value) is a data model. When we want to add new field in table then we do not need to modify the table structure.
Note:- EAV structure for product in magento, product ID is stored in catalog_product_entity_int table, product name in catalog_product_entity_varchar, product price in catalog_product_entity_decimal, product created date in catalog_product_entity_datetime and product description in catalog_product_entity_text table.

Example:- If we want to add a field name is productinfo then we add into catalog_product_entity_varchar.

Difference between EAV model and Flat model
(i) EAV model is very useful when we want add a field in table structure, not need modify the structure. In Data model, when we add new field then modfy the table structure.
(ii) EAV model is very complex for (select, insert and update query), because we use relation from many tables. Data model is very easy to (select, insert and update query).
(iii) EAV model is slow and Data model is fast than EAV model.