I have a database design I'm working on that's a retail cash register. I believe I can tell from looking at what I've done that it's probably not right and violates who knows how many guidelines for relationships. I was wondering if someone can tell me what I'm doing wrong.
Organization (the owning entity)
Location (physical location of the retail store)
Period (the accounting period in question - usually a single day)
Register (the physical register that sits on the counter)
Drawer (the cash drawer inserted into the register at the start of a shift - a new one for each shift and "owned" by one employee)
DrawerTransaction (the entry that represents a single transaction, including sale and tender of money)
As you can see from the diagram, Organizations contain one or more locations and a location has one or more registers and a register has one or more drawers.
The question I have is how to handle the "Periods" table. Periods are either open or closed, where a closed period prevents any adjustments to any transactions and provides a reporting point for the day's business. That means that drawers belong to periods, making periods a defining entity for a drawer. At the same time, a register is the physical device in which the drawer goes (and cannot be moved to another register) so it also is a defining entity.
What have I done wrong. This plain just doesn't look right.