How does Bitcoin Core know that your private key relates to your public address? Are the private keys stored? When a user creates an account on Bitcoin Core, he is assigned private keys. And he needs to use these private keys in order to send transactions onto the network.

Does Bitcoin Core store these private keys in the application or in the public ledger? Are these private keys store on a private server by Bitcoin Core developers? 

When you sign a transaction with your private key, how does Bitcoin Core know that this private key is related to your public address?
Does Bitcoin Core store these private keys in the application or in
  the public ledger?


the private keys are stored in the wallet, along with the public keys. Never (!) ever you would show the private keys to someone else, otherwise you'll loose the funds! This is why wallets are also secured...


  Are these private keys store on a private server by Bitcoin Core
  developers?


No, as mentioned before, in the wallet software. If the developpers had access to the private keys, they could steal all funds... doesn't make sense.


  When you sign a transaction with your private key, how does Bitcoin
  Core know that this private key is related to your public address?


The link between priv and pub keys is by the ECDSA logic. 

The answers here are fairly generic, and deserve probably a whole chapter of a book, but I think I'll reference to Andreas' book "Mastering Bitcoin". It is an amazing book that'll definitely get you to go. It's freely available online here: http://chimera.labs.oreilly.com/books/1234000001802/index.html