Super Effective
Normal-type Pokemon only fear one kind of enemy: fighting Pokemon. In "HeartGold," you might run into fighting types such as Hitmonlee or Hariyama; these Pokemon will deal a "super effective" hit for double damage to your normal types. By contrast, your normals will not deal double damage against any type due to their defensive-oriented design.
Not Very Effective
No Pokemon in the game score half damage through a "not very effective" modifier when attacking your normal type Pokemon. However, when on the offensive, your normal will find his or her moves working poorly on rock and steel types. Examples for rock types include the tree-like Sudowoodo and the giant rock monster Gigalith. Steel types are far more rare in "HeartGold," but you can find the Steelix or the legendary Dialga in this game.
Ineffective
The only Pokemon type that is completely ineffective against normal types are ghost types such as the Ghastly and Sableye. Likewise, ghosts cannot damage normals, either. As a matter of fact, the relationship between normals and ghosts is a bit unusual, as neither combatant is capable of damaging the other! However, you can use the spells "Odor Sleuth" or "Foresight" to disable the Ghost's immunity; in that case, your normal Pokemon will deal unmodified damage.
Neutral Effectiveness
The vast majority of attackers will land hits with neutral or unmodified effectiveness. Because there are so few types that deal super effective damage to normal-types, and because most normals have naturally high defense, normal types are quite difficult to counter and defeat. The downside is that normal types also do not counter any specific types; they deal neutral effective damage to everything in the game except rock, steel and ghost.