I'm trying to create a small application which will allow a person to handle incoming donations and distribute them among a list of receivers according to their percentage amounts which has been predetermined.
During the table design process, I have come to a place where I am unsure of how to proceed and am looking for advice in how I should design the tables. I have begun by placing all people in the same table regardless of whether they are donors or receivers because each person could potentially either give and/or receive.
As you can see below, tblGiverReceiver is the central table, however I'm not sure whether the fact that there is a circular reference will cause me problems and whether or not it is bad design from a normalization standpoint.
Here is what my design looks like:
I know the naming conventions are not correct. I am still in the design stage and find it easier to use names like this to help me think.
Should I duplicate the tblGiverReceiver table and rename each as tblGiver / tblReceiver or is it OK for me to link the table back to itself in this manner?
EDIT: I read through a suggested link from a fellow stackoverflow-er (How can you represent inheritance in a database?), however the question posed is not what I was looking for.