Ok,
Based on what you are trying to achieve, I believe that the cleanest way to approach this would be with a combination of a Cook built component and a custom profile plugin to extend the core users table.
Why???
Well, for sure, Cook can build the whole thing as a component by adding all of your desired fields to your
workers table and relating core joomla users by adding a
Joomla User wizard to your table. From there, you relate your other objects/entities - timesheets, rota, holidays or whatever you want - to your workers by adding a
Foreign Key field type to their tables.
However, it will involve far less 'custom' coding in many respects to separate what would naturally seem to fit the purpose of profile data that you'll almost always store for all users (or users of a specific type) and store any data that will likely vary in size, quantity and/or frequency per user (or worker) in your component.
Both routes have been discussed in some depth on the forum... These should get you started;
Plugin in addition to component:
www.j-cook.pro/forum/7-design-your-appli...-with-relations#5896
j-cook.pro/forum/9-coding-inside-your-co...s-from-2-params#5205
Component only (Limiting/filtering certain views & layouts to the 'creator' with User/author wizard)
www.j-cook.pro/forum/7-design-your-appli...-with-relations#5896]
www.j-cook.pro/forum/7-design-your-appli...ecords-without-admin
hope it helps,
Gez