App Datatype = Car; datafield = list of owners
App Datatype = Owner; datafield = car
the datafield of car could be a list of cars if the owners owns more than one car.
This makes it so you could search for the car owner or car two different ways.
Something that I have come to realize recently is that a relational database makes it so much easier to retrieve information. It does also complicate the saving of data a bit, but is not a hard hurdle.
Also, as a relational database there is one thing that could find all other things. What this means to me is that user is that one thing that all other datatypes can be related to…this makes it easier in my mind to retrieve data by using “current user” as the datasource so that you can eliminate the need to “do a search for”. It seems to have made the retrieval of information faster in my app (the less searches and more references to data types the better I feel).
So you could do:
Datatype = User; Datafield = list of cars; Datafield = Owner (this is the current users)
Datatype= Cars; Datafield = list of users; datafield = list of owners (this assumes that each car datatype could have more than one owner…for example car is a Honda Civic and you want to see all people who own a Honda Civic)
Datatype= Owner; Datafield = list of cars; Datafield = User
Another thing that helps with retrieval of information…if you know you will need to do multiple searches of the same datatype on the same page…on page load, set a custom state to a list of that datatype and use the custom state list as the datasource when you want to filter or sort the list on the page.