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

انضم إلى المنتدى ، فالأمر سريع وسهل

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

مقدمة عن قواعد البيانات

اذهب الى الأسفل

مقدمة عن قواعد البيانات Empty مقدمة عن قواعد البيانات

مُساهمة من طرف admin الإثنين أغسطس 20, 2012 5:51 pm


مقدمه عن قواعد البيانات


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

متطلبات قبل البدأ :



  • لا يوجد

اهداف الدرس:


  • مقدمه عن قواعد البيانات
  • قواعد البيانات مقابل نظام الملفات
  • لماذا قواعد البيانات
  • قاعدة البيانات MySQL
  • معرفات قواعد البيانات
  • انواع الاعمده في قواعد البيانات
  • امثله على قواعد البيانات
  • العلاقات في قواعد البيانات
  • طرق ربط العلاقات في قواعد البيانات
  • تصميم قاعدة بيانات



مقدمه عن قواعد البيانات
:


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




قواعد البيانات مقابل
نظام الملفات :


لو تسآلت لماذا نستخدم قواعد البيانات ؟ لماذا لا
نستخدم ملف ونضع فيه معلوماتنا, الاجابه بسيطه. طرق التخزين , المساحه , سهولة
الاستعلام

طرق التخزين
:

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

المساحه :

تخيل موقع الياهو الذي يملك اكثر من مليون مستخدم
, كم ملف سوف يقوم بإستيعاب جميع هؤلاء المستخدمين ؟ وكم سوف تكون احجام الملفات ؟
هل هو شي منطقي ؟ غير ان استخراج معلومه ما سوف يكون بطيئ جدا فهو غير منطقي اساسا,
لكن مع قواعد البيانات فهو مسهل بطريقه ممتازه, مرتب بطريقه جيده, ولا يأخذ حيزا
كبيرا مثل الملفات , وعند القراء يكون اسرع.

سهولة
الاستعلام :

لو نرجع الى مثالنا , الملف الذي يحوي على اسماء
المسجلين بالموقع , تخيل انهم 1000 مستخدم , كل مستخدم في سطر بالملف, لو اردت ان
تقارن الاسم في الملف بالاسم الذي ادخله المستخدم فسوف تحتاج الى تقوم بقراء الملف
كاملا اي 1000 سطر, لكي تقوم بإيجاد المعلومه المطلوبه , سوف تقول ماذا لو كان
المستخدم في اول الملف , اذن ماذا لو كان في اخر الملف وكان رقم 1000 ؟ اعتقد ان
الصوره وضحت. لكن مع قواعد البيانات فالاستعلام سهل جدا عن طريق اللغه المسماه
SQL , فهي لغة منطقيه جدا وطريقتها سهله جدا فمجرد ان
تقول اختر من الجدول ( مستخدمين ) القيمه التي تساوي ( اسم
المستخدم المدخل )
فقط , وسوف يقوم الاستعلام بأخبارك هل يوجد اسم المستخدم
ام لا .



لماذا قواعد البيانات :

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



  1. السرعه

  2. السهوله

  3. التنظيم

  4. تقليل التكرار

  5. تقليل المعلومات الغير مفيده

وغيرها الكثير التي لا حصر لها , ويمكن ان تذهب
الى Google وان تكتب في محرك البحث why to use
database , وسوف تحصل على المعلومات الكافيه التي تحتاجها.



قاعدة البيانات
MySQL:


هناك كثير من قواعد البيانات موجوده الان , ويمكن
انك قرأت عنها في الدرس الاول الذي يتكلم عن لغة PHP .
ولكن لو لاحظت ان اغلب مبرمجين PHP يستخدمون هذه القاعده
لخصائصها , فهي مجانيه , مفتوحة المصدر , سريعه , سهله. ولكن احد عيوبها انها لا
تدعم العلاقات الا بطريقه معينه. وسوف نتكلم عن العلاقات في اخر الدرس.



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

لدينا 3 معرفات في قواعد البيانات وهي : قاعدة
البيانات , الجدول , العمود

قاعدة
البيانات :

وهي المحتوى ( الحقيبه ) التي يكون
بها جميع معلوماتنا , ويمكنك انشاء اكثر من قاعدة بيانات

الجدول :

كل حقيبه لديها حافظات ( جيب ) واحد
للاقلام , وواحد للاوراق وواحد للكتب ,, وهذه ما اعنيه بالجداول

العمود :

العمود هنا تخيله كأنه التفرعات
لحافظات , فحافظات الاقلام ( جيب الاقلام ) يحتوي على اربع خانات لحفظ الاقلام
واكثر , قلم احمر وقلم اخضر وقلم ازرق وقلم اسود


انواع
الاعمده في قواعد البيانات :

الانواع
الرقميه :



  • TINYINT

  • SMALLINT

  • MEDUIMINT

  • INT

  • INTEGER

  • BIGINT

الانواع
العشريه :



  • FLOAT

  • DOUBLE

  • REAL

  • DECIMAL

  • NUMERIC

الوقت
والتاريخ :



  • DATE

  • TIME

  • DATETIME

  • TIMESTAMP

  • YEAR

النصوص
العاديه :



  • CHAR

  • VARCHAR

الكتابات و (
BLOB ) :



  • TINYBLOB

  • TINYTEXT

  • BLOB

  • TEXT

  • MEDUIMBLOB

  • MEDUIMTEXT

  • LONGBLOB

  • LONGTEXT

الخيارات
والتعدديه:



  • ENUM

  • SET


امثله على
قواعد البيانات:

جدول يقوم
بتخزين معلومات المستخدمين:


[وحدهم المديرون لديهم صلاحيات معاينة هذه الصورة]

جدول يقوم
بتخزين معلومات الكتب الي تباع:


[وحدهم المديرون لديهم صلاحيات معاينة هذه الصورة]

العلاقات
في قواعد البيانات :

من اهم الاشياء التي يجب ان نراعيها
في قواعد البيانات هي عدم التكرار , اي نجعل كل شي فريد من نوعه, لن استطيع شرح هذا
كله الان , ولكن سوف اتكلم عن العلاقات في قواعد البيانات بشكل مختصر , لدينا ثلاث
انواع من العلاقات :

العلاقه
المسماه بي 1:1 او واحد لواحد ( One : One )

لنأخذ مثال على هذه العلاقه , تخيل
ان لدينا متجر , وفي هذا المتجر يوجد عامل واحد فقط, فالعلاقه تكون ان الموظف ينتمي
الى متجر واحد و المتجر يحوي على موظف واحد فقط لاحظ الصوره التاليه:


[وحدهم المديرون لديهم صلاحيات معاينة هذه الصورة]

العلاقه
المسماه بي M:1 او واحد لكثير ( Many : One )

تخيل ان لدينا رسام , هذا الرسام
يقوم برسم عدة لوحات , ولكن كل لوحة من عمل رسام واحد فقط لاحظ الصوره التاليه :


[وحدهم المديرون لديهم صلاحيات معاينة هذه الصورة]

العلاقه
المسماه بي N:M او كثير لكثير ( Many : Many )

لو لدينا طلاب ولدينا مواد , فكل
طالب يمكنه ان يأخذ ماده او اكثر , وكل ماده يمكن ان يأخذها اكثر من طالب اليس ذلك
صحيحا ؟ ولكن هذه العلاقه ليست جيده لانها لن تحل مشكلة التكرار , ولكن نقوم بحلها
عن طريق شي يسمى ( Bridge Entity ) او ( الجسر ) لاحظ
الصورتين التاليه:


[وحدهم المديرون لديهم صلاحيات معاينة هذه الصورة]

ولكي نقوم بحل هذه العلاقه او ايجاد
طريقه اخرى لها نستخدم الجسر مثل الصوره التاليه:


[وحدهم المديرون لديهم صلاحيات معاينة هذه الصورة]

طرق ربط العلاقات في
قواعد البيانات :


كل جدول نقوم بإنشاءه يجب ان نجعل
له ما يسمى المفاتح الرئيسي ( PRIMARY KEY ) وهذا
المفتاح لا يتم تكراره في الجدول , حيث ان كل مستخدم لديه رقم رئيسي نعرفه به ,
ونحدد به اسمه ومعلوماته الاخرى ولكي نقوم بربطه في علاقة , في الجدول المربوط به
نجعل هذه القيمه على شكل مفتاح اجنبي ( FOREIGN KEY )
لاحظ معي الصوره التاليه :


[وحدهم المديرون لديهم صلاحيات معاينة هذه الصورة]

لاحظ ان العمود CustomerID
في جدول CUSTOMERS هو مفتاح رئيسي
ولا يمكن تكراره , ولكنه في جدول ORDERS على شكل (
FOREIGN KEY ) ويمكن تكراره , لان عدة طلبات يمكن عملها
عن طريق مستخدم واحد , ولكن كل طلب مربوط بمستخدم واحد فقط.


تصميم
قاعدة بيانات:

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

الجنس : ذكر
عدد المساهمات : 26
نقاط : 363
تاريخ التسجيل : 28/05/2011
العمر : 34
الموقع : http://princebeko.webs.com/

https://lama7asob.rigala.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى