Thanks. Yes I have a tendency to not see the forest for the trees sometimes. I have been working on this since the beginning of the summer so I have gotten bogged down in too many little details. Let's answer some of your questions and hopefully you can lend a machete to my intellectual thicket.
Satellite campuses don't really matter at all except that they exist and I need to know who feeds them. They have no kitchen staff employees of their own but they do have principals supervisors and other administrative staff that we just need to keep contact information for in case we need to reach someone. They also have feeding schedules which we need to be aware of. So while they don't factor into the wages part of things they do factor into other parts of the database.
I guess it doesn't matter how many different kinds of wages there are. If I'm going with wagesemp table as housing all the different wage types and their rates, then it makes no difference. I can sort that detail out in queries and reports later on. This fixes the next two parts of your post regarding assistant cooks and differential pay as well. Got it.
The vacancy is there because when the district sends us the list of the schools and their jobs and employees, they list the vacant positions. I could remove that employee and leave it blank but I fear that may confuse my users. Vacancy shows that the value is known and that it's a position that's not filled rather than someone just forgot to put an employee in there. I need to be able to print reports for my Operations director showing which schools actually have vacancies to fill. It's not got a lot to do with the staff and their wages but in assignments it's pretty important.
The funding and sponsors of the programs are kept on a separate table from the other things so it doesn't directly interact with the employees and wages. That was just additional information I gave you for the database as a whole. I probably didn't need to provide that for the wage problem. Sorry.