If the transmission rate of a physical link, such as ethernet cable, between a sender and receiver is set to be 100Mbps, does it imply that the receiver will receive 100Mb of data in each second? What if the distance between the sender and receiver is very long, how does the distance affect here?
Distance doesn't have any affect on bandwidth. The bandwidth is how many bits per second you can send or receive. It may take the initial bit longer to get to the other end with a longer distance, but, if the bits are sent consecutively at 100 Mbps, they will arrive at 100 Mbps.
The thing with distance is that your signal gets degraded more over longer distances for various reasons, largely due to noise. Also, since the wire's resistance increases with length, the signal power will decrease because more energy will be dissipated as heat.
The Ethernet protocol uses differential signaling and stp cable to help avoid loss to noise and since the signal is digital, power loss isn't a huge factor until you get to very long distances, since all that is needed is an "off" or "on". However, a combination of noise and low power can still degrade a signal enough to not be useful: if this happens, then the signal must be sent again.
In summary, in 99% of the cases a signal will be received at the same rate as it is sent, but long distances can degrade the signal enough that it has to be sent again. This can be perceived as a slower connection.