PDA

View Full Version : سوال: چطور میشه در بانک sql server 2005 کاری کرد که مقدار دو یا چند فیلد به صورت انحصاری باشد؟



alih988
شنبه 08 تیر 1387, 01:03 صبح
به نام خدا
سلام و عرض ادب خدمت شما.

چطور میشه در بانک sql server 2005 کاری کرد که مقدار دو یا چند فیلد به صورت انحصاری باشد؟

ظاهرا فقط یک فیلد را میشه به صورت فیلد کلید تعریف کرد ، من نیاز دارم تا مقادیر سه تا از فیلد ها منحصر به فرد باشه!
آیا باید دستی چک کنم یا راه دیگه ای هست ؟

alih988
شنبه 08 تیر 1387, 01:08 صبح
چه جالب...
فهمیدم ، کافیه هر چند تا فیلد که می خواهید به صورت فیلد کلید باشه رو انتخاب کنی ، بعد set primary key رو بزنی... همه فیلد کلید میشن! به همین راحتی

Mahdi.Kiani
شنبه 08 تیر 1387, 07:54 صبح
این مسئله فقط مربوط به 2005 نمیشه...

night_walker
چهارشنبه 19 تیر 1387, 13:45 عصر
شما میتونید فیلد رو Unique تعریف کنید بدون اینکه کلید باشه. توجه کنید که Primary Key وقتی شامل چندین فیلد باشه میتونه براتون مشکل ایجاد کنه. شما بهتره اگه احتیاج نداره که کلید باشه از همون Unique استفاده کنید.

رضا جاسبی
جمعه 11 مرداد 1387, 23:35 عصر
چه جالب...
فهمیدم ، کافیه هر چند تا فیلد که می خواهید به صورت فیلد کلید باشه رو انتخاب کنی ، بعد set primary key رو بزنی... همه فیلد کلید میشن! به همین راحتی

کمی دیر شده و موضوع صحبت شما تازه نیست. اما راه حلی که ارائه کردید شاید منظور و هدف شما رو تامین نمیکنه. اگر چند تا فیلد رو با هم انتخاب کنید و بعد کلید Set Primary Key رو بزنید باعث میشه که فیلدها "همه با هم" کلید باشند و همه با هم نمی تونن تکراری باشند. ولی تک تک می تونن باشند. مثال :
کد نام
1 نام1
2 نام 2
3 نام 1
که اگر کد به تنهایی کلید باشه مجازه.
ولی اگر کد و نام باهم کلید باشند:
کد نام
1 نام1
2 نام2
1 نام2
هم مجاز است.
برای اینکه هم کد و هم نام غیر قابل تکرار باشند باید یکی را کلید و بقیه را Unique Constraint تعریف کنی. دقت کن که در زمان تعریف Unique فقط یک ستون تعریف کنی.

piroozman
جمعه 29 شهریور 1387, 21:38 عصر
سلام دوستان
حالا می تونم بپرسم که در sql server 2005 چطوری میتونم یکی از ستونهای جداول موجودم را به
unique تبدیل کنم

Rambod
جمعه 29 شهریور 1387, 21:46 عصر
چرا از Unique Indexها استفاده نميكنيد؟

SYNDROME
جمعه 29 شهریور 1387, 22:23 عصر
Table خود را design کنید و در نوار بالا دکمه برای ایجاد Index وجود دارد.
به وسیله دکمه فوق می توانید بر روی فیلدها Index بگذارید و آن را Unique کنید.
موفق باشید