How to use a joiner table concept?

My situation is that I need to reference a person for different positions.  So I would like to have 4 tables.

  • Contributors
    • Name
  • Arrangers
    • PieceId
    • ContributorId
  • Composers
    • PieceId
    • ContributorId
  • Pieces
    • Title

In this scenario a single piece will have a composer and possibly multiple arrangers.  So within a particular piece I'd like to be able to select a composer from the list of contributors and select multiple arrangers from the list of contributors.

Am I thinking this structure correctly?

How would I implement a dropdown that allows multiselect?


Thank you in advance!

Hi Mark Lalich,

It seems to be correct, but if not, this course can help you understand better Modeling Data Relationships

I hope it's useful

Or show your diagram for better analysis.

Best reguards.

Hello @Mark Lalich,

In Traditional web apps, to create a dropdown that allows multiple select options, check out the following article:

https://success.outsystems.com/Documentation/11/Developing_an_Application/Design_UI/Patterns/Using_Traditional_Web_Patterns/Controls/Dropdown_Select

  • If you bind it to a Combo Box widget, the Dropdown Select works as a selectable dropdown.
  • If you bind it to a List Box, the Dropdown Select works as a multi-select dropdown with removable tags.

Alternatively you have a choice of forge components such as:

https://www.outsystems.com/forge/component-overview/3686/multipleselection

https://www.outsystems.com/forge/component-overview/2206/multiple-options-selector


For Mobile or Reactive web apps, you could simply use the 'Dropdown Tags' widget as documented in this article - https://success.outsystems.com/Documentation/11/Developing_an_Application/Design_UI/Patterns/Using_Mobile_and_Reactive_Patterns/Interaction/Dropdown_Tags

Hope this helps,

AJ

mvp_badge
MVP

Hi Mark,

For multiselect you can use AJ's suggestion but regarding your data model, there is one correction.

  • Contributors
    • Name
  • Arrangers
    • PieceId
    • ContributorId
  • Composers
    • PieceId
    • ContributorId
  • Pieces
    • Title
    • ContributorId

As you mentioned that for a piece there can be only one composer so there is no need to have separate entity for that you can simply store composer in the piece entity itself as an attribute.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.