سؤال

منذ أن أعرف أن هناك الكثير من المصممين في قاعدة بيانات الخبراء هنا، قررت أن أسأل هذا السؤال على Stackoverflow.

أقوم بتطوير موقع ويب مهمته الرئيسي فهرسة كل منتج متوفر في العالم الحقيقي، مثل الكاميرات الرقمية والطابعات والثلاجات وما إلى ذلك. كما نعلم، كل منتج له مواصفاته الخاصة. على سبيل المثال، تحتوي الكاميرا الرقمية على وزنها، عدسة، سرعة الغالق، إلخ. كل مواصفات لديها نوع. على سبيل المثال، السعر (أراه مثل المواصفات) هو رقم.

أعتقد أن الطريقة الأكثر عموما هي إنشاء أي مواصفات مطلوبة لمنتج محدد بنوعه الصحيح وتعيينه للمنتج. لذلك بالنسبة لكل سعر منتج منفصل يجب إنشاؤه ويجب تعيين رقم النوع عليه.

إذن هنا هو سؤالي، هل من الممكن الحصول على جدول للمواصفات مع جميع المواصفات الموجودة فيه، لذلك على سبيل المثال يتم إنشاء السعر مع نوع الرقم قبل ويحتاج فقط للبحث عن السعر في الجدول وتعيينه للمنتج. المشكلة في هذه الطريقة هي أنني لا أرى طريقة جيدة لمنع المستخدم من إنشاء إدخالات مكررة. يجب أن يكون قادرا على العثور على المواصين الذي يحتاجه (إذا تمت إضافته من قبل)، وأريد منه أيضا أن يعرف أن المواصة التي يجدها هي في الواقع هو الشخص الذي يحتاجه، لأنه قد يكون هناك بعض المواصفات بنفس الاسم ولكن نوع مختلف والاستخدام. إذا لم يجدها، فسيخلقها.

أيه أفكار؟

---------------------------- تحديث --------------------- -------

سؤالي لا يتعلق بمرونة DB. أعتقد أن المستخدمين في الطريقة الثانية سوف يفسدون جدول المواصفات! سوف يخلقون ألف من الإدخالات المكررة وأعتقد أيضا أنهم لن يجدوا مواصفاتهم المناسبة.

هل كانت مفيدة؟

المحلول

نموذج البيانات المقترح الخاص بي يعتمد على الاحتياجات الخاصة بك:

SPECIFICATIONS جدول

  • SPECIFICATION_ID, ، PK.
  • SPECIFICATION_DESCRIPTION

هذا يسمح لك أن يكون لديك العديد من المواصفات، دون أن تعلق على عنصر.

ITEM_SPECIFICATION_XREF جدول

  • ITEM_ID, ، pk، fk ل ITEMS جدول
  • SPECIFICATION_ID, ، pk، fk ل SPECIFICATIONS جدول
  • VALUE, ، PK.

فوائد:

  1. مما يجعل المفتاح الأساسي لتكون مركب يضمن أن مجموعة القيم ستكون فريدة من نوعها في جميع الطاولة. نعمة أو لعنة، عنصر مع مواصفات معينة يمكن أن يكون له القيم 0.99 و 1.00 - ستكون هذه صالحة.
  2. يسمح هذا الإعداد بمرتبط مواصفات مع 0+ عناصر.

نصائح أخرى

لقد انتهيت للتو من الإجابة جيل الجدول الديناميكيالذي يناقش مشكلة مماثلة. نلقي نظرة على نمط الملاحظة. وبعد إذا قمت باستبدال "الملاحظة" عن طريق "المواصفات" و "الموضوع" عن طريق "المنتج" قد تجد هذا النموذج مفيدة - لن تحتاج إلى تقرير وجداول Rep_mm_obs.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top