The Illuminate contact structure
Contacts and students:
There are really only two types of "people" in the system. A student and a contact. All students come from the students table, all contacts are loaded into the contacts table.
A household is a collection of connected "people". The household is typically connected to a dwelling but it is not required to be connected to a dwelling. One example of a household without a dwelling is an emergency contact connected to a student. These two "people" are placed into a household together but there is no address if one was not provided. The household is what creates student relationships to contacts.
One student is typically a part of more than one household. A simple contact situation where Mom, Dad, student 1, and student 2 all live together will create 1 household. Adding a couple emergency contacts will then add 2 additional households. This will yield 3 households for a student in a very simple setup.
In a more complex situation where parents may not live together, each group of "people" that are connected will create a different household. In complex situations students can have 5-10 households.
A dwelling is an address. That's all it is. Just an address where someone can reside. The idea behind dwellings is to simply ensure that addresses are not duplicated in the system. A dwelling is a COMPLETE address. So 123 Main St. Apt 1 is a separate dwelling from 123 Main St. Apt 2.
The "student address"
The student address is inferred via the primary residence household. Most students will "inherit" their correct address from their primary data. Custom reporting meta-data has been created to generate one address per student based on their contact structures. This is why a student address does not exist in Illuminate. It is usually rare that a student would have an address with nocontacts.
The "self contact"
Generally, the self-contact should not be necessary at all. The self-contact should only serve as a tool to create a student address that is different from any of the student's contacts. For students who do not have contacts or for students who do not reside with any parents or guardians, the student should be provided as their own primary contact with the "resides with" flag set with acontact type of "self"