আমি কীভাবে আমার কলামে (এসকিউএল সার্ভার ২০০৮ আর 2) অনন্য সীমাবদ্ধতা তৈরি করতে পারি?


108

আমার এসকিউএল সার্ভার 2008 আর 2 রয়েছে এবং আমি একটি অনন্য কলাম সেট করতে চাই।

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

আমি কীভাবে একটি অনন্য সীমাবদ্ধতা তৈরি করব?

ALTER TABLE Customer ADD CONSTRAINT U_Name UNIQUE(Name)

এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিওর মাধ্যমে কোনও অনন্য বাধা তৈরি করার কোনও উপায় আছে কি?

উত্তর:


59

জিইউআইয়ের মাধ্যমে এই সীমাবদ্ধতাগুলি তৈরি করতে আপনার "সূচি এবং কী" কথোপকথনের প্রয়োজন যাচাই বাধা নেই।

তবে আপনার ক্ষেত্রে আপনার ইতিমধ্যে কোডের টুকরোটি চালানো দরকার। একেবারে প্রকাশের সংলাপে প্রবেশ করার দরকার নেই।


সুতরাং আমি কি এটি একটি ক্যোয়ারিতে চালাতে পারি? যখন আমি চেষ্টা করেছি, এটি সফলভাবে চলেছে, তবে আমি কোথায় যেতে পারি তা দেখতে (যেখানে সেটিংটি পরিবর্তন করা হয়েছিল)?
হোয়াইট দ্বীপ

@ হোয়াইট আইসল্যান্ড - আপনি যদি টেবিলটি প্রসারিত করেন এবং "কীগুলি" এর অধীনে দেখেন তবে আপনাকে এসএসএমএস অবজেক্ট এক্সপ্লোরারে দেখতে হবে
মার্টিন স্মিথ

126

জিইউআই থেকে এসকিউএল সার্ভারে কলামটি অনন্য হিসাবে সেট করুন:

জিইউআই দিয়ে এটি করার জন্য তারা আপনাকে সত্যই শস্যাগার ঘিরে রেখেছে:

নিশ্চিত হয়ে নিন যে আপনি শুরু করার আগেই আপনার কলামটি অনন্য বাধা লঙ্ঘন করছে না।

  1. এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও খুলুন।
  2. আপনার সারণীতে ডান ক্লিক করুন, "নকশা" ক্লিক করুন।
  3. আপনি যে কলামটি সম্পাদনা করতে চান তার ডান ক্লিক করুন, একটি পপআপ মেনু প্রদর্শিত হবে, সূচি / কীগুলিতে ক্লিক করুন।
  4. "অ্যাড" বোতামটি ক্লিক করুন।
  5. "সাধারণ" ট্যাব প্রসারিত করুন।
  6. "কলাম" বাক্সে আপনার পছন্দ মতো কলামটি তৈরি করতে চান তা নিশ্চিত করুন।
  7. "টাইপ" বক্সটি "অনন্য কী" তে পরিবর্তন করুন।
  8. "বন্ধ" ক্লিক করুন।
  9. আপনি ফাইল উইন্ডোতে কিছুটা তারকাচিহ্ন দেখতে পাচ্ছেন, এর অর্থ পরিবর্তনগুলি এখনও সংরক্ষিত হয়নি।
  10. সংরক্ষণ করুন টিপুন বা Ctrl + গুলি টিপুন। এটি সংরক্ষণ করা উচিত এবং আপনার কলামটি অনন্য হওয়া উচিত।

অথবা এসকিউএল কোয়েরি উইন্ডো থেকে কলামটি অনন্য হিসাবে সেট করুন:

alter table location_key drop constraint pinky;
alter table your_table add constraint pinky unique(yourcolumn);

পরিবর্তনগুলি অবিলম্বে কার্যকর হয়:

Command(s) completed successfully.

গ্রেট। এছাড়াও আপনি টিএসকিউএল স্ক্রিপ্টে এটির মতো একাধিক কলাম যুক্ত করতে পারেন: টেবিল পরিবর্তন করুন_আপনার সারণি সীমাবদ্ধ গোলাপী অনন্য (আপনার কলাম, আপনার কলাম 3) যুক্ত করুন;
জর্দান

15

জিইউআইয়ের মাধ্যমে এখানে আরেকটি উপায় যা আপনার স্ক্রিপ্টটি ঠিক কী করে তা অবজেক্ট এক্সপ্লোরার ইনডেক্সগুলিতে (সীমাবদ্ধতাগুলি না) দিয়েও যায় does

  1. "সূচী" তে ডান ক্লিক করুন এবং "নতুন সূচক ..." ক্লিক করুন (দ্রষ্টব্য: আপনার যদি নকশার দৃষ্টিতে টেবিলটি খোলা থাকে তবে এটি অক্ষম করা হয়)

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

  1. নতুন সূচককে একটি নাম দিন ("ইউ_নাম") দিন, "অনন্য" পরীক্ষা করুন এবং "যুক্ত করুন ..." ক্লিক করুন

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

  1. পরবর্তী উইন্ডাউনটিতে "নাম" কলামটি নির্বাচন করুন

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

  1. উভয় উইন্ডোতে ঠিক আছে ক্লিক করুন

1
এসএসএমএস ২০১৪-তে, নতুন সূচি তৈরির জন্য ডান ক্লিকের প্রসঙ্গ মেনু বিকল্পগুলি উপরের স্ক্রিন ক্যাপচারগুলির থেকে কিছুটা আলাদা। নতুন সূচকে ক্লিক করার সময় আপনাকে অবশ্যই (ক্লাস্টারড ইনডেক্স, নন-ক্লাস্টারড ইনডেক্স, প্রাথমিক এক্সএমএল সূচক, মাধ্যমিক এক্সএমএল সূচক, স্থানিক সূচক, নন-ক্লাস্টারড কলামস্টোর সূচক এবং ক্লাস্টারড কলামস্টোর সূচক) তালিকা থেকে বেছে নিতে হবে। সাধারণত, আপনি নন-ক্লাস্টারড সূচকটি বেছে নেবেন।
আইকোড

8

একটি জিনিস স্পষ্টভাবে .েকে নেই তা হ'ল মাইক্রোসফ্ট এসকিউএল ব্যাকগ্রাউন্ডে যুক্ত হওয়া সীমাবদ্ধতার জন্য একটি অনন্য সূচক তৈরি করছে

create table Customer ( id int primary key identity (1,1) , name nvarchar(128) ) 

--Commands completed successfully.

sp_help Customer

---> index
--index_name    index_description   index_keys
--PK__Customer__3213E83FCC4A1DFA    clustered, unique, primary key located on PRIMARY   id

---> constraint
--constraint_type   constraint_name delete_action   update_action   status_enabled  status_for_replication  constraint_keys
--PRIMARY KEY (clustered)   PK__Customer__3213E83FCC4A1DFA  (n/a)   (n/a)   (n/a)   (n/a)   id


---- now adding the unique constraint

ALTER TABLE Customer ADD CONSTRAINT U_Name UNIQUE(Name)

-- Commands completed successfully.

sp_help Customer

---> index
---index_name   index_description   index_keys
---PK__Customer__3213E83FCC4A1DFA   clustered, unique, primary key located on PRIMARY   id
---U_Name   nonclustered, unique, unique key located on PRIMARY name

---> constraint
---constraint_type  constraint_name delete_action   update_action   status_enabled  status_for_replication  constraint_keys
---PRIMARY KEY (clustered)  PK__Customer__3213E83FCC4A1DFA  (n/a)   (n/a)   (n/a)   (n/a)   id
---UNIQUE (non-clustered)   U_Name  (n/a)   (n/a)   (n/a)   (n/a)   name

যেমন আপনি দেখতে পাচ্ছেন, সেখানে একটি নতুন বাধা এবং একটি নতুন সূচক ইউ_নাম রয়েছে

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