続・GraphQLについて スキーマ編

>100 Views

January 18, 24

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

1/7 続・GraphQLについて スキーマ編

2.

2/7 今回作るデータのテーブル構造 1人のユーザーが1つのプロフィールをもつ。 ユーザーは自由にPostの投稿、Postへのコメントができる

3.

3/7 スキーマをごく単純に定義 スキーマをテーブルの通りに定義すると・・・ テーブル定義をそのままスキーマに落とし込むことは アンチパターンとされている

4.

4/7 スキーマ定義のアンチパターン ・スキーマ定義を見てテーブル構造が理解できてしまう ・扱うデータの型付けに乏しい ・各スキーマの間の結びつきに乏しい ・クエリによる必要/不必要な情報の取捨選択ができない、 またはできすぎてしまう

5.

5/7 スキーマ定義の改善案① ①. idをID型に変更し、固有の数値であることを示す。また、Non-nullにする ②. profileをUserの中に含める ③. enum型を用意し、格納されるデータを固定する

6.

6/7 スキーマ定義の改善案② ①. idをID型に変更し、固有の数値であることを示す ②. profileにcommentを含める。 ③. commentからuserを取得できるようにする ④. Non-nullを増やし、データの型を固める

7.

7/7 スキーマ定義を工夫すると・・・ ・テーブル構造が見えなくなる ・データの型付けによるデータ安全性の強化 ・柔軟な情報のやり取りが可能に ・中間テーブルのスキーマ定義が必要なくなる