EU nationals do not require a visa to enter the Federal Republic of Germany. Generally speaking, all other non-EU nationals require a visa for stays in Germany.
Foreign nationals from the EU, EEA or Switzerland are exempt from the visa requirement. For some nationalities outside the EU there is no visa requirement either.
Please visit the Federal Foreign Office website for further details
A Schengen visa allows a foreign national to stay and travel in the Schengen area for up to three months within a six month period. If you have a Schengen visa for Germany, you will also be permitted to travel in the other countries belonging to the Schengen area.