Tap Forms – Organizer Database App for Mac, iPhone, and iPad › Forums › Using Tap Forms › TapForms and Relational Database design
- This topic has 2 replies, 2 voices, and was last updated 1 year, 4 months ago by alang.
-
AuthorPosts
-
August 10, 2023 at 10:32 PM #49753
alangParticipant(hope this is not a duplicate.. I edited my post twice and it seemed to get marked as spam then no longer appeared?)
I have been looking at a number of posts here regarding TapForms, Relational Databases, and CouchDB as document-oriented, NoSQL. I have very limited understanding of these things but a question occurred to me and I began to wonder if certain relational database principles can or should be avoided in TapForms. In particular, the idea of Normalization and separate tables/forms. As I have been learning TapForms, I have continued to make a separate form for things like Authors (my use is a database of word usage). Then, for example, a link to form: Books, a link to form: Sentences, and so forth. As I understand it, pretty typical stuff in a relational view. This approach does not change, does it, with the design of TapForms? Or in TapForms, is the idea to have a form where, for example you directly enter (in this example) the author without a parent form: Authors. I assume that is not the case, as how would you handle typical things like changing the spelling of the author’s name for all records, which of course, you would otherwise easily do in the parent form, Authors. Since I understand these issues only at a very simply level I wanted to check. For whatever advantages CouchDB was chosen, does this not change setting up forms in TapForms with a normalized structure.?Again, I hope I am using that term correctly. Thank you.
August 11, 2023 at 12:46 PM #49755
BrendanKeymasterHi Alan,
I built Tap Forms to remove the complexities of having to understand database design. But Tap Forms is relational and can be used to develop relationships between forms. You just don’t have to think about HOW it’s done under the covers. That’s why it doesn’t matter that it uses CouchbaseLite (a NoSQL implementation) behind the scenes. You only need to know that you can link from one form to another.
So go ahead and create your Author form and link it to your Books form. You do have to think a bit about how you want your data to be presented though and what kind of relationship you need. For example, some books have more than one author. And authors can have multiple books. So in this case you would need to use a Many to Many relationship so that if you select an author, you can see all of their books. And conversely, if you select a book, you want to see a list of all the authors for that book. That’s called the inverse relationship and is accomplished in Tap Forms by simply clicking a checkmark next to “Show Inverse Relationship”.
Thanks!
Brendan
August 11, 2023 at 1:52 PM #49758
alangParticipantThank you Brendan. It is very helpful to have this stated explicitly; that certain design principles remain while you do not need to worry at all about behind the scenes implementation. And you have done such a good job of it, I began wondering whether you had somehow eliminated all behind the scenes. As if after pressing down on the gas pedal for so long, and having never opened the hood, I would wonder.. wow! how did they eliminate the engine. What great work you have done. It is very helpful to have this clarified. Thank you.
-
AuthorPosts
You must be logged in to reply to this topic.