08-18 Document DBデータモデリング
4778 ワード
1.MongoDBデータモデリング
データモデリング
モデリングプロセス
コンセプトモデリング→論理モデリング→物理モデリング
分析/設計フェーズ
2.MongoDB設計の主な特徴
データとプロセス設計の中心
Rich Document Structure
設計可能N:M関係構造
不要なJOINを最小化
Schemaなし
リレーショナル・データベースに比べて書き込み/読み取りが高速
柔軟なサーバ構造を提供
3.MongoDB設計標準
データの操作方法
ACCESS PATTERNはどうですか?
SCHEMA設計の注意事項は?
4.MongoDB設計メインモード
埋め込みDocument構造
Extent Document構造
リンク構造
継承構造
階層型データ構造
リレーショナルDBMS
Embeded Document(Rich Document)
Extent Document(Rich Document)
Rich Document構造の長所と短所
Manual Link
リンク構造の長所と短所
Inheritence (OODBMS)
Single Table Inheritence (RDBMS)
Single Table Inheritence (MongoDB)
階層型データ構造
Self Reference Join (RDBMS)
Ancestor Reference (MongoDB)
Vallidator
db.createCollection("emp", { validator : { $and : [{ empno : {$type :"string"}},
{ deptno : {$in : [10,20,30]}}]}})
db.emp.insert({empno : "1111", ename : "JMJOO", deptno : 10})
db.emp.insert({empno : "1112", ename : "JMJOO", deptno : 20})
db.emp.insert({empno : "1113", ename : "JMJOO", deptno : 30})
db.emp.insert({empno : "1114", ename : "JMJOO", deptno : 40})
ddb.createCollection("emp", { validator : { $and : [{ empno : {$type :"double"}},
{ ename : {$type :"string"}},
{ job : {$type :"string"}},
{ sal : {$type :"double"}},
{ hiredate : {$type : "date"}},
{ deptno : {$type : "double"}},
{ deptno : {$in : [10,20,30]}}]}})
db.emp.insert({empno : 1111, ename : "JMJOO", job : "MANAGER",
sal : 1200, hiredate : ISODate(), deptno : 10 })
db.emp.insert({empno : 2222, ename : "JMJ", job : "MANAGER",
sal : 1200, hiredate : ISODate(), deptno : 40 })
Reference
この問題について(08-18 Document DBデータモデリング), 我々は、より多くの情報をここで見つけました https://velog.io/@ruinak_4127/08-18-Document-DB-데이터-모델링テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol