I've read quite a lot on forums, and from that it seems that contacts and their phone numbers are stored on separate databases on android.
Could someone explain how data from these databases are linked to the ContactsContract.RawContact class, and how it is organized in ContactsContract.Contacts and ContactsContract.CommonDataKinds ? Also what is the difference between these two classes, when they represent a lot of similar information of a contact.