سؤال

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

  1. ضع جميع الجداول في قاعدة بيانات واحدة كبيرة وقم بوضع بادئة للجداول وفقًا للوحدة.
  2. قم بفصل الجداول الخاصة بكل وحدة إلى قواعد بيانات مختلفة.

لدي بيانات مشتركة بين جميع الوحدات، لذا إذا استخدمت الحل 2، فأنا لست متأكدًا من كيفية إدارة تلك البيانات المشتركة (مثل المستخدمين).

--

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

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

المحلول

توصيتي البديلة لتلك التي اقترحتها هي وظيفة المخطط المتوفرة في SQL Server 2005.

يرجى قراءة هذا الرابط لمزيد من المعلومات ...

http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1184503,00.html

نصائح أخرى

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

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

سيكون لدي قاعدة بيانات واحدة.وهذا يبسط إدارة الحل بشكل كبير.

ثم سأقوم بتطبيع بياناتي.وهذا يبسط مشاكل سلامة البيانات.

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

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

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

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

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