Database
CloudKit

CloudKitの用語を別のものに置き換えてみた。

イメージがつかみにくかったので、別のものに置き換えて考えてみました。
意外と自分的にはしっくりきます。

コンテナ(CKContainer)

→ アプリケーションごとのフォルダ

データベース(CKDatabase)

→ 目的別に3つ存在するデータベースファイル、それぞれ対応するテーブルの種類が変わる。

ゾーン(CKRecordZone)

→ データベースでいうテーブル

レコード(CKRecord)

→ データベースでいうレコード

階層構造で考える。

  • アプリケーションコンテナ

    • パブリックデータベース
      • defaultZone
        • record1
        • record2
    • シェアードデータベース
      • sharedZone1
        • record1
        • record2
      • sharedZone2
      • ...
    • プライベートデータベース
      • defaultZone
        • record1
        • record2
      • customZone1
      • customZone2

Excelでイメージする

パブリックデータベースは、一つのエクセルファイル(recordZone)に利用ユーザー全員のレコードをぶっこんで行くイメージ。

プライベートデータベースは、1つのエクセルファイルにぶっこむことも出来るし、役割ごとに分けてエクセルファイルを保存することもできる。