أفضل طريقة لبناء قاعدة بيانات مع تتبع تغييرات مجموعة البيانات

0

لقد حصلت على CRM صغير وأحاول معرفة أفضل طريقة لتصميم جداول DB.

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

لذلك من:

user_id | firstname | last_name | company_name | company_city | company_subject | rank | status
 1      |   John    |  Borrows  |  Boink INC   |      NY      |      Web dev    |  1   |   1
 2      |   Mike    |  Smith    |  Smithin INC |      OC      |      Laywer     |  1   |   2
 3      |   Mary    |  Anton    |    Caffin    |      SJ      |      Moving     |  2   |   1

إلى شيء مثل هذا

user_id | firstname | last_name | rank | status
 1      |   John    |  Borrows  |  1   |   1
 2      |   Mike    |  Smith    |  1   |   2
 3      |   Mary    |  Anton    |  2   |   1

comp_id | company_name | company_city | company_subject
 1      |  Boink INC   |      NY      |      Web dev
 2      |  Smithin INC |      OC      |      Laywer
 3      |    Caffin    |      SJ      |      Moving

con_id | user_id | comp_id
1      | 1       | 1
2      | 2       | 2
3      | 3       | 3

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

1 إجابة

1
افضل جواب

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

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

:مؤلف
فوق
قائمة طعام