PDA

View Full Version : پایگاه داده ای پویا !



Jmoghanloo
شنبه 25 مرداد 1393, 18:50 عصر
سلام دوستان
مشکلی توی طراحی ‍پایگاه داده داشتم که اگر لطف کنید همراهی و همکاری کنید یک ملت را از خودتون راضی می کنید .
و اما ....
من می خوام جدولی داشته باشم که تعداد فیلدهاش متغیر باشه !
یعنی یه رکوردم مثلا 5 فیلد رکورد دیگرم 14 فیلد داشته باشه
به شرطی که هر فیلدی توی هر رکوردی معنی خودشو داشته باشه و منم بتونم بعدا مدیریتش کنم
در ضمن این که هر رکوردی چند فیلد داشته باشه به عهده کاربر نهایی باشه ولی یه راهکاری هم بزاریم که کاربر تعریف کنه فیلد یک معرف چیست و فیلد دو معرف چیست .
مثال من میخوام خصوصیات اجناسی که میفروشم رو دخیره کنم و اجناس من خصوصیات کاملا متفاوتی دارند مثلا هارد کامپیوتر با ریکا اصلا مشترکات زیادی با هم ندارن خب شاید بگید بهتره اجناس رو دسته بندی کنم و برای هر دسته با خصوصیات مشترک یه جدول بزارم .
اولا من نمیدونم چند دسته داریم و خواهیم داشت .

hamid_hr
یک شنبه 26 مرداد 1393, 18:15 عصر
برا مثالی که زدید نظر من
یه سری مشخصات همه اجناس دارند مثل نام جنس
اونا رو تو یه جدول بزارید با فیلد های Name, ...................
اونایی که میخواین دست کاربر باشه
یه جدول بسازید اینطوری
ID که کلید خارجی به جدول اول
PropertyName نام خصوصیت هست
PropertyValue ارزش خصوصیت هستش

مثلا برا حجم هارد رکوردش میشه


ID = X
PropertyName = "حجم"
PropertyValue = "1TB"


برا وزن مایع ظرفشویی هم میشه


ID = X
PropertyName = "وزن"
PropertyValue = "1 کیلوگرم"

joker
یک شنبه 26 مرداد 1393, 20:27 عصر
اگه این کارو بکنی ( برفرض اینکه یک جدول بتونه هر رکوردش تعداد خاصی فیلد داشته باشه :متعجب: !!! * ) پس از مدتی یک دیگ ماکارونی داری که هیچ گزارشی ازش نمیتونی بدست بیاری...
فکر میکنم کلا راه را داری توی طراحی دیتابیست اشتباه میری...

Jmoghanloo
دوشنبه 27 مرداد 1393, 18:24 عصر
دستت درد نکنه حمید جان
منم دقیقا به همچین نتیجه ای رسیده بودم
ولی روشی که گفتی خیلی زیباست
با این روش یه راهی هست که بشه از جدول دوم که دست کاربر هست گزارش بگیری فقط الان تو ذهنمه به جواب رسیدم حتما همینجا میزارم یه نطری بدی
دمت گرم ...

Jmoghanloo
دوشنبه 27 مرداد 1393, 18:26 عصر
برا مثالی که زدید نظر من
یه سری مشخصات همه اجناس دارند مثل نام جنس
اونا رو تو یه جدول بزارید با فیلد های Name, ...................
اونایی که میخواین دست کاربر باشه
یه جدول بسازید اینطوری
ID که کلید خارجی به جدول اول
PropertyName نام خصوصیت هست
PropertyValue ارزش خصوصیت هستش

مثلا برا حجم هارد رکوردش میشه


ID = X
PropertyName = "حجم"
PropertyValue = "1TB"


برا وزن مایع ظرفشویی هم میشه


ID = X
PropertyName = "وزن"
PropertyValue = "1 کیلوگرم"


نقل قول: پایگاه داده ای پویا !
دستت درد نکنه حمید جان
منم دقیقا به همچین نتیجه ای رسیده بودم
ولی روشی که گفتی خیلی زیباست
با این روش یه راهی هست که بشه از جدول دوم که دست کاربر هست گزارش بگیری فقط الان تو ذهنمه به جواب رسیدم حتما همینجا میزارم یه نطری بدی
دمت گرم ...

Jmoghanloo
دوشنبه 27 مرداد 1393, 18:28 عصر
اگه این کارو بکنی ( برفرض اینکه یک جدول بتونه هر رکوردش تعداد خاصی فیلد داشته باشه :متعجب: !!! * ) پس از مدتی یک دیگ ماکارونی داری که هیچ گزارشی ازش نمیتونی بدست بیاری...
فکر میکنم کلا راه را داری توی طراحی دیتابیست اشتباه میری...

حاجی سوال رو بد نوشته بودم منظورم همین حرکتی بود که حمید توضیح داد

parvizwpf
دوشنبه 27 مرداد 1393, 18:37 عصر
چرا نمیرید سراغ json? یا NoSql ها