My recommendation is a Vodafone Callya prepaid card. For 20 Euros - 100 minutes of calling, .09 per minute after that, incoming calls are free, 3000 SMS, and 200mB internet flat rate before they throttle you down to 64kB/second.
To conserve your 200mB, be sure to turn off all push notifications and know that Maps uses your internet connection. Use WIFI as much as possible. Turn off 3G when not in use. Callya makes a HotSpot, too, if you need it.
If you understand German, you can even go to a gas station for this SIM and set it up yourself. If you don't understand the language, find a Vodafone store in any mall and they will set it up for you.
I have used this for 3 different trips with my unlocked iPhone 4 and I'm a satisfied customer. Because my trips were more than 3 months apart, I needed to get new phone numbers each time, but it's not a big deal.
Other questions?