JavaRush /جاوا بلاگ /Random-SD /حصو 1: SQL جو تعارف

حصو 1: SQL جو تعارف

گروپ ۾ شايع ٿيل

جي ڊي بي سي. ڊيٽابيس کي ڳنڍڻ ۽ IntelliJ IDEA ۾ جاوا ڪنسول ايپليڪيشن ٺاهڻ

تعارف

هي آرٽيڪل هڪ مختصر سيريز کوليندو آهي جيڪو جاوا ۾ ڊيٽابيس سان رابطي جي بنيادي ڳالهين ۽ SQL جو تعارف . ڪيترائي پروگرام مصروف آهن پروسيسنگ ۽ معلومات کي تبديل ڪرڻ ۽ ان کي تاريخ تائين رکڻ. جيئن ته ڊيٽا پروگرام منطق جو هڪ اهم حصو آهي، ان لاءِ الڳ اسٽوريج اڪثر مختص ڪيا ويندا آهن. ان ۾ معلومات ترتيب ڏنل آهي ۽ خاص قاعدن جي تابع آهي صحيح پروسيسنگ ۽ اسٽوريج کي يقيني بڻائڻ لاءِ. ڊيٽا تائين رسائي ۽ تبديل ڪئي وئي آهي خاص سوال جي ٻولي استعمال ڪندي - SQL (Structured Query Language).
حصو 1. SQL جو تعارف - 1
ڊيٽابيس مينيجمينٽ سسٽم هڪ سافٽ ويئر آهي جيڪو ڊيٽا ۽ اضافي خدمتن (لاگنگ، وصولي، بيڪ اپ، وغيره) سان گڏ مختلف خارجي پروگرامن جي رابطي کي يقيني بڻائي ٿو، بشمول SQL ذريعي. اهو آهي، ڊيٽا ۽ ٻاهرين پروگرامن جي وچ ۾ هڪ سافٽ ويئر پرت جيڪو ان سان ڪم ڪري ٿو. هن حصي ۾، اسان سوالن جا جواب ڏينداسين ته SQL ڇا آهي، SQL سرور ڇا آهي، ۽ DBMS سان رابطو ڪرڻ لاءِ پهريون پروگرام ٺاهينداسين.

DBMS جا قسم

ڊي بي ايم ايس جا ڪيترائي قسم آھن جن جي بنياد تي اھي ڊيٽا اسٽوريج کي منظم ڪن ٿا:
  • حياتياتي. ڊيٽا هڪ وڻ جي جوڙجڪ ۾ منظم آهي. ھڪڙو مثال ھڪڙو فائل سسٽم آھي جيڪو ڊسڪ جي روٽ کان شروع ٿئي ٿو ۽ پوء مختلف قسمن جي فائلن جي شاخن ۽ نستين جي مختلف درجي جي فولڊرن سان وڌي ٿو.
  • نيٽ ورڪ. درجه بندي جي تبديلي، هر نوڊ ۾ هڪ کان وڌيڪ والدين هوندا.
  • اعتراض تي ٻڌل. ڊيٽا طبقن / شين جي شڪل ۾ ترتيب ڏني وئي آهي انهن جي خاصيتن ۽ ڳالهين جي اصولن سان OOP جي مطابق.
  • تعلقي. هن قسم جي ڊي بي ايم ايس جي ڊيٽا جدولن ۾ ترتيب ڏنل آهي. جدولن کي هڪ ٻئي سان ڳنڍجي سگهجي ٿو، انهن ۾ موجود معلومات ترتيب ڏنل آهي.
مضمونن جي هن سلسلي ۾، اسان H2 کي مثال طور استعمال ڪندي لاڳاپيل DBMSs (سڀ کان وڌيڪ عام طور تي) تي نظر وجهنداسين ۽ شروع کان هڪ ايپليڪيشن ٺاهينداسين جيڪا اهڙي شيءِ کي نقل ڪري ٿي جيئن هڪ بدلي ڪم ڪندو آهي. سوال: PostgreSQL، MySQL، MSSQL يا Oracle ڇو نه؟ جواب: پروگرامن جي الڳ سيٽ کي نصب ڪرڻ جي مسئلن کان پريشان نه ٿيڻ لاء. وڌيڪ تشڪيل، ڊيٽابيس ٺاهڻ، مختلف او ايسز، نسخن ۾ ڪم ڪرڻ جي پيچيدگي. H2 سان ڪم ڪرڻ لاء، توهان کي گهٽ ۾ گهٽ ڪم ڪرڻ جي ضرورت آهي. پر ڪجھ به توهان کي موجوده H2 JDBC کي تبديل ڪرڻ کان روڪي نٿو سگهي هڪ ٻئي ٺاهيندڙ کان لاڳاپو DBMS (صرف سرور ايڊريس لائن ۽ ڊرائيور ڪلاس جو نالو تبديلي).

SQL

خارجي پروگرام ڊي بي ايم ايس کي ڊيٽا مئنيجمينٽ لينگويج Structured Query Language ۾ سوال پيدا ڪندا آهن. SQL ڇا آهي ۽ اهو روايتي پروگرامنگ ٻولين کان ڪيئن مختلف آهي؟ SQL جي خاصيتن مان هڪ آهي declarativeness. اهو آهي، SQL هڪ بيان ڪندڙ ٻولي آهي . هن جو مطلب اهو آهي ته جڏهن حڪم داخل ڪيو وڃي، اهو آهي، SQL سرور ڏانهن سوالن ٺاهڻ، اسان بيان ڪريون ٿا ته اسان ڇا حاصل ڪرڻ چاهيون ٿا، ۽ ڪهڙي طريقي سان نه. سرور ڏانهن درخواست موڪلڻ سان SELECT * FROM CUSTOMER(تقريبن SQL کان روسي ۾ ترجمو: "CostUMER ٽيبل مان چونڊ ڪريو، چونڊ ٽيبل ۾ سڀني قطارن تي مشتمل آهي" )، اسان سڀني صارفين لاء ڊيٽا حاصل ڪنداسين. اهو سڀ ڪجهه فرق نٿو پوي ته سرور ڪيئن ۽ ڪٿان ڊائون لوڊ ڪري ٿو ۽ ڊيٽا ٺاهي ٿو جنهن ۾ اسان دلچسپي رکون ٿا. اصلي شيء اها آهي ته درخواست صحيح طريقي سان ترتيب ڏيو.
  • SQL سرور ڇا آهي ۽ اهو ڪيئن ڪم ڪندو آهي؟ DBMS سان رابطو ڪلائنٽ-سرور اصول تي ٿئي ٿو. ڪجهه خارجي پروگرام SQL ٻوليءَ ۾ آپريٽرز ۽ حڪمن جي صورت ۾ درخواست موڪلي ٿو، DBMS ان تي عمل ڪري ٿو ۽ جواب موڪلي ٿو. سادگي لاءِ، اچو ته فرض ڪريون SQL Server = DBMS.
جيڪڏهن توهان ڪار جي هڪ برانڊ کي ڊرائيو ڪري سگهو ٿا، توهان گهڻو ڪري ٻين کي بغير ڪنهن پريشاني جي ڊرائيو ڪرڻ جي قابل هوندا. ڊرائيونگ جا بنيادي اصول هر هنڌ ساڳيا آهن، سواءِ ننڍڙن تفصيلن جي. ساڳيو ئي مختلف ٺاهيندڙن جي SQL سرورن لاءِ صحيح آهي - انهن مان هر هڪ جو پنهنجو نسخو آهي SQL جو، پر اهو مخصوص معيارن سان ملندو آهي (SQL92, SQL2003...). اسان SQL92 فريم ورڪ اندر آپريٽرز ۽ ڪمانڊ استعمال ڪنداسين. بنيادي SQL بيان ھيٺ ڏنل گروپن ۾ ورهايل آھن:
  • ڊيٽا جي تعريف جي ٻولي ( DDL ) - ڊيٽا جي تعريف. ڊيٽابيس جي جوڙجڪ ۽ ان جي شين جي تخليق؛
  • ڊيٽا جي ڦيرڦار جي ٻولي ( DML ) - ڊيٽا سان حقيقي رابطي: داخل ڪرڻ، حذف ڪرڻ، ترميم ۽ پڙهڻ؛
  • ٽرانزيڪشن ڪنٽرول ٻولي ( TCL ) - ٽرانزيڪشن جو انتظام؛
  • ڊيٽا ڪنٽرول ٻولي ( DCL ) - ڊيٽا ۽ ڊيٽابيس جي جوڙجڪ تائين رسائي جي حقن جو انتظام.
مضمونن جي هڪ سلسلي ۾ اسين پهرين ٽن گروپن کي ڏسنداسين، خاص ڌيان ڏيڻ DML تي.

جي ڊي بي سي

گذريل صديء جي 80s ۾، PC XT / AT قسم جي ذاتي ڪمپيوٽرن مارڪيٽ کي فتح ڪيو. اهو گهڻو ڪري انهن جي ڊزائن جي ماڊليت جي ڪري هو. هن جو مطلب اهو آهي ته صارف آساني سان پنهنجي ڪمپيوٽر جي هڪ يا ٻيو حصو تبديل ڪري سگهي ٿو (پروسيسر، وڊيو ڪارڊ، ڊسڪ، وغيره). هي شاندار ملڪيت اڄ ڏينهن تائين محفوظ ڪيو ويو آهي: اسان ويڊيو ڪارڊ تبديل ڪريون ٿا ۽ ڊرائيور کي اپڊيٽ ڪيو (ڪڏهن ڪڏهن اهو پاڻ کي اپڊيٽ ڪري ٿو، خودڪار طور تي). گهڻو ڪري، ڪجھ به خراب نه ٿيندو اهڙي قسم جي ورهاڱي سان، ۽ موجوده پروگرامن کي تازه ڪاري سسٽم سان ڪم ڪرڻ جاري رهندو بغير ٻيهر انسٽاليشن جي. ساڳيو ئي DBMS سان جاوا ۾ ڪم ڪرڻ تي لاڳو ٿئي ٿو. SQL سرورز سان ڪم کي معياري بڻائڻ لاءِ، ان سان رابطي کي ھڪڙي نقطي ذريعي ڪري سگھجي ٿو - JDBC (Java DataBase Connectivity). اهو هڪ DBMS سان ڪم ڪرڻ لاءِ java.sql پيڪيج جو نفاذ آهي . سڀني مشهور SQL سرورز جا ٺاھيندڙ انھن لاءِ JDBC ڊرائيور جاري ڪن ٿا. هيٺ ڏنل ڊراگرام تي غور ڪريو. ايپليڪيشن java.sql کان ڪلاس جا مثال استعمال ڪري ٿي . اسان وري ڊيٽا کي ٻيهر حاصل ڪرڻ/تبديل ڪرڻ لاءِ ضروري حڪمن کي پاس ڪريون ٿا. اڳيون، java.sql jdbc ڊرائيور ذريعي DBMS سان رابطو ڪري ٿو ۽ اسان کي مڪمل نتيجو واپس ڏئي ٿو. حصو 1. SQL جو تعارف - 2 ٻئي ٺاهيندڙ کان ڊي بي ايم ايس کي تبديل ڪرڻ لاء، اهو اڪثر ڪري JDBC کي تبديل ڪرڻ ۽ بنيادي سيٽنگون انجام ڏيڻ لاء ڪافي آهي. پروگرام جا باقي حصا تبديل نٿا ٿين.

پهريون پروگرام

اچو ته عملي حصو ڏانهن وڃو. اچو ته JetBrains IntelliJ IDEA IDE استعمال ڪندي جاوا پروجيڪٽ ٺاهيو . نوٽ ڪريو ته الٽيميٽ ايڊيشن ۾ SQL ۽ ڊيٽابيس سان ڪم ڪرڻ لاءِ هڪ شاندار اوزار آهي - Data Grip . بهرحال، اهو اڪثر استعمال ڪندڙن لاء ادا ڪيو ويندو آهي. تنهنڪري تعليمي مقصدن لاءِ اسان صرف استعمال ڪري سگهون ٿا عوامي طور تي دستياب IntelliJ IDEA ڪميونٽي ايڊيشن . سو:
  1. IDE لانچ ڪريو ۽ ھڪڙو نئون منصوبو ٺاھيو:
    حصو 1. SQL جو تعارف - 3

  2. هڪ جاوا پروجيڪٽ چونڊيو، SDK ورزن کي ظاهر ڪريو (مثال طور JDK8، پر اهو نازڪ ناهي):
    حصو 1. SQL جو تعارف - 4

  3. ايندڙ قدم ۾، قسم جي طور تي ڪنسول ايپليڪيشن چونڊيو :
    حصو 1. SQL جو تعارف - 5

  4. اسان ڏيکاريون ٿا پروجيڪٽ جو نالو ، پيڪيج ۽ ان جو هنڌ ڊسڪ تي (مون خاص طور تي ان لاءِ هڪ الڳ ڊاريڪٽري ٺاهي آهي):
    حصو 1. SQL جو تعارف - 6

  5. اچو ته IDE کي هڪ منٽ لاءِ هڪ طرف رکون ۽ www.h2database.com تان ڊائون لوڊ ڪريون ضروري JDBC فائل H2 DBMS سان ڪم ڪرڻ لاءِ (ڊائون لوڊ پليٽ فارم آزاد ZIP):
    حصو 1. SQL جو تعارف - 7

  6. اسان ڊائون لوڊ ٿيل فائل اندر وڃون ٿا (اسان جار فائل ۾ دلچسپي رکون ٿا رستي سان h2\bin ، جنهن کي اسان کي بعد ۾ ضرورت پوندي، ان کي نقل ڪريو):
    حصو 1. SQL جو تعارف - 8

  7. اسان IDE ڏانھن واپس وڃون ٿا ۽ پروجيڪٽ جي روٽ ۾ ڊائريڪٽريون ٺاھيون ٿا: db , جتي فائلون DBMS ڊيٽا سان واقع ٿينديون؛ lib - هتي آهي JDBC JAR لائبريري:
    حصو 1. SQL جو تعارف - 9

  8. جار فائل کي قدم 6 کان ليب ڊاريڪٽري ڏانهن منتقل ڪريو ۽ ان کي پروجيڪٽ ۾ لائبريري طور شامل ڪريو:
    حصو 1: SQL جو تعارف - 10

  9. اچو ته جاوا فائل جو نالو مٽائي src/sql/demo ڪريون StockExchange.java (جيڪڏهن توهان وساري ڇڏيو ته، اسان هڪ سادي ”متبادل“ کي نقل ڪرڻ وارا آهيون)، ان جي مواد کي تبديل ڪريو ۽ هلون:
    حصو 1: SQL جو تعارف - 11
ھاڻي اسان ڊي بي ايم ايس کان ڳنڍي ۽ ڌار ڪري سگھون ٿا. هر قدم کنسول ۾ ظاهر ٿئي ٿو. جڏهن توهان پهريون ڀيرو DBMS سان ڳنڍيو ٿا، هڪ ڊيٽابيس فائل stockExchange.mv.db ٺاهي وئي آهي .

ڪوڊ پارس ڪرڻ

اصل ڪوڊ:
package sql.demo;

import java.sql.*;

public class StockExchangeDB {
    // Блок объявления констант
    public static final String DB_URL = "jdbc:h2:/c:/JavaPrj/SQLDemo/db/stockExchange";
    public static final String DB_Driver = "org.h2.Driver";

    public static void main(String[] args) {
        try {
            Class.forName(DB_Driver); //Проверяем наличие JDBC драйвера для работы с БД
            Connection connection = DriverManager.getConnection(DB_URL);//соединениесБД
            System.out.println("Соединение с СУБД выполнено.");
            connection.close();       // отключение от БД
            System.out.println("Отключение от СУБД выполнено.");
        } catch (ClassNotFoundException e) {
            e.printStackTrace(); // обработка ошибки  Class.forName
            System.out.println("JDBC драйвер для СУБД не найден!");
        } catch (SQLException e) {
            e.printStackTrace(); // обработка ошибок  DriverManager.getConnection
            System.out.println("Ошибка SQL !");
        }
    }
}

مسلسل بلاڪ:

  1. DB_Driver : هتي اسان ڊرائيور جي نالي جي وضاحت ڪئي آهي، جيڪو ڳولي سگهجي ٿو، مثال طور، ڳنڍيل لائبريري تي ڪلڪ ڪندي ۽ موجوده پروجيڪٽ جي lib ڊاريڪٽري ۾ ان جي جوڙجڪ کي وڌايو.
  2. DB_URL : اسان جو ڊيٽابيس ايڊريس. ڪالون ذريعي الڳ ڪيل ڊيٽا تي مشتمل آهي:
  3. پروٽوڪول = jdbc
  4. وڪرو ڪندڙ (ٺاهيندڙ / نالو) DBMS = h2
  5. DBMS جو مقام، اسان جي صورت ۾ فائل جو رستو (c:/JavaPrj/SQLDemo/db/stockExchange). نيٽ ورڪ DBMSs لاءِ، ريموٽ سرورز جا نالا يا IP پتا، TCP/UDP پورٽ نمبر، ۽ پوءِ ٻيا به هتي ڏيکاريا ويا آهن.

غلطي پروسيسنگ:

اسان جي ڪوڊ ۾ ڪال ڪرڻ جا طريقا شايد غلطيون موٽائي سگھن ٿيون جن تي توھان کي ڌيان ڏيڻ گھرجي. هن مرحلي تي اسان صرف انهن کي ڪنسول ۾ رپورٽ ڪريون ٿا. نوٽ ڪريو ته DBMS سان ڪم ڪرڻ وقت نقص اڪثر SQLException آهن .

آپريشن جو منطق:

  1. Class.forName (DB_Driver) - اسان پڪ ڪريون ٿا ته لاڳاپيل JDBC ڊرائيور موجود آهي (جيڪو اسان اڳ ۾ ڊائون لوڊ ۽ انسٽال ڪيو هو).
  2. DriverManager.getConnection (DB_URL) - هڪ DBMS ڪنيڪشن قائم ڪريو. منظور ٿيل ايڊريس کي استعمال ڪندي، JDBC پاڻ اسان جي DBMS جي قسم ۽ مقام کي طئي ڪندو ۽ هڪ ڪنيڪشن واپس ڪندو، جيڪو اسان ڊيٽابيس سان رابطو ڪرڻ لاءِ استعمال ڪري سگهون ٿا.
  3. connection.close() - DBMS سان ڪنيڪشن بند ڪريو ۽ پروگرام سان ڪم ختم ڪريو.
سيريز جي ايندڙ حصي ۾، اسان ڊي ڊي ايل آپريٽرز ۽ SQL ڊيٽا جي قسمن سان واقف ٿينداسين، ۽ پڻ اسان جي ڊيٽابيس جي شروعاتي جوڙجڪ ٺاهي ۽ ان کي جدولن سان ڀريو. ٻيو حصو ٽيون حصو
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION