أسس قواعد البيانات › البيانات والمعلومات 1 / 24 التالي

البيانات والمعلومات

البيانات شيء ثمين وستبقى أطول مما تبقى الأنظمة نفسها. — Tim Berners-Lee، مخترع الشبكة العنكبوتية العالمية

في الفصل التالي، نريد التوسّع في مفهومي "البيانات" (data) و"المعلومات" (information). فما الذي يعنيه هذان المفهومان بالضبط؟ ولماذا هما مهمان لك كمتخصص في تكنولوجيا المعلومات (أو في المستقبل)؟

من هذا الفصل ينبغي أن تتذكر ما يلي:

  • ما معنى "البيانات"؟
  • ما معنى "المعلومات"؟
  • ما دور "البيانات" و"المعلومات" داخل تطبيقات تكنولوجيا المعلومات؟
  • لماذا توجد حاجة إلى "البيانات الدائمة"؟
  • كيف يسهم نظام إدارة قواعد البيانات (DBMS) في بناء قواعد البيانات وصيانتها بكفاءة؟

الفرق بين البيانات والمعلومات

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

تشير البيانات إلى وقائع محددة يمكن أن تتخذ شكل أرقام أو أعداد أو كلمات أو محارف... فمثلًا، "23" و"Turing" و"1912" و"London" و"Alan" و"June" وقائع في حد ذاتها يمكن اعتبارها بيانات.

وتشير المعلومات إلى المعنى الذي ينتهي المستخدمون إلى إضافته إلى هذه الوقائع والروابط التي تُنشأ بينها. فمثلًا، يمكن إسناد المعلومات التالية إلى الوقائع أعلاه: "في 23 يونيو 1912 وُلد Alan Turing في London." نحن ندمج البيانات لنمنحها سياقًا وقيمة.

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

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

صورة لطالب يُجري تسجيله في UCLL

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

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

البيانات وتطبيقات تكنولوجيا المعلومات

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

لذا يجب أن يكون تطبيق تكنولوجيا المعلومات قادرًا على جمع البيانات ومعالجتها وتخزينها. وكذلك، في الاتجاه المعاكس، يجب أن يكون قادرًا على استرجاع تلك البيانات وعرضها على المستخدمين. ويؤدي ذلك إلى الحاجة إلى القدرة على تخزين البيانات لمدة أطول. ويُسمّى تخزين البيانات لمدة أطول تخزين البيانات الدائم (persistent data storage).

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

قواعد البيانات وأنظمة إدارة قواعد البيانات

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

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

رسم بياني يوضح انخفاض التكلفة لكل غيغابايت

وتُسمّى التقنية التي نستخدمها لبناء قواعد البيانات هذه، ولصيانتها وإدارتها وتأمينها والاستعلام عنها (استخراج البيانات من قاعدة البيانات) نظام إدارة قواعد البيانات (database management system، ويُختصر إلى DBMS). ونظام إدارة قواعد البيانات حزمة برمجية تعمل واجهةً بين المستخدمين النهائيين والتطبيقات من جهة وقاعدة البيانات من جهة أخرى.

وهناك الكثير من أنظمة إدارة قواعد البيانات، وفي سياق هذه الدورة سنستخدم PostgreSQL. ومن الأمثلة الأخرى MySQL وOracle وMicrosoft SQL Server وIBM DB2 وMongoDB وNeo4j...

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