If you really have 30 distinct pieces of information you need to keep, then there's nothing wrong with putting them all in one big row.
On the other hand, if you're repeating something several times, you have an array inside a row, and that's not good.
For example, if you need to keep 3 phone numbers for a person, you should have a child table with a phone number column and three rows of data, not a table that has three different columns all holding phone numbers.