Article table has a lot of null. What is the best way to prevent null in MySQL
If you are short of storage and database is big enough you can reduce the size ot table but the price is significantly higher CPU and RAM consumption. Just split the table 

PERSON 
+----+------+------+-------------+
| ID | name | attr | description |
+----+------+------+-------------+


into the two tables:

PERSON
+----+------+------+
| ID | name | attr |
+----+------+------+

P_DESCR
+------+-------------+
| P_ID | description |
+------+-------------+


Each time you need the full info do a JOIN..ON

SELECT * 
  FROM      person  AS w
  LEFT JOIN p_descr AS z ON z.p_id = w.id
 WHERE w.id = 1234
;


LEFT JOIN fill description column by NULL if no according row in the P_DESCR table for certain PERSON

Both approaches - with NULLs and JOINs are valid but you can choose what is more suitable for your needs.