PDA

View Full Version : فيلدهاي مشترک در چند جدول يا تبديل اين فيلدها به يک جدول



bftarane
یک شنبه 10 دی 1391, 20:19 عصر
سلام.
اگه چند تا فيلد داشته باشيم که در تعدادي از جداولمون به صورت مشترک وجود داشته باشن مثلاً جداولمون لازم باشه همشون فيلدهاي a,b,c رو داشته باشن،
بهتره اين چند فيلد رو تبديل به يک جدول کنيم و اين جدول رو با جداولمون ارتباط بديم يا به همه اونا اين چند تا فيلد رو اضافه کنيم؟ يعني جداول ما همه فيلدهاي a,b,c رو داشته باشن؟

mofid002006@gmail.com
یک شنبه 10 دی 1391, 20:26 عصر
بهتره یه جدول جدید درست کنید و این جدول رو به جدولای دیگه ارتباط بدین

baktash.n81@gmail.com
دوشنبه 11 دی 1391, 08:08 صبح
سلام دوست عزیز
بستگی داره ... اگه مثالا تاریخ درج رکورد یا کاربر ایجاد کننده است باید توی خود جدول بمونه ... حتی اگه اینجوری هم نباشه و فیلدها واقعا تکراری باشه ...
باید ببینید که میزان نیاز به اطلاعات جدول چقدر هست اگه برای هر رکوردی که می خواد بازیابی بشه باید باین جدول join انجام بشه ... و همه جداول هم باید همچین کاری رو انجام بدن پس شما دارید یه عمل join رو به بیشتر عملیات نرم افزارتون اضافه می کنید که با زیاد شدن تعداد رکوردها باعث کند شدن سیستم می شه ...
و البته برای جواب بهتر نیاز به اطلاعات بیشتری هست ...

bftarane
دوشنبه 11 دی 1391, 09:27 صبح
سلام.
ممنونم.
من اين سوال در اين لينک هم پرسيده بودم
http://www.aspforums.net/Threads/140582/Repeated-fields-in-multiple-tables-or-not/
اونجا کاملتر گفتم و جواب خيلي خوبي آقاي Mudassar به من دادن.
در واقع من متوجه شدم بايد براي فيلدهاي تکراري که در اينجا متاتگها هستند جدول جدا در نظر بگيرم ولي جدول واسطي نبايد وجود داشته باشه چون ارتباطهايي که با اين جدول قراره برقرار بشه يک به يک هستند.
و کاري که خواهم کرد اينه که فيلد کليد اوليه جدول tbl_meta در همه جداولي که به متاتگ ها نياز دارن ميشه کليد خارجي.
ممنونم مي دونم سوالاتم ابتدايي هستند ولي متأسفانه من از نظر علمي فعلاً خيلي ضعيف هستم.

mofid002006@gmail.com
سه شنبه 12 دی 1391, 00:26 صبح
کارتون درسته
اما این رو هم در نظر داشته باشین که نیازی نیست حتما ارتباط 1 به 1 باشه تا جدول واسط درست نشه اگه 1 به چند هم باشه همین اتفاق میفته
یعنی با کاری که شما می کنین(قرار دادن کلید tbl_meta به عنوان کلید خارجی جدول های دیگه) امکان این هست که یک رکورد از tbl_meta برای چند رکورد از جدول دیگه استفاده بشه و این کار درستیه