You can take these comments with a grain of salt because little is known about the business or how the db is supposed to support it.
- PO doesn't belong in employee table. A PO and an employee are 2 different entities, so that should be the first indicator of that.
- nor does license, I suspect. If Joe gets a 4th license, you add another field? That's an indicator of license belonging in another table.
- missing PO fields? (Creator, Status, StatusDate,,,)
- missing PO materials field(s)? Unit (for qty - 15 in the field = 15 what?). Maybe others as well.
- you can only have 1 supplier for a material
- materials table needs units? Materials has a unit price but for what: each, 100 count, pound?
- I guess you only supply one labor type (e.g. electrician) because I see no trades and associated costs
- you probably need more supporting tables or fields around time sheets as a means of associating expenses. Do you charge the same rate for all trades (assuming there's more than one)? Do you charge the same for an apprentice vs journeyman?
I have worked in this sort of thing before but the time sheet portion was its own app; perhaps because it was designed with the payor in mind and not the payee. It can get very complicated if you're going to split off things like setup time rates, time or rate allowances, equipment rental (by you) etc.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.