ডাটাবেস সিকিউরিটি
ডাটাবেস সিকিউরিটির মূল দিকগুলো:
Authentication (প্রমাণীকরণ)
ইউজার যিনি বলে ডাটাবেস অ্যাক্সেস করছেন, তিনি সত্যিই সে ব্যক্তি কিনা তা নিশ্চিত করা। এটি অপারেটিং সিস্টেম লেভেলে বা ডাটাবেস লেভেলে হয়তে পারে। রেটিনা স্ক্যানার, বায়োমেট্রিক্স ইত্যাদি ব্যবহার হয়।
Authorization (অনুমোদন)
ডাটাবেস অ্যাডমিনিস্ট্রেটর দিয়ে দেওয়া সুবিধা। ইউজার শুধু অনুমোদিত কনটেন্ট দেখতে পায়।
অনুমোদনের ধরন:
- Primary Permission: পাবলিকলি ও সরাসরি ইউজারকে দেওয়া।
- Secondary Permission: গ্রুপকে দেওয়া, গ্রুপের মেম্বার হলে অটোমেটিক পাওয়া যায়।
- Public Permission: সব ইউজারকে পাবলিকলি দেওয়া।
- Context Sensitive Permission: সংবেদনশীল কনটেন্টের জন্য নির্বাচিত ইউজারকে দেওয়া।
অথরাইজেশন ক্যাটাগরি:
- System Administrator: সর্বোচ্চ অ্যাডমিনिस्ट্রেটিভ অথরাইজেশন। ডাটাবেস রিস্টোর/আপগ্রেড করতে পারে।
- System Control: সর্বোচ্চ কন্ট্রোল অথরাইজেশন। মেইনটেনেন্স অপারেশন করতে পারে, ডেটা সরাসরি অ্যাক্সেস করতে পারে না।
- System Maintenance: সিস্টেম কন্ট্রোলের নিচের লেভেল। ডাটাবেস মেইনটেইন করতে পারে।
- System Monitor: ডাটাবেস মনিটর করা ও স্ন্যাপশট নেওয়ার অনুমতি।
ডাটাবেস ইন্টিগ্রিটি
ডেটার সঠিকতা, কনসিস্টেন্সি ও পূর্ণতা। তিনটি ইন্টিগ্রিটি কনস্ট্রেইন্ট দ্বারা এনফোর্স করা হয়:
- Entity Integrity: প্রাইমারি কি কনসেপ্ট। প্রতিটি টেবিলের নিজস্ব প্রাইমারি কি থাকতে হবে যা ইউনিকلی সারি চিহ্নিত করে এবং NULL হতে পারে না।
- Referential Integrity: ফরেন কি কনসেপ্ট। একটি রিলেশনর কি অন্য রিলেশনে রেফারেন্স করা হয়।
- Domain Integrity: ডাটাবেসের সব কলামের জন্য ডিফাইনড ডোমেইন থাকতে হবে।