PDA

View Full Version : تحلیل دیتابیس یرای فروشگاه اینترتی



sadegh.te
شنبه 27 دی 1393, 14:57 عصر
سلام دوستان من میخوام که دیتابیس یک فروشگاه اینترنتی رو که ویژگیهای زیر رو داشته باشه طراحی کنم ممنون میشم کمکم کنید؟ فروشگاه من سناریو کلیش مثل سایت دیجی کالا هستش و کالا های دیجتال رو برای فروش میزارم.
1-فروش انواع کالای دیجیتال مثل موبایل و تبلت و لپ تاپ و کامپیوتر و دوربین عکاسی و لوازم خانگی
2-امکان ثبت نظر برای هر کالا
3-دادن امتیاز یا همان LIKE به هر کالا
4-دادن پروفایل به کاربران که شامل موقعیت کالای سفارش داه شده ی آنها می باشد یعنی کالا در چه مرحله ای است و ...
5-انبار برای محصولات
6-فاکتور خرید
7-فاکتور فروش
8-نوع پست
9-جدول ویژگی کالاها چون ویژگی هر کالا با کالای دیگه متفاوت است.
اگه باز چیز دیگه ای هست که باید اضافه بشه بگید ممنون . من تو طراحی دیتابیس مشکل دارم خواهشا کمک کنید که دیتابیس خوبی طراحی کنم با تشکر.

aminmousavi
یک شنبه 28 دی 1393, 00:30 صبح
سلام دوست عزیز . خوب شما کل er و اطلاعتی که پیاده سازی کردی ( یا اونجاهایی که شک داری) رو قرار بده . تا بشه روش بحث کرد و نظر داد . همچین سناریویی رو به n روش میشه پیاده سازی کرد .

sadegh.te
یک شنبه 28 دی 1393, 12:47 عصر
من تو قسمت محصولات و ویژگیها مشکل دارم نویدونم چطور پیاده سازیش کنم؟

Borland.C
پنج شنبه 02 بهمن 1393, 15:56 عصر
من تو قسمت محصولات و ویژگیها مشکل دارم نویدونم چطور پیاده سازیش کنم؟

همون طور که آقای aminmousavi (http://barnamenevis.org/member.php?338620-aminmousavi) گفتند n راه هست بستگی به خودتون داره.
اگه ویژگی های کالاها ثابت هستن یک جدول با ستون های مشخصات ایجاد کن بعد برای کالاها کلید خارجی تعیین کن,ولی در حالت کلی فکر می کنم بهتری کار (با نگاه به آینده) این باشه که از مشخصات هر کالا یک آرایه بسازی و در یک فیلد مشخصات به صورت متن json ذخیره کنی این جوری دستتون خیلی باز میشه
ولی درکل بستگی به سیاست های خوتون داره سوالتتون خیلی کلی هست
بهتره سناریو ها تک تک پیشنهاد کنید تا رو آنها بحث بشه

sadegh.te
پنج شنبه 02 بهمن 1393, 17:17 عصر
خوب معلومه که همه ویژگیها باهم فرق دارن فرضا گوشی سامسونگ نوت 3 ویزگیهاش بایه گوشی ساده فرق داره و یا به صورت کلی تر بگم که ویژگی های یخچال با موبایل یا لپ تاپ فرق داره من تو این قسمتش دچار مشکل شدم؟

aminmousavi
پنج شنبه 02 بهمن 1393, 17:54 عصر
میتونی از این روش استفاده کنی (سادست و با پیچیدگی کم که برای فروشگاه های کوچیک مناسبه ) :
فرض میگیریم یک جدول داری به اسم product که کلیه محصولات توش ذخیره میشه .
یک جدول دیگه داری به اسم Attribute که خاصیت ها توش ذخیره میشه . مثلا : باتری 6 سل ، ال سی دی 17 ، رم 4 ، و ...
یک جدول داری به اسم AttributeAssignment که خاصیت ها رو به product ها وصل میکنی ، فیلد هاش میشه :
id
idprodct
idAttribute
موقع نمایش محصول selct میزنی توی AttributeAssignment میبنی چه خاصیت هایی داره .

sadegh.te
پنج شنبه 02 بهمن 1393, 22:30 عصر
میتونی از این روش استفاده کنی (سادست و با پیچیدگی کم که برای فروشگاه های کوچیک مناسبه ) :
فرض میگیریم یک جدول داری به اسم product که کلیه محصولات توش ذخیره میشه .
یک جدول دیگه داری به اسم Attribute که خاصیت ها توش ذخیره میشه . مثلا : باتری 6 سل ، ال سی دی 17 ، رم 4 ، و ...
یک جدول داری به اسم AttributeAssignment که خاصیت ها رو به product ها وصل میکنی ، فیلد هاش میشه :
id
idprodct
idAttribute
موقع نمایش محصول selct میزنی توی AttributeAssignment میبنی چه خاصیت هایی داره .

امین جان این روشی که تو گفتی فیلد خالی زیاد میشه و تاثیر خیلی بدی رو دیتابیس داره من میخوام روشی باشه که حداقل فیلد خالی رو بده و آنومالی نداشته باشه چون فروشگاه کوچیک نیست و داده هاش خیلی زیاده چون تعداد محصولات زیاده مثل
انواع برند موبایل مثل سامسونگ و ال جی و ...
انواع برند تبلت مثل اپل و سامسونگ و ...
انواع برند لپ تاپ مثل سونی و ...
انواع برند دوربین
انواع لوازم خانگی مثل تلوزیون و یخچال و ...
و اگه من بخوام کل این محصولات رو با روش بالا تو دیتابیس ذخیره کنم خیلی بد میشه.
بنظرت باید با چه روشی جدول مناسبش رو درست کنم؟

aminmousavi
پنج شنبه 02 بهمن 1393, 22:51 عصر
فیلد خالی زیاد !!!!!!!! اصلا فیلد خالی نداره این روش .
جدول product که چیزاهای اساسی مثل : قیمت و اسم و ...
جدول Attribute : نام و مقدار
جدول AttributeAssigment : ای دی کالا ، ای دی attribute

به روش هایی که مطرح میشه بیشتر توجه کن دوست عزیز .

sadegh.te
پنج شنبه 02 بهمن 1393, 23:49 عصر
یعنی شما میگید که جدول Attribute فقط سه فیلد داشته باشه؟
مثل:
attribute id_attribute id_product
1________ 1________ RAM
1________ 2________ CPU
1________ 3 _______ Display
1________ 4________ Memory
2________ 5________ HDD
2________ 6 ________ RAM
2________ 7 ________ Graohic
و....
میشه یکم مسئله رو باز کنی؟ ممنون

sadegh.te
جمعه 03 بهمن 1393, 10:50 صبح
فیلد خالی زیاد !!!!!!!! اصلا فیلد خالی نداره این روش .
جدول product که چیزاهای اساسی مثل : قیمت و اسم و ...
جدول Attribute : نام و مقدار
جدول AttributeAssigment : ای دی کالا ، ای دی attribute

به روش هایی که مطرح میشه بیشتر توجه کن دوست عزیز .

آیا منظور شما روش زیر هستش؟

کالا ( شماره کالا ، نام نوع )
مشخصات ( شماره مشخصه ، ...)
ویژگی ها ( شماره کالا ، شماره مشخصه، مقدار )

مثال :
کالا ( 1001، موبایل )
( 1002،ماشین لباس شویی)
..........

مشخصات ( 11001، رنگ )
( 11002، صفحه نمایش )
..........

ویژگی ها ( 1001، 11001، سبز)
( 1001، 11002، 5 اینچ )
.............

aminmousavi
شنبه 04 بهمن 1393, 13:09 عصر
نه دوست عزیز .
فرض کن کن :
produt {id , name , price}
10 ، گوش سامسونگ مدل 11 ، 100000

Attribute {id , name , value}

id=1
name=cpu
value=DualCore

id=2
name=cpu
value=CoreI2

id=3
name=Blutooth
value=RB1023932

id=4
name=Inch
value=14

id=5
name=Inch
value=15


بعدش این مقدار ها رو به محصولات انتساب میدی :
id=1
idproduct=10
idAttribute=5

id=1
idproduct=10
idAttribute=2

aminmousavi
شنبه 04 بهمن 1393, 13:11 عصر
البته باید توجه کنی که بهتر از این هم میشه نوشت ، این جزو ساده ترین روش هاست که مقدار های زیادی برای هر محصول داری . که مسلما ایده آل نیست .

sadegh.te
شنبه 04 بهمن 1393, 13:59 عصر
ممنون ولی با این روش شما باید انواع اینچ و انواع CPU و .... باید تو جدول Attribute تعریف کنیم .

چطور میتونم با یه روش بهینه تر درستش کنم؟ ممنون میشم کمکم کنی.

جواد نوری
سه شنبه 11 فروردین 1394, 02:23 صبح
سلام خدمت دوستان
با اجازه ی اساتید به نظر من، بهرته یه جدول به نام محصولات داشته باشی با فیلدهای لازمه مثلا (ID,name)
و جدولی به نام مشخصات با این فیلدها(ID,productID,name,value)
مثلا در جدول محصولات
1 dell vostro 1520
2 dell vostro 1540
...
جدول خصوصیات
1 1 i3 2.6Hz CPU
1 1 4GB RAM
1 1 15.2inch monitor
2 2 ....
.
.
.
اینطوری هم برای خصوصیات دستت بازتره و هم یک جدول کمتر استفاده میشه

ashkandehnavi
دوشنبه 07 اردیبهشت 1394, 22:35 عصر
میتونی از این روش استفاده کنی (سادست و با پیچیدگی کم که برای فروشگاه های کوچیک مناسبه ) :
فرض میگیریم یک جدول داری به اسم product که کلیه محصولات توش ذخیره میشه .
یک جدول دیگه داری به اسم Attribute که خاصیت ها توش ذخیره میشه . مثلا : باتری 6 سل ، ال سی دی 17 ، رم 4 ، و ...
یک جدول داری به اسم AttributeAssignment که خاصیت ها رو به product ها وصل میکنی ، فیلد هاش میشه :
id
idprodct
idAttribute
موقع نمایش محصول selct میزنی توی AttributeAssignment میبنی چه خاصیت هایی داره .

سلام
ببخشید میشه یه روش مناسب تر برای داده های بیشتر بدید
ممنون میشم