Old wallets used one private key generated randomly by the wallet when first run.
In modern “Hierarchical Deterministic” (HD) wallets. One private key is generated either randomly or derived from a phrase called a seed-phrase or recovery-phrase which itself is generated from a random number. Then many other private keys are generated from this using a “derivation path” which can differ between different brands of wallet. The derivation path is chosen by the developers and some different developers chose different derivation paths. This affects wallet recovery.
One public key is generated from (along with?) each private key.
Addresses are constructed from public keys for certain common types of transaction. Not all transactions involve addresses.
The most common types of transaction create addresses as a prefix followed by a hash of a public key followed by a checksum (so that typing errors may be detected).
Because HD wallets generate a new address for each transaction, behind the scenes they are using the fixed derivation path to generate new private keys and public keys from which to create the address.
So HD wallets have many addresses, it isn’t sensible to think of a “wallet address”.
What is the relationship between a Bitcoin Private Key / Public Key / Address?
Something not entirely unlike this:
entropy --> random number --> phrase --> private key --> public key --> address | ^ | '------------------------' +--> private key --> pubkey --> addr +--> private key --> pubkey --> addr : '--> private key --> pubkey --> addr
is there a possibility of generating a private key already in use?
Its about as likely as your home spontaneously changing into a pot of petunias. Which physicists might tell you is theoretically possible but not ever going to occur due to its improbability. The point is we are talking about statistical probabilities involving numbers that are far more vast than most of us have any hope of comprehending because they are far greater than any numbers we routinely encounter or can imagine.
And, also I’m assuming that a wallet address is a bitcoin address?
Does each wallet address have a one-one relationship with a private key?
So far yes.
New types of transactions can be invented and I imagine new types of address could be invented.