I know what you mean about coming from the code world and wondering how to achieve things with Drupal. I was in the same boat about 6 years ago and it was painful at the time but Drupal is better now than it was back then and there is a lot more information too. Since Drupal 8 is still an alpha, I'm going to suggest concentrating on Drupal 7. I have Drupal 8 running as a test bed and it is packed with lots of out of the box goodness but I don't expect to use it in production for quite some time.
For relationships and cross referencing, you need Taxonomy. You can create lists of references and then you can expose them to your content and tag it appropriately. Taxonomy is native to Drupal so no need for additional modules there.
I expect at some point in order to render indexes to your cross referenced information you'll use the Views module. You don't have to but since you are new to the world of Drupal I would suggest that you do. For Views you need C-Tools and Views. You only need C-Tools enabled (none of the bundled C-Tools need to be enabled). Once you've got views installed you'll be able to create "Views" as stand alone pages, feeds or blocks. Views can be extremely complex but basically a view is a listing of content and you can filter it and display it pretty much anyway you like. I use views for Blog, news, article, etc... indexes. I also use it for catalogues and you can set specific filters or expose the filters. So if you want to have a roster of people, you can use views to list them out and then expose a filter to set some sort of demographic criteria. If you want to do a catalogue with title, description, thumbnail, feature sheet (PDF), etc..., views is your best friend.
I usually use Feeds to import the data into nodes. You will want to play with it a bit to ensure that it imports the content into the correct content type. As I recall by default, everything is imported as an article and I don't use articles usually.
I've used Menu Import for importing a structural hierarchy. It's a bit of a pain in the @ss to set up and get the import working correctly but once you get around it and have it set up correctly, it will create the menu and will save quite a bit of time as opposed to linking manually.
It can be difficult coming from a world of code into Drupal because there is a fairly substantial learning curve and it can feel like you are moving backwards but once you get past the growing pains it is definitely worth the effort. For learning the Drupal way of doing things I would recommend Using Drupal 2nd Edition (http://shop.oreilly.com/product/0636920010890.do) It's pretty basic stuff but full of insight about how to go about common activities. For digging deeper and learning the API as well as the best "Theming" primer I've read, I would recommend Pro Drupal Development 7 (http://www.amazon.ca/dp/1430228385). A fairly in depth book about the guts of Drupal.