আপনি যখন বলেন "সমস্ত ডাটাবেস এটি সমর্থন করে না", আমি মনে করি এটি রাখার আরও ভাল উপায় নিম্নলিখিতটি:
প্রতিটি বড় ডাটাবেস এটি সমর্থন করে, কারণ তারা ট্রিগার, ফাংশন এবং অন্যান্য উন্নত বৈশিষ্ট্যগুলি ব্যাপকভাবে সমর্থন করে।
এটি আমাদের এই সিদ্ধান্তে পৌঁছেছে যে এটি উন্নত এসকিউএল এর একটি অংশ এবং কিছু সময়ে এটি উপলব্ধি করে।
Do people actually use domains in their database designs?
প্রয়োজনীয় কম বিস্তৃত কভারেজের কারণে যত কম সম্ভব (অপারেটর, সূচক ইত্যাদি বিবেচনা করে)
If so to what extent?
আবার, যতটা সীমাবদ্ধ হতে পারে, যদি কিছু অতিরিক্ত সংজ্ঞায়িত যুক্তি (অর্থাত্ চেক ইত্যাদি) এর সাথে মিলিত কোনও বিদ্যমান ধরণটি কৌশলটি করতে পারে তবে কেন এতদূর যেতে হবে?
How useful are they?
পুরোটা অনেক। আসুন এক সেকেন্ডের জন্য মাইএসকিউএলের মতো একটি অতুলনীয় খুব ভাল ডিবিএমএস বিবেচনা করুন, যা আমি এই কারণে এই কারণে বেছে নিয়েছি: এতে ইনট (আইপি অ্যাড্রেস) ধরণের ভাল সমর্থন নেই।
এখন আপনি এমন একটি অ্যাপ্লিকেশন লিখতে চান যা বেশিরভাগ আইপি ডেটা যেমন রেঞ্জ এবং সমস্ত কিছুর উপর নিবদ্ধ থাকে এবং আপনি ডিফল্ট টাইপ এবং এর সীমিত কার্যকারিতা নিয়ে আটকে থাকেন, আপনি হয় অতিরিক্ত ফাংশন এবং অপারেটরগুলি লিখবেন (পোস্টগ্রিএসকিউএলএর জন্য স্থানীয়ভাবে সমর্থিতদের মতো) উদাহরণস্বরূপ) বা আপনার প্রয়োজনীয় প্রতিটি কার্যকারিতার জন্য আরও জটিল প্রশ্ন লিখুন।
এটি এমন একটি ক্ষেত্রে যেখানে আপনি সহজেই আপনার নিজের কার্যকারিতা সংজ্ঞায়িত করতে ব্যয় করা সময়কে ন্যায়সঙ্গত করে তুলবেন (ইনট >> পোস্টগ্রিসকিউএসএল ইনট: রেঞ্জ অপারেটরে থাকা পরিসর)।
এই মুহুর্তে, আপনি ইতিমধ্যে ডেটাটাইপ সমর্থন প্রসারিত সমর্থন করেছেন, একটি নতুন ডেটাটাইপ সংজ্ঞায়নের জন্য আরও একটি পদক্ষেপ রয়েছে।
এখন পোস্টগ্রাইএসকিউএল ফিরে আসুন যার সত্যিকারের দুর্দান্ত টাইপ সমর্থন রয়েছে তবে স্বাক্ষরবিহীন কোন তথ্য নেই .. যা আপনার প্রয়োজন, কারণ আপনি স্টোরেজ / পারফরম্যান্স সম্পর্কে সত্যই উদ্বিগ্ন (কে জানে ...), পাশাপাশি আপনাকে এটি যুক্ত করতে হবে অপারেটর - যদিও অবশ্যই এটি বেশিরভাগ বিদ্যমান ইন অপারেটরগুলি গ্রহণ করে।
What pitfalls have you encountered?
আমি এখনও এটিকে নিয়ে খেলছি না আমার এতক্ষণে কোনও প্রকল্প হয়নি যা এই জন্য প্রয়োজনীয় সময় প্রয়োজন এবং ন্যায্য উভয়ই।
আমি যে সবচেয়ে বড় সমস্যাটি দেখতে পাচ্ছি তা হুইলটিকে পুনরায় উদ্বেগিত করা হবে, "নিরাপদ" স্তর (ডিবি) এর মধ্যে বাগগুলি প্রবর্তন করা হবে, অসম্পূর্ণ প্রকারের সমর্থন যা আপনি কেবল কয়েক মাস পরে উপলব্ধি করতে পারবেন যখন আপনার কনক্যাট (castালাই * AS বার্তা) ব্যর্থ হবেন কারণ আপনি কোনও castালাই (বারচর হিসাবে নতুন টাইপ) ইত্যাদি সংজ্ঞা দেয় নি
"অস্বাভাবিক" ইত্যাদির বিষয়ে উত্তর রয়েছে। অবশ্যই এটি এগুলি এবং অস্বাভাবিক হওয়া উচিত (অন্যথায় এটির অর্থ ডিবিএমএসের অনেক গুরুত্বপূর্ণ ধরণের অভাব রয়েছে) তবে অন্যদিকে, আপনার মনে রাখা উচিত যে একটি (ভাল) ডিবি এসিডি কমপ্লায়েন্ট ( কোনও অ্যাপ্লিকেশনের বিপরীতে) এবং যে ধারাবাহিকতার সাথে সম্পর্কিত কোনও কিছুই সেখানে রাখা ভাল।
এমন অনেকগুলি ক্ষেত্রে রয়েছে যেখানে সফটওয়্যার স্তরটিতে ব্যবসায়ের যুক্তি পরিচালনা করা হয় এবং এটি এসকিউএল-এ করা যেতে পারে, যেখানে এটি নিরাপদ। অ্যাপ্লিকেশন বিকাশকারীরা অ্যাপ্লিকেশন স্তরের মধ্যে আরও স্বাচ্ছন্দ্য বোধ করে এবং প্রায়শই এসকিউএল প্রয়োগ করা আরও ভাল সমাধান এড়ায়, এটিকে ভাল অনুশীলন হিসাবে বিবেচনা করা উচিত নয়।
ইউডিটি অপ্টিমাইজেশনের জন্য একটি ভাল সমাধান হতে পারে, এম / এফ টাইপ চর (1) ব্যবহার করে অন্য উত্তরে একটি ভাল উদাহরণ দেওয়া হয়েছে। এটি যদি ইউডিটি হয়ে থাকে তবে এটির পরিবর্তে বুলিয়ান হতে পারে (যদি না আমরা তৃতীয় এবং চতুর্থ বিকল্পগুলি দিতে চাই)। অবশ্যই আমরা সবাই জানি কলাম ওভারহেডের কারণে এটি সত্যিই অপ্টিমাইজেশন নয়, তবে সম্ভাবনা রয়েছে।