سلام خدمت تمامی دوستان . چون تاپیک "جستجو برای سایت فروش سخت افزار " توسط مدیر محترم بسته شد گفتم تاپیک جدیدی باز کنم تا به نتیجه گیری کامل تری برسیم .
موضوع بر سر طراحی بانک اطلاعاتی برای سایت فروشگاه بود و دوست خوبم Chabok نظرشون این بود :
نظر ایشون کاملا منطقی و خوب بود اما در قسمت محصولات یک مشکلی وجود داشت :از نظر من بهترین طراحی به گونه ای است که فقط 2 تا تیبل داشته باشین
یکی برای گروهها و زیر گروهها (نامحدود)
و یکی هم برای قطعات
در جدول گروهها باید چنین تکنیکی پیاده کنید :
یک فیلد اصلی برای هر گروه : ID
و یک فیلد به عنوان پدر : ParentID
+ بقیه فیلدهای لازم
که هر گروه یک کد برای خودش داره و یک کد هم پدرش رو مشخص میکنه (یا مادر ) یعنی همون گروه رو .
قطعات هم یک کد برای خودشون دارن و یک کد هم به عنوان گروهشون + بقیه فیلدهای لازم.
که دوستانمون 2 نظر داشتند :اینجا یک سوال پیش میاد تمام قطعات که مشخصات یکسانی ندارند مثلا برای MP4 Player ما باید یک فیلدی داشته باشیم که سایز LCD رو توش بزنیم مثلا LCD_size حال توی این جدول ما برای CPU که نمیتونیم برای این فیلد مقداری داشته باشیم . برای خصوصیات قطعات باید چجوری عمل کنم ؟
نظر اول :
نظر دوم :شما اصلا یه فیلد کلی برای مشخصات اضاف کنید و با یه ادیتور توش چیز بنویسید .
اما اگر از Sql server 2000 استفاده میکنیم تکلیف چیست ؟اگر از SQL 2005 استفاده می کنید فیلد از نوع XML برای همین جور کارهاست.
آیا به جز استفاده از ادیتور راه دیگری هم هست که بتوان برای هر گروه اصلی خصوصیات مشخصی را تعریف کرد ؟