কেন একটি প্রাথমিক কী মান পরিবর্তন হবে?


18

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

আমার বোধগম্যতা বরাবরই ছিল যে একটি প্রাথমিক কীটি অপরিবর্তনীয় হওয়া উচিত, এবং এই উত্তরটি পড়ার পরে আমার অনুসন্ধান কেবল উত্তর সরবরাহ করেছে যা সেরা অনুশীলন হিসাবে একই প্রতিফলন করে reflect

কোন পরিস্থিতিতে রেকর্ড তৈরি হওয়ার পরে একটি প্রাথমিক কী মান পরিবর্তন করা দরকার?


7
যখন একটি প্রাথমিক কী নির্বাচন করা হয় যা অপরিবর্তনীয় নয়?
ypercubeᵀᴹ

2
এখন পর্যন্ত নীচের সমস্ত জবাবের জন্য একটি ছোট্ট নিট। প্রাথমিক কীতে কোনও মান পরিবর্তন করা এত বড় চুক্তি না হয় যদি না প্রাথমিক কীটিও ক্লাস্টারড সূচক হয়। ক্লাস্টারড ইনডেক্সের মান পরিবর্তিত হলেই এটি সত্যই গুরুত্বপূর্ণ।
কেনেথ ফিশার

6
@ কেনেথফিশার বা অন্য বা একই টেবিলের এক (বা অনেক) এফকে দ্বারা রেফারেন্স করা হলে এবং একটি পরিবর্তনকে অনেকগুলি (সম্ভবত লক্ষ লক্ষ বা বিলিয়ন) সারিতে ক্যাসকেড করতে হবে।
ypercubeᵀᴹ

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

3
সমস্ত বাস্তব-বিশ্বের মানগুলি পরিবর্তন করতে পারে (বিভিন্ন কারণে)। সার্গেট / সিন্থেটিক কীগুলির জন্য এটি অন্যতম মূল অনুপ্রেরণা: কৃত্রিম মান তৈরি করতে সক্ষম হবেন যা কখনই পরিবর্তন হয় না।
আরবেরি ইয়ং

উত্তর:


24

আপনি যদি কোনও ব্যক্তির নাম প্রাথমিক কী হিসাবে ব্যবহার করেন এবং তার নাম পরিবর্তিত হয় তবে আপনাকে প্রাথমিক কীটি পরিবর্তন করতে হবে। এই কি ON UPDATE CASCADEযেহেতু এটি মূলত ব্যবহার করা হয় ক্যাসকেড সব সংশ্লিষ্ট টেবিল প্রাথমিক কী বিদেশী কী সম্পর্ক আছে পরিবর্তন নিচে।

উদাহরণ স্বরূপ:

USE tempdb;
GO

CREATE TABLE dbo.People
(
    PersonKey VARCHAR(200) NOT NULL
        CONSTRAINT PK_People
        PRIMARY KEY CLUSTERED
    , BirthDate DATE NULL
) ON [PRIMARY];

CREATE TABLE dbo.PeopleAKA
(
    PersonAKAKey VARCHAR(200) NOT NULL
        CONSTRAINT PK_PeopleAKA
        PRIMARY KEY CLUSTERED
    , PersonKey VARCHAR(200) NOT NULL
        CONSTRAINT FK_PeopleAKA_People
        FOREIGN KEY REFERENCES dbo.People(PersonKey)
        ON UPDATE CASCADE
) ON [PRIMARY];

INSERT INTO dbo.People(PersonKey, BirthDate)
VALUES ('Joe Black', '1776-01-01');

INSERT INTO dbo.PeopleAKA(PersonAKAKey, PersonKey)
VALUES ('Death', 'Joe Black');

একটি SELECTউভয় টেবিল বিরুদ্ধে:

SELECT *
FROM dbo.People p
    INNER JOIN dbo.PeopleAKA pa ON p.PersonKey = pa.PersonKey;

রিটার্নস:

এখানে চিত্র বর্ণনা লিখুন

যদি আমরা PersonKeyকলামটি আপডেট করে থাকি এবং আবার চালিত করি SELECT:

UPDATE dbo.People
SET PersonKey = 'Mr Joe Black'
WHERE PersonKey = 'Joe Black';

SELECT *
FROM dbo.People p
    INNER JOIN dbo.PeopleAKA pa ON p.PersonKey = pa.PersonKey;

আমরা দেখি:

এখানে চিত্র বর্ণনা লিখুন

উপরোক্ত UPDATEবিবৃতিটির পরিকল্পনার দিকে তাকিয়ে আমরা পরিষ্কারভাবে দেখতে পেলাম যে উভয় টেবিলকে বিদেশী কী হিসাবে সংজ্ঞায়িত করে একটি একক আপডেটের বিবৃতি দ্বারা আপডেট করা হয়েছে ON UPDATE CASCADE:

এখানে চিত্র বর্ণনা লিখুন আরও স্পষ্টতার সাথে দেখতে চিত্রটিকে উপরে ক্লিক করুন

শেষ পর্যন্ত, আমরা আমাদের অস্থায়ী টেবিলগুলি পরিষ্কার করব:

DROP TABLE dbo.PeopleAKA;
DROP TABLE dbo.People;

সারোগেট কীগুলি ব্যবহার করে এটি করার জন্য পছন্দসই 1 টি উপায় হ'ল:

USE tempdb;
GO

CREATE TABLE dbo.People
(
    PersonID INT NOT NULL IDENTITY(1,1)
        CONSTRAINT PK_People
        PRIMARY KEY CLUSTERED
    , PersonName VARCHAR(200) NOT NULL
    , BirthDate DATE NULL
) ON [PRIMARY];

CREATE TABLE dbo.PeopleAKA
(
    PersonAKAID INT NOT NULL IDENTITY(1,1)
        CONSTRAINT PK_PeopleAKA
        PRIMARY KEY CLUSTERED
    , PersonAKAName VARCHAR(200) NOT NULL
    , PersonID INT NOT NULL
        CONSTRAINT FK_PeopleAKA_People
        FOREIGN KEY REFERENCES dbo.People(PersonID)
        ON UPDATE CASCADE
) ON [PRIMARY];

INSERT INTO dbo.People(PersonName, BirthDate)
VALUES ('Joe Black', '1776-01-01');

INSERT INTO dbo.PeopleAKA(PersonID, PersonAKAName)
VALUES (1, 'Death');

SELECT *
FROM dbo.People p
    INNER JOIN dbo.PeopleAKA pa ON p.PersonID = pa.PersonID;

UPDATE dbo.People
SET PersonName = 'Mr Joe Black'
WHERE PersonID = 1;

সম্পূর্ণতার জন্য, আপডেট বিবৃতিটির পরিকল্পনাটি খুব সহজ, এবং কীগুলি সারোগেট করার জন্য একটি সুবিধা দেখায়, যথা প্রাকৃতিক-কী দৃশ্যে কী থাকা প্রতিটি সারিটির বিপরীতে কেবলমাত্র একটি একক সারি আপডেট করা দরকার :

এখানে চিত্র বর্ণনা লিখুন

SELECT *
FROM dbo.People p
    INNER JOIN dbo.PeopleAKA pa ON p.PersonID = pa.PersonID;

DROP TABLE dbo.PeopleAKA;
DROP TABLE dbo.People;

SELECTউপরের দুটি বিবৃতি থেকে প্রাপ্ত ফলাফল :

এখানে চিত্র বর্ণনা লিখুন

মূলত, ফলাফল প্রায় একই। একটি প্রধান পার্থক্য হ'ল প্রশস্ত প্রাকৃতিক কীটি প্রতি টেবিলে পুনরায় হয় না যেখানে বিদেশী কী ঘটে। আমার উদাহরণে, আমি একটি ব্যবহার করছি VARCHAR(200)কলাম ব্যক্তির নাম, প্রয়োজনীয়তা যা ব্যবহার রাখা VARCHAR(200) সর্বত্র । যদি প্রচুর সারি এবং প্রচুর টেবিলের সাথে বিদেশী কী থাকে তবে এটি প্রচুর অপচয়যোগ্য স্মৃতি যুক্ত করবে। দ্রষ্টব্য, আমি ডিস্কের স্থান নষ্ট হওয়ার বিষয়ে কথা বলছি না কারণ বেশিরভাগ লোকেরা বলে যে ডিস্কের স্থানটি মূলত মুক্ত থাকার জন্য এতটাই সস্তা। মেমরিটি তবে ব্যয়বহুল এবং লালিত হওয়ার যোগ্য ser আপনি যখন প্রায় 15 টি অক্ষরের নামের গড় দৈর্ঘ্য বিবেচনা করেন তখন কীটির জন্য 4-বাইট পূর্ণসংখ্যা ব্যবহার করা বড় মাপের স্মৃতি সঞ্চয় করবে।

স্পর্শিনী সম্পর্কে প্রশ্নের কিভাবে এবং কেন কী পরিবর্তন করতে পারেন কেন ভাড়াটে চাবি তুলে প্রাকৃতিক কী পছন্দ করে, যা একটি আকর্ষণীয় এবং সম্ভবত আরও বেশি গুরুত্বপূর্ণ প্রশ্ন হল সম্পর্কে প্রশ্ন হল, বিশেষ করে যেখানে কর্মক্ষমতা একটি নকশা-লক্ষ্য। আমার প্রশ্নটি এখানে দেখুন ।


1 - http://weblogs.sqlteam.com/mladenp/archive/2009/10/06/Why-I-prefer-surrogate-keys-instead-of-n Natural - keys - in.aspx


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

8

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

 Guaranteed Unique, Always Exists, Immutable, and Concise.

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

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

আমার অভিজ্ঞতা হিসাবে, ডেটাবেস নিজেই তৈরি একটি পিকে প্রায় সর্বদা একটি ভাল সমাধান।

আমি অতিরিক্ত পয়েন্টারগুলির জন্য এই নিবন্ধটি সুপারিশ করছি: http://www.agiledata.org/essays/keys.html


6
আপনার উত্তরে উল্লেখ করা স্কট অ্যাম্বুলার নিবন্ধের একটি ভাল পরামর্শ: "কিছু লোক আপনাকে বলবে যে আপনার সর্বদা প্রাকৃতিক কী ব্যবহার করা উচিত এবং অন্যরা আপনাকে বলবে যে আপনার সর্বদা সারোগেট কী ব্যবহার করা উচিত These এই ব্যক্তিরা সর্বদা ভুল হিসাবে প্রমাণিত হয়, সাধারণত তারা আপনার সাথে তাদের "ডেটা ধর্ম" এর কুসংস্কারগুলি ভাগ করে নেওয়ার চেয়ে আরও কিছু করছে The বাস্তবতাটি হ'ল প্রাকৃতিক এবং সারোগেট কীগুলির প্রত্যেকেরই তাদের সুবিধা এবং অসুবিধাগুলি রয়েছে এবং কোনও পরিস্থিতিতে সব পরিস্থিতিতে উপযুক্ত নয় ""
এনভোভেল

7

সিঙ্ক্রোনাইজেশনের সাথে জড়িত থাকলে প্রাথমিক কীটি পরিবর্তন করা যেতে পারে। এটি যখন আপনার সংযোগ বিচ্ছিন্ন ক্লায়েন্ট থাকে তখন এটি হতে পারে এবং এটি নির্দিষ্ট বিরতিতে সার্ভারের সাথে ডেটা সিঙ্ক্রোনাইজ করে।

কয়েক বছর আগে আমি এমন একটি সিস্টেমে কাজ করেছি যেখানে স্থানীয় মেশিনে থাকা সমস্ত ইভেন্টের ডেটাতে নেতিবাচক সারি আইডি থাকে, যেমন -1, -2 ইত্যাদি When ক্লায়েন্ট। ধরা যাক সার্ভারে পরবর্তী সারির আইডি 58 ছিল Then তারপর -1 58, -2 59 হয়ে যাবে। এই সারির আইডি পরিবর্তনটি স্থানীয় মেশিনে সমস্ত শিশু এফকে রেকর্ডে ক্যাসকেড করা হবে। পূর্বে কোন রেকর্ড সিঙ্ক হয়েছিল তা নির্ধারণের জন্যও এই প্রক্রিয়াটি ব্যবহার করা হয়েছিল।

আমি বলছি না এটি একটি ভাল নকশা ছিল, তবে এটি সময়ের সাথে প্রাথমিক কী পরিবর্তনের একটি উদাহরণ।


5

PRIMARY KEYনিয়মিত ভিত্তিতে পরিবর্তনগুলি জড়িত যে কোনও ডিজাইন হ'ল বিপর্যয়ের একটি রেসিপি। এটির পরিবর্তনের একমাত্র ভাল কারণটি হ'ল পূর্বে দুটি পৃথক ডাটাবেসের সংমিশ্রণ।

@ ম্যাক্স ভার্নন দ্বারা চিহ্নিত হিসাবে মাঝে মাঝে পরিবর্তন হতে পারে - তারপরে ব্যবহার করুন ON UPDATE CASCADE , যদিও বর্তমানে বেশিরভাগ সিস্টেমে সারোগেট হিসাবে আইডি ব্যবহার করে PRIMARY KEY

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


3

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

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

+---------+--------+
|LoginName|BadgeNum|
+---------+--------+
|ZoeS     |47832   |
+---------+--------+

জোস যদি তার ব্যাজ হারিয়ে ফেলে তবে সম্ভবত তাকে একটি নতুন বরাদ্দ দেওয়া হয়েছে এবং একটি নতুন ব্যাজ নম্বর পেয়েছে:

+---------+--------+
|LoginName|BadgeNum|
+---------+--------+
|ZoeS     |50282   |
+---------+--------+

পরে, সে তার লগইন নাম পরিবর্তন করার সিদ্ধান্ত নিতে পারে:

+---------+--------+
|LoginName|BadgeNum|
+---------+--------+
|ZSmith   |50282   |
+---------+--------+

উভয় মূল মান পরিবর্তিত হয় - একে অপরের সাথে সম্পর্কিত। মনে রাখবেন যে এটিকে "প্রাথমিক" বলে মনে করা হয় তা অবশ্যই কোনও পার্থক্য করে না।

অনুশীলনে "অপরিবর্তনীয়তা", অর্থাত্ কখনই কোনও মান পরিবর্তন করা যায় না, তা অচিহ্নিত হয় বা যাচাই করা কমপক্ষে অসম্ভব। যে পরিবর্তনটি একেবারে তত্পরতা তৈরি করে, নিরাপদ কোর্সটি সম্ভবত ধরে নেওয়া যায় যে কোনও কী (বা কোনও বৈশিষ্ট্য) পরিবর্তনের প্রয়োজন হতে পারে।


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

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

3

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

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


0

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


-1

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

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