The red tailed sharks are extremely aggressive fish when "cramped" for space. There is no way to make this situation work in a 20 gallon tank. Red tailed and rainbow sharks need a minimum of 55 gallons for territory, as they grow to be 6 - 8 inches long and claim A LOT of territory for their own. Any fish that invades their territory is at risk of being chewed to death. Tiger barbs also get quite large, as do the giant danios.
If I were stocking a 20 gallon tank with any of these fish, I'd have stopped with 3 tiger barbs and called it full. There won't be a way to keep the peace in this size of a tank, however, if you move up to 55 gallons or more, with A LOT of decoration at each level of the tank (lower, mid range, and upper), then this could be a compatible situation.
It sounds to me like your pet store has given you advice about the compatibility, but neglected to inform you that the tank must be much larger to accomidate these fish. Tiger barbs average about 3 inches full grown, and giant danios average 5 - 7 inches. Mix that with a shark that tops out at 6 - 8 inches, and you can see where the tank will become very crowded as soon as any of the fish grow. EVERY fish in the tank needs territory away from the other fish, as all can become quite aggressive as they mature. Giant danios also need a "long" tank, because they spend most of their time pacing the upper 1/2. The danois do well in a school of their own kind, but always remember that the size is for EACH FISH.
My suggestion here would be to take a tape measure and some paper, and cut lengths of paper according to the sizes the fish will get to be, then hold them all together near the tank and look to see where these fish would go to get away from each other. This makes it easier to comprehend the actual conflict going on.
Good Luck and let us know if you need further help.