ডিবিও স্কিমা এড়ানো উচিত?


29

ডিবিও স্কিমা এলে:

  • ডাটাবেস অবজেক্ট তৈরি করার সময় ডিবিও স্কিমা ব্যবহার না করা কি সেরা অনুশীলন?
  • ডিবিও স্কিমা কেন এড়ানো উচিত বা করা উচিত?
  • কোন ডাটাবেস ব্যবহারকারীর ডিবিও স্কিমার মালিক হওয়া উচিত?

কিছু পরামর্শদাতা বলেছেন যে ডিবিও স্কিমা এড়ানোর পক্ষে এবং সর্বদা ব্যবহারকারী সংজ্ঞায়িত স্কিমা তৈরি করা এবং এই স্কিমগুলিতে আপত্তি নিযুক্ত করা ভাল অনুশীলন।
jrara

আমি এই ব্লগ পোস্টের মন্তব্যে আলেকজান্ডার
কুজনেটসভের

হ্যাঁ, এখনই এড়িয়ে চলুন। dba.stackexchange.com/a/4109/630 এবং dba.stackexchange.com/q/8511/630 এবং stackoverflow.com/q/6502222/27535 @JNK: তোমার জন্য অবগতির জন্য খুব
gbn

উত্তর:


21

এটি একটি ভাল অনুশীলন হতে পারে কারণ আপনার যখন অন্য ব্যবহারকারীরা ডাটাবেস ব্যবহার করছেন তখন আপনি স্কিমার মাধ্যমে তাদের অ্যাক্সেস সীমাবদ্ধ করতে সক্ষম হতে চান। উদাহরণস্বরূপ একটি ডাটাবেসে আপনার নিম্নলিখিত সারণী রয়েছে।

HR.Payhist
HR.Payscale
HR.Jobdesc
IT.username
IT.useraccesslevel
ENG.jobsite
ENG.trainings

এইচআর পরিচালক হিসাবে আমি HRস্কিমাতে যে কোনও কিছু অ্যাক্সেস করতে সক্ষম হয়েছি , ITপরিচালক হিসাবে আমি কর্মীদের ব্যবহারকারীর নাম এবং অ্যাক্সেসের স্তরগুলি দেখতে পারি। Engineeringবিভাগের কি কাজ সাইটগুলি সক্রিয়, ইত্যাদি যদি dbo সব টেবিল আমি কঠিন সময় আমার ডেটা আউট segmenting এবং অ্যাক্সেস ভূমিকা প্রদানের হবে জন্য সেট স্কিমা ছিল দেখতে পারেন।

আমার ধারণা, এসকিউএল সার্ভারে এমন একটি পণ্য সরবরাহ করা যা বিভিন্ন বিভাগ দ্বারা অ্যাক্সেস এবং অনুসন্ধান করা যায়। বাস্তবে কেবলমাত্র ডিবিএ / ডিবিডিভেরা সত্যই ডাটাবেস অ্যাক্সেস করে এবং এটি সাধারণত অ্যাপ্লিকেশন ডেটা সঞ্চয় করে।

এটি পাঠযোগ্যতা এবং পরিচালনাযোগ্যতায় সহায়তা করে। প্রথম ব্লাশে আমি সহজেই সনাক্ত করতে পারি কোন টেবিলটি কোন ডেটা ধারণ করে এবং কীভাবে ডেটা পৃথক করা হয়।

ব্যক্তিগতভাবে আমি একটি সাধারণ অনুশীলন হিসাবে স্কিমগুলি সংজ্ঞায়িত করতে পছন্দ করি। মনে রাখবেন স্কিমা পরিকল্পনার জন্য গ্রীক, একটি নির্ধারিত স্কিমা কাঠামো থাকা আপনাকে ডেটা পরিকল্পনা এবং সনাক্ত করতে সহায়তা করে।


6

আমি মনে করি এটি ব্যবহারকারীর পছন্দকে নেমে আসে কারণ এটি করার কোনও প্রকৃত প্রযুক্তিগত কারণ নেই। প্রকৃতপক্ষে, সরলতার জন্য, আমি বলি আপনার সুরক্ষা প্রয়োজনীয়তা অন্যথায় নির্ধারিত না করা পর্যন্ত সর্বদা ডিবিও ব্যবহার করুন। অবশ্যই, আপনি সর্বদা এটি কেবল সাংগঠনিক উদ্দেশ্যেও করতে পারেন।


1
এই পদ্ধতির পিছনে 100%। আমি প্রায়শই সরলতার জন্য ডিবিও স্কিমাতে "মূল" টেবিলগুলি রেখে যাই এবং প্রয়োজনে যুক্ত করা শুরু করি। সাধারণত আমি যুক্ত করা প্রথম পৃথক স্কিমাটি হ'ল "স্টেজ" বা "স্টেজিং", আমার মঞ্চের টেবিলগুলি পৃথকভাবে গ্রুপ করতে। আর একটি উদাহরণ বহিরাগত উত্স থেকে ডেটা যুক্ত করা হবে, টুইটার বলুন। সমস্ত সারণী উপস্থাপনের পরিবর্তে (যেমন টুইটার অ্যাকাউন্ট, টুইটারস্ট্যাটাস ইত্যাদি) আমি একটি "টুইটার" স্কিমা তৈরি করব।
রোবপিম

5

যদি কিছু হয় তবে ডিবিও এড়ানো উচিত কারণ এটি এসকিউএল সার্ভারের জন্য এটি ডিফল্ট, এটি মোটেই বর্ণনামূলক নয়। অন্যান্য অন্যান্য ডিফল্ট নামগুলির মতো, যেহেতু এটি আগেই জানা যায় যে এটি হ্যাকারের জীবনকে আরও সহজ করে তোলে (যদিও তারা যদি এমন অবস্থানে থাকে যেখানে তারা আপনার স্কিমার নামটি বের করার চেষ্টা করছে তবে আপনি সম্ভবত ইতিমধ্যে বিরক্ত হয়েছেন))

আমি যেখানে কাজ করি সেখানে আমরা ডাটাবেসটিকে যৌক্তিক বিভাগগুলিতে বিভক্ত করতে স্কিমার ব্যবহার করি এবং স্কিমেগুলিতে অনুমতি বরাদ্দ করি।

উদাহরণস্বরূপ, আমাদের একটি ডেটাবেস সহ একটি ইনভেন্টরি সিস্টেম থাকতে পারে। প্রধান সারণীগুলি ইনভ স্কিমাতে থাকতে পারে। আমরা যদি ডাটাবেসে কোনও কিছু আমদানি করি তবে আমদানি প্রক্রিয়াটির অংশ হিসাবে একটি মঞ্চের স্কিমা ব্যবহার করা হবে। আমাদের যদি এমন কোনও সিস্টেম সঞ্চিত প্রক্রিয়া থাকে যা ব্যবহারকারীদের অ্যাক্সেসের প্রয়োজন হয় না, তবে আমরা সেগুলি একটি এসপি স্কিমাতে রেখেছি।


1
"এটিকে এড়িয়ে চলুন কারণ এটির ডিফল্ট" + ব্যবহারকারীরা কোনও বস্তু তৈরি করার সময় ব্যবহারকারীকে কমপক্ষে এটি সম্পর্কে একটু চিন্তা করতে বাধ্য করে।
ব্র্যাডিসি

4

এটি পূর্বের সর্বোত্তম অনুশীলন ছিল না কারণ এসকিউএল 2005 এর আগে স্কিমাগুলি লুকানো ছিল, সমস্ত কিছু ডিবিও স্কিমাতে রাখা হয়েছিল। এসকিউএল সার্ভার টিম এটি একটি সেরা অনুশীলন হিসাবে দেখায় এবং এ সম্পর্কে একটি নিবন্ধ প্রকাশ করেছে: এসকিউএল সার্ভার সেরা অভ্যাস - ডেটাবেস অবজেক্ট স্কিমার প্রয়োগ

কাদের এর মালিক হওয়া উচিত সে সম্পর্কে আপনার অন্যান্য প্রশ্ন হিসাবে: ডিবিও স্কিমার মালিকানা ডিবিও ব্যবহারকারীর অ্যাকাউন্টের।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.