বিদেশী কী সীমাবদ্ধতাগুলি মুছে ফেলা / আপডেট করার ক্ষেত্রে SET NULL এর উদ্দেশ্য কী?


15

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

উদ্দেশ্যমূলকভাবে এই অনাথ সারি রাখার উদ্দেশ্য কী?


আমি ব্যবহারের ক্ষেত্রগুলি খুঁজছি, এবং আমি মনে করি না যে তারা ডেটাবেস-নির্দিষ্ট (এখানে ভুল হতে পারে)
ডেরেক ডোনিয়ে

আমি এর জন্য কখনও ব্যবহারের মামলা দেখিনি ...
a_horse_with_no_name

উত্তর:


13

কিনা set nullউপযোগী কি না কি আপনি চয়ন করেছেন তার উপর নির্ভর করে nullবিশেষ প্রেক্ষাপটে মানে - সব বিভ্রান্তির ও মতামত নিয়ে nullআইএমও যুক্তিসম্মত পদ্ধতির DBA জন্য

  1. (এবং দস্তাবেজ) প্রতিটি নলযোগ্য ক্ষেত্রের জন্য এটি কী তা চয়ন করুন
  2. নিশ্চিত করুন এটির অর্থ কেবল একটি জিনিস

এই বিধিগুলি সহ, নিম্নলিখিত ব্যবহারের ক্ষেত্রে বিবেচনা করুন:

  • আপনার একটি টেবিল রয়েছে 'শপ' (যেমন পৃথক প্রাঙ্গণ)
  • আপনার একটি টেবিল 'খুচরা বিক্রেতা' রয়েছে (যেমন চেইন)
  • 'দোকান' টেবিলটিতে 'খুচরা বিক্রেতা'-এর চাবিটি উল্লেখ করে একটি দেখার ক্ষেত্র রয়েছে
  • আপনি nullএকটি স্বাধীন শপকে প্রতিনিধিত্ব করতে সংজ্ঞায়িত করেছেন (যেমন একটি যা শৃঙ্খলার অংশ নয়)
  • একজন 'খুচরা বিক্রেতা' শাখাগুলি এমনভাবে বন্ধ করে দেয় যে আপনি এর দোকানগুলিকে স্বাধীন বলে বিবেচনা করছেন

এই ক্ষেত্রে, একটি on delete set nullবোধগম্য। এই ব্যবসায়ের নিয়মগুলির মডেলিংয়ের অন্যান্য উপায় রয়েছে তবে এটি সবচেয়ে সহজ এবং যদি আপনি বাস্তব বিশ্বে যে বিষয়গুলির যত্ন নেন তার সাথে এটি সঠিকভাবে ফিট করে তবে আমি প্রস্তাব দিই যে এটি পুরোপুরি ঠিক আছে is


নাল একটি কঠোর অর্থ সহ ভাল পয়েন্টস, এবং এটি উদাহরণস্বরূপ এটি কেন এটি বৈশিষ্ট্য তা স্পষ্ট।
ডেরেক ডোনয়

1

আমি সাধারণত যে ব্যবহারের ক্ষেত্রে সাধারণত ভাবতে পারি সেগুলি ফর্মের মধ্যে রয়েছে "আচ্ছা, আমরা কিছু আলাদা করতে পারি তবে পরিবর্তে এটি করার মতো আমাদের মনে হয়েছিল"।

ownerকোনও সংস্থায় ইস্যু ট্র্যাকিং সিস্টেমে বাগের ক্ষেত্র বিবেচনা করুন । যদি জন ত্যাগ করে, অবশ্যই তার সমস্ত সমস্যা মুছে ফেলা উচিত নয় যখন তার অ্যাকাউন্ট সরানো হয়। তারপরেও কিছু ডাটাবেস SET DEFAULTএকটি ক্রিয়া হিসাবে অনুমতি দেয় (বা একটি ট্রিগার একই কাজ সম্পাদন করে), এবং কোনও Nobodyকর্মচারী ইস্যুগুলির ডিফল্ট মালিক হওয়ার বিকল্প হতে পারে। অথবা আমরা disabledজন এর পক্ষে তার রেকর্ড মোছার চেয়ে ক্ষেত্র থাকতে পারি ।


3
এই ক্ষেত্রে আমি যুক্তি দেব যে মুছে ফেলা ( RESTRICT) গুলিকে অনুমতি না দেওয়ার জন্য, যদি অন্য কোনও কারণে যদি কোনও সমস্যা হয় তখন কোনও পুরানো কর্মচারীর জন্য দোষের নির্দেশ দেওয়া হয়!
ডেরেক ডউনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.