المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : دورة قواعد البيانات ولغة Sql ....


المهره الأصيله
05-18-2007, 03:35 AM
السلام عليكم ورحمة الله وبركاته

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

نبدأ الدرس

قواعد البيانات
تهدف هذه الدورة إلى تعليمك أسس قواعد البيانات العلائقية Relashional Data ****s وكيفية التحكم بها عن طريق لغة SQL البسيطة، تمكنك لغة SQL من إدارة قواعد البيانات بشكل كامل وإجراء جميع العمليات القياسية كإنشاء الجداول وتعبئتها بالبيانات، أو إجراء الاستعلامات عليها وكذلك الربط بين الجداول المختلفة، ولكن ما هي قاعدة البيانات؟ وما هي فائدتها ومكوناتها ؟ وكيف يمكننا عمل ذلك بها ؟

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

تكون البيانات في قاعدة البيانات مخزنة في عدة جداول Tables وكما نعلم فالجدول يتكون من صفوف Rows وأعمدة Coloumns هكذا :

http://img204.imageshack.us/img204/4645/52584595gf6.png


الجدول السابق يتكون من خمسة صفوف وثلاثة أعمدة، وفي قواعد البيانات فإننا نسمي الصفوف بالسجلات Records ونسمي الأعمدة بالحقول Fields، فما هي الحقول وما هي السجلات ؟

يقوم الحقل الواحد في الجدول بتخزين معلومة معينة، فمثلا عندما يكون لدينا قاعدة بيانات بأرقام الهواتف فإننا سنحتاج إلى حقلين ( أو عامودين ) واحد للاسم والثاني لرقم الهاتف، أما السجلات ( أو الصفوف ) فيحتوي كل منها على مجموعة من الحقول، فترى بأن السجل الواحد في مثالنا يحتوي على معلومتين مختلفتين هما الاسم ورقم الهاتف.

لذلك يمكننا القول بأن قاعدة البيانات تتكون من الجداول والجداول تتكون من السجلات والسجلات تتكون من الحقول، وكل حقل يحتوي على معلومة واحدة، أي أن الحقل هو أصغر وحدة في قاعدة البيانات، أنظر إلى المثال التالي :

http://img82.imageshack.us/img82/9264/88875650lo7.png


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


لغة SQL
لا بد أنك قد لاحظت الآن أن هنالك الكثير من العمليات التي تستطيع قاعدة البيانات أدائها، فيمكنها أن تنشأ سجلا أو تحذف سجلات أو تعدل سجلا أو تغير جدولا أو تحذف جدولا وغيرها الكثير، هذه العمليات تجرى بواسطة لغة SQL وهي اختصار لعبارة Structured Query ******** أي لغة الاستعلامات البنيوية، تسمى كل عملية تنفذ عن طريق لغة SQL بالاستعلام Query، وعلى حسب لغة البرمجة التي تستخدمها وبرنامج قواعد البيانات الذي تستخدمه فإن الاستعلامات ترسل وتنفذ بطرق مختلفة وكيفية الحصول على نتائج الاستعلام تختلف أيضا، في هذه الدورة لن يهمنا كيف تقوم بإرسال الإستعلام إلى قاعدة البيانات وتنفذه وتحصل على نتائجه، ولكن ما سنتحدث عنه هو كيفية كتابة الاستعلام نفسه، لغة SQL شبه متفق عليها بين جميع نظم قواعد البيانات، على سبيل المثال في موقعنا نستخدم لغة البرمجة PHP للوصول إلى مزود قاعدة البيانات MySQL، وهي من التوليفات الشهيرة، ومنها أيضا استخدام برنامج Visual Basic للوصول إلى مزود قاعدة بيانات Microsoft SQL Server لعمل البرامج التي تتطلب وصولا إلى بيانات مركزية كما في المحلات والأسواق والمخازن والمستشفيات وغيرها، ويمكن استخدام لغة SQL أيضا عن طريق البرامج المكتوبة بلغة C و C++ و Perl و Delphi للوصول إلى بيانات مخزنة في قواعد بيانات Oracle و Sy**** و Informix و IBM/DB2 و Access وغيرها.

مزودات قواعد البيانات
من الطرق الشهيرة لتخزين قواعد البيانات هي وضعها في صورة ملفات نصية بسيطة Plain ****، بحيث يوضع كل سجل في سطر من أسطر الملف ويفصل بين الحقول المختلفة في كل سجل بفاصلة comma ( , )، وتكون أحيانا في صورة ملفات أكثر تعقيدا بحيث يحتوي الملف على الكثير من الجدوال والفهارس التي تسرع عمليات البحث في قواعد البيانات والاستعلامات الجاهزة والنماذج كما في قواعد بيانات Microsoft Access.

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

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



للدرس بقية
بإذن الله عزوجل..
http://img91.imageshack.us/img91/1729/n35yh8.gif


ودمتم بحفظ الرحمان :
المهره الأصيله

المستـشار
05-18-2007, 05:46 AM
السلام عليكم

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


درس طيب يعطيك العافيه0


وجزاك الله خير

المهره الأصيله
05-20-2007, 06:54 PM
السلام عليكم

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


درس طيب يعطيك العافيه0


وجزاك الله خير



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

الله يحييك اخوي
المستشار


ويعافيك ربي
وجُزيت بمثله

ومشكور على مرورك الطيب


ودمت بخير:
المهره الأصيله

برق الشمال
05-25-2007, 06:42 AM
بارك الله فيك اختي المهرة
اللغة هذه مهمة جدا ويجب على صاحب كل موقع او غيره تعلمها

لا هنتي اختي

المهره الأصيله
06-17-2007, 03:26 AM
بارك الله فيك اختي المهرة
اللغة هذه مهمة جدا ويجب على صاحب كل موقع او غيره تعلمها

لا هنتي اختي


وبُوركت يالبرق

اكيد مهمه وهي من اهم لغات البرمجة

يعطيك العافيه على ردك الطيب



دمت بعزالله:
اختك


المهره الأصيله

مجنــ قلبي ـون
06-17-2007, 04:47 AM
بارك الله فيك

!|[ حـ الكون ـلا ]|!
12-31-2007, 01:24 AM
تسلمينـ ع الشرح الواضح

الله يـ ع ـطيكـ العافية

MIX
12-31-2007, 10:14 AM
يعطيك العافيه اختي على الشرح المتميز

واصلي وفقك الله

تحياتي