The closest thing to published ERD/Data Schemas is eTRM.
There are a huge number of tables in HRMS - and many of these are shared with other areas. Plus you'll often use views instead in your production code for security purposes (i.e. HR security) or otherwise. Here are a few of the most commonly used (in my opinion) to get you started:
- per_all_people_f - All people
- per_person_type_usages_f - The type of person an employee is/has been (i.e. applicant > employee > ex-employee)
- per_all_assignments_f - People assignments (i.e. an instance of a role for a person - think of it as you may have an assignment per job you do).
- per_jobs - the different jobs an assignment can be linked to
- hr_all_positions_f/per_all_positions - the list of possible positions an assignment can be linked to
- per_grades - the list of possible grades an assignment can have
- hr_all_organization_units - the list of possible organizations (departments) an assignment can be linked to. Also contains business units, operating units, etc.
- hr_locations_all - the list of possible locations an assignment can be linked to.
Note that the _all_ tables are date-tracked. I wrote this a week back which might be of some help when determining which table/view to use when querying HR objects:Oracle HRMS - Which View Should I Use? - Beyond Blog