مقدمة عن قواعد البيانات
شكلت البيانات جزءاً رئيسياً من التطور العلمي والتقني لإدارة أعمال المؤسسات، حيث أصبحت هذه التكنولوجيا أحد الأوجه الرئيسية لتطور البرمجيات في السنوات الأخيرة.
اعتمدت الأعمال على قواعد البيانات لاستخلاص المعلومات الضرورية المساعدة في اتخاذ القرار، وقد اقتضى ذلك الاهتمام بالدقة والأمانة والترتيب والشكل المناسب الذي تظهر به المعلومات لصاحب القرار.
نميز مما سبق بين البيانات Data والمعلومات Information، حيث نعرّف:
البيانات: حقائق مجردة ذات معنى من نصوص، بيانيات، صور، وفيديو.....
المعلومات: بيانات معالجة لتصبح مفيدة في اتخاذ القرار.
تعاريف عامة:
قاعدة البيانات Database: هي مجموعة من البيانات المنظمة والمترابطة، تتميز بسهولة الولوج accessing والتعديل بحسب الحاجة.
محرف Character: الوحدة الرئيسية للبيانات ويمكن أن تكون حرف أو رقم أو رمز خاص.
حقل Field: محرف أو مجموعة من المحارف التي يمكن أن تحدد معنى ما.
سجل Record: حقل أو مجموعة من الحقول المترابطة منطقياً التي تصف شيئاً ما، كالبيانات العامة لشخص ما.
ملف File: مجموعة من السجلات المترابطة مع بعضها، كطلاب مدرسة ما.
نظم الملفات الورقية:
تعتبر نظم الملفات الورقية أحد الأشكال الأولى غير المحوسبة Non Computerized لقواعد البيانات، حيث تتألف من مجموعة من الملفات المرتبة والبسيطة التي تحفظ في خزائن ويقوم أحد الأشخاص بتنظيمها وترتيبها وفقاً لمعايير مختلفة. وقد كانت هذه الطريقة كافية عندما كانت كمية البيانات صغيرة نسبياً ولا تحتاج إلى تقارير كثيرة، ولكن مع نمو حجم الملفات وارتفاع وتيرة عمليات البحث بينها أصبحت هذه النظم غير مفيدة.
نظم الملفات البسيطة Flat-File:
يعتبر تخزين البيانات أحد الأهداف الرئيسية للحواسيب. ولعل نظام تخزين الملفات هو من المحاولات الأولى لحوسبة نظم الملفات الورقية التي كانت تستخدم قبل ظهور الحواسيب.
يتألف نظام الملفات البسيطة من مجموعة من التطبيقات البرمجية التي تقوم بالتعامل مع بيانات موجودة في ملفات مختلفة على نظام التشغيل.
تحتوي هذه الملفات على البيانات بشكل أسطر من النصوص حيث تفصل بين القيم المختلفة فواصل أو أحرف TAB أو ما شابه. ويوضح الشكل التالي مثالاً على ملف بسيط يحوي معلومات خاصة بطلاب مدرسة.
مساوئ نظم الملفات البسيطة:
تكرار البيانات Data redundancy:
وجود نسخ من نفس البيانات في عدة ملفات أو في نفس الملف.
تعتبر من أكبر المشاكل في نظم الملفات البسيطة حيث تسبب المزيد من حجم التخزين غير الضروري، والمزيد من الجهد اللازم للإدخال والتعديل حيث يجب إدخال وتعديل البيانات في أكثر من مكان.
يؤدي تكرار البيانات إلى احتمال مشكلة أكبر عندما يتم تعديل نسخ البيانات في بعض الأمكنة وإهمال تعديلها في أخرى، مما يؤدي إلى ظهور ما يدعى بالبيانات الشاذة، وبالتالي تصبح البيانات غير متوافقة Inconsistent Data.
فصل البيانات Separation of Data:
إن الوصول إلى البيانات المترابطة منطقياً يصبح أكثر صعوبة عندما تكون البيانات موجودة في أكثر من ملف، ولاسيما عند ازدياد عدد الملفات حيث يجب أن يقوم التطبيق بضمان تزامن الولوج إلى الملفات المختلفة من أجل ضمان صحة المعلومة.
تبعية البيانات Data Dependency:
تعرف بنية البيانات في الملفات البسيطة ضمن رماز التطبيقات المتصلة بها، فتصبح البيانات وبنيتها Structure معتمدة على التطبيقات. مما يجعل أي تعديل مطلوب على هذه البنية صعباً ومعقداً للغاية. وينعدم بالتالي أي تنسيق بين التطبيقات، وأي تحكم مركزي Central Control.
عدم مرونة التطبيق:
إن استخدام البرمجة بواسطة لغات الجيل الثالث للعمل على ترتيب وتطوير نظام الملفات يظهر بعض المشاكل، حيث أنه من الصعب أحياناً استخدام الاستعلامات اللحظية في هذا النوع من اللغات، فبذلك لا يكون من الممكن طلب تقارير جديدة والحصول عليها بسرعة، مما يعني أنه يجب كتابة برامج لتصميم تقارير جديدة، وهو أمر مكلف ويستهلك زمناً كبيراً. وكذلك الأمر بالنسبة لعمليات تعديل بنية الملف التي تزداد صعوبة.
كما أن إجراء تعديل على بنية ملف يستدعي إجراء تعديل على كل البرمجيات التي تستخدم هذا الملف، أما عند إجراء تعديلات على الملف فستظهر الحاجة إلى صرف المزيد من الوقت والجهد من أجل تفحص البرنامج بحثاً عن الأخطاء التي يمكن أن تظهر نتيجة البرمجة المعقدة المستخدمة. وبسبب البرمجة المعقدة قد يكون في بعض الأحيان من المتعذر برمجة معايير الأمان فيعمد محللو النظام إلى تجاهل هذه المعايير بهدف تشغيل النظام بدون أخطاء.
قواعد البيانات ونظم الملفات:
يتبين لنا مما سبق بأنه على الرغم من أن نظم الملفات البسيطة شكلت تطوراً مهماً للتخلص من الأنظمة الورقية إلا أنها تعاني من مشاكل كثيرة. وقد كان الحل بالاستغناء عن الملفات البسيطة وتخزين البيانات بصيغة مترابطة منطقياً في وعاء مركزي وحيد Single repository أو ما سمي بقاعدة البيانات Database.
اقتضت هذه العملية وجود مجموعة من البرمجيات التي تؤمن تخزين وإدارة البيانات والتي تدعى نظام إدارة قواعد البيانات Database Management System واختصاراً DBMS، ويسمح هذا النظام بتعريف وإنشاء قواعد البيانات والتحكم بها.
أهمية تصميم قواعد البيانات:
قبل العمل على قواعد البيانات يجب الانتباه إلى ضرورة تصميم قواعد البيانات بعناية، إذ يرتبط هذا التصميم بالاستخدامات المتوقعة لقاعدة البيانات مما يعطي المصمم إمكانية التنبؤ بالبيانات التي سيتم الاحتياج إليها، وهو يحدد كيفية ترتيب قواعد البيانات، فلكل حالة هنالك شكل خاص لها، كما يساعد التحليل المسبق لقواعد البيانات على تجنب البيانات المكررة التي تزيد من حجم قاعدة البيانات دون أية فائدة. وقد يؤدي التصميم السيئ لقواعد البيانات إلى إنتاج معلومات خاطئة تضر بمصالح المؤسسة.
نظام إدارة قواعد البيانات DBMS:
تتوفر عالمياً أنواع مختلفة من أنظمة إدارة قواعد البيانات، منها:
Oracle, SQL server, Ingres, ……….
وتتمتع بخصائص مشتركة منها:
تدعم أنظمة إدارة قواعد البيانات لغة محددة للتعامل مع البيانات (مثال لغة الاستعلامات المهيكلة SQL).
تسمح أنظمة إدارة قواعد البيانات للمستخدمين بالقيام بجميع العمليات على البيانات من إحضار وإضافة وتعديل وحذف.
تؤمن أنظمة إدارة قواعد البيانات:
o نظام أمان Security.
o نظام تكامل البيانات Integrity.
o نظام تزامن Concurrency لمعالجة الولوج المشترك المتزامن لأكثر من مستخدم.
o نظام نسخ احتياطي واسترجاع البيانات عند حدوث مشكلة في النظام Backup & Recovery.
o قاموس البيانات Data Dictionary الذي يحتوي على توصيف وتعريف البيانات والعلاقات بينها.
نماذج البيانات
إذا قمت بسؤال أي مطور برمجيات خاصة بالمؤسسات عن الخطوة الأكثر أهميةً في عملية التطوير، فسيكون الجواب غالباً بأنها مرحلة تحليل متطلبات الزبون Analyzing Requirements. وتعتبر نمذجة البيانات (Data modeling) إحدى التقنيات الأكثر استخداماً في هذه المرحلة، وتهدف إلى تطوير نموذج دقيق أو تمثيل بياني Graphical representation لمتطلبات الزبون، مما يقودنا بدايةً لمجموعة من التعاريف.النموذج Model:
تمثيل مجرد للأغراض والأحداث المرتبطة في العالم الحقيقي، إنه تجريد مبسط للواقع.
نموذج البيانات Data Model:
تمثيل مجرد (أو توصيف) للبيانات الخاصة بمؤسسة حيث يوضح هذا النموذج الكياناتEntities والأحداث Events والنشاطاتActivities المرتبطة بهذه المؤسسة. نستطيع القول بأن نموذج البيانات يصف المؤسسة بحد ذاتها ويهدف إلى تمثيل البيانات وجعلها قابلة للفهم بشكل أفضل.
الكيانات Entities:الكيان هو شيء Thing أو غرض Object ذو معنى بالنسبة لعمل المؤسسة Business، يمكن توصيفه من خلال مجموعة خصائص. قد تكون الكيانات شخصاً، بناءً أو نشاطاً (كموعد أو عملية).
الخصائص Attributes:إن عملية وصف الكيان بعد تمييزه تعني تحديد جميع خصائصه التي نريد معرفتها وتخزينها في قاعدة البيانات
العلاقات Relationships:تشكل العلاقات أو الروابط Association or Linkage بين الكيانات، كأن نقول مثلاً " يُكلف مهندسو الشركة بالمشاريع ".
لاحظ أن الإشارة إلى العلاقة بين الكيانين مهندس ومشروع تمت باستخدام فعل التكليف.
تُصنف العلاقات بدرجتها Cardinality وفيما إذا كانت اختيارية Optional أم إجباريةMandatory.
أشكال العلاقات:
علاقة واحد لواحد One-to-One:"يجب أن يملك كل مهندس حاسوباً وحيداً". تعبر هذه الجملة عن علاقة واحد لواحد بين كيان المهندس وكيان الحاسوب في المؤسسة حيث لا يحق للمهندس امتلاك أكثر من حاسوب، ولا يمكن أن يكون الحاسوب ملكاً لأكثر من مهندس. وتُعتبر هذه العلاقة من العلاقات القليلة الاستخدام في نماذج البيانات.
علاقة واحد لعدة One-to-Many:"يمكن أن يشرف كل قسم في المؤسسة على أكثر من مشروع ويجب أن يكون كل مشروع تابعاً لقسم واحد على الأكثر"، تعبر هذه الجملة عن علاقة واحد لعدة بين المشاريع والأقسام في المؤسسة، حيث تكون العدة Many من جهة كيان المشروع، والواحد One من جهة الكيان قسم. نميز في هذا النوع من العلاقات بين الكيان الأب Parent(القسم) والكيان الابن Child (المشروع).
علاقة عدة لعدة Many-to-Many:"يُكلف كل مهندس بعدة مشاريع ويعمل في كل مشروع عدد من المهندسين". تُعبر هذه الجملة عن علاقة عدة لعدة بين المشاريع والمهندسين.
النموذج العلائقي
Relational Modelخصائص الجداول
§بنية ثنائية مؤلفة من أعمدة وأسطر.
§يمثل كل سطر (تسجيلة) كياناً واحداً من مجموعة الكيانات.
§يمثل كل حقل في الجدول واصفة، وله اسم مميز.
§تمثل تقاطعات الأسطر والأعمدة قيمة معطيات واحدة.
§ينبغي أن تطابق جميع القيم في حقل محدد صيغة معطيات واحدة، كأن تكون كلها أعداداً صحيحة أو أن تكون كلها من نمط تاريخ.
§لكل عمود مجال محدد من القيم يعرّف باسم مجال الواصفات.
§ترتيب الأسطر والأعمدة غير مهم بالنسبة لنظام إدارة قواعد البيانات، ويمكن استرجاعها بالترتيب المطلوب.
§يجب أن يحوي كل جدول على واصفة أو مجموعة واصفات تميز كل سطر عن غيره.
العلاقات والمفاتيح:
العلاقة Relationship هي الرابط بين جدولين أو أكثر، يعبّر عنها في قاعدة المعطيات من خلال المفتاح الأساسي Primary key والمفتاح المستورد Foreign key.
المفتاح الأساسي Primary key هو حقل أو مجموعة حقول تميز بمجموعها كل تسجيلة في الجدول.
المفتاح المستورد Foreign key (أو المفتاح الثانوي) هو حقل قيمته تطابق حتماً قيمة مفتاح أساسي في جدول آخر (إن لم تكن NULL)، ويمكن النظر للمفتاح المستورد على أنه نسخة من قيمة مفتاح أساسي في جدول آخر. تحدد التسجيلة المرتبطة من الجدول الآخر بالتسجيلة الحاوية على المفتاح المستورد من هذا الجدول.
0 التعليقات:
إرسال تعليق