أساسيات قواعد البيانات الخمسة التي يجب أن يعرفها مهندس البرمجيات
إن كونك مهندس برمجيات يتطلب منك أن تكون على دراية بالعديد من المفاهيم والمواضيع المختلفة في مجال قواعد البيانات ومنها بالطبع أساسيات قواعد البيانات ، فمثلاً عليك أن تمتلك بعضاً من المعرفة حول تحليل وتحديد المتطلبات، وقيادة الفريق، وإدارة المشاريع، إضافةً للغات البرمجية وتقنيات الاختبار المختلفة. يُوجد بعض التقنيات والمفاهيم التي يتوجب على مهندس البرمجيات أن يعرفها: مفهوم التطبيع Normalization وإلغاء التطبيع Denormalization، وقواعد البيانات العلائقية واللاعلائقية ومخططات قواعد البيانات ERDs وغيرها الكثير..
باختصار يعتبر مجال هندسة البرمجيات مكاناً مخصصاً لأولئك الذين يحبون التعرف على كل ما هو جديد ويبدون الكثير من الإهتمام إلى التعلم أكثر عن التقنيات المختلفة، فإن كنت من هؤلاء الأشخاص فهنيئاً لك، تنتظرك رحلة ممتعة ومميزة من التعلم والتحديات.
في هذا المقال سنتعرف على:
- تصميم قواعد بيانات
- ما هي لغة قواعد البيانات SQL؟
- استعلامات قواعد البيانات العلائقية وتحسينها
- المعاملات
- ما هي منهجية ORM؟
وبكل تأكيد فإن عالم قواعد البيانات يتسع ليشمل مفاهيمَ ومناهجَ وتقنيات أكبر وأوسع من القائمة السابقة، ولكن هنا نقدم لكم أهم المواضيع في مجال قواعد البيانات.
اقرأ أيضًا: قواعد البيانات الأوراكل والبايثون –كيف نتعامل مع الاوراكل من كود بايثون
أساسيات قواعد البيانات – تصميم قاعدة البيانات
كجزء طبيعي من مهام وصفات مهندس البرمجيات، من المهم أن يكون قادراً على التحقق من أن جميع مهام فريق عمل النظام تتكامل مع بعضها البعض بشكل جيد وأن مخرجات أحد أعضاء الفريق من إنجازاتٍ تعتبر مدخلات لعضو آخر وهكذا، فعلى سبيل المثال: يجب أن تكون المتطلبات والتحليل التمهيدي للنظام واضحاً وكاملاً، كما يجب أن تكون مخططات حالات الإستخدام متضمنة لجميع المعلومات بحيث يتمكن المبرمج من فهمها وتنفيذها، بحيث يكون الكود المصدري بمثابة مرآة لمخططات حالات الإستخدام المقدمة، كما يجب أن يصف تقرير الاختبار جميع العيوب التي تم العثور عليها أثناء عمله بشكل واضح ودقيق.
ومن المنطلق السابق ذاته فإن نموذج البيانات يجب أن يتلاءم مع المتطلبات، بحيث يولِّد قاعدة بياناتٍ ذات أداء مميز وتكامل في البيانات، وبالرغم من أن مهندسي البرمجيات لا يعملون عادةً على إنشاء النماذج والمخططات، إلا أنه يتوجب عليهم أن يكونوا قادرين على الاجتماع مع محلل النظم المسؤول عن إنشاء تلك المخططات والتناقش والتحاور معه بهدف الوصول إلى نموذج أوليٍّ مناسب، ولهذا فمعرفة مطور البرمجيات بمخططات قواعد البيانات العلائقية ERD وكيفية رسمها وتخطيطها يبقى من بين المفاهيم والضرورات الأكثر أهمية له.
كيف تقرأ مخطط قواعد البيانات ERD
تعتبر مخططات قواعد البيانات العلائقية ERD بمثابة تمثيلٍ رسوميٍ للعلاقات بين الكائنات، والتي تشكل مجتمعةً ما يسمى بنموذج البيانات، ويستخدم مصممو البيانات ومحللو النظم هذه المخططات كأدواتٍ أساسية لتمثيل وتوثيق القرارات المتعلقة بإصلاح وتعديل وإنشاء قواعد البيانات، وبصفتك مهندس برمجيات يجب أن تكون قادراً على قراءة هذه المخططات وفهمها ومعرفة ما تمثله الرموز والخطوط الموجودة ضمنها، وذلك بهدف تحديد فيما إذا كانت هذه المخططات تشكل تمثيلاً واضحا وصحيحاً لمتطلبات البرنامج الذي تقوم بتطويره.
عند معرفتك بهذه المخططات وبكيفية قراءتها ستتمكن من النقاش مع مصمم البيانات حول الأسباب الكامنة وراء تصميمٍ معين، والتحقق فيما إذا كانت وجهة نظره حول أمرٍ ما في ذلك التصميم صحيحةً أم لا، فبمجرد النظر إلى مخطط ال ERD ستعرف إذا كان المصمم قد أساء فهم أحد المتطلبات ومثلّها بطريقة غير صحيحة في مخطط قواعد البيانات وهذا النوع من الأخطاء عادة ما يؤدي إلى أخطاء كبيرة عند تنفيذ البرنامج وكتابة الكود إن لم يتم الكشف عنه مما يعني المزيد من الوقت والجهد والتكاليف للصيانة لاحقاً.
المفاهيم المتعلقة بمخططات ال ERD التي يجب أن تفهمها هي أنواع العلاقات بين الجداول (one-to-one, one-to-many, or many-to-many)، وبعض المعلومات حول المفاتيح الأساسية والثانوية، ومعنى هياكل المخططات المعينة كعلاقات الأب والابن، وأنواع مخططات تخزين البيانات الشائعة.
إن قواعد البيانات تمَثل على ثلاثة مستويات: المستوى المفاهيمي، والمستوى المنطقي، والمستوى المادي والذي يتمثل بالكود المسؤول عن إنشاء تلك الجداول ويختلف باختلاف لغة قواعد البيانات المستخدمة، كمهندس برمجيات ليس مطلوباً منك ان تكون قادراً على كتابة الكود (المستوى المادي) وإنما يكفي أن تكون قادراً على فهم قواعد البيانات وقراءة المخططات التي تمثلها بوضوح (المستوى المفاهيمي والمنطقي) وذلك لأن النماذج المادية مشتقة اساساً منها، وهي عبارة عن تنفيذ وتمثيل فعلي للمخططات على شكل كود برمجي فقط.
هناك عدة أدوات منتشرة في سوق أدوات قواعد البيانات والتي تساعدك في النمذجة والتنفيذ، حيث يُمكنك من خلالها إنشاء المخططات المادية تلقائيًا من المخططات المنطقية بعد أن تقوم برسمها ويتم ذلك بثقة تامة في أن الكود الناتج خالٍ من الأخطاء لهذا السبب، لا يحتاج مهندس البرمجيات عادةً إلى القلق بشأن مراجعة المخططات المادية.
أحد الأشياء المهمة التي يحتاج كل مهندس برمجيات أن يكون قادرًا على تحديدها أثناء مراجعته لمخططات ERD هو ما إذا كان مخطط قاعدة البيانات قد تم تطبيعه أم لا وهذا يقودنا إلى العنصر التالي في موضوعنا لهذا المقال.
التطبيع وإلغاء التطبيع
عند التعامل مع قواعد البيانات، يكون التطبيق ضامناً بأن عمليات الإضافة والتحديث والحذف (تُختصر باللغة الإنجليزية تعبير CRUD) على الصفوف والبيانات لن ينتج عنها أي مشاكل أو أخطاء في وجود وجودة وسلامة البيانات والمعلومات، ولتحديد مفهوم التطبيع هناك بعض المفاهيم التي يجب أن تعرفها ومنها: المفاتيح الرئيسية primary keys والثانوية foreign keys والاعتمادات والسمات attribute dependencies والمفاتيح البديلة surrogate keys.
إن من أحد الأمثلة الهامة على النتائج السلبية لعدم تطبيع قواعد البيانات، وجود بيانات مكررة فمثلا في تطبيق من تطبيقات التجارة الالكترونية قد تجد تكراراً لنفس المنتج وظهوره مرتين في تقرير المبيعات باسمين مختلفين كما لو كانا منتجين مختلفين.
إضافةً لحل مثل هذه المشاكل فإن التطبيع أيضا يساهم في إزالة التكرار غير المفيد في البيانات، وهذا يؤدي بدوره إلى التقليل من مساحة التخزين المستخدمة ويزيد من سرعة وأداء الاستعلامات.
هناك العديد من آليات وأشكال ومنهجيات التطبيع المختلفة، ولكلٍ منها شروطه الخاصة لاستخدامه، وبالتأكيد ليس عليك أن تحفظها جميعها فدائما يمكنك البحث في المراجع إن احتجت لمعرفة المزيد عن منهجيةٍ ما، وبشكل اساسي لك كمهندس برمجيات يكفي أن تتعلم كيفية انشاء نماذج تطبيع باستخدام النموذجين الثاني والثالث.
بالرغم من فوائد التطبيع العديدة، قد تحتاج أحياناً إلى إلغاء التطبيع وذلك في بعض الحالات التي تتطلب منك شروطاً معينةً كتحديد عدد الجداول أو التقييد المبالغ في وقت الاستعلام والموارد المتاحة للمعالجة وغيرها من التعقيدات وتعرف هذه الحالة بتقنية إلغاء التطبيع. تُستخدم تقنيات إلغاء التطبيع فقط في الحالات التي يكون فيها تحديث البيانات عن طريق عمليات تلقائية أو خاضعة للرقابة. وذلك لتجنب المخاطر التي قد تواجهك في الحالات الشاذة التي تتطلب التحديثات التعسفية للمعلومات.
أساسيات قواعد البيانات – لغة قواعد البيانات SQL
يحتاج كل مهندس برمجيات إلى معرفة أساسية بـ SQL (لغة الاستعلام المهيكلة) للاستعلام عن قواعد البيانات أو لإنشاء أو تعديل الجداول أو الفهارس أو views أو حتى كتابة إجراءات مخزّنة وزنادات (trigger). تسمح لك هذه المعرفة بأداء بعض مهام قواعد البيانات الأساسية دون قضاء وقت بعيدًا عن مدراء قواعد البيانات DBA أو مبرمجوا قواعد البيانات المتخصصين.
ليس مطلوباً منك أن تكون خبيراً متعمقاً في لغة SQL وأن تكون معرفتك شاملةً بها، وإنما يكفي أن تكون لديك المفاهيم الأساسية على الأقل للتعليمات الضرورية والأساسية في اللغة مثل تعليمة SELECT بفروعها وتفاصيلها العديدة، وبعض المفاهيم حول الربط من خلال تعليمة JOIN وحالاتها المختلفة (LEFT وRIGHT وINNER وFULL) والاختلافات بينها ومواضع استخدام كل حالة منها.
ستساعدك نظرية المجموعات على فهم SQL JOINs بشكل أفضل.
للاستفادة من محرك قاعدة البيانات بشكل جيد لكتابة استعلامات فعالة ، تحتاج إلى فهم المنطق الكامن وراء العلاقات بين الجداول في ERD. يساعدك هذا في كتابة جمل ربط JOINS بشكل صحيح في الاستعلامات التي تتضمن جداول متعددة. كقاعدة عامة أساسية، عادةً ما تكون الحقول المتضمنة في علاقات المفاتيح الخارجية بين جدولين مناسبة بشكل أفضل للوصلات المشتركة بينهما في SELECT. على سبيل المثال، في ERD التالية، ترى الجداول الدهانات والمشترين مرتبطة بواسطة الحقول BUYER_NAME في الدهانات والاسم في المشترين.
يجب عليك أن تمتلك الفهم الكامل حول آلية عمل مبادئ الربط المختلفة في قواعد البيانات SQL JOINs فهي التي ستمكنك من كتابة التعليمات والاستعلامات المعقدة والتي ترتبط بأكثر من جدول ضمن قاعدة البيانات، وبشكل عام يكون الربط بين تلك الجداول مبنياً على حقل مشترك في كلا الجدولين ويدعى ذلك الحقل بالمفتاح الرئيسي primary key ويكون بالنسبة للجدول الآخر مفتاحاً ثانوياً foreign key ويتم ربط الجدولين اعتماداً على تلك المفاتيح، على سبيل المثال: نجد في قاعدة البيانات الموضحة أدناه جدولين أحدهما للدهانات والآخر للبائعين، وكما نرى فقد تم الربط بين البائع والدهان عبر حقل BUYER_NAME في جدول الدهانات وحقل NAME في جدول البائعين.
قد تحتاج في بعض الأحيان إلى كتابة استعلامٍ معين ويكون في ذلك الاستعلام تعليمة JOIN متضمنة فيه.
معرفتك الكاملة حول أساسيات الربط ومبدأ عمل الربط بين الجداول والتعليمات، تجعلك واثقاً من أن الاستعلام الذي قمت بكتابته سيكون صحيحاً وسينتج عنه اداءٌ جيد طالما أنك قد استخدمت المفاتيح الرئيسية والثانوية بشكل صحيح.
تنقسم أوامر لغة SQL إلى مجموعات وفقًا لوظائفها، فمثلاً تشكل التعليمة SELECT بكل فروعها وتفاصيلها مجموعةً في حد ذاتها وتدعى DQL (لغة استعلام البيانات). هناك مجموعتان أيضاً من الأوامر شائعة الاستخدام، تُستخدم DML (لغة معالجة البيانات) لعمليات إدراج صفوف في الجداول أو حذفها أو تحديثها، كما تُستخدم لغة تعريف البيانات (DDL) لتغيير بنية الكائنات في قاعدة البيانات كإنشاء جداول جديدة وإنشاء حقول جديدة في جدول موجود أو وإنشاء views وغير ذلك.
تحسين أداء الاستعلامات
لدى مهندسي البرمجيات الكثير من الأشياء التي يتعين عليهم القيام بها على أساس يومي لجعل تحسين أداء الاستعلام أولوية. من الناحية المثالية، يجب عليهم تفويض هذه المهمة إلى مبرمج SQL، أو DBA، أو مصمم بيانات، أو الأفضل من ذلك، كلهم معًا. وبالرغم من ذلك فإن معرفتك بآليات وطرق تحسين الاستعلامات، فمثلاً يساعد الفهرس في بعض الأحيان على تقليل وقت الاستعلام من ساعاتٍ عديدةٍ إلى ثوانٍ قليلة، وبمعرفتك تلك ستكون قادراً على التحقق فيما إذا كان مسؤول قواعد البيانات صادقاً أم لا عندما يخبرك بأنه لم يعد بالإمكان تحسين استعلامٍ معينٍ أكثر من ذلك.
تتيح لك أدوات تحليل الاستعلام الموجودة في برامج قواعد البيانات العلائقية RDBMS التعمق في آلية عمل الاستعلام بشكل يسمح لك معرفة المنطق الذي يتم تطبيقه عند تنفيذ استعلام ما، بحيث يقسّم تحليل الاستعلام كل خطوة مطلوبة للوصول إلى البيانات الخاصة بهذا الاستعلام ومقدار الوقت الذي تم استغراقه لتنفيذها بالميكرو ثانية لكل خطوة من هذه الخطوات.
يتم تحسين الاستعلام في العادة من خلال البحث عن أكثر الخطوات استغراقاً للوقت وتحديد الحقول الخاصة بها ومحاولة إنشاء فهارس لتسريعها، كما تتيح لك أدوات التحليل الموجودة في برامج قواعد البيانات المختلفة RDBMS، إمكانية التعمق في آلية عمل الاستعلام من حيث الخوارزمية أو الآلية التي تم اتباعها في مسح البيانات للبحث عن النتيجة والوصول لها، كمثالٍ على ذلك، المسح الكامل للسجلات (مسح الجدول الكامل) والاجتياز التسلسلي لإدخالات الفهرس (المسح باستخدام الفهارس)، مما يمكنك من الانتباه للخطوات التي تم اتباعها وبالتالي التحسين على أداء وسرعة الاستعلام.
تسهل قاعدة البيانات المطبّعة تحسين الاستعلام، كما تفعل العديد من الجوانب الأخرى للاستخدام المنتظم لقاعدة البيانات هذا سبب آخر يجعل قواعد البيانات تستحق منك قضاء المزيد من الوقت في ضمان تطبيع نماذج البيانات بشكل صحيح.
أساسيات قواعد البيانات – المعاملات Transactions
عندما تتم عملية إرسال وتبادل البيانات بين أحد التطبيقات وقاعدة البيانات المرتبطة به، فإن مجموعة من الأوامر المتسلسلة من الحذف والادراج والتعديل والتحديث على البيانات يتم ارسالها ليتم تنفيذها، فعلى سبيل المثال قد تتطلب عملية تسجيل بيانات فاتورةٍ ما، ادراجَ صفوفٍ جديدة في بعض الجداول، وتحديث صفوفٍ اخرى، وربما حذف البعض الآخر.
وهذه العمليات والأوامر المتتابعة يجب تنفيذها بالكامل وبحزمةٍ واحدة فإما أن تنفذ جميعها أو ألا يتم تنفيذها جميعها، فأي خطأ قد يحدث ويسبب مقاطعة تلك الأوامر والعمليات المتتابعة ويؤدي إلى فشلها، قد يؤدي إلى وجود بيانات غير مكتملة وغير واضحة في قواعد البيانات، مما يتسبب بالعديد من المشاكل المختلفة في قاعدة البيانات لديك.
وهنا تأتي أهمية المعاملات Transactions، إذ تمنع تنفيذ سلسلةٍ من العمليات المترابطة جزئياً عند بدء المعاملة، مما يمنع أي تأثير سلبيٍ لأي خطأ قد يحدث في منتصف تلك العمليات ويجعلها تعاد إلى اللحظة التي لم تبدأ فيها تلك العمليات أي إلى الوقت السابق لبدء ذلك التسلسل، مما يؤدي إلى تجنب مشاكلٍ كتلك التي ذكرناها.
تقع على عاتق المبرمجين مهمة ومسؤولية إنشاء معاملة في كل مرة يبدأون فيها سلسلة من العمليات المترابطة ومن ثم إغلاق تلك المعاملة عند الانتهاء. يلعب منسق المعاملات دور ضابط حركة المرور في توجيه المعاملات إذ يتوجب عليه التأكد من إغلاق المعاملات بعد الانتهاء من استخدامها، فضلاً عن التحقق من عدم التعارض بين أكثر من معاملةٍ واحدة أو تسلسلٍ واحدٍ مع الآخر في نفس الوقت قبل أن تنتهي المعاملة السابقة.
ينبغي ايضاً الانتباه إلى أن المعاملات تستغرق المزيد من الوقت في الوصول إلى النتيجة المطلوبة، وذلك بسبب انها تنتظر حتى انتهاء جميع الأوامر أولا، وبناء على ذلك فيجب على المبرمج أن يستخدمها بذكاء فيستفيد من فوائدها ويتجنب عيوبها من حيث استهلاك الوقت والذاكرة، ويتم ذلك بالاعتماد على نموذج البيانات المستخدم وأن يتم تطبيعه إن لزم ذلك، كما يفضَلُ أن تحتوي الجداول على الفهارس المناسبة لتقليل وقت الاستعلام وبالتالي وقت المعاملة لأقل وقتٍ ممكن.
كما توجد استراتيجية اخرى لتجنب مساوئ المعاملات في صيانة بيانات الجداول الرئيسية، تتمثل بترك القرار للمستخدمين في اتخاذ قرار التحديث على البيانات، فعلى سبيل المثال، إذا تم التعديل على جداول العملاء أو المنتجات في أوقاتٍ عشوائية سيؤدي ذلك إلى توقف تلك الجداول ومنع أي إدخالات جديدة أثناء عملية التحديث، وتتمثل الاستراتيجية الصحيحة في هذه الحالة في وجود مخططٍ مرحلي يقسم عملية التحديث إلى عدة أجزاء يتم تفريغ المعلومات من خلالها بشكلٍ دوري ومكثف، وفي أوقاتٍ وأيامٍ محددة ومجدولةٍ مسبقاً.
أساسيات قواعد البيانات – ORM
عادةً ما يكون استخدام هذه ORM مخصصاً لمبرمجي الواجهات الخلفية ومطوري قواعد البيانات، كمهندس برمجيات كل ما يتوجب عليك فعله، هو فهم ومعرفة كيفية عمل ORM وما هي الآلية التي تتبعها، ومن ثم تقرير ما هي الاجزاء التي يتوجب على كلٍ من مطور الواجهات الخلفية ومصمم قواعد البيانات تنفيذها. بعض الأمثلة على ORMs الشائعة هي Entity Framework وHibernate وDjango وSQL Alchemy. يعتمد كل منها على لغة البرمجة (على سبيل المثال: Python ، Java ، #C) أو الإطار المستخدم في برمجة الواجهات الخلفية للتطبيق.
تجعل ORMs منطق تطبيقٍ ما مستقلاً تماما عن مبادئ قواعد البيانات، وبمعنى آخر تعيد تصميم آلية كتابة التعليمات بشكل مختلف عما كانت عليه في لغات قواعد البيانات، ويكون ذلك جيداً في حال كنتَ تتعامل مع بياناتِ ثابتةٍ لن يتم التعديل عليها لاحقا باختلاف قواعد البيانات في التطبيق.
هذه الميزة جذابة للغاية لمبرمج الواجهة الخلفية لأنها تتجنب الحاجة إلى معرفة تفاصيل طريقة كتابة وتنفيذ اكواد قواعد البيانات. أما بالنسبة لمصمم قاعدة البيانات ، فإن ORMs ليست جذابة لأنها تلغي رؤيته ودوره حول كيفية تفاعل التطبيق مع قاعدة البيانات.
بصفتك مهندس برمجيات، غالبًا ما تقع على عاتقك مسؤولية التحكيم بين هاتين القوتين المتعارضتين. يريد مصممو قواعد البيانات حل جميع التفاعلات بين التطبيق وقاعدة البيانات من خلال طرق العرض والإجراءات المخزنة والمشغلات ونصوص SQL المعتادة لهم والمهام والأدوات الأخرى التي يختارونها، ومن ناحية أخرى، يريد مبرمجو الواجهات الخلفية أن يقتصر مصممي قواعد البيانات على تحديد الجداول والفهارس، وأن يتبقى لهم معالجة كل شيء آخر دون مغادرة مجال الكود المصدري أو تعليمات اللغة البرمجية التي يتعاملون معها.
من الصعب بالنسبة لمصمم قاعدة بيانات أن يكون محايدًا. ولكن كمهندس برمجيات، يجب أن تكون محايدًا وأن تطبق المعايير الصحيحة لتحديد متى تكون إدارة الموارد البشرية حلاً ومتى تشكل مشاكلاً للعمل.
كما ذكرنا فإن ال ORMs تسعى إلى الوصول إلى منطقٍ ومنهجية واحدة في كتابة التعليمات البرمجية، من خلال فصل التطبيق فعلياً عن محرك قاعدة البيانات، وبالتالي فإن إجراء أي تعديلاتٍ على التطبيق لن تؤثر على قواعد البيانات، وسيكون نشر التحديث ببساطة توزيع الإصدار الجديد بالطريقة المعتادة، وهو الأمر الذي يمكن أن يتم تلقائيا وبتكاليفٍ قليلة.
من ناحية أخرى، عند تنفيذ هذا المنطق في كائنات قاعدة البيانات، فإن ترقية التطبيق إلى إصدارٍ جديد سيكون محفوفًا بالمخاطر إذا تم تثبيته في العديد من الأماكن، فبغض النظر عن مدى خبرتك وقدرتك على تحديث التطبيق بطريقة جيدة، فأنت لا تزال تجهل تأثير ذلك التحديث على قواعد البيانات، فقد تتسبب بعض البيانات في فشل الترقية، مما يتسبب لك بقضاء بعض الوقت في تحليل أسباب ذلك الفشل ومعالجته، أو ترقية التطبيق يدوياً، ثم التأكد من أن الترقية الفاشلة لم تتلف البيانات.
إذا تم تثبيت كل من التطبيق وقاعدة البيانات في مكان واحد وتم ترقية الإصدار عن طريق النشر إلى هذا الموقع الفردي، فإن الموقف يتغير بشكل جذري. ففي هذه الحالة لا يهم عدد الجداول أو ال Views أو الإجراءات المخزنة أو الوظائف التي يتعين عليك تحديثها في قاعدة البيانات. يمكنك إنشاء نصوص واختبارها بدقة حتى تتأكد من أنها تعمل في قاعدة البيانات دون التسبب في أي فشل.
إن عدم استخدام ORMs له ميزة أخرى: فهو يتيح لك الوصول إلى جميع أنواع أدوات قواعد البيانات لتحسين الأداء وتصحيح أخطاء عمليات قاعدة البيانات، وهذا يقلل بشكل كبير من التكاليف والجهود المطلوبة لصيانة التطبيق وقاعدة البيانات لاحقاً.
اقرأ أيضًا: قواعد البيانات SQLite والبايثون – كيف تُنشئ قاعدة بيانات وتتعامل معها
هذه كانت مجموعة من المفاهيم المهمة لمهندس البرمجيات حول قواعد البيانات
لقد أصبح لديك الآن معلوماتٌ كافية وواضحة حول أساسيات قواعد البيانات المختلفة والتي يمكنك التعمق فيها وإتقانها، على الرغم من أن مهندس البرمجيات في الحالة الطبيعية لا يكون بحاجة لاستخدام تلك المفاهيم أو التعامل معها إلا إذا كان مدير قواعد البيانات أو مطور قواعد البيانات في إجازة ولكن لا بأس من تعلمك لهذه المفاهيم فهي حتماً ستخدمك وتفيدك في رحلتك في تطوير البرمجيات.
عندما يكون فريق التطوير بأكمله على درايةٍ بمبادئ وأساسيات قواعد البيانات، عندها سيكون التواصل فيما بينهم أفضل وبالتالي سيكون المنتج النهائي ذو جودة أعلى، حيث أن هذه المعرفة ستمكنهم من تلافي الأخطاء والتقليل من الجهد المبذول من قبل الفريق ككل وبالتالي تحقيق نتائج أفضل بشكل عام.
يجب عليك كمهندس برمجيات أن تكون واثقا في أعضاء فريقك بشكل كامل، حيث أن معرفتك بأساسيات عمل قواعد البيانات لا تكون بهدف الوقوف على أعمال وحركات مطور قواعد البيانات والتحقق من كل تعليمة يكتبها فيما إذا كان يكتبها بشكل صحيح أم لا، فهذا سيسبب المشاكل والخلافات بينك وبين الفريق، بدلاً من ذلك، يجب أن يقتصر عملك على التحقق من البيانات والمراجعة العامة لما تم تنفيذه بهدف الانتباه لأي اخطاءٍ غير مقصودة والحد منها لا أكثر، فالهدف من الفريق أن يكون جميع الأعضاء متعاونين فيما بينهم بهدف العمل بشكلٍ أفضل وليس خلق الاحتكاكات والمشاكل بين الفريق.