سؤال

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

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

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


بيانات الإجابة الإضافية:كان SchemaSpy هو الشيء الذي كنت أبحث عنه، ولكن نظرًا لعدم قيامي بالكثير من العمل باستخدام سطر الأوامر منذ فترة طويلة، فقد اخترت استخدامه SchemaSpyGUI.كان هناك أيضًا بعض التكوينات التي يجب التعود عليها نظرًا لأنني لا أعمل مع Java كثيرًا، ولكن النتيجة النهائية كانت ما كنت أبحث عنه (في استبدال مفتوح المصدر لمخططات Visio's ER).

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

المحلول

يحاول com.SchemaSpy.لقد قمت بتشغيله على قاعدة بيانات معقدة إلى حد ما وكنت سعيدًا جدًا بالنتيجة، مع تقديم النصائح حول التحسين.

نصائح أخرى

جرب DBVis - قم بالتنزيل على http://www.minq.se/products/dbvis/ - هناك نسخة احترافية (غير مطلوبة) ونسخة مفتوحة تكفي.

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

ما DBMS (نظام إدارة قواعد البيانات) الذي تستخدمه؟يمكن للعديد من أنظمة إدارة قواعد البيانات (DBMS) الحديثة، مثل خادم SQL وAccess، إنشاء مخطط E-R لك.

يعد Microsoft Visio أداة ممتازة ويمكنه إجراء هندسة عكسية لـ SQL من أي مصدر بيانات.

DDT (أداة تصميم قاعدة البيانات) يمكنه إجراء هندسة عكسية من SQL الخام على نظام التشغيل Windows وهو خفيف الوزن للغاية (تنزيل مجاني صغير جدًا).

يعد MySQL Workbench أحد أدوات MySQL الأكثر شيوعًا وله إصدار قابل للتنزيل مجانًا.

يمكن لـ SQLFairy أن يفعل الشيء نفسه بالنسبة لـ MySQL على Linux.

com.dbdesc ليست مجانية، ولكن سمعت أشياء جيدة جدا عنها.وهو يعمل مع العديد من قواعد البيانات الرئيسية هناك.

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

أولاً، هل لي أن أقول إنني أشعر بألمك!
إليك بعض النصائح:

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

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

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

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

هذه وجهة نظر ذاتية إلى حد ما ولكن التفاعل يعمل بشكل جيد جدًا كعملية تعليمية بالنسبة لي وهو النهج المفضل لدي إلى حد كبير.لن تحسدك معظم المواقع على مبلغ 300 جنيه إسترليني أو نحو ذلك للحصول على ترخيص - إذا لم يكن متوفرًا لديهم بالفعل.الموقع الوحيد الذي عملت فيه حيث كان عليهم الحصول عليه هو أن لديهم Visio Standard بدلاً من Pro.لقد سألت جيدًا ووقع PHB عليها.

أستخدم طاولة عمل MySQL (http://www.mysql.com/products/workbench/) لقواعد بيانات MySQL.يمكنك إرفاق طاولة العمل بقاعدة البيانات الخاصة بك وسوف تقوم برسم مخطط ER لك.

باستخدام pgsql/win32، وجدت أن الحل الأسهل هو كتابة برنامج Perl النصي الذي يستخدم Graph::Easy from CPAN.الاستعلام عن علاقات المفاتيح الخارجية في قاعدة البيانات، وإنشاء رسم بياني موجه باستخدام الجداول كعقد وعلاقات FK كروابط.إذا كان هذا هو الإعداد الخاص بك، يمكنني نشر الرمز.

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

كما هو الحال مع معظم الأشياء، تنطبق قاعدة 80/20 هنا:20% من الطاولات ستفعل 80% من الأشياء المثيرة للاهتمام.بمجرد اكتشافها، نادرًا ما يكون الرسم التخطيطي ضروريًا.

انظر إلى العلاقات الرئيسية الخارجية الأساسية التي تم إعدادها كنقطة انطلاق.

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

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

لدي بعض الخبرة الجيدة مع أكوا داتا ستوديو للهندسة العكسية لمخطط قاعدة البيانات.إنها ميزة غنية جدًا وتدعم قواعد بيانات أكثر غرابة مثل Informix أو Sybase.

لقد ساعدني هذا في إنشاء مخططات ER على MS SQL Server 2012:

MS SQL Server Management Studio> قائمة ملف> "Connect Object Explorer" اختر عقدة قاعدة البيانات الخاصة بك وتوسيعها.تحت هذه العقدة ، ستجد عقدة فرعية تسمى "مخططات قاعدة البيانات" انقر بزر الماوس الأيمن على "مخططات قاعدة البيانات"> "مخطط قاعدة بيانات جديد"> إضافة جداول ترغب في رؤية أعمدةهم وعلاقاتها ، ...

استخدم Visio.إذا كنت تستخدم Vision 2010، فستحتاج إلى استخدام موفر OLEDB العام لـ SQL Server للتأكد من عدم وجود أي مشاكل في الاتصال ببرنامج تشغيل Visio.

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