Collection Schema কনফিগারেশন ArangoDB-তে ডেটা ভ্যালিডেশনের জন্য ব্যবহৃত হয়। এটি নিশ্চিত করে যে কোনো ডকুমেন্ট বা ডেটা কালেকশনে যোগ করার আগে নির্ধারিত নিয়ম বা স্কিমা মেনে চলছে। স্কিমা কনফিগারেশন আপনাকে ডেটার গুণগত মান ধরে রাখতে এবং ভুল ডেটা এন্ট্রি প্রতিরোধ করতে সাহায্য করে।
স্কিমা কনফিগারেশনের মূল ধারণা
ArangoDB-তে JSON Schema ব্যবহার করে স্কিমা কনফিগার করা হয়। এর মাধ্যমে আপনি ডেটার টাইপ, কাঠামো, এবং অন্যান্য ভ্যালিডেশন নিয়ম নির্ধারণ করতে পারেন।
- Schema Rule: ডেটার কাঠামো সংজ্ঞায়িত করে।
- Validation Level: ডেটার ভ্যালিডেশন কতটা কঠোর হবে তা নির্ধারণ করে।
স্কিমা কনফিগারেশনের উপাদানসমূহ
১. Rule
Rule নির্ধারণ করে ডকুমেন্টের কাঠামো এবং ডেটা টাইপ। উদাহরণস্বরূপ:
type: ডেটার ধরন (যেমন string, number)।properties: ডকুমেন্টের ফিল্ড এবং তাদের প্রয়োজনীয়তা।required: কোন ফিল্ডগুলো বাধ্যতামূলক।
২. Level
Level ডেটার ভ্যালিডেশনের কঠোরতা নির্ধারণ করে:
- none: কোনো ভ্যালিডেশন হবে না।
- new: কেবল নতুন ডকুমেন্টের জন্য ভ্যালিডেশন হবে।
- strict: নতুন এবং আপডেট করা ডকুমেন্ট উভয়ের জন্য ভ্যালিডেশন প্রযোজ্য।
৩. Message
কাস্টম ভ্যালিডেশন ত্রুটি বার্তা যোগ করতে ব্যবহৃত হয়।
স্কিমা কনফিগার করার উদাহরণ
নিচের উদাহরণে একটি কালেকশন তৈরি করা হয়েছে যেখানে ডকুমেন্টের name ফিল্ড একটি স্ট্রিং হতে হবে এবং age একটি নম্বর হতে হবে।
db._create("MyCollection", {
schema: {
rule: {
type: "object",
properties: {
name: { type: "string" },
age: { type: "number" },
},
required: ["name", "age"],
additionalProperties: false, // অপ্রত্যাশিত ফিল্ড নিষিদ্ধ।
},
level: "strict", // নতুন এবং আপডেট ডেটার জন্য কঠোর ভ্যালিডেশন।
message: "Invalid data format!", // ত্রুটি বার্তা।
},
});
স্কিমা আপডেট করার পদ্ধতি
ইতোমধ্যে তৈরি করা কালেকশনের স্কিমা আপডেট করতে:
db._collection("MyCollection").properties({
schema: {
rule: {
type: "object",
properties: {
title: { type: "string" },
description: { type: "string" },
},
required: ["title"],
additionalProperties: true,
},
level: "new",
},
});
স্কিমা ভ্যালিডেশনের উদাহরণ
সঠিক ডকুমেন্ট:
db.MyCollection.save({ name: "John", age: 30 });
ভুল ডকুমেন্ট (ত্রুটি বার্তা পাবেন):
db.MyCollection.save({ name: 123, age: "thirty" });
সারাংশ
ArangoDB-এর Collection Schema ডেটা মডেলিং এবং ভ্যালিডেশন আরও নির্ভুল ও নিরাপদ করে। এটি ডকুমেন্টের কাঠামো, টাইপ, এবং প্রয়োজনীয় ফিল্ড নির্ধারণ করতে সাহায্য করে। কঠোর ভ্যালিডেশন দিয়ে আপনি ডেটার মান নিয়ন্ত্রণ করতে পারেন এবং ভুল ডেটা সংরক্ষণ প্রতিরোধ করতে পারেন।