0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS学習メモ #03】スキーマとは何か?Railsのマイグレーションとの関係

Posted at

こんにちは。miyoshiです。

AWSクラウドプラクティショナー試験の学習メモです。
今回は、「スキーマ(Schema)」とは何か? を整理します。
特にRailsのマイグレーションとの関係をイメージしながら理解します。

✅ スキーマとは?

● 一言でいうと

「データベースの設計図」 です。

  • どんなテーブルがあるか
  • テーブルにどんなカラム(列)があるか
  • カラムのデータ型(文字列・数値・日付など)
  • テーブル同士の関係(外部キーなど)

つまり、データベースの構造を決めるルールのことです。

✅ Railsとの関係(schema.rbとの比較)

Railsでは、マイグレーションを実行するたびにdb/schema.rbが更新されます。

項目 DBのスキーマ Railsのschema.rb
役割 DB構造の定義そのもの マイグレーション結果を反映した設計図ファイル
更新方法 CREATE TABLEなどSQLで直接変更 rails generate migrationrails db:migrate
実態 DB内部に保持される ソースコード上のファイル(設計図のコピー)

✅ イメージ図

マイグレーションファイル(変更指示書)
↓ rails db:migrate
DB内部のスキーマ(本物の設計図)
↓
schema.rb(設計図のコピー)

つまり、スキーマ = DBの設計図であり、Railsではschema.rbがその写しというイメージです。


✅ AWSの文脈でのスキーマ

AWSでも、スキーマの概念は同じです。

  • RDS(リレーショナルDB)
    → しっかりスキーマを定義してからデータを保存(スキーマ・オン・ライト
  • Redshift(DWH)
    → 分析用にテーブル構造(スキーマ)を設計する必要あり
  • S3(データレイク)
    → 保存時にはスキーマ不要(スキーマ・オン・リード、読み出すときに定義)

✅ スキーマの種類

  1. 物理スキーマ:実際にどのようにデータが保存されるか(物理的な構造)
  2. 論理スキーマ:テーブルやカラム、リレーションなどアプリから見える構造

AWSの試験では、基本的に「論理スキーマ(テーブル構造)」の意味で使われます。

✅ たとえ話で整理

  • スキーマ = ビルの設計図
  • テーブル = 各部屋
  • カラム = 部屋の家具や設備
  • マイグレーション(Rails) = 設計変更の申請書
  • schema.rb = 設計図の最新版コピー

✅ 結論

  • スキーマはDBの設計図そのもの
  • RDSやRedshiftは保存前にスキーマをしっかり決める必要がある
  • S3はスキーマを気にせず何でも保存できる(ただし分析時に必要になる)

✍️ 次回予告

次回は 「OLTPとOLAPの違い」 です。


✅ あわせて読みたい


💬 コメント・フィードバック歓迎

AWS学習メモとして、初学者の方の理解に役立つように書いています。
「ここもっと詳しく!」などあればぜひ教えてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?