IMANAZADI
جمعه 20 آذر 1394, 11:35 صبح
با سلام
قبل از هر چیز بگم این مثال هست و میدونم که طرح اصلی شامل خیلی آیتم های دیگه هست
فرض کنید میخواهیم یک دیتابیس ، جهت متریالهای(مواد) ورودی به انبار طراحی کنیم
و چون هر متریال یکسری مشخصه خاص خود را داره که با متریال دیگه متفاوت هست نمیتونیم به ازای هر متریال یک جدول در نظر بگیریم لذا من اومدم از متادیتا استفاده کنم
به این صورت که یک جدول در نظر گرفتم به نام tbl_attrib شامل آی دی و نام خاصیت
یک جدول در نظر گرفتم به نام tbl_material شامل آی دی و نام متریال
و یک جدول که ارتباط این دو جدول میباشد به نام tbl_total شامل آی دی ، آی متریال ، آی دی خاصیت و مقدار
که تا اینجا مشکلی نیست
جدول tbl_material
material name
id
pipe
1
plate
2
جدول tbl_attrib
attribute name
id
size
1
thickness-mm
2
lenght-mm
3
width
4
Height
5
dimention
6
weight
7
جدول tbl_total
value
id_attrib
id_material
id
4"
1
1
1
12.7
2
1
2
1500
3
1
3
2200
4
2
4
1400
3
2
5
5
2
2
6
در جدول نهایی ما اطلاعات دو نمونه متریال رو وارد کردیم
lenght
thickness
size
material
1500
12.7
4
pipe
thickness
lenght
width
material
5
1400
2200
plate
حالا اگر بخواهیم یک متریال مثل pipe جدید اضافه کنیم جدول شبیه زیر میشه
value
id_attrib
id_material
id
4"
1
1
1
12.7
2
1
2
1500
3
1
3
2200
4
2
4
1400
3
2
5
5
2
2
6
4"
1
1
7
14.5
2
1
8
1850
3
1
9
4"
1
1
10
16
2
1
11
2500
3
1
12
که الان یه بهم ریختگی بوجود میاد که اگر بخواهیم گزارش بگیریم نمیدونیم که لوله 4" ضخامتش (thickness) ، چیست ؟ 12.7 هست یا 14.5 یا سایر آیتم ها
اینم بگم که فرم ورود اطلاعات شامل 3 ورودی و یک کلید است که
اولین ورودی یک کمبوباکس هست که نامهای متریال رو نشون میده ، و با توجه به متریال انتخاب شده کد اونو از تو جدول پیدا میکنه
دومین کمبوباکسکه خصوصیات رو نشون میده و با انتخاب کاربر کد اونو از جدول استخراج میکنه
و یک تکس باکس که مقدار عدد با توجه به دو انتخاب قبلی میگیره و
و یک باتن که هنگامی که کلیک میشه این اطلاعات رو در جدول نهایی ثبت میکنه
و با توجه به اینکه فرم ورود همزمان توسط چندین نفر در حال وارد کردن دیتا می باشد (تحت شبکه )
راه حل شما برای این مشکل چیه ؟؟؟
میدونم که در جدول نهایی باید یک فیلد باشه که اطلاعات رو متمایز کنه
تنها چیزی که خودم به ذهنم میرسه اینه که وقتی کاربر باتن رو کلیک میکنه ایتدا یک کد یونیک تولید بشه و در ستون جدید ثبت بشه
قبل از هر چیز بگم این مثال هست و میدونم که طرح اصلی شامل خیلی آیتم های دیگه هست
فرض کنید میخواهیم یک دیتابیس ، جهت متریالهای(مواد) ورودی به انبار طراحی کنیم
و چون هر متریال یکسری مشخصه خاص خود را داره که با متریال دیگه متفاوت هست نمیتونیم به ازای هر متریال یک جدول در نظر بگیریم لذا من اومدم از متادیتا استفاده کنم
به این صورت که یک جدول در نظر گرفتم به نام tbl_attrib شامل آی دی و نام خاصیت
یک جدول در نظر گرفتم به نام tbl_material شامل آی دی و نام متریال
و یک جدول که ارتباط این دو جدول میباشد به نام tbl_total شامل آی دی ، آی متریال ، آی دی خاصیت و مقدار
که تا اینجا مشکلی نیست
جدول tbl_material
material name
id
pipe
1
plate
2
جدول tbl_attrib
attribute name
id
size
1
thickness-mm
2
lenght-mm
3
width
4
Height
5
dimention
6
weight
7
جدول tbl_total
value
id_attrib
id_material
id
4"
1
1
1
12.7
2
1
2
1500
3
1
3
2200
4
2
4
1400
3
2
5
5
2
2
6
در جدول نهایی ما اطلاعات دو نمونه متریال رو وارد کردیم
lenght
thickness
size
material
1500
12.7
4
pipe
thickness
lenght
width
material
5
1400
2200
plate
حالا اگر بخواهیم یک متریال مثل pipe جدید اضافه کنیم جدول شبیه زیر میشه
value
id_attrib
id_material
id
4"
1
1
1
12.7
2
1
2
1500
3
1
3
2200
4
2
4
1400
3
2
5
5
2
2
6
4"
1
1
7
14.5
2
1
8
1850
3
1
9
4"
1
1
10
16
2
1
11
2500
3
1
12
که الان یه بهم ریختگی بوجود میاد که اگر بخواهیم گزارش بگیریم نمیدونیم که لوله 4" ضخامتش (thickness) ، چیست ؟ 12.7 هست یا 14.5 یا سایر آیتم ها
اینم بگم که فرم ورود اطلاعات شامل 3 ورودی و یک کلید است که
اولین ورودی یک کمبوباکس هست که نامهای متریال رو نشون میده ، و با توجه به متریال انتخاب شده کد اونو از تو جدول پیدا میکنه
دومین کمبوباکسکه خصوصیات رو نشون میده و با انتخاب کاربر کد اونو از جدول استخراج میکنه
و یک تکس باکس که مقدار عدد با توجه به دو انتخاب قبلی میگیره و
و یک باتن که هنگامی که کلیک میشه این اطلاعات رو در جدول نهایی ثبت میکنه
و با توجه به اینکه فرم ورود همزمان توسط چندین نفر در حال وارد کردن دیتا می باشد (تحت شبکه )
راه حل شما برای این مشکل چیه ؟؟؟
میدونم که در جدول نهایی باید یک فیلد باشه که اطلاعات رو متمایز کنه
تنها چیزی که خودم به ذهنم میرسه اینه که وقتی کاربر باتن رو کلیک میکنه ایتدا یک کد یونیک تولید بشه و در ستون جدید ثبت بشه