স্কিমার ওভার ব্যবহার / সঠিক ব্যবহার?


9

এই প্রশ্নটি স্ট্যাকওভারফ্লোতে জিজ্ঞাসা করে আমি ভাবলাম যে আমি যা করেছি তা সঠিক / সেরা অনুশীলন।

মূলত, আমি তৈরি প্রত্যেকটি বস্তু স্কিমার নামের সাথে একটি ব্যবহারকে প্রতিফলিত করে একটি স্কিমাতে চলে going উদাহরণস্বরূপ, আমার কাছে স্কিমা রয়েছে Auditএবং Admin(অন্যদের মধ্যে)।

ফলে পাতার কোন বস্তু dbo। এটা কি ঠিক আছে? আমার আরও কিছু করার দরকার আছে?


উত্তর:


13

স্কিমাস কেবল একটি দুর্দান্ত সুরক্ষা সরঞ্জামই নয় (এটি ব্যবহারের পক্ষে যথেষ্ট কারণ), তবে তারা যৌক্তিক পৃথককরণের জন্যও উপযুক্ত। এবং মনে হচ্ছে এটিই আপনি অনুশীলন করছেন।

এমনকি যদি বর্তমান প্রয়োজনীয়তার বিশেষ সুরক্ষার প্রয়োজন না হয় তবে, অডিটিংয়ের সাথে সম্পর্কিত সমস্ত ডাটাবেস অবজেক্টগুলিকে একটি ডাটাবেসের ভূমিকাতে সুরক্ষিত রাখতে হবে বলে রাস্তাটি লিখে দিন। যদি এই অবজেক্টগুলি জুড়ে ছড়িয়ে ছিটিয়ে থাকেdbo স্কিমা , তবে আপনাকে denyপৃথক বস্তুগুলিতে স্পষ্টভাবে অনুমতি নিতে হবে। তবে Auditস্কিমা সহ, আপনি একটি একক করেন denyএবং আপনি সেট হয়ে যান।

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


5

একটি টিপিক্যাল প্যাটার্ন অনুমতি উপর ভিত্তি করে স্কিমের, তাই আপনি আছে চাই WebGUI, Desktopইত্যাদি কোডের জন্য তাই সমস্ত বস্তু একই নিম্নোক্ত আছে স্কিমা থেকে

আপনার যদি স্পষ্ট ব্যবহারকারী গোষ্ঠী থাকে তবে আপনি এতে অনুমতি নিতে পারেন, তবে আপনি কোনও পর্যায়ে ওভারল্যাপিং এবং অগোছালো অনুমতি নিয়ে শেষ করবেন। আমি ব্যবহারকারীর / গোষ্ঠী চেকগুলি কিছু অভ্যন্তরের কোডের চেকগুলিতে অনুমোদনের বিষয়গুলিতে স্থগিত করতে চেয়েছি: বলুন আপনার প্রশাসক এবং এইচআর এক্সেল ব্যবহারকারী রয়েছে: এই সমস্ত রান Desktopকোড।

ডেটা সাধারণত ভাগ করা হয় তাই আমার কাছে একটি Dataস্কিমা থাকতে পারে, সম্ভবত কোনও স্কিমা Historyবা Archive

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

অবশেষে, স্কিমের পছন্দ Stagingবা Systemবা Maintenanceদরকারী কখনও কখনও হয়।

যদিও dboস্কিমায় কোনও ব্যবহারকারীর অবজেক্ট নেই , ব্যবহারকারী dboসমস্ত স্কিমার মালিক।


4

dboস্কিমাতে কোনও বস্তু পুরোপুরি ঠিক নেই। আমি যা দেখতে পাচ্ছি তা থেকে এটি স্কিমার অতিরিক্ত ব্যবহার নয়, যদিও 'কতগুলি স্কিম' অনেক বেশি 'একটি মোটামুটি বিষয়গত প্রশ্ন (এটি "আমার ওও ডিজাইনের কত শ্রেণি হওয়া উচিত?") এর সাথে তুলনাযোগ্য।

কেবলমাত্র অন্য একটি বিষয় যা আমি উল্লেখ করব তা হ'ল পৃথক বস্তুর পরিবর্তে স্কিমাতে অনুমতি প্রদান করা (আপনার এই প্রশ্নটি অনুমতি সম্পর্কে কোনও নির্দিষ্ট করে না)।


আমি সাধারণত উন্নয়নের শেষে অনুমতিগুলি বাছাই করি কারণ আমাদের মাঝে মাঝে কিছু "তরল" স্পেসিফিকেশন থাকে। আপনি কি এইভাবে? অথবা আপনি বস্তু ইত্যাদি তৈরি করার সাথে সাথে অনুমতিগুলি বরাদ্দ করেন
স্টুয়ার্ট ব্ল্যাকার

অবজেক্ট তৈরি করুন, এটি একটি স্কিমাতে বরাদ্দ করুন, স্কিমাতে অনুমতি বরাদ্দ করুন। আপনার যদি বিকাশের জন্য বিস্তৃত অ্যাক্সেসের প্রয়োজন হয় তবে কেবল স্কিমা (গুলি) এর উপর সম্পূর্ণ অনুমতি দিন এবং সেগুলি পরে সংকীর্ণ করুন।
সাইমন রিঘার্টস

1

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

COMMON
LT_COMMON
MODULENAME1
LT_MODULENAME1
..

বড় মডিউলগুলির জন্য, আমরা এগুলি আরও স্কিমে পৃথক করেছিলাম। উদাহরণস্বরূপ পার্সোনেল মডিউলটি আরও 5 টি মডিউল নিয়ে গঠিত।

PERSONEL_COMMON
PERSONEL_FINANCE
PERSONEL_MODULE2
..
LT_PERSONEL_COMMON
LT_PERSONEL_FINANCE
LT_PERSONEL_MODULE2

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


-1

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


2
স্কীমাস হয় SQL সার্ভার মধ্যে অন্যরকম দেখাচ্ছে: পূর্ণ ডাটাবেসের-স্কিমা-ইউজার বিচ্ছেদ হয়। আমি ওরাকল স্কিমাগুলি সীমাবদ্ধ হিসাবে দেখতে পেয়েছি
gbn
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.