Va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti


Download 31.26 Kb.
Sana03.06.2020
Hajmi31.26 Kb.
#113705
Bog'liq
malumotlar bazasi mustaqil ish


O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI

VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI

MUHAMMAD AL-XORAZMIY NOMIDAGI

TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI

Ma’lumotlarbazasi fani bo’yicha

MUSTAQIL ISH



Bajardi – Shirinov Xurshid

Tekshirdi: Drujaliyev To’lqinjon

REJA:


1.PL\SQL GA KIRISH.

2.SQL VA PL\SQL BIR BIRIDAN FARQI.

3. JAVA DASTURLASH TILLARI VA PL\SQL TILI.

PL / SQL Kirish

PL / SQL - bu blokirovka qilingan tuzilma til, bu ishlab chiquvchilarga SQL kuchini protsessual bayonotlar bilan birlashtirishga imkon beradi. Blokning barcha bayonotlari birdaniga oracle motoriga uzatiladi, bu esa ishlov berish tezligini oshiradi va trafikni kamaytiradi.

SQL kamchiliklari:

SQL dasturchilarga holatni tekshirish, aylantirish va buklash usullarini taqdim etmaydi.

SQL ko'rsatmalari birdaniga Oracle motoriga uzatiladi, bu esa trafikni oshiradi va tezlikni pasaytiradi.

SQL ma'lumotlar manipulyatsiyasi paytida xatolarni tekshirish vositasiga ega emas.

PL / SQL xususiyatlari:

PL / SQL asosan protsessual til bo'lib, qaror qabul qilish, iteratsiya va boshqa protsessual dasturlash tillarining xususiyatlarini ta'minlaydi.

PL / SQL bitta buyruq yordamida bitta blokda bir nechta so'rovlarni bajarishi mumkin.

Biri PL / SQL birligini yaratishi mumkin, masalan protseduralar, funktsiyalar, paketlar, triggerlar va turlari, bular dastur tomonidan qayta foydalanish uchun ma'lumotlar bazasida saqlanadi.

PL / SQL istisnolar bilan ishlash bloki deb nomlanuvchi PL / SQL blokida yuzaga keladigan istisnolarni bajarish uchun xususiyatni taqdim etadi.

PL / SQL-da yozilgan ilovalar kompyuter uskunalari yoki Oracle ishlaydigan operatsion tizim uchun ko'chiriladi.

PL / SQL keng miqyosli xatolarni tekshirishni taklif qiladi.

SQL va PL / SQL o'rtasidagi farqlar:

SQLPL / SQLSQL - bu DML va DDL operatsiyalarini bajarish uchun ishlatiladigan bitta so'rov .PL/SQL - bu dastur bloklari / protsedurasi / funktsiyalari va boshqalarni yozish uchun ishlatiladigan kodlar to'plami. Bu deklarativ bo'lib, nima kerakligini aniqlaydi. Qanday qilib ishlarni bajarish kerakligini emas, balki bajarilgan narsalarni emas. PL/SQL protsessual bo'lib, bajarilishi kerak bo'lgan ishlarni aniqlaydi.Execute bir bayonot sifatida. Butun blok sifatida ishlating. Ma'lumotni boshqarish uchun oddiy ishlatiladi. .Lekin unda PL / SQL kod mavjud emas. Bu SQL ning kengaytmasi, shuning uchun uning ichida SQL bo'lishi mumkin.

PL / SQL blokining tuzilishi:

PL / SQL SQL-ni protseduraviy tillarda mavjud bo'lgan konstruktsiyalarni qo'shish orqali kengaytiradi, natijada SQL-ga qaraganda kuchliroq tarkibiy til paydo bo'ladi. PL / SQL-dagi asosiy blok - bu blok. Barcha PL / SQL dasturlari bir-biriga joylashtirilishi mumkin bo'lgan bloklardan iborat.



Odatda, har bir blok dasturda mantiqiy harakatni amalga oshiradi. Blok quyidagi tuzilishga ega:

DECLARE

declaration statements;

BEGIN

executable statements

EXCEPTIONS

exception handling statements

END;

Deklaratsiya bo'limi DECLARE kalit so'zidan boshlanadi, unda o'zgaruvchilar, konstantalar, kursorlar kabi yozuvlar vaqtincha saqlanadigan ma'lumotlarni e'lon qilish mumkin. U asosan PL / SQL identifikatorlarini aniqlashdan iborat. Kodning bu qismi majburiy emas.

Bajarish bo'limi BEGIN bilan boshlanadi va END kalit so'zi bilan tugaydi. Bu majburiy bo'lim va bu erda dastur mantig'i har qanday vazifani bajarish uchun ko'chadan va shartli iboralar uchun yozilgan. U barcha DML buyruqlarini, DDL buyruqlarini va SQL * PLUS ichiga o'rnatilgan funktsiyalarni qo'llab-quvvatlaydi.

Istisno bo'limi EXCEPTION kalit so'zidan boshlanadi. Ushbu bo'limda ixtiyoriy ravishda ish vaqtidagi xato yuz berganda bajariladigan ko'rsatmalar mavjud. Istalgan istisnolar ushbu bo'limda ko'rib chiqilishi mumkin.

PL / SQL identifikatorlari

Bir nechta PL / SQL identifikatorlari mavjud, masalan, o'zgaruvchilar, konstantalar, protseduralar, kursorlar, triggerlar va boshqalar.

1.Variables:

Boshqa bir qator dasturlash tillari singari, PL / SQL-da o'zgaruvchilar uni ishlatishdan oldin e'lon qilinishi kerak. Ular haqiqiy ism va ma'lumotlar turiga ega bo'lishi kerak.

O'zgaruvchilarni e'lon qilish uchun sintaksis:

variable_name datatype [NOT NULL := value ];

Example to show how to declare variables in PL/SQL :

SQL> SET SERVEROUTPUT ON;

SQL> DECLARE

var1 INTEGER;

var2 REAL;

var3 varchar2(20) ;

BEGIN

null;

END;

JAVA DASTURLASH TILLARI VA PL\SQL TILI INTEGRALLASHUVI

Java-da saqlangan protseduralarni PL / SQL-da saqlangan protseduralar bilan ishlashingiz mumkin. Oracle ma'lumotlar bazasida Java odatda PL / SQL interfeysi orqali chaqiriladi.

Java-da saqlangan protseduraga qo'ng'iroq qilish uchun siz uni qo'ng'iroqlar spetsifikatsiyasi orqali nashr qilishingiz kerak. Quyidagi misol, satrni qaytaradigan oddiy Java saqlangan protsedurani qanday yaratish, hal qilish, yuklash va nashr etishni ko'rsatadi:

1. Salom, sinfni quyidagicha aniqlang:

public class Hello

{

public static String world()

{

return "Hello world";

}

}

Faylni Hello.java fayli sifatida saqlang.

2.O'zingizning mijoz tizimingizda Java Java standart kompilyatoridan foydalanib sinfni quyidagicha tuzladi.

javac Hello.java

Buyruqlar satrida CLASSPATH-ni javac buyrug'i bilan belgilash yaxshi fikr, ayniqsa qobiq skriptlarini yozish yoki fayllarni yozishda. Java kompilyatori Java. ikkilik faylini ishlab chiqaradi, bu holda Hello.class.

Ushbu Java kod ishlaydigan joyni aniqlashingiz kerak. Agar siz o'z mijoz tizimingizda Hello.class-ni ishlatsangiz, u holda CLASSPATH-ni Hello.class-ni ishga tushirish uchun kerak bo'lgan barcha qo'llab-quvvatlovchi asosiy sinflar uchun qidiradi. Ushbu qidiruv quyidagi sinflardan biriga bog'liq sinflarni topishga olib kelishi kerak:

Bir yoki bir nechta kataloglarda individual fayllar sifatida, CLASSPATHda kataloglar ko'rsatilgan

.Jar yoki .zip fayllari ichida, CLASSPATHda ushbu fayllarni o'z ichiga olgan kataloglar joylashgan

3.Salom klassi uchun hal qiluvchi haqida qaror qabul qilish.

Bunday holda, serverga Hello.class-ni yuklang, u erda Java sxemasi ob'ekti sifatida ma'lumotlar bazasida saqlanadi. Dunyo () usulini chaqirganda, Oracle JVM kerakli yordamchi sinflarni joylashtiradi, masalan, echuvchi yordamida. Bunday holda, Oracle JVM standart echuvchidan foydalanadi. Standart ravshanlashtiruvchi ushbu sinflarni avval joriy sxemada, so'ngra PUBLIC da qidiradi. Barcha asosiy sinf kutubxonalari, shu jumladan java.lang to'plami PUBLIC ichida mavjud. Turli xil o'lchamlarni ko'rsatish kerak bo'lishi mumkin. Siz loadjava vositasidan foydalanganda hal qilish uchun majburlash orqali muammolarni ish vaqtidan ko'ra oldinroq kuzatishingiz mumkin.

4.Sinfni loadjava vositasi yordamida serverga yuklang. Siz foydalanuvchi nomi va parolni ko'rsatishingiz kerak. Loadjava vositasini quyidagicha ishga tushirish.



loadjava -user scott Hello.class

Password: password

5.Saqlangan protsedurani qo'ng'iroq spetsifikatsiyasi orqali joylashtirish.

SQL qo'ng'irog'i bilan Java statik usuliga qo'ng'iroq qilish uchun siz usulni qo'ng'iroq spetsifikatsiyasi bilan nashr qilishingiz kerak. Qo'ng'iroqlar spetsifikatsiyasi usulni talab qiladigan va uni qaytaradigan SQL turlarini aniqlaydi.

SQL * Plus-da ma'lumotlar bazasiga ulaning va Hello.world () uchun yuqori darajadagi qo'ng'iroq spetsifikatsiyasini quyidagicha belgilash.



SQL> CONNECT scott

Enter password: password

connected

SQL> CREATE OR REPLACE FUNCTION helloworld RETURN VARCHAR2 AS

2 LANGUAGE JAVA NAME 'Hello.world () return java.lang.String';

3 /

Function created.

6.Saqlangan protsedurani quyidagicha chaqirish.



SQL> VARIABLE myString VARCHAR2(20);

SQL> CALL helloworld() INTO :myString;

Call completed.

SQL> PRINT myString;

MYSTRING

---------------------------------------

Hello world

SQL>

Helloworld () ichiga qo'ng'iroq: myString bayonnomasi Oracle ma'lumotlar bazasida yuqori darajadagi qo'ng'iroqni amalga oshiradi. SQL va PL / SQL Java, PL / SQL yoki boshqa tillarda yozilgan protseduralar o'rtasida hech qanday farq yo'q. Qo'ng'iroqlar spetsifikatsiyasi tillararo qo'ng'iroqlarni izchil ravishda bir-biriga bog'lash uchun vositani taqdim etadi. Qo'ng'iroqlar xususiyatlari faqat triggerlar yoki SQL va PL / SQL qo'ng'iroqlari bilan chaqiriladigan kirish joylari uchun kerak. Bundan tashqari, JDeveloper qo'ng'iroqlar xususiyatlarini yozish vazifasini avtomatlashtirishi mumkin.



FOYDALANILGAN ADABIYOTLAR:

  1. https://docs.oracle.com.

  2. Web.stanford.edu inter saytlaridan




Download 31.26 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling