データベースにおけるSchema概念の理解

1442 ワード

SQLを学ぶ過程で、あなたを混乱させるSchemaの概念に出会うことができます.実際、schemaはデータベース・オブジェクトの集合であり、テーブル、ビュー、ストレージ・プロシージャ、インデックスなど、さまざまなオブジェクトが含まれています.異なるコレクションを区別するには、異なるコレクションに異なる名前を付ける必要があります.デフォルトでは、ユーザーのschema名はユーザー名に等しく、そのユーザーのデフォルトschemaとして使用されます.だからschemaセットはユーザー名のように見えます.
databaseを倉庫と見なすと、倉庫には多くの部屋(schema)、1つのschemaが1つの部屋を表し、tableは各部屋のロッカーと見なすことができ、userは各schemaの主人であり、データベース内の各部屋を操作する権利があり、つまり各データベースにマッピングされたuserには各schema(部屋)の鍵がある.
テーブルにアクセスすると、テーブルがどのschemaに属しているかが指定されず、テーブルにデフォルトのsheman名が自動的に追加されます.データベース内のオブジェクトの完全な名前はschemaです.object、user.ではありませんobject.
mongoseでは、まずSchemaを定義する必要があります.mongoseの定義はこのように書かれています.
Everything in Mongoose starts with a Schema. Each schema maps to a MongoDB collection and defines the shape of the documents within that collection.
  var mongoose = require('mongoose');
  var Schema = mongoose.Schema;

  var blogSchema = new Schema({
    title:  String,
    author: String,
    body:   String,
    comments: [{ body: String, date: Date }],
    date: { type: Date, default: Date.now },
    hidden: Boolean,
    meta: {
      votes: Number,
      favs:  Number
    }
  });

If you want to add additional keys later, use the Schema#add method.
The permitted SchemaTypes are:
  • String
  • Number
  • Date
  • Buffer
  • Boolean
  • Mixed
  • ObjectId
  • Array
  • Decimal128
  • Map