এসকিউএল সার্ভার ২০০৮ সালে কীভাবে সম্মিলিত প্রাথমিক কী তৈরি করা যায়


178

আমি এসকিউএল সার্ভার ২০০৮-এ সারণী তৈরি করতে চাই, তবে সম্মিলিত প্রাথমিক কী কীভাবে তৈরি করতে হয় তা আমি জানি না। আমি কীভাবে এটি অর্জন করতে পারি?


1
আপনি যেমন অ্যাপ.এন.পি. তে নতুন, পরামর্শের একাংশ: মিশ্রিত প্রাথমিক কীগুলি একটি খারাপ জিনিস যা সাধারণত একটি দুর্বল চিন্তাভাবনা নকশা নির্দেশ করে
স্মার্কম্যান

47
@ সিমার্কিংম্যান অত্যন্ত গুরুত্বপূর্ণ সমস্যাগুলি প্রায়শই একচেটিয়াভাবে যৌগিক প্রাথমিক কীগুলির সাথে সমাধান করা যেতে পারে। যেমন আপনার যখন কয়েকশ / হাজার হাজার ব্যবহারকারী থাকে যা একটি একক টেবিল / সত্তার ধরণে সারিগুলি সংরক্ষণ করে। আপনি ব্যবহারকারী-আইডি দ্বারা সজ্জিত সারিগুলি চান, এবং তারপরে দ্বিতীয় মানটি চান। আপনার মান রায়টি কেবল ভুল, যদি তা না হয় তবে আমরা শীঘ্রই এই বৈশিষ্ট্যটিকে অবহেলা করব।
নিকোলাস পিটারসেন

উত্তর:


243
create table my_table (
     column_a integer not null,
     column_b integer not null,
     column_c varchar(50),
     primary key (column_a, column_b)
);

2
@ ম্যাথো-অ্যাবট দ্বারা উদাহরণ হিসাবে উদাহরণস্বরূপ প্রাথমিক কী এবং নিয়ন্ত্রণ ব্যবহারের মধ্যে দ্বিধা কী ?
mateuscb

28
এটি একটি নামক প্রতিবন্ধকতা তৈরি করে যা নাম দ্বারা মুছে ফেলা / আপডেট করা যায়
লংহেরেডসি

14
বেশ সত্য নয়। উভয়ই "নামক বাধা" তৈরি করে। এটি পূর্বের সাথে কেবল আপনি নামকরণকে নিয়ন্ত্রণ করেন না। তবে একবার তৈরি হয়ে গেলে, আপনি যে নামটি ব্যবহার করেছিলেন তা সন্ধান করতে পারেন এবং নাম অনুসারে মুছুন / আপডেট করুন ...
অ্যাসপেক্স

170
CREATE TABLE UserGroup
(
  [User_Id] INT NOT NULL,
  [Group_Id] INT NOT NULL

  CONSTRAINT PK_UserGroup PRIMARY KEY NONCLUSTERED ([User_Id], [Group_Id])
)

34
+1 - হ্যাঁ, আপনার প্রতিবন্ধকতাগুলির নাম দিন, অন্যথায় স্কেল সার্ভার একটি নাম প্রকাশের ডিবিতে PK_UserGrou_5DEAEAF5 এবং অন্যটিতে PK_UserGrou_3214EC0777F66C69 নামগুলির মতো বাজে কাজ করে। আপনার প্রথমে ডিবি থেকে নামটি পেতে হবে এবং তারপরে ডায়নামিক এসকিএল (অথবা কোডটিতে প্রথমে কমান্ডটি তৈরি করতে হবে) আপনার পিকে আপডেট বা ড্রপ করতে হবে তবে এটি একটি ব্যথা। এছাড়াও, এটি কুরুচিপূর্ণ।
মন্টি 0

2
এমন কোনও কারণ আছে যা আমি চাই না আমার পিকে ক্লাস্টার করা হোক?
ভোর 4 টা


52

এন্টারপ্রাইজ ম্যানেজারের মাধ্যমে (এসএসএমএস) ...

  • আপনি যে সারণীতে সম্মিলিত কী তৈরি করতে চান তাতে ডান ক্লিক করুন এবং নকশা নির্বাচন করুন ।
  • সম্মিলিত কী হিসাবে আপনি যে কলামগুলি তৈরি করতে চান তা হাইলাইট করুন
  • এই কলামগুলির উপর ডান ক্লিক করুন এবং প্রাথমিক কী সেট করুন

এসকিউএল দেখার জন্য তারপর আপনি ডান দিকে ক্লিক করতে পারেন Table> Script Table As>Create To


2
ধন্যবাদ. আমার এসকিউএল সিনট্যাক্সটি সম্ভাব্যভাবে গোলযোগ না ছাড়াই এটিই সবচেয়ে নিরাপদ / সহজতম উপায়
আলবট্রোসকাএফ

1
এটি যারা ডিজাইন / গাইড ইন্টারফেসের মাধ্যমে দ্রুত সমাধান চান তাদের পক্ষে এটি সহজ করে তোলে। সাহায্যের জন্য ধন্যবাদ.
ট্রেভর নেস্টম্যান

32

আমি জানি আমি এই পার্টিতে দেরি করেছি, তবে বিদ্যমান টেবিলের জন্য চেষ্টা করুন:

ALTER table TABLE_NAME
ADD CONSTRAINT [name of your PK, e.g. PK_TableName] PRIMARY KEY CLUSTERED (column1, column2, etc.)

27

এমএসএসকিউএল সার্ভার ২০১২ এর জন্য

CREATE TABLE usrgroup(
  usr_id int FOREIGN KEY REFERENCES users(id),
  grp_id int FOREIGN KEY REFERENCES groups(id),

  PRIMARY KEY (usr_id, grp_id)
)

হালনাগাদ

আমার যোগ করা উচিত!

আপনি যদি বিদেশী / প্রাথমিক কীগুলি পরিবর্তন করে যুক্ত করতে চান তবে প্রথমে আপনার কীগুলি সীমাবদ্ধতার সাথে তৈরি করা উচিত বা আপনি পরিবর্তন করতে পারবেন না। নীচে এটি পছন্দ করুন:

CREATE TABLE usrgroup(
  usr_id int,
  grp_id int,

  CONSTRAINT FK_usrgroup_usrid FOREIGN KEY (usr_id) REFERENCES users(id),
  CONSTRAINT FK_usrgroup_groupid FOREIGN KEY (grp_id) REFERENCES groups(id),

  CONSTRAINT PK_usrgroup PRIMARY KEY (usr_id,grp_id)
)

আসলে শেষ উপায় স্বাস্থ্যকর এবং সিরিয়াল। আপনি এফকে / পিকে বাধা নামগুলি দেখতে পারেন (dbo.dbname> কী> ..) তবে আপনি যদি কোনও সীমাবদ্ধতা ব্যবহার না করেন তবে এমএসএসকিউএল এলোমেলো এফকে / পিকে নামগুলি স্বয়ংক্রিয়ভাবে তৈরি করে। আপনার প্রয়োজন প্রতিটি পরিবর্তন (পরিবর্তন সারণী) দেখতে হবে।

আমি আপনাকে নিজের জন্য একটি মান নির্ধারণ করার পরামর্শ দিচ্ছি; সীমাবদ্ধতা আপনার মান অনুযায়ী সংজ্ঞায়িত করা উচিত। আপনাকে মুখস্ত করতে হবে না এবং আপনাকে খুব বেশিদিন চিন্তা করতে হবে না। সংক্ষেপে, আপনি দ্রুত কাজ।


এটি পিকে তৈরি করে না তবে কেবল এফকে, না?
ব্যাটম্যাচি

@batmaci; না, এটি পিকেতে এফকে এবং ডাবল এফকে গ্রুপ উভয়ই। যে ব্যবহার স্বাস্থ্যকর। আমি এটি পরামর্শ। আপনি যখন পিকে তৈরি করেন না, আপনি খুব ব্যবহার করতে পারেন।
ফাতেহ মের্ট দোয়ানকান

1

প্রথমে ডাটাবেস এবং টেবিল তৈরি করুন, ম্যানুয়ালি কলামগুলি যুক্ত করুন। কোন কলামে প্রাথমিক কী হবে। আপনার এই কলামটিতে ডান ক্লিক করতে হবে এবং প্রাথমিক কীটি সেট করা উচিত এবং প্রাথমিক কীটির বীজ মান সেট করা উচিত।



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