Q:

Keys and addresses terminology

I am trying to understand the difference between these terms  :

Wallet
private key
address

in the ethereum ecosystem, and who contains ( sort of one to many or one to one relationships between classes )

A:

Private key - 256 random bits. 
Public key - 512 bits derived from the private key using ECDSA algorithm. 
Address / account - 160 last bits of the keccak hash of the public key. 
Wallet - usually, software for managing accounts and interacting with the blockchain. 

1 address normally1 corresponds to 1 public key and 1 known private key.  A wallet can contain multiple addresses.  
1 - as Lingmao Song noted in the comments, 1 address can correspond to multiple public keys and multiple private keys: Is each Ethereum address shared by (theoretically) 2 ** 96 private keys?.  As lungj noted in the comments, addresses of contracts usually don't have known public/private keys: Where is the private key for a contract stored?