What is the relationship between a Bitcoin Private Key / Public Key / Address?
The Public Key (a curve point) is equal to the Generator (a fixed curve point) multiplied by the Private Key (an integer).
There are multiple different kinds of addresses. But, one common type of address is an encoded hash of the public key. (In practice what is hashed is the byte representation of the x-coordinate of the public key (withwith either 0x02 or 0x03 appended to the front to account for the sign of the y-coordinate, and additionally there is some checksum data also appended--just another type of hash--appended prior to encoding).
is there a possibility of generating a private key already in use?
Yes there is. For example, if you choose your private key to be the number 1 then you will have chosen a bad private key (the private key 1 is already in use--see if you can find it!).
However, if you choose your private key at random from integers greater than zero and less than 115792089237316195423570985008687907852837564279074904382605163141518161494337, then you will have a valid key and the chance of a key collision is very very low (because 115792089237316195423570985008687907852837564279074904382605163141518161494337 is very very large).