What data is available to Ethereum smart contracts?
I'm not sure if this is actually complete, but the solidity language runtime exposes most of the useful stuff:

https://github.com/ethereum/wiki/wiki/Solidity-Tutorial#block-and-transaction-properties

So basically, only existing state and new data entered as arguments from new signed transactions. This means "real world" data mostly has to come from some kind of oracle mechanism.