สคีมาของฐานข้อมูลเชิงสัมพันธ์แตกต่างจากสคีมาของฐานข้อมูลเอกสารเล็กน้อย กล่าวง่ายๆ ก็คือ ฐานข้อมูลเชิงสัมพันธ์มีความเข้มงวดมากกว่าฐานข้อมูลสคีมาเอกสาร กล่าวอีกนัยหนึ่ง เรกคอร์ดในตาราง RDBMS จะต้องเป็นไปตามสคีมาอย่างเคร่งครัด เนื่องจากเรามีความยืดหยุ่นในระดับหนึ่งในขณะที่จัดเก็บเอกสารลงในคอลเลกชันเอกสาร
ตามอัตภาพ คอลเลกชันคือชุดของเอกสารที่เป็นไปตามสคีมาเดียวกัน แต่ฐานข้อมูลเอกสารไม่ได้หยุดการจัดเก็บเอกสารที่มีสคีมาต่างกันในคอลเลกชันเดียว มันเป็นความยืดหยุ่นที่มอบให้กับผู้ใช้
ให้เรายกตัวอย่าง สมมติว่าเรากำลังจัดเก็บข้อมูลลูกค้าบางส่วน ใน Relational DB เราอาจมีโครงสร้างบางอย่างเช่น
Customer ID INT
Name VARCHAR(50)
Phone VARCHAR(15)
Email VARCHAR(255)
ขึ้นอยู่กับลูกค้าที่มีอีเมลหรือหมายเลขโทรศัพท์ พวกเขาจะถูกบันทึกเป็นค่าที่เหมาะสมหรือค่าว่าง
ID, Name, Phone, Email
1, John, 83453452, -
2, Victor, -, -
3, Smith, 34535345, smith@jjjj
อย่างไรก็ตาม ในฐานข้อมูลเอกสาร บางคอลัมน์จำเป็นต้องปรากฏในคอลเลกชัน หากไม่มีค่าใดๆ
[
{
id: "123",
name: "John",
phone:"2572525",
},
{
id: "456",
name: "Stephen",
},
{
id: "789",
name: "King",
phone:"2572525",
email:"king@asfaf"
}
]
อย่างไรก็ตาม ขอแนะนำเสมอให้ยึดตามสคีมาใน document db แม้ว่าจะให้ความยืดหยุ่นในการจัดเก็บเอกสารที่ไม่มีสคีมาในคอลเลกชันเพื่อวัตถุประสงค์ในการบำรุงรักษาก็ตาม
person
Ravi Chandra
schedule
29.05.2017