Let's say I have tables like below in NF3

Table Name: **Address**

* line1
* line2
* state\_id

Table Name: **State**

* id
* name
* country\_id

Table Name: **Country**

* id
* name

Now I want to denormalize this table so that read will be faster and I don't need to JOIN multiple tables, **but I couldn't able understand what is denormalization is.**

Example 1) Do I need to keep tables like above in 3NF, and extra columns to Address like state\_name, country\_name so the resulting table looks like below.

Table Name **Address**

* line1
* line2
* state\_name
* country\_name
* state\_id

Or 

Example 2) Do I need to remove state\_id from the `Address` table and keep `state_name` and `country_name`. 

Table Name **Address**

* line1
* line2
* state\_name
* country\_name

From the above 2 examples, which is denormalization?