يتم استخدام ISBNs كمفتاح أساسي ، والآن أريد إضافة أشياء غير كتاب إلى DB - هل يجب أن أنقل إلى Ean؟

StackOverflow https://stackoverflow.com/questions/2610000

سؤال

لقد قمت ببناء قاعدة بيانات جرد حيث أرقام ISBN هي المفاتيح الأساسية للعناصر. هذا عمل بشكل رائع لفترة من الوقت لأن العناصر كانت كتب. الآن أريد إضافة غير الكتب. بعض من غير الكتب لها eans أو ISSNs ، بعضها لا.

إنه في PostgreSQL مع تطبيقات Django لـ Frontend و JSON API ، بالإضافة إلى عدد قليل من أدوات خط أوامر Python للإدارة. العناصر المعنية هي في الغالب كتب ومطبوعات فنان ، بعضها منشور ذاتيا.

ما هو لطيف في استخدام ISBNS كمفاتيح أساسية هو أنه في أعلى النزاهة العلائقية ، يمكنك الحصول على الكثير من الأدوات المساعدة المفيدة للتحقق من صحة ISBNS ، والبحث تلقائيًا في مفقودة أو معلومات إضافية على عناصر الكتاب ، وما إلى ذلك ، والتي استفدت منها الكثير منها . بعض هذه الأدوات هي على الرف (pyisbn ، pyaws ، إلخ) وبعضها يدوي يدويًا-حاولت الحفاظ على كل هذه الأجزاء لطيفة ومفصلة ، لكنك تعرف كيف يمكن أن تحصل الأمور.

لم أتمكن من العثور على أي شيء عبر الإنترنت حول "ISBNs الخاصة" أو "ISBNs المعينة ذاتيًا" ، لكن هذا هو الشيء الذي كنت مهتمًا به. أشك في أن هذا ما سأستقر عليه ، حيث يوجد بالفعل تشغيل واضح على أرقام ISBN.

هل يجب علي إعادة تجهيز كل شيء بالنسبة لأرقام EAN ، أو ترحيل ISBNs كمفاتيح أساسية بشكل عام؟ إذا كان لدى أي شخص أي خبرة في العمل مع هذه الأنظمة ، فأنا أحب أن أسمع عنها ، نصيحتك موضع ترحيب كبير.

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

المحلول

إذا كنت تستخدم ISBN-10s ، فعليك بالتأكيد أن تهاجر إلى شيء آخر ، حيث يتم إهمالها بالفعل. يمكنك بسهولة تناول ISBN-10s وتحويلها إلى ISBN-13S (انظر ويكيبيديا) ، والتي أعتقد أنها متوافقة مع EAN (مرة أخرى ، انظر ويكيبيديا) ، ولكن كما يقترح The_Lotus ، من الأفضل أن يكون لديك نوع من عدد صحيح تلقائيًا دون أي معنى خارجي كمفتاح أساسي ثم فهرس على EAN/ISBN/etc.

نصائح أخرى

لا أعرف Postgres ولكن عادةً ما يكون ISBM مفتاحًا فريدًا فريدًا ولكن ليس الأساسي. من الأفضل أن يكون لديك عدد صحيح كمفتاح أساسي/خارجي. وبهذه الطريقة تحتاج فقط إلى إضافة حقل جديد EAN/ISSN على أنه لا لبس.

وأنا أتفق مع the_lotus ، ليس أقلها لأن ISBN خيار ضعيف للمفتاح الأساسي

البيانات الحكيمة ، قد لا تكون فريدة بما فيه الكفاية. إذا تجمعت ، فهي واسعة جدا وغير رقمية

مثال

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

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