قواعد البيانات فى الجافا

الموضوع في 'منتــدي دروس و ادوات تطوير المواقـع و المنتــديات' بواسطة master, بتاريخ ‏14 ديسمبر 2014.

  1. master

    master مدير المنتدى إداري

    إنضم إلينا في:
    ‏26 أكتوبر 2007
    المشاركات:
    2,807
    الإعجابات المتلقاة:
    6
    نقاط الجائزة:
    38
    الجنس:
    ذكر
    الوظيفة:
    مبرمج جافا
    مكان الإقامة:
    الاسكندرية
    بسم الله الرحمن الرحيم



    أهلا وسهلا بكم أخوانى الكرام فى الدرس الخامس عشر من دورة الجافا الرسومية ....فى هذا الدرس ان شاء الله تعالى سنتعلم سويا أولى حلقات التعامل مع قواعد البيانات فى الجافا ...و درس اليوم سيكون عن كيفية انشاء قاعدة بيانات Java DB من خلال بنية NetBeans وهى قاعدة بيانات علائقية مفتوحة المصدر تم انشائها و ادماجها فى الجافا و التى تعتمد على نسخة Apache Derby ليتم تشغليها على سرفر تخيلى virtual serve و الذى يمكنك تشغيلة و ايقافة من خلال NetBeans ....وكما سنوضح كيفية التعامل معها من إضافة و حذف و تعديل وخلافة ....وكل ذلك عن طريق المزود JDBC و الذى يتم استخدامة فى الاتصال بالكثير من قواعد البيانات مثل (أوراكل و ماى سكو...الخ)...

    أولا : إنشاء قاعدة بيانات Java DB من خلال NetBeans


    1_ قم بفتح NetBeans ومن ثم قم بالضغط على التويب Services فى القوائم الجانيبة كما فى الشكل التالى :



    تكبير الصورةمعاينة الأبعاد الأصلية.
    [​IMG]


    2_ قم بالضغط دبل كليك على ايقونة Databases أو بالضغط على علامة ( ) التى بجوار الايقونة ليتم فتحها بالشكل التالى :

    [​IMG]


    3_ قم بتشغيل الخادم Virtual Server و ذلك بتحديد Java DB ثم كليك يمين ثم أختر الامر Start Server كما فى الشكل التالى :


    [​IMG]


    الان انظر الى نافذة الاخراج فى NetBeans و ستجد بعض الرسائل التى تخبرك بانه تم تشغيل الخادم كما فى الصورة التالية :


    [​IMG]


    4_ إنشاء قاعدة بيانات Java DB وذلك من خلال تحديد ايقونة Java DB مرة أخرى ثم كليك يمين ثم أختر الامر Create Database كما فى الصورة التالية :


    [​IMG]


    5_ عند النقر على الامر Create Database كما هو ظاهر
    إعلاه سوف يظهر لنا معالج إنشاء قاعدة البيانات و التى يطلب منك بعض البيانات مثل أسم قاعدة البيانات , أسم المستخدم , وكلمة المرور ...فعلى سبيل المثال سوف نقوم بإنشاء قاعدة بيانات تسمى "Employees" كما فى الصورة التالية :


    [​IMG]


    بعد ما قمنا بإضافة كافة البيانات المطلوبة لقاعدة بيانات Employees نقوم بالضغط على زر (ok) لتظهر قاعدة البيانات فى التويب Server كما فى الشكل التالى :


    [​IMG]


    ثانيا : إنشاء جدول داخل قاعدة البيانات:


    الآن بعد أن تم إنشاء قاعدة البيانات Employees ، تحتاج إلى إنشاء جدول في قاعدة البيانات. للقيام بذلك أتبع الخطوات التالية :


    1_انقر بزر الماوس الأيمن على قاعدة البيانات الخاصة بك. من القائمة التي تظهر حدد الامر Connect كما فى الشكل التالى :

    [​IMG]

    بعد ما يتم عملية الاتصال بالخادم ستجد انه قد تم انشاء ثلاث مجلدات وهى Tables , Views, Procedures و حتى تتمكن من رؤية تلك المجلدات فى التويب Server قم بالنقر دبل كليك على قاعدة البيانات التى انشأناها Employees لتفتح لك بعض المجلدات ثم قم بالنقر دبل كليك على المجلد APP لترى المجلدات الثلاث كما فى الشكل التالى :


    [​IMG]

    2_ قم بالنقر شمال على المجلد Tables و من القائمة التي تظهر، حدد الامر Create Table كما فى الصورة التالية
    :


    تكبير الصورةمعاينة الأبعاد الأصلية.
    [​IMG]

    3_ عند النقر كما تم شرحه أعلاه يظهر لك المربع الحوارى التالى :



    تكبير الصورةمعاينة الأبعاد الأصلية.
    [​IMG]

    في مربع النص Table Name في الأعلى، أحذف الاسم الافتراضي Untitled..ثم اكتب اسما جديدا للجدول و ليكن مثلا Workers....و هكذا سيكون لديك جدول يسمى Workers والذي هو في قاعدة البيانات الموظفين كما فى الصورة التالية.....

    [​IMG]


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

    4_إضافة حقول للجدول و يتم ذلك عن طريق النقر فوق زر الامر Add
    Column فى المربع الحوارى أعلاه ليظهر لك المربع الحوارى التالى :


    [​IMG]

    من المربع الحوارى السابق تستطيع إنشاء الحقول أو الاعمدة التى تريدها فى جدول البيانات ...وفى مثالنا هذا نريد إنشاء عدد 4 حقول او اعمدة لهذا الجدول وهم (رقم العامل / الاسم الاول / الاسم الثانى / الوظيفة )...لذلك سنقوم بأنشاء أول حقل وهو رقم الموظف (ID)كما فى الشكل التالى :


    [​IMG]

    ومن الملاحظ فى المربع الحوارى إعلاه انه يطلب منك فى مربع النص name أن تدخل أسم مناسب للحقل أو العمود ...وفى مربع النص TYPE و التى تحدد نوع البيانات المراد تخزينها فى هذا الحقل ...وهذا اهم المتطلبات و الباقى يتم وضع قيم افتراضية ...وعند النقر على زر OK سيظهر الحقل كما فى الشكل التالى :



    تكبير الصورةمعاينة الأبعاد الأصلية.
    [​IMG]


    سنكرر العملية لباقى الحقول مع ملاحظة التنسيق التالى :


    Column Name: First_Name
    Data Type: VARCHAR
    Size: 20


    Column Name: Last_Name
    Data Type: VARCHAR
    Size: 20


    Column Name: Job_Title
    Data Type: VARCHAR
    Size: 40

    حتى تتم كما فى الشكل التالى :


    [​IMG]


    5_انقر الان فوق موافق بعد ما قد أدخلت كل المعلومات وحقول الجدول المراد إنشاؤه ليظهر كما فى الشكل التالى :


    [​IMG]


    ثالثا : إدخال بيانات الى جدول قاعدة البيانات يدويا:


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


    1_ قم بالنقر بزر الماوس الأيمن على اسم الجدول المراد وضع قيم به و فى مثالنا هذا Workers. و من القائمة التي تظهر، حدد الامر View Data كما فى الشكل التالى :


    [​IMG]


    2_ بعد ذلك سيظهر لك نافذة جديدة تظهر في إطار بنية NetBeans الرئيسية كما فى الشكل التالى :


    [​IMG]


    و لإضافة قيم للحقول، انقر فوق رمز علامة ( )الجمع الخضراء في النصف السفلي من النافذة كما فى الشكل التالى



    [​IMG]


    ليظهر لك المربع الحوارى التالى و الذى يمكنك إضافة البيانات التى ترغب فيها كما فى الشكل التالى :



    تكبير الصورةمعاينة الأبعاد الأصلية.
    [​IMG]

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



    بعد ما تعلنا سويا كيفية إنشاء قاعدة بيانات Java DB و التى قد أعطينا لها أسم Employees و انشأنا بها جدول Workers و أدخلنا به بعض البيانات يدويا ....فى تلك الجزئية سنتعلم ايضا كيفية الاتصال بقاعدة البيانات تلك و جداولها و التعامل عليها بالاضافة و الحذف و التعديل ....الخ ...


    1_ قم بإنشاء مشروع جديد و ليكن database_console والدالة الرئسية مثلا DBConnect: كما فى الشكل التالى :


    [​IMG]


    [​IMG]


    2_للاتصال قاعدة بيانات نحتاج إلى كائنات الاتصال وهى sql.Connection ,sql.DriverManager ,sql.SQLException ويتم أستيراد تلك الكائنات عن طريق الكود التالى :

    الرمز:

    import java.sql.Connection;
    import java.sql.DriverManager;
    import
    java.sql.SQLException;


    3_ نص الاتصال بقاعدة البيانات يكون عن طريق الكود التالى :


    الرمز:

    Connection con = DriverManager.getConnection( host, username, password
    );

    وكما تلاحظون فى الكود أعلاه أننا انشأنا اتصال يسمى con و ذلك عن طريقة DriverManager التى به طريقة تسمى getConnection. وهو يحتاج الى اسم المضيف (الذي هو موقع قاعدة البيانات الخاصة بنا)، واسم المستخدم، وكلمة مرور.حتى يتم الاتصال بنجاح ...ويمكنك الحصول عنوان موقع قاعدة البيانات كما فى الصورة التالية :


    [​IMG]
    وكما تلاحظون من الصورة فإن عنوان قاعدة البيانات المبينة أعلاه هو :


    jdbc:derby://localhost:1527/Employees


    لذلك سنقوم بالاعلان عن متغير نصى ليتم تخزين فية موقع قاعدة البيانات تلك و ذلك بأستخدام الكود التالى :


    الرمز:
    String host = "jdbc:derby://localhost:1527/Employees";
    كما اننا سنقوم بتعريف متغريين أخريين الاول ليتم تخزين فية أسم المستخدم و الثانى ليتم تخزين فية رقم المرور و ذلك على النحو التالى :

    الرمز:

    String uName = "admin";
    String uPass= " admin ";

    وبالتالى فإن الكود الكامل سيكون على النحو التالى :


    [​IMG]

    كما ترون في الصورة أعلاه،ستجدون خط أحمر مائل فى الكود يدل على وجود خطأ فيه ...و السبب فى ذلك هو خطأ SQLException و الذى ربما يحصل نتيجة عدم وجود المضيف مثلا لذلك لابد من أستخدام التعليمة try … catch كما فى الشكل التالى :



    تكبير الصورةمعاينة الأبعاد الأصلية.
    [​IMG]

    الان قم بتشغيل برنامج و لاحظ ماذا سيحدث ؟.......ربما تجد رسائل الاخطاء التالية :

    "java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused: connect."

    و يحدث هذا الخطأ نتيجة أن السرفر متوقف و الحل هو تشغيله كما فى الصورة التالية
    :

    [​IMG]


    الخطأ الثانى الذى سيحدث هو ما يلى :


    "No suitable driver found for jdbc:derby://localhost:1527/Employees"


    وهذا الخطأ ناتج بسبب أن DriverManager يحتاج الى ملف يسمى derbyclient لنجاح الاتصال بقاعدة البيانات .....ولكى تتمكن من إضافة هذا الملف لمشروعك قم بعمل الاتى :


    - قم بالنقر يمين على المجلد Libraries ومن القائمة التى ستظهر أختر الامر Add Jar/Folder كما فى الصورة التالية :


    [​IMG]

    _ سيظهر لك مربع حوارى لاضافة ملف من نوع jar قم بالبحث عن الملف derbyclient.jar ...بالنسبة لى كان على المسار التالى :


    C:\Program Files\Java\jdk1.7.0_01\db\lib

    وقمت بإضافة للمشروع كما فى الصورة التالية :



    تكبير الصورةمعاينة الأبعاد الأصلية.
    [​IMG]

    انقر فوق فتح، وسيتم إضافة الملف إلى مكتبة المشروع الخاص بك كما فى الشكل التالى :



    [​IMG]



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

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

مشاركة هذه الصفحة