الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

دوره في Mysql الى الاحتراف .... بأذن الله

بدأه Jehazee في 23 مارس 2009 · 8 رد · 2,806 مشاهدة · في قواعد بيانات MySQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

كيفكم شباب ان شاء الله طيبين ...

انا حابب اخبركم اني ببتدي بطرح بعض الدروس في برمجة MySQL هذا النوع من هندسة قواعد البيانات المتطور رغم خفتها وسهولتها تقوم بأنجاز مشاريع ضخمه جداً جداً لانها تملك قوه في الفهرسه والتحكم بالمخرجات والمدخلات وتخطيط القاعده

لن اتحدث طيولاً ولكن سأقوم بطرح الدروس لمجتمعنا مجتمع Qt العربي وأتمنى ان اجد تفاعل وقبوليه لسبب امكانية دمج هذا النوع من القواعد مع اية لغه من مثل PHP في تطوير الويب المتقدم وايضا Python والعديد ايضا من اللغات الاخرى التي يمكن دمجها مع هذا النوع من قواعد البيانات

فقط سأطرح حاليا .. نبذه بسيطه عن هذا النوع من قواعد البيانات

1 - تم بناءها على SQL

2 - مفتوحة المصدر

3 - تصنف ضمن قواعد البيانات العلائقيه

4 - امكانية كتابة واستخدام دوال رياضيه ضمن اللغه

5 - مفتوحة المصدر وبرعاية SUN

هذه نبذه مبسطه عن الـ MySQL اتمنى اني استطعت ايصال الفكره لكم .. وسأبداء في الفور واللحظه التي انتهي من اعمالي باذن الله تعالى ..:

=====================

أن أخطأت فمن نفسي والشيطان وأن أصبت فهو من الله عز وجل

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

1 - طريقة تثبيت MySQL Server على نظامي اللينكس والويندوز

2 - التعرف على البئه وعلى تنظيم قاعدة البيانات وهيكلتها او هندستها

3 - الاوامر الخاصه بالتحكم وادارة السيرفر والوصول الى تفاصيله

4 - الاوامر الاربعه التي دائما تتداول في قواعد البيانات العلائقيه

هذا كطرح اولي بعد الانتهاء من شرح الدروس على هذه الطريقه سيتم طرح الفهرس الثاني وهو التعامل بطريقه متقدمه مع قاعدة البيانات

دعاء قبل البدئ

اللهم لا علم لنا الا ما علمتنا فنفعنا وانفع ذوينا في علمنا .. يالله

سأتحدث اولا عن تنصيب الـMySQL Server على نظام لينكس وسيتم الشرح بالاخص للـ redhat بسبب استخدامي لهذا النظام وكثرة تعاملي معه ..@

يمكنك التنزيل من الموقع الرسمي لقواعد البيانات http://mysql.com

او ايضا يمكنك التزيل عن طريق Yum وانا ارى انه من الاقضل لانه سيغنيك عن ضبط الاعدادات للتركيب العادي وسأواصل الشرح بالتنزيل عن طريق Yum

1 - تقوم بفتحه ثم تطلب الحزمه منه وهي باسم mysqld وايضا server mysql سيتم التنزيل تلقائيا قم بأعادة تشغيل النظام سيتم تنزيل Client تلقائياً مع الحزمه نفسها بعد اعادة التشغيل قم بفتح موجه الاوامر Konsole وقم بكتابة الامر التالي

 mysql

سينم نقلك تلقائيا الى بيئة عمل MySQL نصياً ...

ولكنك ستدخل بصلاحيات مستخدم عادي وليس مدير للسيرفر قم بالاول بتسجيل دخول الroot ومن ثما ادخل الى mysql

 su root
  password

  mysql

سيتم دخولك كمدير لقواعد البيانات ...

###############################################################

اما للتركيب على Windows يمكنك ايضا تركيب السيرفر بعد تنزيله من http://mysql.com

قم بتحميل السيرفر وتنصيبه او قم بتنصيب سيرفر AppServ او دعما لاخوننا العرب قم بتنزيل Camel Server هوه سيرفر لل php & apache ولكن ستستطيع ايضا ان تنزل معه MySQL بكل سهوله ويسر

يمكنك ان تقوم بالدخول لمحرر الاوامر MS-DOS وتوجيه الاوامر منه بالدخلو بنفس الطريقه عن طريق الامر mysql طبعا لا يوجد هنالك تصاريح في هذا النظام ولذلك يمكنك السيطره على قواعد البيانات بشكل كامل عدى قاعدة mysql النظاميه وتاتي تلقائيا مع السيرفر

##############################################################

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

التنظيم والهندسه للقاعده في MySQL :-

يتكون السيرفر للMySQL من عدة قواعد بيانات هذه القواعد تحتوي على جداول والتي هي بدورها تقوم بتنظيم وترتيب المحتوى بشكل تنظيمي لقاعدة البيانات لمن اعمده وحقول فيها

لمستخدمي ويندوز الرجاء التركيز حين تنزيل AppServ اذا اراد ان يقوم بتثبيت MySQL مع Apache فأنه سيطلب منك كلمة المرور كلمة المرور يجب ان تركز عليها فهي التي ستسمح لك بدورها في دخول خادم MySQL

ويمكن الترتيب بهذه الطريقه بشكل افضل

قاعدة بيانات -> جدول -> اعمده -> حقول

هذا التنظيم الذي بني على اساسه الMySQL قد يقول البعض وكيف يتم ترتيب وتنظيم البرامج فيها وكيف يتم تنظيف برماج الويب المنتشره عن طريق اقسام وافرع وافرع عنها ؟

اذا انت شاطر وتريد التعلم وهذه استفسارات سيتم الرد عليها من خلال الشروحات المقدمه ولكن انتظر قليلا لكي تفهم كثيراً ##@

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

###################################################

أن أخطأت فمن نفسي والشيطان وأن أصبت فهو من الله عز وجل

تم تعديل هذه المشاركة بواسطة Jehazee في 23 مارس 2009 في 10:54

#2

بالطبع بعد تسجيل دخولك الى السيرفر تريد ان تعرف ... كيف استفيد من هذا السيرفر

سأتحدث عن عدة نقاط وهي كيفية ... فل نقسمها بطريقه افضل ول تصبح مرتبه :

1 - عرض قواعد البيانات في السيرفر .

2 - أنشاء قاعدة بيانات في السيرفر .

3 - حذف قاعدة بيانات في السيرفر .

4 - المحتاجات الاخرى ..

طبعا لعرض قواعد البيانات لديك في السيرفر هو كتالي :-

 SHOW DATABASES;

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

icon_e_smile.gif .

أما أمر انشاء قاعدة بيانات جديده في السيرفر فهو كتالي

 CREATE DATABASE `montadaphp`;

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

تذكير مهم جداً ويجب الانتباه اليه :-

* عند كتابتك للأسماء أعلم ان MySQL غير حساسه لحالة الاحرف فمثلا A هو نفسه الحرف a وهذه خاصيه فيها كـ لغه وكـ قاعدة بيانات وهذا لا يمثل القيم المدرجه في قاعدة البيانات

* لا تقبل الـ MySQL الرموز المحجوزه الرياضيه فيها لانها تستخدمها كأدوات للفهرسه المتقدمه والرموز كتالي

	 $ % &  ] [; . , >< }{ ^  !  + - = / * ()

هذه الرموز جميعها لا تصلح لتسميه فهي محجوزه كما قلنا ضمن اللغه النصيه لقواعد البيانات

###########################

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

 DROP DATABASE `montadaphp`;

هذا الامر الصغير كفيل بحذف قاعدة البيانات بأسم montadaphp

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

قد يقول البعض كيف ؟؟ هذا ما سأتطرق البه في الدروس القادمه .

#############################

أعتقد ان بهذا القدر من الحديث قد اكتفية حصوصاً عن الامور المهمه في التعامل مع القاعده بشكل عام

#3

السلام عليكم ورحمة الله وبركاته ...

اعتذر عن تأخري ولكن مشاغل الحياه لاترحم ...

في البدايه سأقوم بالتحدث عن فكره بسيطه عن ماذا سأتحدث .. وايضا ماذا ممكن ان نستفيد وايضا كيف يمكن ان نطور مستوانا وكيف نستطيع ان نرتقي في برامجنا بشتى لغاتها من مثل PHP وايضا Python وغيرها من اللغات الاخرى التي يمكن دمجها مع قواعد بيانات MySQL

ٍولكن قبل هذا كله لقد تعلمنا كيف نقوم بأنشاء قاعدة بيانات والمنشئ الله عز وجل انما نحن مخلوقين ....

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

لن اطيل الحديث في هذا ولكن يمكننا ان نطبق شرح عملي عن هذا العمل ...

فل نقوم بفتح محرر الاوامر النظامي الخاص بالنظام Terminal او MS-Dos في الويندوز ...

فل نقم بأنشاء قاعدة بيانات .... لن اعيد كتابة الامر لكي تبحث عنه وتضطر لحفظه لان المشاركه او الموضوع لن يظل طول العمر smailes47.gif

قم بأنشاء قاعدة بأسم montadaphp

وتأكد بأمر عرض قواعد البيانات ان القاعده موجوده وقد تم انشائها ... طيب انت الان قد قمت باضافة قاعدة البيانات >> تابع اذا

الجدول Tables او جدول table انا اتمنى ان تحفظ الاسماء بالانجليزيه لان التعريب في كل شيء يظر في بعض الاحيان ولا مانع من اخذ الاسماء بالعربي لتفصيل الشيء اكثر ولتسهيله .. فلنكمل

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

 +---+--------+
 | ID | Name |
 +---+--------+
 | 1 | Jehazee|
 +---+--------+
 | 2 | MonPHP|
 +---+--------+

هذا رسم تقريبي لطريقة عرض الجدول في قاعدة البيانات ... هذا فقط تقريبي سترى الشكل المنسق بعد قليل

امر انشاء الجدول هو التالي

 CREATE TABLE `montadaphp`

قم اولا بوضع امر تحديد القاعده فكيف سيعلم المحرك اي جدول يطبق عليه الاوامر .. الليس هذا صحيح smailes9.gif

هذا هو امر انشاء الجدول في القاعده قم بتجربته وعد لتكملة القراءة ....

لابد من وانك تفاجئت smailes64.gif

الامر حاطئ الليس كذلك لان من شروط اضافة الجدول اضافة اعمدته مع اضافة الجدول ... فلا يبنى البيت دون ركائز واعمده smailes86.gif

هنالك عدة انواع للاعمده او التصانيف في قاعدة البيانات هذه التصانيف هي ما تحدد نوع الاعمده وهي التي تساعدك على الارشفه وعلى فهم المحتوى الذي ستقوم ببناء القاعده عليه ..

لنعود لما قمنا به ..!@

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

 mysql> CREATE TABLE `montadaphp`
	 -> (
	 -> `ID` int not null auto_increment primary key,
	 -> `jehazee` varchar(20),
	 -> `phone` int
	 -> );

فل نقم الان بعملية الفصفصه .. smailes54.gif بل عملية الشرح للكود هذا بل انه منطقي لدرجه انه اشبه بشرح خطة عمل

طبعا وكلنا الان يعلم بامر العليم لا اله الا هو الله .. ان الامر الاول

 CREATE TABLE `montadaphp`

هذا الامر هو امر انشاء القاعده بالاول وهو امر غير منتهي فكما قي العديد من لغات البرمجه يجب انهاء الامر البرمجي بالفاصله المنقوطه ; هذه فهي تعني للمقسر او المترجم نفذ الامر من البدايه الى ; الفاصله المنقوطه على حدى ... لن اعيد الحديث هذا فهو مفهوم للاغلبيه .. او للجميع ايضا

فسيظل امر الاتشاء اذا مستمر بانتظار بقية اوامر التشكيل لقاعدة البيانات وهي كما ذكرت في الاعلى

  (

هذا بعد امر الانشاء فهذا الامر هو الذي يحتوي او بالاحرى قوس احتواء المعلومات الخاصه بالحدول المنشئ فل نبتدي باول معلومه ....

 `ID` int not null auto_increment primary key,

هذا امر الانشاء للعمود الاول فمعلومات كل عمود يجب ان تعرف انه ينتهي بالفاصله السفليه , فهذه الفاصله تعبر عن انهاء العمود وكما هو مبين ...

قمنا بأنشاء عمود باسم ID هذا هو الاسم طيب int هذا ما يمثل النوع لان العمود كما قلت انوع لكي يسهل الفهرسه وما ساتحدث عنه بالتفصيل الممل باذن الله تعالى في المستقبل القريب ..... هذا النوع يحمل فقط رقم فقط ولا يحمل اي نص فيعتبر اي شيء غير رقم خاطئ ....... طيب الامر not null هذا الامر هو امر ان يشرط على الحقل عدم اخذ قيمه فارغه يجب ان يحتوي على قيمه ...على عكس الامر null من غير not فهو نفي الامر .... وثالثا وليس اخيراً الامر auto_increment هذا الامر هو امر عدم جعل القيم تتشابه اي سيتم افراز رقم جديد كليا مثلا رقم متاضفع 0 و 1 و الصف الثالث يعطيه 3 ومع زيادة الصوفوف يزداد الرقم ولكن دون ان يتكرر في صفين فذلك مخالف لهذه القاعده وهذا ما يساعد المبرمج على ايجاد اقسام ومثالات وردود والعديد ايضا من الاشياء في سكربتاتهم ... وايضا واخيراً الامر primary key هذا الامر يعطي هذا العمود احقية مسك مفتاحية الجدول اي ان يرتكز معمادية انشاء الجدول والصفوف عليه بهذا الجدول وهذه ميزه تفيد الجميع وقليلا منا يقدر قيمتها رغم عمليتها وتفيد في عمليات البحث والفهرسه ايضا , ...

بهكذا نكون قد انهينا العمود الاول وهو العمود الساخن اخترته لاني اعلم انه اكبر تركيز على قراة الفقره الاولى قبل التي بعدها هذا مجرد ظن ليس اكثر ولا نتجرئ على علم الله فالله اعلم ...

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

 jehazee` varchar(20),

هذا الامر انشاء عمود يحتوي على قيمه واحده او بالاحرى فقط قمنا بتحديد نوعه واكبر كميه من الحروف يمكن ان يحمل وهو النوع varchar هذا النوع لايفرق بين نص رقم كود اي شيء فهو يقوم بحمل كل شيء دون ممانعه على نوع معين ابداً ... وقد تم تحديد اكبر كملة من النصوص او الاحرف التي تكتب هي 20 حرف في الحقل الواحد وهذا شرط فهو العدد الاقصى من البيانات فكما ساشرح باذن الله تعالى فيما بعد في دورات اخرى عن نظريات الذكاء الاصطناعي وغيره ايضا عن بناء المورثات الجينيه الالكترونييه ستفهم كيف يتم تحديد عدد الاحرف او القيم المدخله ,...

طيب في العمود الثالث

 `phone` int

قمنا باضافة عمود وهو باسم phone طبعا هذا لحفظ ارقام التليفونات الحاصه بالمجموعه التي انت تقوم بتسجيلها .... ولاحظ انني اعدت النوع int فهكذا حددت فقط رقم ولكن ايضا انقصت عدد القيم المدخله من حروف او ارقام وهذا يفتح المجال الى مالا نهايه ...,

طيب وفي النهايه قمنا باغلاق الجدول بعد اضافة معلوماته ... بهذه الطريقه

 );

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

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

 SELECT * FROM `montadaphp`

سيقوم هذا الامر بعرض المعلومات المخزنه بالحدول ولا بد انك عرفت اين متغير هذا الامر وكيف تستطيع استخدامه مع اكثر من جدول اخر في قاعدة البيانات

اذا اخطأت فمن نفسي والشيطان وان اصبت فمن الله عز وجل

اخوكم عبدالرحمن الجهازي

#4

بارك الله فيك اخي الكريم

شكرا على الدروس وان شاء الله تكمل ليستفيد منها الأخوة .

وجعلها الله في ميزان حسناتك ان شاء الله

I Say Nothing

#5
mana80 كتب:
بارك الله فيك اخي الكريم

شكرا على الدروس وان شاء الله تكمل ليستفيد منها الأخوة .

وجعلها الله في ميزان حسناتك ان شاء الله

حياكي الله اختي

مافيه مشكله باذن الله تعالى بكمل الدوره لحتى النهايه

وبتكون الدوره الاولى العربيه على الانترنت في MySQL

لانه فيه كثير ناس يجهلو ماهي MySQL لسبب قلة معلوماتهم عنها وعن فوائدها

#6

شكرا على الدروس

وعلى اسلوبك السهل الحلو والمميز في الشرح

وياريت تكمل الدروس

وشكرا مرة تانيه

#7

شكرا على الدروس

وعلى اسلوبك السهل الحلو والمميز في الشرح

#8

ارك الله فيك اخي الكريم

شكرا على الدروس وان شاء الله تكمل ليستفيد منها الأخوة .

وجعلها الله في ميزان حسناتك ان شاء الله

#9

جزاكم الله خير ..

وياريت تتطروق لكيفية ربط الجداول ..

مواضيع مشابهة