Are MementoDB links working in the wrong way ?

161 views
Skip to first unread message

Fab Trillaud

unread,
Nov 17, 2020, 4:03:22 PM11/17/20
to mementodatabase

I was very enthusiast a few weeks ago when I started using MementoDB, but the more I use it, the less I understand it.
My biggest problem comes with "link to entry" entry type, I can't stop but getting the feeling that the way it works is wrong.

Let me explain with an example. Say I'd like to manage orders I make. So I have an Orders base, with date, shipping cost, delivery address ans so on. For each order, I'd like to link any number of items. The items are of different kind, and are each stored in their respective base : ItemsA, ItemsB, ItemsC...

The thing is, logically I would create as many "link to entry" fields in my Orders database as there are types of items. So I would create a 1-n "Items of type A" field linking to ItemsA base, a 1-n "Items of type B" field linking to ItemsB and so on. That way, a given order can contain any number of items of each type, and every item is only linked to one order.

But the way MementoDB works is the exact opposite. Doing things the way I just described, I'm able to link each item to any number of orders, and once an order is linked to an item, I can't add any more items from the same base. To me it's like the link are "m-1", and not "1-n" as it says.

So in order to be able to do what I want, I have to create in every ItemsX base a 1-n link towards Orders, which is highly illogical. The MementoDB wiki says it quite clearly in this example, if one company has many products, you have to create a one-to-many link in the Product library. This doesn't make any sense.

Why not allow user to create "n-1" links as well as "1-n" to counter balance this very weird behavior ?

Gilles Mons

unread,
Nov 17, 2020, 4:21:55 PM11/17/20
to Fab Trillaud, mementodatabase
Hello,

for me the base links must be in the command base and not in the article bases .....

to see the possibilities of memento, I suggest you try a basic stock example that I share ....

you can create recordings to understand the operation, I have put an explicaciones page to help you ....

Stocks v2.2 English

Componente for stocks v2.2

today I have just added the inventories running in basic view (Script Action, basic view)

if english is not your native language tell me what is your language...

Gilles
"Hello and thank you" are the magic words in my world....

--
You received this message because you are subscribed to the Google Groups "mementodatabase" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mementodataba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mementodatabase/77a3f04d-a0b8-4eb7-8269-8310ded09f9bn%40googlegroups.com.

Fab Trillaud

unread,
Nov 17, 2020, 4:37:00 PM11/17/20
to mementodatabase
Hello,

Thank you for your sharing, but since i'm not the owner, I can't see how you defined your fields ^^

Anyway, I totally agree with you, the link should be defined in the Command library, and not in the Articles library, but it simply doesn't work. If I do this, I can link every article to any number of commands, and every command to only one article.
I don't understand the logic behind it. I HAVE to define the Link to Entry field in my Articles library, linking to Commands, to be able to link every command to any number of articles, et every article to only one command.

Thanks for your time anyway.

Gilles Mons

unread,
Nov 17, 2020, 4:43:07 PM11/17/20
to Fab Trillaud, mementodatabase
to have access to the fields and to the script you just have to copy the databases and in the copies you have access to all the fields and all the scripts

do not forget to remove the word "copy" in the name of the bases if you wish to make them work for your tests

then you can clear the bass download


Gilles
"Hello and thank you" are the magic words in my world....

Fab Trillaud

unread,
Nov 17, 2020, 4:47:32 PM11/17/20
to mementodatabase
Thanks. So I see your base does not reflect my problem, since your link is n-m cardinality.

Fab Trillaud

unread,
Nov 17, 2020, 4:51:43 PM11/17/20
to mementodatabase
I just re-created the libraries exactly as described in the wiki page : https://wiki.mementodatabase.com/index.php/How:Slice_%26_Dice_Library_Data


And if you create one order and add one product to it, you can't add more. But you can still link the same item to other orders.

Fab Trillaud

unread,
Nov 17, 2020, 4:54:50 PM11/17/20
to mementodatabase
(sorry for the spam)
It just seems that MementoDB works in direct contradiction with its own documentation.
To me a 1-n link from Orders to Products should mean that for a given order there are may products, and for a given product there is only one order. But MementoDB actually works the other way around, and I can't understand the logic behind it.
Please someone explain ^^

Gilles Mons

unread,
Nov 17, 2020, 4:55:45 PM11/17/20
to Fab Trillaud, mementodatabase
okay it's just a basic example so that you can see the possibilities of memento ...

I don't understand why you want the items to be tied to one order?

You ave options 1-1....

Gilles
"Hello and thank you" are the magic words in my world....

Gilles Mons

unread,
Nov 17, 2020, 4:59:40 PM11/17/20
to Fab Trillaud, mementodatabase
ok i'm looking at your base tomorrow for me it's time to sleep (France)


Gilles
"Hello and thank you" are the magic words in my world....

Fab Trillaud

unread,
Nov 17, 2020, 5:00:44 PM11/17/20
to mementodatabase
This is just an example. Let's just say these are not orders but shelves in a museum, and I want each shelf to hold n items, and obviously each item to be placed to only one shelf.
Well, by creating a one-to-many link on the shelf, linking to items, MementoDB does the opposite : I can have a single object on multiple shelves, and each shelf holds only one object.
For the relationship to be correct, MementoDB needs to have the 1-n link created on the item side, which is really, really weird.

Fab Trillaud

unread,
Nov 17, 2020, 5:01:15 PM11/17/20
to mementodatabase
Well I'm in France too :p

Beth Dixon

unread,
Nov 17, 2020, 5:30:52 PM11/17/20
to Fab Trillaud, mementodatabase
I can add more.

See attached screenshot.

On Tue., Nov. 17, 2020, 4:50 p.m. Fab Trillaud, <fab.tr...@gmail.com> wrote:
The number of customers is really not the problem ^^

I just re-created the libraries exactly as described in the page you've given.
And if you create one order and add one item to it, you can't add more. But you can still link the same item to other orders.

Le mar. 17 nov. 2020 à 22:41, Beth Dixon <beth.ea...@gmail.com> a écrit :
Yes, I have tried it and it works for me.  I am not understanding why you would link more than one customer to an order though.  I am confused.

On Tue., Nov. 17, 2020, 4:32 p.m. Fab Trillaud, <fab.tr...@gmail.com> wrote:
Hello,
I did read this page actually, and I totally agree with it, but MementoDB simply doesn't work that way. If what do exactly what is written there :
  • Orders with unique entry name and the following fields:

...I can link many orders to each customer or product, but only one customer/product to any order. To be able to link any number of products to a given order, the Link to Entry field must be created in the Customer/Product libraries.
Did you try it ?

Le mar. 17 nov. 2020 à 22:10, Beth Dixon <beth.ea...@gmail.com> a écrit :

--
Screenshot_20201117-172857_Memento Database.jpg

Gilles Mons

unread,
Nov 17, 2020, 5:33:38 PM11/17/20
to Fab Trillaud, mementodatabase
Fab, tu est français ?


Gilles
"Hello and thank you" are the magic words in my world....

Beth Dixon

unread,
Nov 17, 2020, 6:20:51 PM11/17/20
to Fab Trillaud, mementodatabase
Ahh, I think I see your problem.  It is just a matter of setting up the link to entry fields correctly I think.  

For example I have a database that lists over 12000 food items.  I track the foods I eat in a day by their nutritional values.  This library is called USDA Food list and could be thought of as the Products library.  Your shelves in the museum.

And how do I summarize what I eat each day?  I created a library called My Diet (think of this as the Customer library).  Sorting of this library is by a Date Field DESC.

So, how do I track the foods I eat each day?  I created a library called My Daily Foods (think of it as the Orders library).  In this library I have created a Link to Entry field to My Diet (Customers, one to many).  Also a Link to Entry field to USDA Food list (Products, many to many).  Sorting of this library is by My Diet DESC, and Grouping is by My Diet.

I believe the issue is that you have more than one products library?  Shelves in a museum and each shelf with items and thus yoy need to create a link to entry field, many to many in your Orders library. Each one has to be many to many.  In my USDA Foodlist the shelves would be for example, Fruits, Meats, Vegetables, etc.  I don't have a separate library for each shelf of items.  One library for all products.

Hope I understood and this helps,

Beth




Screenshot_20201117-175648_Memento Database.jpg
Screenshot_20201117-175835_Memento Database.jpg
Screenshot_20201117-172857_Memento Database.jpg

Gilles Mons

unread,
Nov 18, 2020, 12:59:39 AM11/18/20
to Beth Dixon, Fab Trillaud, mementodatabase
Bonjour Fab,

Voici la photo des résultats de relations ....

j'ai fait des essais, et dans la relation 1-1 si l'entrée a déjà une relation il ne peut être sélectionné
(sauf si il est dans l'entrée en cours "pas encore enregistrée")
il peut être créé (+) ...


Hello Fab,

Here is the picture of relationship results....

 I did some tests, and in relation 1-1 if the entry already has a relation it cannot be selected (unless it is in the current entry "not yet recorded")

it can be created (+) ...


Gilles
"Hello and thank you" are the magic words in my world....
Screenshot_20201118_063927_com.luckydroid.droidbase.jpg

Beth Dixon

unread,
Nov 18, 2020, 10:37:29 AM11/18/20
to Fab Trillaud, mementodatabase
Hi Fab, unfortunately, I don't understand what your libraries are and how you wish to use them, thus I am unable to help you further.  I, myself, have multiple libraries using the link to entry field and I don't have a problem with setting up any of my libraries as needed.  One to many, and many to many.  The Memento links work as they should for me.

Hopefully someone else on the forum can assist you.

Beth


On Wed., Nov. 18, 2020, 1:51 a.m. Fab Trillaud, <fab.tr...@gmail.com> wrote:
Hello,
Thank you for your time and your example, but the problem is not having multiple item types. 
Simply see the wiki example, with orders and products. Once you created an order with some products, you can't add more, but you still can link the products in the order to other orders. That's not how a one-to-many link from orders to products is supposed to work. 

Le mer. 18 nov. 2020 à 00:20, Beth Dixon <beth.ea...@gmail.com> a écrit :

Fab Trillaud

unread,
Nov 18, 2020, 10:41:16 AM11/18/20
to Beth Dixon, mementodatabase
Thank you for your response. 

Gilles Mons

unread,
Nov 18, 2020, 10:50:06 AM11/18/20
to Fab Trillaud, Beth Dixon, mementodatabase
Bonjour,

C'est bon ? 
Vous avez résolu votre problème ?

Hello,
Its good ?
Have you solved your problem?

Gilles
"Hello and thank you" are the magic words in my world....

Bill Crews

unread,
Nov 18, 2020, 10:55:46 AM11/18/20
to Beth Dixon, Fab Trillaud, mementodatabase
This thread is so long, I can't take the time to read them all, so I'm just posting for the original message. I hope I don't repeat something said earlier.

In Items, you need only a 1-m link to identify the order it's on. You would create a new order in any of several places, normally Customers but it could be Store. Again, if you add it in Order, you're OK, as order has its own items, so you're back to the first example. If you create the new order in some place like Customers or Store, that can be a problem, yes, because you'll likely create the order as a m-m link from Customers. Now you're using links in 2 different ways in the same database -- not advised. If you point items to orders and orders to customers, you need only 1-m links. If you create your orders in Customers and your items in Orders, you'll use m-m links, and you're all right.

Is the problem that you're using 2 different systems in the same database.

Also, where in what documentation is there language that suggests counter to this? The developer is a friend of mine, and I wrote the original wiki, so I'd like to see to it that it is corrected, if this is true.

Fab Trillaud

unread,
Nov 18, 2020, 11:31:46 AM11/18/20
to mementodatabase
Hello,

Thanks for your response. Actually the problem is not using 2 different systems in the same database.

The fact is I'm totally fine with what is written is the wiki, especially this page which served as a reference in this discussion : https://wiki.mementodatabase.com/index.php/How:Slice_%26_Dice_Library_Data But it seems to me that MementoDB is not actually working as described here.

The best example might the museum shelves. I'd like to store information about items placed on shelves in a museum. So I've got a Shelves library, and an Items library.
I want to place any number of items on one shelf, and obviously each item can only be put on a single shelf.
So it seems that what I need is a 1-n relation in Shelves, linking to Items entries.
But by doing that, once I save a shelf record with one item on it, I can't add items anymore. But even is a item is placed on a shelf, I still can link it to other shelves. The only way I managed to make it work is by placing to 1-n Link to Entry field in the Items library, which seems quite illogical. What is bothering me even more, is that while creating a Shelves entry, I can choose any number of Items, but I can't add some more when editing the Shelf afterwards. So there is virtually no restriction whatsoever, even if one side of the link should be limited to one entry.

If needed, I may record a video explanation of what is bothering me, it might not be easy to understand with words (and my english is not that good ^^;).

Beth Dixon

unread,
Nov 18, 2020, 12:11:40 PM11/18/20
to Fab Trillaud, mementodatabase
Ahh, I believe I understand now!

First can you advise if there is more than one museum?

Once you answer this question I may be able to come up with a template for you.

And, yes please, just for clarification a video would be great.

Beth



--
You received this message because you are subscribed to the Google Groups "mementodatabase" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mementodataba...@googlegroups.com.

Gilles Mons

unread,
Nov 18, 2020, 12:19:03 PM11/18/20
to Beth Dixon, Fab Trillaud, mementodatabase
Fab, 

C'est bon ce que vous aviez fait.....

Voir les bases partagées, dans mon  message précédent...

Gilles
"Hello and thank you" are the magic words in my world....

Gilles Mons

unread,
Nov 18, 2020, 12:21:39 PM11/18/20
to Beth Dixon, Fab Trillaud, mementodatabase
Il  faut juste paramètrer les identifiants uniques...

Voir photo pièce jointe....


Gilles
"Hello and thank you" are the magic words in my world....
Screenshot_20201118_182106_com.luckydroid.droidbase.jpg

Bill Crews

unread,
Nov 18, 2020, 12:50:01 PM11/18/20
to Fab Trillaud, mementodatabase


On Wed, Nov 18, 2020, 11:31 AM Fab Trillaud <fab.tr...@gmail.com> wrote:
Hello,

Thanks for your response. Actually the problem is not using 2 different systems in the same database.

The fact is I'm totally fine with what is written is the wiki, especially this page which served as a reference in this discussion : https://wiki.mementodatabase.com/index.php/How:Slice_%26_Dice_Library_Data But it seems to me that MementoDB is not actually working as described here.

The best example might the museum shelves. I'd like to store information about items placed on shelves in a museum. So I've got a Shelves library, and an Items library.
I want to place any number of items on one shelf, and obviously each item can only be put on a single shelf.
So it seems that what I need is a 1-n relation in Shelves, linking to Items entries.

No. If you don't allow for more than 1 item on a shelf, it won't let you, and that's per documentation. Re-read my previous email. If the link is in Items, then yes,  1-n will do, cuz as you say, there can be only one shelf for an item. But in Shelves, if you want to allow for many items on a shelf, you need a n-n link.

But by doing that, once I save a shelf record with one item on it, I can't add items anymore. But even is a item is placed on a shelf, I still can link it to other shelves. The only way I managed to make it work is by placing to 1-n Link to Entry field in the Items library, which seems quite illogical.

Just tell me what's illogical about it. 1 shelf, make items. One to many.

Fab Trillaud

unread,
Nov 18, 2020, 1:27:43 PM11/18/20
to mementodatabase
Well the way I understand it, if you want to link 1 shelf to N items, the 1-n link should be placed on the Shelves library. Actually that's how the doc describes it here : https://wiki.mementodatabase.com/index.php/How:Slice_%26_Dice_Library_Data.
One order for N products, "one-to-many Link To Entry field to library Customers" in the Orders library. But you say otherwise, and MementoDB seems actually to work the way you just described.
Maybe the documentation should be more precise when talking about 1-n links, which part is meant for the local library, and which part is for the external. Or maybe just allow for n-1 links as well.

Thank you for your time anyway :)

Beth Dixon

unread,
Nov 18, 2020, 1:43:43 PM11/18/20
to Bill Crews, Fab Trillaud, mementodatabase
Hi Fab, I think what you are saying is this...
You have shelf A.  On that shelf is a cup of coffee (the finished product).    You want to create the cup of coffee by adding items to it.  Item 1 - the cup, item 2 - the coffee, item 3 - the sugar etc.  This is referred to as the work in progress in the manufacturing industry.

Now on this same shelf is also a cup of tea (finished product).  It contains as components Item 1 - the cup, item 4 - the tea bag.

So, now on shelf A you have a cup of coffee and a cup of tea.

See, now to me that is simply a different library set up.  A work in progress library which can be linked appropriately to the Shelf library and the Items library.

Hope this helps, I am out of ideas,

Beth

--
You received this message because you are subscribed to the Google Groups "mementodatabase" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mementodataba...@googlegroups.com.

Bill Crews

unread,
Nov 18, 2020, 2:39:01 PM11/18/20
to Fab Trillaud, mementodatabase
Did you notice in that wiki page, that the 1-n link is in Orders with link to Customers? From the child to the parent, like in your case, from Items to Orders?

which part is meant for the local library, and which part is for the external.

That exactly it; the way to look at it isn't local & remote, it's child & parent, with the power available when the child's entries are being displayed.

The page I wrote is correct. Always think from the perspective of the library the link will be in. In that wiki page, the implementation is from the bottom up. Line Items has a link called Order to Orders, and Orders has a link called Customer to Customers. It all makes sense.

Now, if the implementation is from the top down ... Well, first of all, in my 50-year IT career, I never implemented a solution that way, and the modeling tools (the ones I knew of & used, like ADW) didn't work that way then, so I can be the guru in that case. I think Gilles like to implement from the top down, so maybe he could be the guru of that.

To me, the power of Memento is in the entries list screen, where all the slicing & dicing takes place, as opposed to being in the linked entries list within the many-to-many link field in the parent library. There's no Sort, Group, Filter, Chart, or Aggregation there -- only in the entries list screen. So for me, it's not only in the abstract, modeling arena, but also in the implementation tool arena that bottom up wins. But that's just me. To each, her own.

I had to shift my perspective about 40 years ago, just as I'm hoping you are doing now, and I've always thought we should be saying many-to-one instead of one-to-many, but that's the way the relational modeling tools have always worked.

I hope you understand that I'm not just trying to win the argument. I've had this discussion with dozens of people over dozens of years, and I'm just trying to help you get over the same hurdle I got over back then.

Gilles Mons

unread,
Nov 18, 2020, 2:50:02 PM11/18/20
to Bill Crews, Fab Trillaud, mementodatabase
Pour faire simple moi je dirais :

(dans la traduction en français de MDB)

n-m  plusieurs de plusieurs

1- n  un de plusieurs

1-1  un de un
.......

To put it simply, I would say:
in the French translation of MDB)

n-m many of many
1-n one of many
1-1 one of one .......


Gilles
"Hello and thank you" are the magic words in my world....
--
You received this message because you are subscribed to the Google Groups "mementodatabase" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mementodataba...@googlegroups.com.

Bill Crews

unread,
Nov 18, 2020, 2:58:58 PM11/18/20
to Fab Trillaud, mementodatabase
That was such a long message, and I neglected to add that I will work with Beth to clarify the slicing & dicing wiki page, among others. She is great about making things clear to everyone, not only to gearheads, but to newbies, too. I'm afraid I'm more attuned to the gearheads.

Luis salvatierra

unread,
Nov 18, 2020, 4:18:02 PM11/18/20
to Bill Crews, Fab Trillaud, mementodatabase
Muchas gracias. He resuelto el problema

--
You received this message because you are subscribed to the Google Groups "mementodatabase" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mementodataba...@googlegroups.com.

Beth Dixon

unread,
Nov 18, 2020, 4:29:09 PM11/18/20
to Luis salvatierra, Bill Crews, Fab Trillaud, mementodatabase
Would greatly appreciate it if you tell us, lol, how you resolved.  Your solution may be represented in the wiki so it may be of help to others.  We are always looking for solutions to problems.

No worries if too much trouble or you do not wish to share.

All the best, 😁

Beth

Reply all
Reply to author
Forward
0 new messages