سؤال

هذا السؤال لديه بالفعل إجابة هنا:

هل يعرف أحد الأوراق / الكتب / الخ.أن أنماط الوثيقة لقواعد البيانات؟على سبيل المثال، إحدى القواعد الأساسية الشائعة هي أن كل جدول يجب أن يحتوي على مفتاح أساسي وأن يكون المفتاح كذلك خالية من محتوى المعلومات.لذلك كنت أتساءل عما إذا كان أي شخص قد كتب كتابًا أو نشر أوراقًا بحثية بخصوص أنماط التصميم لتصميم قواعد البيانات العلائقية؟


@ جايوس،

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

أعتقد أن الشيء الآخر الذي يجب مراعاته في سيناريو التصميم هذا هو من هو الذي سيرى المفتاح الأساسي؟إذا كان المفتاح الأساسي هو الشيء الذي سيحتاج المستخدمون النهائيون بالفعل إلى الرجوع إليه، فمن المنطقي جعله شيئًا يمكنهم فهمه.لكن لا يمكنني التفكير في العديد من الحالات التي يحتاج فيها المستخدم النهائي إلى رؤية المفتاح الأساسي؛عادةً ما يكون المفتاح الأساسي موجودًا للسماح لمحرك قاعدة البيانات بتسريع عمليات معينة.

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

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

المحلول

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

المزيد من الملاحظات العامة:

اقتراحات لتصميمات المخططات/نماذج البيانات لمختلف الأنشطة التجارية:ديفيد سي.القش:أنماط نماذج البيانات:اتفاقيات الفكر قديمة إلى حد ما ، ولكن هناك سبب لا يزال مطبوعًا
http://www.dorsethouse.com/books/dmp.html

ربما لا يشبه النمط كثيرًا، لكنه لا يزال جيدًا جدًا:ستيفان فارولت، بيتر روبسون:فن SQLhttp://oreilly.com/catalog/9780596008949/

شيء آخر يمكنني أن أوصي به:فاديم تروباشكو:أنماط تصميم SQL - دليل الخبراء لبرمجة SQLhttp://www.rampant-books.com/book_2006_1_sql_coding_styles.htm

كتاب منهجي حول نمذجة البيانات:جرايم سيمسيون وجراهام ويت، "أساسيات نمذجة البيانات"http://www.elsevierdirect.com/product.jsp?isbn=9780126445510

ربما كنت تبحث بالفعل عن "دليل الأسلوب"؟أنا تلك الحالة:جو سيلكو:أسلوب برمجة SQLhttp://www.elsevierdirect.com/product.jsp?isbn=9780120887972

نصائح أخرى

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

الرياضيات التطبيقية لمحترفي قواعد البيانات بقلم ليكس دي هان وتون كوبيلارس.

في الواقع، أعتقد أن القاعدة الأساسية هي عادةً استخدام مفتاح طبيعي بدلاً من بديل كلما أمكن ذلك...

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

على كل حال نرجع للسؤال الأصلي..يجب أن يساعدك رابط hometoast على البدء.

-- كيفن فيرتشايلد

للإجابة بالضبط: نعم.هناك الكثير من المعلومات المكتوبة حول تصميم قاعدة البيانات "الجيد".على الرغم من أن القاعدة الأساسية التي تقدمها هي بالتأكيد موضع شك.

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

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

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