السلام عليكم ورحمة الله وبركاته
ملحوظـه : لاي استفسـارت تخص هذه الدوره بامكانك وضعها هنــا :
الاستفسارات الخاصه HowTo MySQL
كيفكم شباب إن شاء الله تكونوا بخير وفى أتم صحة وحال ملحوظـه : لاي استفسـارت تخص هذه الدوره بامكانك وضعها هنــا :
الاستفسارات الخاصه HowTo MySQL
بدون مقدمات ﻻ فائدة منها ندخل فى صلب الموضوع ، ونبدأ مع العنوان وهو كيفية التعامل مع نظام إدارة قواعد البيانات المفتوح المصدر MySQL وسأتناول فى معرض حديثى عدة نقاط مهمة منها :
* تعريف بسيط لقواعد البيانات بالإضافة لنبذه عن لغة SQL
* لماذا MySQL على وجه التحديد ؟
* تثبيت MySQL على Debian Gnu/Linux
* مقدمة للتعامل مع MySQL
* إنشاء جداول داخل قاعدة بيانات موجودة
* إضافة بيانات داخل تلك الجداول
* الإستعلام عن بيانات داخل الجداول
* الإستعلام عن بيانات داخل الجداول بتطبيق شروط
* Pattern Matching Operators
* العلامات المنطقية Logical Operators
* العلامتان Between , In
* جملة order by
* جملة limit
* الأدة distinct
النقاط السابقة هى جزء من الموضوع الذى سوف أقوم بشرحه إن أحيانى الله وفى ختام الموضوع سوف أقوم بعمل تطبيق عملى لأستخدام ال MySQL فى تطبيقات ال Voip-Servers وذلك تنفيذاً للوعد الذى وعدته للأخ أبو محمد [email protected] وأعتذر للاخ أبو محمد عن التأخير فى تنفيذ وعدى ولكن يعلم الله كانت ظروف الدراسة هى السبب فى تأخير ظهور الموضوع للنور .
حقوق الموضوع : يحق لأى عضو داخل مجتمع لينوكس العربى نشر الموضوع والتعديل عليه بما يناسبه ولكن داخل إطار الفهم العلمى ليس إلا ، كذلك عند وضع الموضوع فى منتديات أخرى ﻻبد من كتابه إسم الموقع وهو " مجتمع لينوكس العربى " ، اما حقوق التأليف والبطيخ إلى غيره من تلك الأمور فلا يهمنى إن قام بذكر إسمى من عدمه المهم أن يتم ذكر إسم موقعنا المجتمع .
النقطة الأولى : تعريف قواعد البيانات ولغة SQL
فى الآونة الآخيرة إنتشرت التطبيقات الكثيرة التى تقوم على ترتيب وتنسيق المعلومات وكيفة إستغلال تلك المعلومات المُرتبة والمُنظمة بشكل عملى ويلمس ذلك القائمون على المشاريع الكبيرة التى تحتاج إلى برامج لإدارة تلك المعلومات المرتبة والمنُظمة هذه البرامج اختلفت وتعددت نتيجة اختلاف عقول البشر فى التفكير بشأن موضوع معين وذلك الإختلاف ناشىء نتيجة اختلاف احتياجات كل فرد عن الآخر ، هذه البرامج التى نتحدث عنها برامج تسمى فى العالم التقنى بنظم إدارة قواعد البيانات أو Database Management System وبالتالى يفرض المصطلح قاعدة البيانات أو Database نفسه للتعريف كالتالى :
قاعدة البيانات أو Database :
بشكل بسيط جدا يمكن تعريف قاعدة البيانات على أنها طريقة مُنظمة لتخزين مجموعة من المعلومات معا ، وبالتالى فإن مصطلح قاعدة البيانات يشير إلى كيفية وضع المعلومة أو عدة معلومات فى صورة مرتبة منسقة يسهل التعامل معها بعد ذلك .
وهنا تجدر الإشارة إلى قاعدة البيانات التى تخص الحاسوب ، ذلك أن البرنامج المسؤل عن إدارة قواعد بيانات الحاسوب تسمى نظم إدارة قواعد البيانات أو فيما يعرف ب Database Management System .
ولكن هناك مفهوم خاطىء قد يتصوره البعض أن قواعد البيانات ﻻ توجد إلا على الحاسوب فقط !!
بالفعل الكلام السابق خطأ فالحاجة إلى قواعد البيانات ليست مقصورة على الحاسب فقط ولكن توجد بين أيدينا قواعد بيانات قد ﻻ نشعر بها فعلى سبيل المثال دليل الهاتف يعتبر قاعدة بيانات نظراً لاحتوائه على بيانات الإتصال الخاصة بعدد معين من الأفراد بطريقة هيكلية مُنظمة تستطيع من خلالها فى أى وقت معرفة تفاصيل أى فرد بكل سهولة ويسر .
وما يهمنا فى التعامل الآن هو قواعد البيانات التى تخص الحاسب أو الكمبيوتر وذلك أن قاعدة البيانات التى بداخل الحاسب ما هى إلا مجموعة من الجداول تستخدم لتخزين المعلومات المنظمة أو البيانات التى نريدها ثم بعد ذلك يتم إجراء مجموعة من العمليات على تلك الجداول بصورة معينة لحذف وإضافة أو تحديث تلك البيانات .
لغة ال SQL :
أحيانا يخطىء البعض أيضا وﻻ يستطيع التفرقة بين SQL وبين MySQL على سبيل المثال كبرنامج وللتفرقة بين اللغة وهى SQL وبين نظم إدارة قواعد البيانات نبسط تلك النبذة عن SQL كما يلى :
يرمز المصطلح SQL إلى الكلمات Structured Query Language وهى عبارة عن لغة تستخدم فى معالجة البيانات المخزنة فى نظم إدارة قواعد البيانات العلائقية أو فيما يعرف ب RDBMS أو Relational Database Management System . ولذلك توفر ال SQL مجموعة من الأوامر قادرة على التعامل مع البيانات لكى يتم استخراج أو تخزين أو حذف أو ادخال تلك البيانات .
ولكى تكون تلك الأوامر متوافقة لشريحة أكبر من الأفراد فتم إخضاع ال SQL كلغة للتعامل مع أنظمة إدارة قواعد البيانات تحت معايير ال ANSI أو American National Institute ، والتى تم وضع قواعد معينة لها لتنفيذ تلك الأوامر عند التعامل مع أنظمة إدارة قواعد البيانات المختلفة.
يمكن ان تستخدم ال SQL لكى تعمل مع انظمة إدارة قواعد بيانات مختلفة مثل MySQL ، mSQL ، PostgreSQL ، Oracle ، Microsoft SQL Server ، Access ، Sybase وغيرها من تلك البرامج .
ونظراً لأن لغة ال SQL تندرج تحت معايير ال ANSI فإن معظم أوامر وجمل ال SQL تكون مدعومة من قبل تلك ال RDBMS ، وفى نفس الوقت توجد بعض الأختلافات بين تلك ال RDBMS المختلفة وذلك يتضح فى عمل أوامر جديدة تخص كلا منها على حده فأنا أطور نفس الشىء الذى يقوم زميلى بتطويره وكلانا بفكره الخاص ولكن يوجد بيننا قاسم مشترك يشمل أغلب الأشياء ، كذلك الوضع مع كل تلك أنظمة إدارة قواعد البيانات المختلفة والتى سبق ذكرها وأشهرها على الإطلاق فى بيئة مفتوحة المصدر هى ال MySQL والتى تم شراء الشركة المسئولة عن تطوير البرنامج مؤخراً وهى شركة MySQL AB من قبل شركة SUN MicroSystems .
فى الكلام السابق أشرت إلى مصطلح جديد وهو RDBMS أو Relational Database Management System أو نظم إدارة قواعد البيانات العلائقية وكما ذكرنا سابقا أن قاعدة بيانات الحاسب ماهى إﻻ مجموعة من الجداول أو Tables ، ولذلك مصطلح Relational يعنى أنك تستطيع تخزين البيانات فى جدوال مختلفة ، تكون تلك الجدول متربط ببعضها البعض بصورة معينة أو نستطيع القول أن تلك الجدوال تكون ذات علاقة معينة ببيعضها البعض .
النقطة الثانية : لماذا MySQL على وجه الخصوص ؟
اختيار نظام قواعد البيانات يعتمد على عاملين مهمين هما :
1- نوع بيئة نظام التشغيل التى تعمل أنت عليها .
2- الواجبات المطلوبة منك والمراد انجازها .
ووقع الإختيار بالنسبة ل MySQL لانها تعمل على أنظمة ال Unix وال Unix-Like بشكل أكثر من رائع كما أنها برنامج حر و مفتوح المصدر .
ملحوظة : توجد نسخة من ال MySQL تحت إسم ال Enterprise Edition والتى تندرج تحت فئة الدعم مقابل المال .
ولكن قد يطرح أحدنا سؤاﻻ آخر يفرض نفسه لماذا نحتاج إلى قواعد البيانات ؟
قد أشرت فى مقدمة حديثى أن قواعد البيانات عبارة عن مخزن للبيانات يتم معالجته بصورة ما لكى يسهل التعامل مع تلك البيانات ، ولنفترض جدلاً أنك تمتلك ملف نصى يحتوى على بعض الأسماء لعدد من أصدقائك وعناوين البريد الإلكترونى الخاص بهم هل تستطيع أن تسمى ذلك قاعدة بيانات ؟
علميا وعمليا نعم !! ﻻ تستغرب فعلا هذا الملف يعتبر قاعدة بيانات فى حد ذاته فأنت قمت بترتيب ووضع الأسماء فى الملف وأمام كل إسم عنوان البريد الإلكترونى الخاص به وهكذا ، أى أنك قمت بترتيب المعلومات التى تريدها فى ملف لكى يسهل لك بعد ذلك التعامل مع ذلك الملف ، فمثلا تستطيع إضافة وحذف وتحديث تلك البيانات من خلال ذلك الملف ، كما أنك تستطيع كتابة بريمج صغير وظيفته مثلا البحث داخل ذلك الملف عن إسم معين أو إضافة إسم جديد أو تحديث عنوان بريد الكترونى لشخص قد قام بتغيير بريده الإلكترونى إلخ....
وبالتالى أحتياجات الفرد أو المنظمة إلى قواعد البيانات تكون مختلفة و MySQL بصورة أو بأخرى تمثل حلا ً ﻻ نقول مثاليا ً ولكن لنقول ممتازاً يُعتمد عليها كإختيار لنظم إدارة قواعد البيانات وكما ترون أن شركة Sun ليست بالشركة الغبية لكى تقوم بشراء برنامج MySQL ولا ترى فيه أفق النجاح !
سأكتفى فى هذه المشاركة بالنقتطين السابقتين وأكُمل تباعاً فى المشاركات القادمة .
وأرجو منكم إن كانت هناك أخطاء تقنية بالموضوع فُيرجى تنبيهى إليها أخوكم جديد العهد بنظم إدارة قواعد البيانات وﻻ يوجد بيننا كامل فالكمال لله وحده .
وكل ما أتمناه منكم دعوة بظاهر الغيب أن يوفقنى الله فى دراستى .
السلام عليكم ورحمة الله وبركاته
تعليق