PDA

View Full Version : نگهداری اطلاعات n محصول



Farhad.B.S
یک شنبه 10 خرداد 1383, 17:54 عصر
با سلام ،
یک کمپانی بزرگ رو در نظر بگیرید که محصولات مختلف - زیاد و بسیار متنوعی تولید میکنه ( به عنوان مثال از تایرماشین گرفته تا دوربین دیجیتال ) .
این کمپانی میخواد محصولاتش رو در یک دیتابیس قرار بده . در این دیتابیس باید تمامی محصولات به همراه تمامی مشخصاتشون ثبت بشند (از سایز
تایر ها گرفته تا کیفیت تصویری که دوربین های ذکر شده در اون به گرفتن تصاویر می پردازند) .
از اونجایی که تعداد محصولات بسیار زیاد هستش ، امکان ساخت تیبل برای هر محصول و حتی محصول های مشابه وجود نداره .
راه حل مسئله فوق چیه ؟؟

ممنون.

faramarz_s
یک شنبه 10 خرداد 1383, 20:41 عصر
امکان ساخت تیبل برای هر محصول و حتی محصول های مشابه وجود نداره
چرا Category بندی نمی کنید؟
اگر نمیشود ....
ذخیره داده های هم گن(بالاخره یه اشتراکی دارن :lol: ) را بصورت binary ذخیره نمودن ممکن است راهکاری باشد :roll: :wink:

sh
یک شنبه 10 خرداد 1383, 20:42 عصر
یه تیبل بساز با تمامی فیلدهائی که کالاها به آن نیاز دارن و بعد کالاها رو کد گذاری کن و توی این جدول پشت سر هم اطلاعات رو ذخیره کن و مشکلی هم نداری میتونی هر جور بخوائی گزارش هم بگیری

Mohammad S
سه شنبه 12 خرداد 1383, 11:23 صبح
یه تیبل بساز با تمامی فیلدهائی که کالاها به آن نیاز دارن و بعد کالاها رو کد گذاری کن و توی این جدول پشت سر هم اطلاعات رو ذخیره کن و مشکلی هم نداری میتونی هر جور بخوائی گزارش هم بگیری

اینجوری حجم جدول زیاد می شود چون تعدادی (شاید زیاد) فیلد تهی خواهیم داشت. همچنین مدیریت آنها هم سخت خواهد شد. (از نظر ورود اطلاعاتی که حتما باید وارد شودند و آنهایی که لازم نیست حتما وارد شوند، Null) .
البته اگر فیلدهای تکراری طوری باشد که بتوان از باینری استفاده کرد به هر حال شاید این افزایش حجم قابل گذشت باشد.

در کل طراحی این گونه بانکها کار سختی است؟! شاید بعضی از دوستان تجربه این گونه کارها را داشته باشند. :roll:

sh
سه شنبه 12 خرداد 1383, 16:22 عصر
در بانک اطلاعاتی اکسس یه فیلد به نام memo هست که حجم اولیه اون میتونه 0 باشه احتمالا در اسکیوال سرور هم هست میتونی از این فیلد کنی و مشکل وجود فضای خالی برای رکوردهای که اطلاعات کمتری دارن نخواهی داشت

البته باید راه بهتری هم باشه

Farhad.B.S
سه شنبه 12 خرداد 1383, 19:37 عصر
با تشکر ...


چرا Category بندی نمی کنید؟
فرامرز جان داده های cat بندی شده است ، ولی برای نگهداری مشخصات این اجناس کاملا متمایز چه کار میشه کرد ؟

ذخیره داده های هم گن(بالاخره یه اشتراکی دارن ) را بصورت binary ذخیره نمودن ممکن است راهکاری باشد

اون موقع باید قید خیلی از عمیات روی این داده ها ، از جمله سورت و جستجو و ... رو زد.


یه تیبل بساز با تمامی فیلدهائی که کالاها به آن نیاز دارن و بعد کالاها رو کد گذاری کن و توی این جدول پشت سر هم اطلاعات رو ذخیره کن و مشکلی هم نداری میتونی هر جور بخوائی گزارش هم بگیری
بله ، منطقی ترین راهی که به فکر خودم هم رسید همین بود ، ولی اگه فقط 100 کالای متفاوت داشته باشیم و هر کالا هم فقط 4
خصوصیت داشته باشه ، اون موقع تعداد فیلد های این جدول به 400 میرسه !! که فکر نمیکنم در این موقعیت راه چندان جالبی باشه.
همینطور ، اگه قرار باشه با اضافه شدن هر کالای جدید ، ساختار این جدول تغییر کنه ، به سختی میشه به برنامه هایی که بر پایه اطلاعات
قبلی کار میکردند اطمینان کرد.

------------------
حدود یک ربع پیش راه حلش رو زیر دوش ! (:D) پیدا کردم ، در اولین فرصت خواهم نوشت.

Farhad.B.S
سه شنبه 12 خرداد 1383, 21:39 عصر
برای نگهداری این اطلاعات به 3 جدول نیاز داریم :
1.یک جدول برای نگهداری خود اجناس (tblProducts) .
2.یک جدول برای نگهداری مشخصات اجناس (tblProfiles) .
3.یک جدول برای نگهداری "خصوصیات" . این جدول دارای رکورد هایی مانند وضوح تصویر یا وزن یا ... میتونه باشه (tblProperties) .

phantasm
چهارشنبه 13 خرداد 1383, 02:56 صبح
:تشویق:

جالب بود.باید دید در عمل کارایش چطوره. :roll:

الهام تفریشی
چهارشنبه 13 خرداد 1383, 07:30 صبح
در بانک اطلاعاتی اکسس یه فیلد به نام memo هست که حجم اولیه اون میتونه 0 باشه احتمالا در اسکیوال سرور هم هست
بله هست
اگر شما نوع فیلد رو از نوع VAR انتخاب کنید یعنی به جای char از VarChar رو باید انتخاب کنید که اگر هم بخواهید یونیکد استفاده کنید که NVarChar انتخاب کنید
حجم فیلد شما به مقداری که داخل اون مقدار هست , فضا اشغال میکنه