So, if you can imagine a person was simultaneously enrolled in 100 different courses and had just received final grades for all courses, would it be better practice to store that information like so (wide columns):
personID | Math | Science | English |
---|---|---|---|
1 | 90 | 88 | 98 |
2 | 91 | 98 | 90 |
(and ...97 other columns)
Or like this:
personID | Grade | Subject |
---|---|---|
1 | 90 | Math |
1 | 88 | Science |
1 | 98 | English |
This brings the columns down significantly (from 100 to 3).