ورود

View Full Version : ذخیره داده های اضافی در دیتابیس



mahak_f
شنبه 24 آذر 1386, 10:54 صبح
با سلام.
در قسمتی از برنامه شماره کارمندی رو از کاربر میگیرم و اطلاعات ورودی رو به نام اون کارمند (که به طور متوسط 100-200 هزار ردیف هست) درون دیتابیس ذخیره میکنم.
فیلدی برای ذخیره شماره دانشجویی در طراحی جدول قرار داده ام و مقدار شماره دانشجویی در تمام 100-200 هزار ردیف تکرار میشه. یعنی ذخیره اطلاعاتی که منطقی فقط یکبار در جدول گذاشته شه.
چنین کاری رو چطور در برنامم پیاده کنم؟ آیا لازمه در طراحی جدول هم تغییری ایجاد کنم؟

ir_programmer
شنبه 24 آذر 1386, 15:08 عصر
چرا شماره داشنجویی رو کنار کد و نام کارمند در جدول master قرار نمیدی؟ عجیبه والا....

mahak_f
یک شنبه 25 آذر 1386, 12:01 عصر
چرا شماره داشنجویی رو کنار کد و نام کارمند در جدول master قرار نمیدی؟ عجیبه والا....

شاید درست توضیح ندادم!
ببین من یه جدول برا اطلاعات معمولی کارمندا مثل شماره کارمندی/ نام/.... دارم.
حالا کارمندی با شماره کارمندی x رفته معموریت و من میخوام اطلاعات ریزی که اونجا از مسیر مثلا به من برگردونده به نام خودش تو یه جدول دیگه ذخیره کنم. یکی از فیلدهای این جدول شماره کارمندی کسیه که این ماموریت رو رفته. خوب در هر رکورد این فیلد تکرار میشه و این درست نیست. چکار کنم؟

mehdia86
یک شنبه 25 آذر 1386, 12:47 عصر
با سلام
با توضیحی که دادی مشکلی وجود نداره و تکرار کلید خارجی در جدول Detail که در این جا کد کارمندیه ، داده اضافی محسوب نمیشه چون برای شناسایی رکوردهای ماموریت هر کارمند باید شماره کارمندی اون رو نیز ذخیره کرد.

موفق باشید

mahak_f
شنبه 22 دی 1386, 08:50 صبح
با سلام
با توضیحی که دادی مشکلی وجود نداره و تکرار کلید خارجی در جدول Detail که در این جا کد کارمندیه ، داده اضافی محسوب نمیشه چون برای شناسایی رکوردهای ماموریت هر کارمند باید شماره کارمندی اون رو نیز ذخیره کرد.

موفق باشید

آخه این کد کارمندی مثلا برای 30000 داده وروذی پشت هم تکرار میشه. راهی برای جلوگیری از این تکرار وجود نداره؟

SYNDROME
شنبه 22 دی 1386, 16:05 عصر
آخه این کد کارمندی مثلا برای 30000 داده وروذی پشت هم تکرار میشه. راهی برای جلوگیری از این تکرار وجود نداره؟
دوست عزیز به هر حال شما باید یک کلید داشته باشید تا در جدول Detail بتوانید رکوردهای کارمند مورد نظر را واکشی کنید.
موفق باشید

mr_moghimkhani
شنبه 22 دی 1386, 17:39 عصر
ببین شما منطقاً 30000 رکورد داری که به هم مرتبط هستند جدا از اینکه جدول Detail باید با master ارتباط داشته باشه، این 30000 رکورد باید به طور فیزیکی هم با هم ارتباط داشته باشند تا از بقیه به طور مجزا شناخته شوند. حال اگر اصراری به برداشتن شماره کارمندی در این جدول داری باید یک یا مجموعه ای از ستون ها برای این 30000 رکورد خاصیت کلید داشته باشند که با قرار دادن آن در Master بتوانی Relation را هم حفظ کنی.