متابعينا الاعزاء اهلا وسهلا بكم
سنتعرف خلال هذا الدرس على ما يلي
ماهي قواعد البيانات ؟
ماهي انواع قواعد البيانات ؟
كيف يتم تصميم قاعدة بيانات اكسس وربطها في الفيجوال دوت نت ؟
ماهو الوضع المتصل والمنفصل لقواعد البيانات ؟
مصطلحات اساسيه مهمه
عزيزي المبرمج بعد ان تعرف كل هذا سوف تستطيع بنفسك انشاء وتصميم قاعدة بيانات وربطها مع الفيجوال دوت نت بكل سهولة
تصميم البرامج من اهم الاشياء في عالم التقنية والمعلومات فلا يمكن الاستغناء عن البرمجة لكي تقوم بتصميم برامج خاصه او برامج عامه " المبرمج سيد الكميوتر " فهل فكرت ان تكون سيد للكمبيوتر ؟ اذا كان الجواب نعم اذن هيا نبحر في عالم البرمجة والمعلومات والفكر الدقيق المتميز..
🔸ماهو العمل الذي تريد ان تعمله من خلال البرمجه ؟
ضع السوال قبل كل شيء !! ما الذي تريد ان تعمل ؟ ماهو الهدف من تصميمك للبرنامج ؟
قبل تصميم اي شي ضع السوال في طريقك ماهي الفائده منه ؟
🔸كذلك ماهو المطلوب في سوق البرامج والمعلومات ؟
✅انا اختصر عليك اخي المبرمج.. أغلب البرامج المطلوبه في سوق العمل هي برامج #قواعد_البيانات التي تقوم بتخزين المعلومات واسترجاعها عند الحاجه لها .. ويعتبر 80% برامج قواعد البيانات ولذ يجب تعلم هذه التقنيه لكي تواكب العصر والتطورات والمتطلبات الاساسية ..
🔸ماهو المطلوب في البرمجة ؟
المطلوب في البرمجة هي حبها والتفكير السليم فيها !!
وسوف نستخدم في حديثنا هذا البرمجة بلغة الفيجوال بيسك Microsoft Visual Studio
وكذلك يجب تحديد نوع قاعدة بيانات المراد التخزين البيانات فيها…
♦️السوال ماهي نوع قاعدة البيانات المطلوبة التي سوف استخدمها في برنامجي ؟
الجواب يتم تحديد قاعدة البيانات على حسب حجم البرنامج أو بالاخرى على حسب المنظمة التي سوف تقوم بتصميم برنامج لها ..
➖فمثلا شركة كبيرة جدا هنا يتطلب منك استخدام قاعدة بيانات أواركل Oracle لانها هي الانسب للبيانات وحفظها وتحتوي على حماية عالية جداً..
ا➖ما اذا كانت شركة متوسطة الحال فيمكن استخدام قاعدة بيانات سكيول سيرفر sql server
➖اما اذا كانت متجر اول محل صغير فيمكن استخدام قاعدة بيانات اكسس Access او MYSQL
يتم تحديد نوع قاعدة البيانات على حسب المنظمة التي سوف تقوم بتصميم البرنامج لها
ما هي قاعدة البيانات؟:
قاعدة البيانات Database هي تركيبٌ تستطيع من خلاله تخزين كميّةً ضخمةً من البياناتِ التي تربطها علاقات معيّنة، مثل الجداول.. وحقيقةُ الأمر، فإنّ قاعدة البيانات ما هي إلا ملفّ File أو مجموعة ملفّات تُخزّن على القرص الصلب Hard Disk ككلّ الملفّات العاديّة، ولكنّ ما يميّزها عن باقي الملفّات، هو قدرتك على كتابة البيانات فيها وقراءتها منها، باستخدام الوسائل التي تمنحها لك برامج قواعد البيانات، دون الحاجة إلى التعامل مع الملفّ مباشرةً، وهو ما يجعل الأمر أكثر سهولةً وتنظيمًا بالنسبة لك.
ولا مانعَ أن تخزّنَ بياناتك في ملفّ خاصّ بك بالطريقة التي تريحك، ولكنّ استخدام قواعد البيانات يوفّر لك الكثير من الوقتِ والجهد.
وهناك أنواع كثيرة من قواعد البيانات، تبعا للشركة التي تنتجها والبرامج التي تنشئها، فهناك قواعد بيانات برنامج Access وبرنامج SQL Server وهما من إنتاج ميكروسوفت،
وقواعد بيانات Oracle تتميز بحجمها الكبير وضخامه البيانات التي تخزن عليها
وهناك عده برامج تقوم بتصيمم وربط هذه قواعد البيانات بالبرنامج
وتسمّى هذه البرامج "أنظمة إدارة قواعد البيانات" Database Management Systems (DBMS)، ومهمّتها الأساسيّة أن تمنحك الوسائل والأدواتِ اللازمة لإنشاءِ قواعدِ البياناتِ والتعاملِ معها، بأسهلِ طريقةٍ وأفضلِ إمكانيّات، بحيثُ تقوم بدور الوسيط بينك وبينَ البيانات المخزّنة في ملفّ قاعدة البيانات.
ومهما كانَ نوع قاعدة البيانات التي تتعامل معها، ومهما كانت طريقة تخزينها في الملفّ، فإنَّ كلّ قواعد البيانات تتبع قواعدَ أساسيّة وتحقّق شروطا معيّنة متعارفا عليها دوليّا، كما أنّها كلّها بلا استثناء تستخدم "لغة الاستعلام المركّبة" Structured Query Language (SQL)، وهي لغة خاصّة لحفظ واسترجاع وتحديث البيانات في قواعد البيانات.
انواع قواعد البيانات هي
Access
Oracle
MySQL
Sql server
Fox
غيرها من انواع قواعد البيانات
طرق الاتصال او الربط بقواعد البيانات هي
DAO
ADO
RDO
OO4O
ADO.NET
سوف نستخدم الافضل بينهم والاشهر والاقوئ في قواعد البيانات وهي تقنيه الربط ADO وهي تعني
Activex Data Object
من خلال هذة التقنية تستطيع التحكم في قواعد البيانات مثل :
الاضافة ➖التعديل➖الحذف➖التحديث➖الاستعلام. والكثير من قوانين قواعد البيانات .
من خلال تقنية ADO تستطيع استخدام جمل الـSQL والسيكول تعني
SQL Stands for Structured Query Language
لغة الاستعلام الهيكلية ، ومن لغة الـ SQL تتميز بأنها :
➖سريعة الاتصال بقواعد البيانات .
➖لغة متعارف عليها دوليا.
➖تستطيع تنفيذ أوامر في قواعد البيانات.
➖تستطيع جلب بيانات من قواعد البيانات .
➖تستطيع اضافة بيانات جديدة "سجل جديد" والحذف والتعديل…… الخ .
➖سهلة التعلم .
ماهي تقنية ADO.NET
وهي عبارة عن مجموعة من المكتبات (الفئات) في مجال الأسماء System.Data الغرض منها الوصول إلى مصادر البيانات
Data Sources
وهي محفوظة تحت أنظمة قواعد بيانات متعددة الأنواع مما يعني قدرتك على الوصول إلى أي قاعدة بيانات مهما كانت الشركة المنتجة لها وكل مكتبة تتعامل مع نوع من أنواع قواعد البيانات عن طريق العناصر الخاصة بالمكتبة.
ماهي مكتبات تقنية الـ ADO.NET
1⃣ مكتبة System.Data.OleDb
تتعامل مع قاعدة بيانات نوع اكسس MS Access ومن ضمن عناصرها
OleDbConnection OleDbCommand OleDbDataAdapter
.
2⃣ مكتبة
System.Data.OracleClient
تتعامل مع نوع أوراكل Oracle ومن ضمن عناصرها
OrcaleConnection و OrcaleCommand و OrcaleDataAdapter
3⃣ مكتبة System.Data.Odbc
تتعامل مع نوع ODBC ومن ضمن عناصرها
OdbcConnection و OdbcCommand و OdbcDataAdapter .
4⃣مكتبة System.Data.SqlClient
تتعامل مع قاعدة البيانات نوع اس كيو ال سيرفر SQL Server
الاختلافات الجوهرية بين - - ADO و ADO.NET :
تقنية ADO : هي التقنية التي كانت تستخدم قبل ADO.NET
1- مصممة للعمل في بيئة متصلة باستمرار مع قاعدة البيانات .
2- يستخدم الكائن Record Set للاحتفاظ بمجموعة بيانات واحدة .
3- تحتوي على أنواع من المؤشرات Cursors المستخدمة لأغراض مختلفة ولكل مؤشر إمكانياته الخاصة.
4- تخزن البيانات في هيئتها الثنائية مما يصعب أرسالها عبر جدران الحماية . كما أنها غير مفيدة للأنظمة التي لا تدعم ADO .
5- تستهلك قدرا من موارد النظام بسبب اتصالها الدائم بقاعدة البيانات أثناء المعالجة
♦️تقنية ADO.NET : هي تقنية مطورة عن ADO
1-مصممة من الأساس للعمل في بيئة غير متصلة ويمكنها العمل في البيئتين المتصلة والغير متصلة.
2 - يستخدم الكائن DataSet للاحتفاظ بعدة مجموعات من البيانات.
3- لا تستخدم المؤشرات لأنها تعمل في بيئة غير متصلة
4- تخزن البيانات في هيئة XML العالمية . وهذه الهيئة مصممة لكي ترسل عبر جدران الحماية وعبر الشبكات دون مشاكل كما يمكن لأي تطبيق قراءة البيانات بهيئة XML بسهولة .
5- تعمل كنظام منفصل عن قاعدة البيانات فهي لا تتصل بها إلا عند الضرورة.
⚙والاختلافان الأخيران رقم 5 - 4 هما جوهرة الاختلاف وأهمها .
ماهي عناصر تقنية - - ADO.NET :
المقصود هنا الكائنات والأدوات والطرق المزودة والمساعدة في عملية الاتصال للتعامل مع البيانات وهي :
1ـDataSet : وهو الكائن المكافئ للكائن RecordSet ولكن مع الكثير من المزايا والتحسينات حيث يستطيع تخزين أكثر من جدول أو نتيجة استعلام في نفس الوقت و يمثل كل واحد من هذه الجداول كائنا منفصلا عن
الآخر.كما يمكن تعديل بياناته وكذلك ربط علاقات بين الجداول.
1ـDataAdapter : يمثل الجسر الذي يربط بين DataSet وقاعدة البيانات ويدعم أوامر Select - Update - Delete - Insert وبالتالي بإمكانه القيام بعمليات مختلفة على البيانات كما أنه المسؤول عن تحميل
كائن DataSet بالبيانات
3ـDataReader يستخدم هذا الكائن لقراءة البيانات فقط ويمكنه قراءة كميات ضخمه منها مثل تلك البيانات التي لا يمكن خزنها في الذاكرة المؤقتة
4ـ DataRelation : يستخدم هذا الكائن لإضافة العلاقات بين الجداول
5ـ Connection : يعمل هذا الكائن بصورة مشابهة للكائن Connection في ADO وهو يمكننا من إنشاء اتصال مع قاعدة البيانات
6ـ Command : يسمح للكائن DataAdapter بتطبيق الأوامر على قاعدة البيانات، ويمكنه أن يتضمن اربعة من هذه الأوامر
البيئة المتصلة والبيئة المنفصلة :
1⃣البيئة المتصلة - - -
هي التي يكون فيها المستخدم متصلا باستمرار عبر مصدر البيانات DataSource بقاعدة البيانات طوال فترة التعامل مع البيانات و من #فوائدها :
1ـ التحكم بالعمل الجماعي حين يقوم المستخدم بتحديث بيانات فإنه يتم اغلاق عملية التحديث لهذه البيانات حتى ينتهي من التحديث ويتم اغلاق التحديث للمستخدمين الاخرين لكي لا يحدث تعارض في تحديث البيانات.
ويوجد لها مزايا أخرى من عيوبها :
1- في النظم الموزعة تحتاج لوجود شبكة اتصال دائمة نظرا لحاجتها الى قناة اتصال مفتوحة فوجود شبكة اتصال دائم بمصدر البيانات هو ما لا يتوفر في اغلب الأحيان.
2 - تسبب ضعف في التوسع والامداد حيث كل مستخدم له اتصال مع مصدر البيانات لا يمكن لاي مستخدم اخر أن يشترك معه مما يعني زيادة عدد المستفيدين ولذلك يحتاج الى زيادة عدد الاتصال وهذا مايستدعي حلول لهذه الحالات مثل مواقع الانترنت التي يدخل اليها الاف من المستفيدين في وقت واحد أو متقارب.
2⃣البيئة المنفصلة - - -
يمكن تعريفها بانها مجموعة بيانات يتم نسخها من مصدر البيانات DataSource إلى داخل حاوية البيانات DataSet وتعديلها بعيدا عن قاعدة البيانات ومن ثم ارجاع التحديثات التي تمت عليها الى مصدر البيانات ثم اغلاق الاتصال وفي هذه البيئة لاتستخدم قناة اتصال مفتوحة بإستمرار مع مصدر البيانات.
و من فوائدها :
1- إمكانية اشتراك اكثر من مستخدم بنفس الاتصال لان المستخدم يقوم بالاتصال تم نسخ البيانات ثم قطع الاتصال وتكون فترة وحدود الاتصال مع مصدر البيانات فترة ضئيلة لذا يمكن أن يستفيد مستخدم اخر من نفس الاتصال بعد أن ينتهي منه المستخدم الأول.
2- الأداة العالي قابل للتوسع وقليل التكلفة مقارنة بالبيئة المتصلة لان المستخدم لا يحجز الاتصال.
ويوجد عدة فوائد أخرى من عيوبها :
1 - عدم حداثة البيانات أي أن البيانات الموجودة عند المستفيد ليست البيانات الحقيقية ، مثلا لو فرض ان متصفح يريد منتج من الانترنت فإن البيانات التي توجد عنده غير البيانات الحقيقية ، بمعنى أن عدد الكتب مثلا الموجود امامه غير العدد الحقيقي لانه ربما قام عدة متصفحين بشراء الكتاب اثناء تصفحه له.
2- إمكانية حدوث تضارب عند تحديث البيانات بين مستخدمين في نفس الوقت ونادرا ما يحدث ذلك.
ماهي مميزات العمل في البيئة المنفصلة:
1 - تخفيف الضغط المتزايد على الجهاز الرئيسي Server .
2- يسمح للأجهزة الفرعية العمل باستقلالية بكل كفاءتها بدل انتظار استجابات الرئيسي.
3- فترات الفصل عن الجهاز الرئيسي توفر نسبة آمان أكثر له.
4- السماح لعدد اكبر من الأجهزة الفرعية للعمل في الشبكة ما يوفر مرونة في توزيع وإدارة العمل
5 - التكلفة القليلة والسرعة العالية.