كيفية تصميم قاعدة بيانات SQL من الصفر وإنشاء جداول داخلها

كيفية تصميم قاعدة بيانات SQL من الصفر وإنشاء جداول داخلها
كيفية تصميم قاعدة بيانات SQL من الصفر وإنشاء جداول داخلها

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

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

أساسيات تصميم قواعد البيانات العلائقية

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

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

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

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

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

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

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

ما هي قاعدة البيانات الــ”جيدة التصميم”؟

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

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

تعمل قاعدة البيانات المصممة جيدًا على فرض تكامل البيانات

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

يتضمن تكامل البيانات ثلاثة جوانب فنية محددة لهيكل قاعدة البيانات العلائقية:

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

تفرض قاعدة البيانات المصممة جيدًا قواعد العمل ذات الصلة

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

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

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

كيفية تصميم قاعدة بيانات علائقية خطوة بخطوة

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

الخطوة 1: حدد غرضك وأهدافك

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

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

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

الخطوة الثانية: تحليل متطلبات البيانات

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

كيف تقوم مؤسستك حاليا بجمع البيانات؟

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

كيف تقوم مؤسستك حاليا بتقديم البيانات؟

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

كيف يستخدم أعضاء فريقك البيانات حاليًا؟

أفضل طريقة لتحديد الإجابات على هذا السؤال هي التحدث إلى أعضاء الفريق – كل من الإدارة والمستخدمين النهائيين – لتحديد أنماط استخدام البيانات الحالية ودراسات الحالة ، بالإضافة إلى أي ثغرات في النظام الحالي. يمكنك طرح أسئلة مثل ، “ما أنواع البيانات التي تستخدمها حاليًا؟” واطلب منهم مراجعة العينات التي جمعتها. الأهم من ذلك ، يمكن لهذه المقابلات أيضًا إلقاء الضوء على خطط النمو المستقبلي للمؤسسة ، والتي ستمنحك نظرة ثاقبة لمتطلبات المعلومات المستقبلية ونوع نموذج قاعدة البيانات العلائقية الذي سيكون الأنسب.

الخطوة 3: قم بإنشاء قائمة الكيانات وقائمة السمات

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

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

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

  • فنان
  • وكيل
  • مكان
  • العربات
  • إلخ.

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

  • اسم فنان
  • رقم هاتف الفنان
  • اسم العميل
  • رقم هاتف الوكيل
  • عنوان البريد الإلكتروني للوكيل
  • اسم المكان
  • عنوان الشارع
  • مواعيد الحفلة
  • إلخ.

بمجرد قيامك بتجميع قائمة أولية بالسمات ، يجب عليك استعراضها وتحسينها للتأكد من أنها تمثل بدقة الاحتياجات المعلوماتية لمؤسستك.

نصائح:

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

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

الخطوة 4: نمذجة الجداول والحقول

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

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

DB design agency example lists final

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

يجب أن يستوفي حقل المفتاح الأساسي لكل جدول المعايير التالية:

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

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

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

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

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

تصميم قاعدة بيانات على SQL Server Management Studio

بعد تثبيت Microsoft SQL Server Management Studio وفتحه ، تبدو شاشتك كما يلي:

sql server

لا يبدو الأمر ممتعًا على الإطلاق. سنجعل الأمر أكثر إمتاعًا بإنشاء قاعدة بيانات جديدة. بعد النقر على “استعلام جديد New Query” ، تفتح النافذة الجديدة ويمكننا كتابة شيء ما. يبدو كما في الصورة أدناه:

sql server new query

قبل كتابة أي شيء ، يجب أن نتأكد من أننا نكتبه بالطريقة الصحيحة. T-SQL هي لغة وعلى هذا النحو لها كلماتها – مجموعة من القواعد حول كيفية كتابة أوامر مختلفة.

لحسن الحظ ، أحد هذه الأوامر هو أمر SQL Create Database. يمكنك رؤية بناء جملة T-SQL Create Database الكامل على صفحات Microsoft.

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

CREATE DATABASE database_name;

حيث سنستخدم الاسم المطلوب بدلاً من اسم database_name.

مثل على إنشاء قاعدة بيانات جديدة

حسنا دعونا نحاول ذلك. سنقوم بتشغيل أمر:

CREATE DATABASE our_first_database;

بعد تشغيل هذا الأمر ، يتم إنشاء قاعدة البيانات الخاصة بنا ، ويمكنك رؤيتها في قائمة قواعد البيانات:

sql server sql create database

انقر فوق + بجوار مجلد قواعد البيانات ، وإلى جانب مجلدين ، سترى أيضًا أنه قد تم إنشاء our_first_database .

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

إشاء جدول على sql server

في نظرية قاعدة البيانات ، الجدول عبارة عن هيكل (“وحدة أساسية”) يستخدم لتخزين البيانات في قاعدة البيانات.

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

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

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

لتحديد جدول ، سنتبع البنية. يمكنك مشاهدة بناء جملة إنشاء جدول T-SQL الكامل هنا ، لكنني سأقوم مرة أخرى بتبسيط العبارة:

CREATE TABLE table_name (
    column_name column_type,
    column_name column_type,
    ...
);

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

تصميم قاعدة بيانات على أكسس

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

إنشاء قاعدة بيانات جديدة على أكسس 1
تصميم قاعدة بيانات جديدة على أكسس

سنقوم بتسمية قاعدة البيانات هذه. سيحمل اسم “videolibrary“. لتعديل المسار حيث سيتم حفظ ملفك ، ما عليك سوى النقر فوق الرمز الأصفر الصغير الموجود على اليمين. يمكنك اختيار Access على سبيل المثال ، ثم تحديد المكان الذي تريد حفظه فيه.

نرى أنه تم تعديل المسار ، وسيتم الآن حفظه في مجلد يسمى Access. يمكنك أيضًا إنشاء مجلد معين. امتداد الملف يسمى “accdb” ، وهذا هو اسم امتداد Access ، نضغط على “إنشاء”.

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

أنظر أيضاً: لغة html

إكمال جدولنا الأول في قاعدة البيانات

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

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

إضافة عنصر إلى جدول
إضافة عنصر إلى جدول

الأول سيكون العنوان ، والثاني تاريخ الإصدار ، والثالث مدة الفيلم ، والرابع النتيجة من 20 (تقدير شخصي) ، والخامس سعر الشراء ، والسادس نوع الشراء وأخيرًا التعليقات. يمكنك توسيع الأعمدة لرؤية عنوان كل منها.

عناصر جدول على أكسس
عناصر جدول على أكسس

انتبه ، يجب أن يكون الحقل الأول “N˚” في رقم تلقائي. هذا هو مفتاحنا الأساسي ، بمعنى آخر ، لكل فيلم نضيفه ، سيتم تخصيص رقم تلقائي له. سيسمح هذا بعد ذلك بالعثور عليه من خلال هذا الرقم.

سيكون كل عدد فريدًا لكل فيلم نقوم بإنشائه. لا تنسى أن تحفظ. يُسألون عن الاسم الذي نريد أن نطلقه على “الجدول 1”. سنسميها “movie” ويمكننا أن نرى على الجانب الأيسر أن طاولتنا تسمى الآن “movie”.

للحفظ ، نغلق الجدول ، نذهب إلى “حفظ” ، “حفظ باسم”.

حفظ الجدول

يمكننا أن نرى من لقطة الشاشة أدناه ، عبر المربع 1 ، أن طاولتنا قد أعيدت تسميتها بالفعل movie. سنغادر طاولتنا ، لذلك ننقر بزر الماوس الأيمن فوق علامة التبويب movie ، ويتم عرض قائمة ونضغط على “إغلاق” كما هو موضح في الخطوة 2.

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

هذه هي مراحل تصميم قاعدة بيانات في أكسس (“videolibrary”). تم إنشاؤه الآن وسنكون قادرين على البدء في تطويره.

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

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

1.النظر في كل وجهة نظر أثناء التخطيط

لا تبدأ في بناء قاعدة بيانات بدون مدخلات من راعي المشروع وأصحاب المصلحة الآخرين.

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

2.اختر نوع قاعدة البيانات

هذا عادة ما يكون سهلاً مثل الاختيار بين SQL و NoSQL (على الرغم من وجود أنواع أكثر تحديدًا قد تكون مناسبة لبعض المشاريع).

قواعد بيانات SQL هي المعيار للبيانات المنظمة ، عندما يكون تكامل البيانات مهمًا للغاية.

تجد التكنولوجيا الناشئة مثل التعلم الآلي أو إنترنت الأشياء (IoT) أن متطلبات السرعة والقابلية للتوسع والمتطلبات السائلة لقواعد بيانات NoSQL مناسبة بشكل أفضل.

تعمل أيضًا تحليلات الويب والشبكات الاجتماعية وبعض الأنواع الأخرى من قواعد البيانات بشكل أفضل ضمن إطار عمل NoSQL.

اتخذ القرار في أقرب وقت ممكن.

3.تطبيع البيانات الخاصة بك

في الواقع ، تعمل معظم الشركات اليوم في عالم مختلط من قواعد بيانات SQL و NoSQL التي تعمل معًا في ترتيبات معقدة.

مع مثل هذا الهيكل المعقد ، من الأهمية بمكان تسوية البيانات لتحقيق الحد الأدنى من التكرار.

قم بإزالة السمات متعددة القيم والسمات المتكررة ، ثم ابدأ في المفاتيح الفرعية.

4.جعل الهياكل شفافة

تنتمي قاعدة البيانات إلى مستخدميها المستقبليين ، وليس منشئها ، لذا صممها مع وضعهم في الاعتبار.

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

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

5.تحديد القيود للحفاظ على سلامة البيانات

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

سيمنع التطبيق بعض البيانات السيئة من الدخول ، ولكن ليس كلها.

6.توثيق كل شيء

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

احرص على توثيق التصميم ومخططات علاقة الكيان والمحفزات للمستخدمين في المستقبل.

7.خطة لزيادة وقت النسخ الاحتياطي في المبنى

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

خطط لتجميع تجاوز الفشل والنسخ الاحتياطي التلقائي والنسخ المتماثل وأي إجراءات أخرى ضرورية لضمان بقاء بنية قاعدة البيانات سليمة.

8.الحفاظ على الخصوصية في المقام الأول

يشير القانون العام لحماية البيانات (GDPR) إلى حقبة تتزايد فيها مخاوف الخصوصية.

قم بتشفير كلمات المرور ، ولا تعين مشرفًا بدون تدريب على الخصوصية ومؤهلات موثقة جيدًا.

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

تؤثر الثغرات الأمنية على سلامة البيانات ، مما يؤثر على كل شيء آخر في المؤسسة.

9.تحسين السرعة

إنشاء فهارس للاستعلامات التي سيتم استخدامها بانتظام. استخدم محلل قاعدة البيانات لتحديد ما إذا كان الفهرس أو الفهرس العنقودي ضروريًا.

ضع في اعتبارك دمج أدوات مثل Elastisearch لتسريع عمليات البحث.

10.الاحتفاظ بقاعدة البيانات على الخادم الخاص بها

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

بالإضافة إلى تحرير موارد الحوسبة ، فإنه يساعد أيضًا في إبقاء قاعدة البيانات بعيدة عن متناول المستخدمين غير المصرح لهم.