تصميم قواعد البيانات. أفضل الممارسات

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




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

1. حدد ما هو الجدول وما هيكله.




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

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

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

وكلما أسرع فريق التصميم في الإجابة على هذه الأسئلة ، كلما كانت عملية تصميم قاعدة البيانات أكثر نعومة وسلاسة.

2. ما البيانات لاختيار للتخزين؟




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

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

حتما ، سوف تتعارض احتياجات المستخدمين داخل قسم واحد حتى. إذا واجهت هذا ، فلا تخف من الاعتماد على تجربتك الخاصة وإيجاد حل وسط يناسب جميع الأطراف ويلبي الهدف النهائي لقاعدة البيانات. تأكد: في المستقبل ، + 100500 في الكرمة وجبل من ملفات تعريف الارتباط سوف يطير إليك.

3. نموذج البيانات بعناية




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

أثناء المحاكاة ، يتم بناء نماذج البيانات المفاهيمية (CDM) ، المادية (PDM) ، والمنطقية (LDM).

تصف النماذج المفاهيمية الكيانات وأنواع البيانات التي تتضمنها ، بالإضافة إلى العلاقات بينها. قسّم بياناتك إلى أجزاء منطقية - يسهل عليك العيش فيها.
الشيء الرئيسي هو التدبير ، لا تطرفه.

إذا كان من الصعب للغاية تصنيف كيان ما في كلمة أو عبارة واحدة ، فقد حان الوقت لاستخدام الأنواع الفرعية (الكيانات الفرعية).

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

إذا أهملت هذه القاعدة ، فسيشعر مطورو البرامج الآخرون بالارتباك في نموذجك ولن يفهموا تمامًا البيانات والقواعد ، وكيفية جمعها.

يتم تطبيق النماذج المفاهيمية باستخدام النماذج المنطقية. تشبه هذه النماذج خريطة طريق لتصميم قاعدة بيانات فعلية. في النموذج المنطقي ، يتم تمييز كيانات بيانات الأعمال ، ويتم تحديد أنواع البيانات وحالة مفتاح القاعدة التي تحكم العلاقة بين البيانات.

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

4. استخدام أنواع البيانات المناسبة




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

إنشاء الحد الأدنى من الأعمدة الفارغة بقيمة فارغة. إذا قمت بإنشاء جميع الأعمدة كـ NULL ، فهذا خطأ. إذا كنت بحاجة إلى عمود فارغ لأداء وظيفة تجارية محددة ، وعندما تكون البيانات غير معروفة أو لا معنى لها بعد ، فلا تتردد في إنشائها. بعد كل شيء ، لا يمكننا ملء أعمدة "تاريخ الوفاة" أو "تاريخ الفصل" مقدمًا ، فنحن لسنا متنبئين بتوجيه أصابع الاتهام إلى السماء :-).

تتيح لك معظم برامج تصميم النماذج (ER / Studio و MySQL Workbench و SQL DBM و gliffy.com) إنشاء نماذج أولية من مناطق البيانات. هذا لا يضمن فقط نوع البيانات الصحيح ، ومنطق التطبيق والأداء الجيد ، ولكن أيضًا القيمة المطلوبة.

5. تفضل الطبيعية




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

من الأفضل استخدام مفتاح طبيعي أو تجاري. فمن المنطقي ، لذلك تجنب الازدواجية في قاعدة البيانات.

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

6. تطبيع في الاعتدال




لتنظيم البيانات بشكل فعال في قاعدة البيانات ، يجب عليك اتباع مجموعة من التوصيات وتطبيع قاعدة البيانات. هناك خمسة أشكال طبيعية لمتابعة.
باستخدام التطبيع ، يمكنك تجنب التكرار وضمان سلامة البيانات المستخدمة في التطبيق أو في الموقع.

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

7. اختبار في وقت مبكر ، اختبار في كثير من الأحيان




يجب أن تكون خطة الاختبار والاختبار المناسب جزءًا من تصميم قاعدة البيانات.

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

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

Source: https://habr.com/ru/post/ar471016/


All Articles