تعریفش تو اینترنت زیاد هست
ولی زیاد ازشون سردرنمیارم
تعریفش تو اینترنت زیاد هست
ولی زیاد ازشون سردرنمیارم
شما یه لحظه خودتون رو به جای موتور SQL بذار متوجه میشید
جدولی مثل جدول زیر براتون تعریف شده:
نام نام خانوادگی شماره ملی علی پرتویی 200×××××23 حسین پرتویی 00×××××214 حسین دلشاد 21×××××632 علی رمضانی 201×××××96 علی بابایی 19×××××744
برای پیدا کردن یک رکورد جدول، چه جوری راحت ترید عمل کنید؟ از چه نقطه ای میخواهید شروع کنید؟ با چه الگوریتمی میخواهید پیدا کنید؟
.
.
.
مجبورید ستونی را انتخاب و تک تک ردیف ها را بر اساس مقدار آن بازیابی کنید. اما کدام ستون رو انتخاب کنیم؟
در این مثال اگه ستون نام رو انتخاب کنید فقط 2 رکورد قابل بازیابی هست چون موتور، فرق علی اول با علی چهارم و پنجم رو نمیفهمه. (مثل اندیس آرایه میمونه در یک اندیس دوتا مقدار نمیگنجد، فقط یک مقدار با اندیس i قابل بازیابیه)
پس به خاطر اینکه تضمین کنیم تمام رکورد های جدول قابل بازیابی هستند و به علت تکراری بودن، رکوردی غیر قابل بازیابی نمیشه... باید ستونی را مشخص کنیم که هیچکدام از مقادیرش مثل هم نیست و جستجو رو بر اساس اون انجام بدیم. چون موتور SQL نمیدونه کدوم یکی چنین خاصیتی رو میتونه داشته باشه، ما اون فیلد را باید به موتور بانک اطلاعاتی معرفی کنیم(به عنوان کلید اصلی).
مثلا شماره ملی میتونه کلید اصلی این جدول باشه (کاری به طولش نداریم) چون هر فردی شماره ملی منحصر به فردی داره و در مثال فوق هر 5 رکورد قابل بازیابیه.
دیگه ساده تر از این نمیشد!
آخرین ویرایش به وسیله سوداگر : پنج شنبه 14 فروردین 1393 در 03:39 صبح
واقعادیگه ساده تر از این نمیشد!
مرسی
و یا ترکیب چن تا ستون باهممجبورید ستونی را انتخاب و تک تک ردیف ها را بر اساس مقدار آن بازیابی کنید.
به اون میگن کلید مرکب(Composite key). انواع کلیدو یا ترکیب چن تا ستون باهم