преобразовать базу данных MySQL в модель DynamodB - PullRequest
0 голосов
/ 24 октября 2019

Я новичок в DynamoDb, и я пытаюсь освоить его, но я не понимаю, как хранить «основные» данные таблицы в одной таблице DynamoDB.

Например, возьмите этоБаза данных фильма.

category table(refer this as a master table)
+----+----------+
| id | category |  
+----+----------+
| 1  | thriller | 
+----+----------+
| 2  | horror   | 
+----+----------+
| 3  | romantic |
+----+----------+

movie table (category_id is FK)
+----+-----------+-------------+
| id | name      | category_id |  
+----+-----------+-------------+
| 1  | gone girl | 1           | 
+----+-----------+-------------+
| 2  | get out   | 1           |
+----+-----------+-------------+
| 3  | seven     | 1           |
+----+-----------+-------------+
| 4  | us        | 2           | 
+----+-----------+-------------+
| 5  | it        | 2           |
+----+-----------+-------------+

, как смоделировать это в DynamoDB и какой будет запрос, если я хочу получить все возможные категории. Представьте, что в таблице фильмов есть еще несколько Fk.

1 Ответ

0 голосов
/ 24 октября 2019

DynamoDB - это база данных NoSQL, и используемая модель данных отличается от традиционной RDMS. RDMS позволяет вам определять отношения между таблицами, но DynamoDB ожидает, что вы будете управлять отношениями, либо объединяя данные в одной таблице, либо управлять отношениями в коде приложения. Вы можете выбрать

  1. Добавить поле категории в таблицу фильмов
  2. Держите две таблицы раздельными и измените код приложения, чтобы в результатах отображался тип строки фильма вместо идентификатора
  3. Рассмотрите возможность использования RDBM, если вы управляете связанными данными и хотели бы использовать JOINS
...