Is there a difference between relaying a transaction and relaying a block? I was checking the message types of the Bitcoin protocol and got curious whether there is a difference between relayin a transaction and a block, or not? 

For example, notfound message say that notfound is a response to a getdata, sent if any requested data items could not be relayed, for example, because the requested transaction was not in the memory pool or relay set. Does it mean that getdata is only used for transactions?
The wiki is terribly outdated, check out the Bitcoin developer guide instead:


  The response to a getdata message can be a tx message, block message, merkleblock message, or notfound message.


Source: https://bitcoin.org/en/developer-reference#getdata