Строки с MOV#
в качестве PK и ACT#
устанавливают sh отношение, в котором актер находился в определенном mov ie, и могут содержать атрибуты об определенных c отношениях этого актера с mov ie (т.е. имя персонажа, заголовок mov ie, et c).
Строки с ACT#
в качестве PK будут содержать информацию об актере, не связанную с фильмами (например, Дата рождения, Био и т. Д. c)
В вашем вопросе следует отметить одну вещь: вы не можете запросить PK с «начинается с», и поэтому GSI (Global Secondary Index) добавляется в столбец SK, чтобы вы могли запросить это напрямую, не зная, что такое столбец PK. PK GSI - это столбец SK, поэтому вы можете запросить его напрямую.
Итак, чтобы исправить некоторые вещи в вашем вопросе, если вы хотите получить детали mov ie, вы бы запросили обычный PK с помощью:
PK = MOV#movieId AND SK = MOV#movieId
Если вам нужны подробности об актере, мы можем запросить:
GSI PK = ACT#actorId
И это вернет строку актера (PK = ACT # actorID) с информацией об актере, а также со всеми строками, где PK = MOV #, где актором является SK.
Я не уверен, что это ответ на вопрос, но, надеюсь, проливает некоторый свет на то, как конструкции отдельных столов работают немного лучше.