View Full Version : مشکل در انتخاب کلید اصلی
myazdani
شنبه 06 آبان 1391, 18:39 عصر
سلام به همگی
من یه جدول دارم به عنوان جدول کاربران سیستم تو نام کاربری و کلمه عبور و کد پرسنلی دارم.
قاعدتاً فیلد نام کاربری باید فیلد کلید باشه که اینکارو کردم. اما نیاز دارم که فیلد کد پرسنلی هم تکراری نباشه به دو دلیل اول این که خوب نباید یه کاربر دوبار ثبت نام کنه تو سیستم و دوم به خاطر اینکه می خوام ارتباط این جدول رو توسط کد پرسنلی با جدول گروه کاربری برقرار کنم و لازمه این کار اینه که کد پرسنلی تو جدول کاربران کلید باشه .
به نظر شما راه حل چیه؟ :متفکر:
حمیدرضاصادقیان
شنبه 06 آبان 1391, 22:56 عصر
سلام.
در سیستم پرسنلی بهترین گزینه برای کلید اصلی کد پرسنلی هست.
زیرا این کد در کل سیستم حقوق دستمزد و پرسنلی و مالی به کار خواهد رفت و نمیتواند تکراری باشد.
ولی نام کاربر ممکنه در یک سازمان چند نفر با اسمهای خاص باشند پس گزینه مناسبی برای کلید اصلی نیست.میتوانید هنگام ثبت اطلاعات در صورت تکراری بودن نام فقط به کاربر هشدار بدین که بدونه این نام هست ولی نمیشه روی این مورد فیلتری انجام داد.دوم اینکه روی فیلدهای عددی به جای رشته ای بهتره کلید باشه زیرا در سرعت کار شمانیز تاثیر بسزایی خواهد داشت.
soha_smb
سه شنبه 23 آبان 1391, 23:48 عصر
با سلام
یه سئوال ؟
اگه سازمان خواست کد پرسنلی ها رو تغییر بده چی؟
من میخوام یه سیستم پرسنلی طراحی کنم خودم موندم الان کد پرسنلی رو کلید اصلی بگیرم یا یه IDدر نظر بگیرم؟؟؟
baktash.n81@gmail.com
چهارشنبه 24 آبان 1391, 07:41 صبح
با سلام
به نظر من یه فیلدIdentity برای کلید اصلی در نظر بگیرید ... و برای اینکه نام کاربری و کد پرسنلی تکراری نشه روشون ایندکس یونیک بزارید...
AMIBCT
چهارشنبه 24 آبان 1391, 16:01 عصر
همون طور که دوستان هم گفتند
بهتره که یک ستون اضافی به عنوان شناسه ایجاد کنید و کلید رو روی اون ستون قرار بدید
مقدار این ستون به صورت خودکار در سیستم وارد میشه
این روش حداقل سه مزیت داره
- عددی هست و مرتبسازی و جستجوی اون سریع هست
- حجمش کم هست و در جدولهای دیگه فضای کمی رو اشغال میکنه
- امکان تغییر کردن در این ستون وجود نداره و اشکالهای آینده در صورت تغییر کد به وجود نمیاد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.