AnsweredAssumed Answered

Understanding (intentional) cascading deletes via relationships graph

Question asked by RussW on Oct 30, 2016
Latest reply on Nov 17, 2016 by beverly

In my continuing journey to optimize my solution to run on a hosted server across a WAN, I have another question as to how FMP operates under the hood.


My relationships graph is fairly simple, albeit there are several tables. But essentially, it is a pyramid. I am tracking business transactions for a property with three distinct profit centers. There is only one set of transactions per day. The upper most (I'll call it the parent table) has one record for each business day with a stored summary of the activity among its children tables. The children tables (there are three) are linked to the parent table by Date. Again, each child can only have one report (record) per day. So the join is a one-to-one.


Under the child tables there may be one or more transaction tables with one or many line items per table for each date.


Initially, when everything co-existed on my desktop, to remove an entire day's activity, I did a FIND for Date in each of the many tables and deleted the found set in each. It was pretty quick. Over the WAN, not so much.


Since my relationships are so simple, I edited the links between all tables so that when a record for a given day in the parent is deleted, the records of the same date in the children are deleted. It only goes one way, i.e. if I delete all child records, the parent is unaffected.


I haven't tested yet, but I think this will work. (PLEASE, tell me if I am wrong!)


The question then is, where do these deletes happen and how? By doing this, am I preventing a lot of data traffic between the client and server or is all the data coming down to the client to be sorted out locally? If I am not saving any time, I might as well go back to my old way and try and do a PSoS.


As always, thanks in advance for any help you folks so generously provide.