Mova davomi. Yangi boshlanuvchilar uchun tasvirlangan SQL o'zini o'zi o'qish dasturi. Interaktiv va SQL qo'shimchalari

Dastur mijozlari

TFTP protokoli

TFTP- Xuddi shu FTP protokoli, lekin UDP protokolining tepasida (bu kafolatlangan etkazib berishsiz protokol). Siz uzatish tezligi muhim bo'lgan mahalliy sozlamalarda ishlashni tanlashingiz mumkin. Darhaqiqat, g'alaba qozonish kamdan-kam uchraydi.

FTP- Dastur buyruq satridan boshlanadi.

Windows qo'mondon- FTP mijozi sifatida foydalanish mumkin. Mahalliy kataloglar kabi masofaviy kataloglar bilan ishlash imkonini beradi.

NetVampire - Katta fayllarni yuklab olish va yomon kanallarni yuklab olish imkonini beruvchi maxsus FTP mijozi.

SQL (Structured Query Language) - bu tizimli til relyatsion ma'lumotlar bazalariga so'rovlar. Buning yordamida siz kerakli ma'lumotlarni chiqaradigan iboralarni (yozuvlarni) shakllantirishingiz, ularni o'zgartirishingiz, jadvallar yaratishingiz va ularning tuzilmalarini o'zgartirishingiz, ma'lumotlarga kirish huquqini belgilashingiz va boshqalar.

Iltimos, ma'lumotlar bazasini boshqarish tizimidan (DBMS) foydalaning. Agar siz ma'lumotlar bazalarini ishlab chiqish va boshqarish bo'yicha mutaxassis bo'lmasangiz, unda siz odatda ochiq jadvallardagi ma'lumotlarni ko'rib chiqadigan yoki o'zgartiradigan ularning yordamchisi bo'lishingiz mumkin. Ko'pgina hollarda, ma'lumotlar bazasi bilan boshqa operatsiyalar oddiy qo'lda interfeysni ta'minlaydigan qo'shimcha maxsus dasturlarni o'z ichiga oladi. Ko'pgina qo'shimchalar maxsus til dasturlarida (C, Pascal, Visual Basic va boshqalar) yoziladi va ko'pincha qo'shimcha ishlab chiqish o'rta dasturlari integratsiyasi yordamida yaratiladi, masalan, Delphi, C++ Builder va boshqalar. Biroq, ma'lumotlar bazasiga kirishni ularsiz - SQL yordamida rad etish mumkin. Quyidagilarni ham hisobga olish kerak, chunki maxsus qo'shimchalar ma'lumotlar bazasiga kirishda kodning SQL fragmentlarini o'z ichiga oladi.

Shunday qilib, SQL relyatsion ma'lumotlar bazalari bilan ishlashning standart tilini kengaytirdi. Ushbu tilning sintaksisi oddiy bo'lishi kerak, shuning uchun undan nafaqat dasturlar, balki oddiy mutaxassislar ham foydalanishi mumkin. Hozirgi vaqtda asosiy kompyuter operatori matn muharriri (masalan, Microsoft Word) va elektron jadvallardan (masalan, Microsoft Excel) foydalanish uchun javobgardir. Bu yomon, chunki siz ma'lumotlar bazalariga tezda kirishingiz mumkin. Turli xil DBMSlar juda ko'p, ammo ma'lumotlar bazalari bilan ishlashning yagona universal usuli mavjud - SQL. SQL-ni bilish, shuningdek, asoslar va undan ma'lumotlarni tadqiq qilish va tahlil qilish uchun foydalanish qobiliyati kesmaviy kompyuter olimlari uchun kompyuter savodxonligining asosiy qismidir.

Relyatsion ma'lumotlar bazasini boshqarish tizimlarining (relyatsion DBMS) birinchi ishlanmalari 1970-yillarning boshida IBMda boshlangan. Keyin ushbu tizimlarda ishlash uchun mo'ljallangan ma'lumotlar tili yaratildi. Ushbu filmning eksperimental versiyasi ingliz tilida SEQUEL deb nomlangan. Strukturalangan ingliz QUEry tili (inglizcha so'rovlar tuzilgan). Biroq, rasmiy versiya qisqa versiya - SQL (Structured Query Language) deb ataladi. Aniqrog'i, SQL ma'lumotlar manbai bo'lib, DBMS fragmentlari boshqa jihatlarni almashtiradi.

1981 yil IBM relational DBMS SQL/DS ni chiqardi. O'sha paytda kompaniya Relation Software Inc. (Bugun Oracle korporatsiyasi) allaqachon relyatsion DBMSni chiqardi. Ushbu mahsulotlar darhol ma'lumotlar bazasini boshqarish uchun mo'ljallangan tizimlar uchun standartga aylandi. Ushbu mahsulotlarga qo'shimcha ravishda, SQL ma'lumotlarni qayta ishlash standartiga aylandi. Boshqa DBMSlarni ishlab chiquvchilar SQL ning o'z versiyalarini chiqardilar. Hidi IBM mahsulotlarining asosiy xususiyati edi. "O'z" DBMS uchun afzalliklarni yo'qotish uchun sotuvchilar SQL kengaytmalarini joriy qildilar. Shu bilan birga, noqonuniy SQL standartini yaratish ustida ish boshlandi.

1986 yilda Amerika Milliy Standartlar Instituti (ANSI) SQL-86 rasmiy standartini chiqardi, u 1989 yilda yangilandi va SQL-89 yangi nomini oldi. 1992 Rokutsei nomlari uchun standart SQL-92 (ISO/IEC 9075:1992). SQL standartining qolgan versiyasi SQL:2003 (ISO/IEC 9075X:2003).

Muayyan ma'lumotlar bazasida SQLni amalga oshirish ishlab chiqaruvchi tomonidan belgilangan standartdan juda farq qiladi. Shunday qilib, ko'pgina ma'lumotlar bazasi tizimlari (masalan, Microsoft Access 2003, PostgreSQL 7.3) SQL-92 ni butunlay boshqacha tarzda emas, balki faqat ma'lum darajadagi o'xshashlik bilan qo'llab-quvvatlaydi. Bundan tashqari, ular standartga mos kelmaydigan elementlarni o'z ichiga oladi. Biroq, DBMS ishlab chiquvchilari o'z mahsulotlarining yangi versiyalarini SQL standartiga ko'proq mos kelishiga intilishadi.

Hurmat. Ushbu qo'llanma SQL2003 elementlarini tavsiflaydi, ammo ularning hammasi ham boshqa DBMSlar tomonidan qo'llab-quvvatlanmaydi. Birinchi narsa, ularni amalda qo'llash, keyin ma'lumotlar bazasi bilan nima qilish kerakligini ko'rib chiqing. Jarayonni texnik hujjatlarda topish mumkin. Ta'riflangan elementlarning aksariyati SQL, SQL va keng tarqalgan SQL-92 ning oldingi versiyalari bilan mos keladi.

SQL tabiiy (aniqrog'i, ingliz tiliga) tilga yaqin bo'lgan relyatsion ma'lumotlar bazasini so'rash uchun oddiy til sifatida yaratilgan. Shaklning tabiiy tilga yaqinligi SQL-ni ma'lumotlar bazasini ishlab chiquvchilarning ko'pchiligi, balki dasturchilar uchun ham keng foydalanishi mumkin bo'lgan tarzda yaratishga qaror qilindi. Dastlab, SQL dasturlashning asosiy tilini boshqaradigan asosiy asosiy tuzilmalardan o'ch olmaydi. Sintaksisi juda oddiy bo'lgan yozuvlar to'g'ridan-to'g'ri konsoldan birin-ketin kiritildi va bir xil ketma-ketlikda yakunlandi. Biroq, SQL hali bank xizmatlari, aviachipta sotuvchilari, iqtisodchilar va turli kompaniyalarning boshqa xizmatlari, masalan, ma'lumotlar bazasida saqlanadigan mualliflik huquqi ma'lumotlari uchun vositaga aylangani yo'q. Ular uchun oddiy SQL tabiiy oziq-ovqatga yaqin bo'lishidan qat'i nazar, juda murakkab va g'ayriinsoniy bo'lib ko'rindi.

Amalda ma'lumotlar bazasi dasturchilar tomonidan protsessual tillarda yozilgan qo'shimcha qo'shimchalardan foydalanishni talab qiladi, masalan, C, Visual Basic, Paskal, Java va boshqalar. Dasturlar ko'pincha Delphi, Microsoft Access, Visual dBase va boshqalar kabi maxsus vizual ishlab chiqish muhitlarida yaratiladi. va hokazo. Ushbu dasturiy ta'minot ishlab chiqaruvchisi bilan kodli dastur yozmaslik amaliy, ammo dasturiy ta'minotni ishlab chiqish tizimi buning uchun javobgar bo'ladi. Har holda, robotning dasturiy kod bilan ishlashi minimal. Ushbu dasturlar foydalanuvchining so'rovlarni SQL tiliga osongina kiritishiga to'sqinlik qilmaydigan qulay grafik interfeysni ta'minlaydi. Dasturni ishga tushirish o'rniga. Biroq, qo'shimchani o'zgartirish mumkin, lekin ma'lumotlar bazasini qazib olish uchun ishlatiladigan SQL emas. SQL bir xil emas, garchi u ma'lumotlarni o'chirish, qo'shish va o'zgartirishda juda samarali bo'lsa-da va uni ilovaga qo'shish mumkin bo'lganligi sababli, u baribir ishlaydi.

Relyatsion ma'lumotlar bazalariga kirish interfeysi bilan ta'minlovchi qo'shimchalardan qat'i nazar samarali foydalanish mumkin. Har qanday sababga ko'ra bunday interfeys mavjud emasligi sababli, ma'lumotlar bazasiga kirishga qo'shimcha SQL, Vikorist konsoli yoki ma'lumotlar bazasiga ulanish, SQL so'rovini kiritish va yuborish uchun ishlatilishi mumkin bo'lgan har qanday dastur yordamida erishish mumkin (masalan, Borland SQL Explorer).

SQL tili deklarativ (tavsiflovchi) til bo'lib, dasturlar yozilgan tilning vakolatiga kiradi. Bu shuni anglatadiki, SQL ifodalari nima qilish kerakligini va nima qilinmasligini tasvirlaydi.

Masalan, spivorbitniki jadvalidan 102 ta filialning taxalluslari va ko'chatlari ro'yxatini tanlash uchun quyidagi yozuvni kiritish kifoya:

SELECT Prezvishche, Posada FROM Spivrobitniki QAYERDA Qo'shilgan = 102;

Rus tilida bu ibora shunday eshitiladi:

VIBRAT Taxallus, Posada Z Spívrobitniki E'TIBOR UCHUN, SCHO Weddil = 102;

Qiymatni o'zgartirish uchun " Ivanov "ustida" Petrov stovptsya Taxallus , hujumning etarli visconati so'raydi:

YANGILANISh Spívrobítniki SET Taxallus = "Petriv" QAYERDA Taxallus = "Ivaniv";

Rus tilida bu ibora quyidagicha ko'rinadi:

YANGILANISH Spívrobitniki OʻRNATISH Taxallus RUBNIM " Petrov "DE Taxallus = "Ivanov" ;

Jadvaldan ma'lumotlar kiritilishini tanlash uchun DBMS amalga oshiradigan harakatlarini aniq tasvirlab berishning hojati yo'q. Siz shunchaki olib tashlamoqchi bo'lgan narsani tasvirlab berasiz. Ushbu so'rov natijasida DBMS siz so'ragan ma'lumotlarni joylashtirish uchun jadvalni aylantiradi. Agar ma'lumotlar bazasida so'rovni qo'llab-quvvatlaydigan ma'lumotlar bo'lmasa, bo'sh jadval aylantiriladi.

Biroq, SQL ning qolgan versiyalari hisoblash operatorlarini, quvvat va protsessual til operatorlarini (aqliy o'tish va aylanish operatorlari) qo'llab-quvvatlaydi. Shuning uchun SQL shunchaki deklarativ til emas.

Jadvaldagi ma'lumotlarni tanlash, qo'shish, o'zgartirish va o'chirishdan tashqari, SQL ma'lumotlar bazalarini yaratish, o'zgartirish va xavfsizligini ta'minlash uchun barcha kerakli bosqichlarni bajarishga imkon beradi. Bularning barchasi uchta SQL komponenti orasidagi bo'linishlardir:

· DML (Ma'lumotlarni manipulyatsiya qilish tili - ma'lumotlarning til bilan manipulyatsiyasi ) ma'lumotlar bazasini saqlash maqsadlari: tanlash ( TANLASH ), qo'shildi ( KIRITMOQ ), o'zgartirish ( YANGILANISH ) bu vidalnya ( OʻCHIRISH ) jadvaldagi ma'lumotlar. Bu operatorlar (buyruqlar) ifodalarni, shu jumladan hisob-kitoblarni, shuningdek, boshqa buyruqning o'rtasida joylashgan kichik buyruqlarni joylashtirishi mumkin. Yuvilgan Zagalom viraz katlanadigan stol bo'lishi mumkin, shuning uchun nima qilish kerakligini aytmaysiz. Biroq, buklanadigan jumla bilan fikrlarni qismlarga bo'lish mumkin, ularni tahlil qilish osonroq. Xuddi shunday, tushunish juda oson bo'lgan murakkab so'rovlar yaratiladi.

· DDL (Ma'lumotlarni aniqlash tili - til vyznachennya o'lpon ) masofaviy jadval va barcha ma'lumotlar bazalarini yaratish, o'zgartirish maqsadlari. DDL dan oldin kiruvchi operatorlarga misollar, ê JADVAL YARATISH (Jadval yaratish)," KOʻRISH YARATISH (Namoyish yaratish), SHEMA YARATING (Sxema yarating) JADVAL ALTER (jadvalni o'zgartirish), DOPLASH (Ko'rish) ta in.

· DCL (Ma'lumotlarni boshqarish tili - Til ma'lumotlarini boshqarish ) ma'lumotlar bazasini har xil turdagi zararlardan himoya qilishni ta'minlash maqsadlari. DBMS ma'lumotlar himoyasini avtomatik ravishda uzatadi. Biroq, bir qator izlar DCL tomonidan qo'llab-quvvatlanadigan qo'shimcha kirishlarga ega.

Bugun biz kompyuterlar tomon harakat qilmoqdamiz, shuning uchun ushbu maqola dasturchilar uchun alohida qiziqish uyg'otadi. Siz bilan, aziz o'quvchi, keling, inglizcha versiyada SQL (Structured Query Language) sifatida shifrlangan tuzilgan so'rovlar tili haqida gapiraylik. Xo'sh, eng yaqini sizga yordam beradi. Endi SQL nima va u nima uchun kerakligi haqida gapiraylik.

So'rovlarni strukturalash tili relyatsion ma'lumotlar bazalari omboriga kiradigan ma'lumotlarni yaratish, o'zgartirish va boshqarish uchun universal tildir. Bundan buyon SQL ma'lumotlar bilan ishlashning asosiy usuli hisoblanadi. Yangi koristuvach yordami uchun siz quyidagi harakatlardan foydalanishingiz mumkin:

  • ma'lumotlar bazasida (MB) yangi jadval yaratish;
  • mavjud jadvallarga yangi yozuvlar qo'shish;
  • yozuvlarni tahrirlash;
  • yozuvlar ko'rinmasligi;
  • berilgan fikrga ko'ra turli jadvallardan yozuvni tanlash;
  • bir yoki bir nechta jadvallarning turi va tuzilishini o'zgartirish.

SQL dunyosi katta o'zgarishlarni boshdan kechirdi va yangi va kuchli funktsiyalarga ega bo'ldi, buning natijasida u odatdagi til dasturlashiga tobora o'xshash bo'lib qoldi. Bugungi kunda SQL - bu amaliy dasturiy ta'minot va ma'lumotlar bazalari o'rtasida aloqalarni yaratadigan yagona mexanizm. O'q ham SQLdir.

SQL so'rovlarning ko'p turlariga ega. Shuni ta'kidlash kerakki, har qanday SQL so'rovini kerakli bazadan ma'lumotlarni yuklash yoki ma'lumotlarning majburiy o'zgarishi bilan bazaga masshtablash orqali hurmat qilish mumkin. Shu munosabat bilan quyidagi so'rov turlarini ko'rish odatiy holdir:

  • yangi va mavjud ob'ektlar ma'lumotlar bazasini yaratish va o'zgartirish;
  • o'lponlarni qaytarib olish;
  • jadvalga yangi ma'lumotlarni qo'shish;
  • o'lpon yig'ish;
  • ma'lumotlar bazasini boshqarish tizimini (DBMS) ishlab chiqish.

Ma'lumotlar bilan ushbu robot tizimining afzalliklari va kamchiliklari haqida bir oz.

SQL afzalliklari

  • Asl DBMS tizimidan mustaqillik. SQL matnlari ma'lumotlar bazasining universal boyligidir. Biroq, bu qoida ushbu jadvallarni qayta ishlash bilan bog'liq oddiy qoidalarga taalluqlidir.
  • SQL standartlarining mavjudligi tilni "barqarorlashtirish" ga yordam beradi.
  • Deklarativlik. Bu afzallik shundan iboratki, ma'lumotlar bilan ishlashda dastur faqat o'zgartirilishi yoki o'zgartirilishi kerak bo'lgan ma'lumotlarni tanlaydi. Tugallanganlar avtomatik ravishda DBMSning dasturiy ta'minot darajasiga joylashtiriladi.

SQL kamchiliklari

  • SQL aloqador ma'lumotlar modelini qo'llab-quvvatlaydi. Ushbu rejada SQL haqiqatan ham aloqador bo'lgan D o'quv qo'llanmasini almashtiradi.
  • SQL ning murakkabligi uning qiymatini bildiradi. Stol usti buklanadigan, shuning uchun hatto dasturchi ham undan foydalanishi mumkin. Men rahbariyatni o'z qo'liga olish niyatidan boshlamoqchiman, shuning uchun men bosh vazirman.
  • Standartlarda izchillik yo'q. SQL lahjasiga o'z xususiyatlarini qo'shib, ma'lumotlar bazasini yaratuvchi ko'plab kompaniyalar mavjud, bu tabiiy ravishda tilning universalligiga hissa qo'shadi.

Nihoyat: SQL Server nima? Ushbu ma'lumotlar bazasini boshqarish tizimi Microsoft sho'ba kompaniyasining devorlari ichida ishlab chiqilgan. Ushbu tizim uy shaxsiy kompyuterlari kabi ma'lumotlar bazalari va yirik korxonalarning katta ma'lumotlar bazalari bilan muvaffaqiyatli ishlaydi. Ushbu bozor segmentida SQL Server tizimi kamroq raqobatbardoshdir.

Xo'sh, faqat ikki so'z bilan MySQL haqida taxmin qilishingiz mumkin. Ushbu dastur, qoida tariqasida, mahalliy yoki uzoq mijozlardan foydalanish mumkin bo'lgan server sifatida ishlab chiqilgan. MySQL mustaqil dasturlarga ham kiritilishi mumkin. E'tibor bering, ushbu ilova eng yirik ma'lumotlarni boshqarish tizimlaridan biri hisoblanadi, chunki u bir necha turdagi jadvallarni o'z ichiga oladi.

Tarjimasi: Aleksandr Piramidin

Bizning maqsadimiz sizni SQL tilining tuzilishi, shuningdek, ma'lumotlar turlari, qaysi maydonlarni noto'g'ri joylashtirish mumkinligi va SQLda mavjud bo'lgan ba'zi noaniqliklar kabi ba'zi tushunarsiz tushunchalar bilan tanishtirishdir. Ushbu maqolada keltirilgan tafsilotlarni eslab qolishingiz shart emas. Bu erda faqat qisqacha ko'rinish berilgan; Kelajakda dunyoda ularga erishishim uchun juda ko'p tafsilotlar berilgan.

SQL qanday ishlaydi?

SQL relyatsion ma'lumotlar bazalariga (RDB) maxsus yo'naltirilgan. Bu ajoyib robot, chunki siz ishlash uchun mas'ul edingiz, go'yo siz universal tilda dasturlashni vikorizing qilgandeksiz, masalan, C. C tilida RDBni shakllantirish uchun siz noldan boshlashingiz kerak edi. Satrlar soni bir xil bo'lishi uchun ko'payishi mumkin bo'lgan ob'ektni, jadvalni aniqlab olishingiz va keyin bosqichma-bosqich qiymatlarni kiritish va chiqarish protseduralarini yaratishingiz kerak bo'ladi.

Agar siz ma'lum qatorlarning harakatlarini bilmoqchi bo'lsangiz, hozirgiga o'xshash protsedurani bajarishingiz kerak bo'ladi:

  • Jadvalning qatoriga qarang.
  • Buni tekshiring: bu qator sizga kerak bo'lgan qatorlardan biridir.
  • Agar shunday bo'lsa, butun jadval tekshirilgunga qadar uni shu yerda saqlang.
  • Jadvalda yana qanday qatorlar borligini tekshiring.
  • Ha, 1-bosqichga o'ting.
  • Agar qatorlar bo'lmasa, barcha qiymatlarni kiriting va 3-bosqichda saqlang.

(Albatta, bu C buyruqlarining haqiqiy to'plami emas, balki haqiqiy dasturdan oldin qo'shiladigan qadamlar mantiqidir.) SQL siz uchun hamma narsani qiladi. SQL buyruqlari guruhlardagi barcha jadvallarni bitta ob'ekt sifatida qayta ishlay oladi va ulardan olingan yoki bitta modul ko'rinishida olingan istalgan hajmdagi ma'lumotlarni qayta ishlashi mumkin.

Nega ANSIni bezovta qilasiz?

Kirish qismida aytganimizdek, SQL standarti ANSI (Amerika Milliy Standartlar Instituti) kodiga tayinlangan. SQL ANSI emas. Bu, aslida, IBM mahsulotidir. Boshqa kompaniyalar SQL-ni xuddi shu tarzda qabul qildilar. Bitta kompaniya (Oracle) SQL mahsulotlarini sotish bo'yicha IBMni qo'lga kiritdi.

Bir qator raqobatdosh SQL dasturlari bozorga kirganligi sababli, ANSI hidni keltirib chiqaradigan standartni yaratdi. (Bunday standartlarning ma'nosi ANSI funktsiyasidir). Biroq, undan keyin ba'zi muammolar paydo bo'ldi. Vinykli faol chegaralar paydo bo'lishida ANSI standartlashtirish natijasida hidlanadi. ANSI har doim ham eng yuqori sifatga ega bo'lganlarni tan olmaganligi sababli, dasturlar ularni juda ko'p ajratishga imkon bermasdan, ANSI standartiga mos kelishga majbur bo'ladi. Bu, qora sochlari bilan, bunday noqulayliklarga olib keladi. Ma'lumotlar bazasi dasturlari ANSI SQL-ni qo'shimcha funktsiyalar bilan ta'minlashi va ko'pincha juda ko'p chegaralarni bo'shatishi kerak. Shuning uchun ANSI ning barcha turlari xuddi shu tarzda ko'rib chiqiladi. Garchi biz, shubhasiz, har xil turdagi g'oyalarni ajrata olmasak ham, ANSI standarti bilan belgilanmagan bo'lsa ham, turli dasturlarda g'oyalarni kiritish va o'zgartirish tendentsiyasi mavjud. ANSI minimal standart emas va siz buyurtmani kiritganingizda ko'rsatmalaringizni majburiy ravishda bekor qilmoqchi bo'lsangiz, u ruxsat berganidan ko'ra ko'proq ishlashingiz mumkin.

Interaktiv va SQL qo'shimchalari

Ê ikkita SQL: Interaktiv va Qo'shimchalar. Biroq, eng tajovuzkor shakllar xuddi shu tarzda qo'llaniladi, ammo ular turli yo'llar bilan qo'llaniladi. Interaktiv SQL vikoryst vikoristan ma'lumotlar bazasi bilan ishlash uchun bevosita ma'lumotlar bazasida ishlash uchun ishlatiladi. SQL-da, siz buyruqni kiritganingizda, u darhol bajariladi va siz darhol qayta ishlashni boshlashingiz mumkin (siz allaqachon qilganingiz kabi).

SQL qo'shimchalari boshqa tillarda (masalan, COBOL yoki PASCAL) yozilganlar kabi dasturlarning o'rtasida joylashgan SQL buyruqlaridan iborat. Bunday dasturlardan foydalanish yanada kuchli va samarali.

Biroq, shuni aytish kerakki, SQL tuzilishi va ma'lumotlarni boshqarish uslubi tufayli u interaktiv SQLning ba'zi kengaytmalarini talab qiladi. SQL qo'shimchalaridan SQL buyruqlarini uzatish ilovaga ta'sir qilganligi sababli dastur tomonidan tekshirilgan har qanday o'zgarishlar yoki parametrlar uchun o'tkazib yuboriladi ("o'chirildi").

Ushbu kitob SQLni interaktiv shaklda taqdim etadi. Bu bizga buyruqlar va ularning xatti-harakatlarini, ular boshqa tillar bilan qo'shimcha interfeys bilan bog'liq bo'lganligi sababli, ular bilan bezovta qilmasdan muhokama qilish imkoniyatini beradi. Interaktiv SQL dasturchi bo'lmaganlar uchun eng foydali bo'lgan shakldir. Interaktiv SQL haqida bilib olgan barcha narsangiz asosan ichki shakl bilan chegaralangan. Ilova qilingan shaklda talab qilinadigan o'zgartirishlar ushbu kitobning qolgan qismida ko'rib chiqiladi.

SQL subtitrlari

Ham interaktiv, ham ichki SQL shakllarida raqamli qismlar va bo'linmalar mavjud. SQL-ni o'qiyotganingizda ushbu terminologiya bilan tanish bo'lishingiz mumkinligi sababli, bu erda ba'zi tushuntirishlar mavjud. Afsuski, bu atamalar barcha ilovalarda qo'llanilmaydi. Ular ANSI tomonidan belgilanadi va kontseptual darajada, lekin ko'pchilik SQL dasturlari amalda ularni alohida belgilamaydi, shuning uchun ular mohiyatan SQL buyruqlarining funktsional toifalariga aylanadi.

  • DDL (Data Definition Language) - bu ANSI-da Sxema tavsiflash tilining nomi - ma'lumotlar bazasida ob'ektlar (jadvallar, indekslar, ko'rinishlar va boshqalar) yaratuvchi buyruqlardan iborat.
  • DML (Data Manipulation Language) - istalgan vaqtda jadvallarda keltirilgan qiymatlarni ko'rsatadigan buyruqlar to'plami.
  • DCD (Ma'lumotlarni boshqarish) qo'shiqlaringizni saqlashingiz yoki saqlamasligingizni aniqlaydigan xususiyatlardan iborat. ANSI DDL zaxira qismlari bilan hidlanadi.

Ismni unutmang. Bular turli tillar emas, balki SQL buyruqlarining funksiyalari bo‘yicha guruhlangan bo‘limlaridir.

Ma'lumotlarning qirg'in turlari

Biroq, jadval maydonlarida bo'lishi mumkin bo'lgan barcha turdagi qiymatlar mantiqiy emas. Eng aniq ma'no raqamlar va matn o'rtasida. Siz raqamlarni alifbo tartibida joylashtira olmaysiz yoki bir nomni boshqasidan ajrata olmaysiz.

RDB tizimlari axborot bo'laklari orasidagi bog'lanishga asoslanganligi sababli, har xil turdagi ma'lumotlar bir turga bo'linishi kerak, shunda o'xshash jarayonlar va tenglashtirish ular bilan bog'liq bo'lishi mumkin. SQL har bir maydonning ma'lumotlar turini qo'shimcha tan olishni talab qiladi, bu maydon o'z ichiga olishi mumkin bo'lgan qiymat turini ko'rsatadi. Kimning sohasida ona aybdor bo'lgan barcha ma'nolar yangi turdagi. Masalan, Zamovniki jadvalida cname va shahar satrlarni baholash uchun matnga joylashtiradi, snum va cnum esa raqamlarni ifodalaydi. Shu sababli, siz raqamli ma'lumotlar turi bo'lgan reyting maydoniga "Eng yuqori" yoki "Yo'q" qiymatini kirita olmaysiz. Bu almashinuv yanada muvaffaqiyatli bo'ladi, chunki u ma'lumotlaringizga ba'zi tuzilmalarni qo'shadi. Agar siz ko'pincha ma'lum bir maydondagi amallarni yoki barcha qiymatlarni taqqoslasangiz, unda siz hamma uchun emas, balki faqat bir xil satrlarda amallarni tanlashingiz mumkin. Maydonlarning qiymatlari kichik bo'lsa yoki ma'lumotlar turi aralash bo'lsa, buni ishlab chiqa olmaysiz.

Afsuski, ushbu turdagi ma'lumotlar ko'pchilik tijorat ma'lumotlar bazasi dasturlari va rasmiy SQL standartidan doimo chetlab kelingan asosiy sohadir. ANSI SQL standarti faqat matn va raqamni taniydi, shuning uchun ko'pgina tijorat dasturlari boshqa maxsus turlardan foydalanadi. DATA va VAQT (SOAT) kabi, aslida, bundan ham ko'proq standart turlardir (garchi ularning aniq formati har xil bo'lsa ham). Ba'zi paketlar MONEY va BINARY kabi turlarni ham qo'llab-quvvatlaydi. (MONEY - bu kompyuterlar tomonidan qo'llaniladigan maxsus "valyuta" hisob-kitob tizimi.)

Kompyuterdagi barcha ma'lumotlar qo'sh raqamlarda uzatiladi, so'ngra ularni oson tushunish va tushunish uchun boshqa tizimlarga o'tkaziladi.

ANSI bir qator raqamli turlarni anglatadi, ba'zilari o'rtasidagi farqlar nozik va ba'zilari o'zgaruvchan. Ruxsat etilgan ANSI ma'lumotlar turlari B ilovasida keltirilgan. ANSI raqamli turlarining murakkabligi, ba'zi hollarda, boshqa til yordamida SQL o'rnatishni ishlab chiqish kontekstida tushuntirilishi mumkin. Ikki turdagi ANSI raqamlari - INTEGER va DECIMAL (ularni INT va DEC sifatida qisqartirish mumkin) bizning maqsadlarimiz uchun, shuningdek, ko'pgina amaliy biznes ilovalari uchun etarli bo'ladi. Tabiiyki, INTEGER turini o'ninchi nuqtaga ba'zi o'ng qo'l raqamlarini qo'yish orqali DECIMAL NUMBER deb tan olish mumkin.

Matn turi CHAR (yoki SIMBOL) bo‘lib, u matn qatoriga mos keladi. CHAR tipidagi maydon maksimal qiymatga ega bo'lib, u maydonga kiritilishi mumkin bo'lgan belgilarning maksimal soni sifatida aniqlanadi. Aksariyat ilovalar, shuningdek, VARCHAR (TURLI SONI BELGILAR) deb nomlanuvchi nostandart turdagi bo‘lib, u matn qatori bo‘lib, maksimal 254 ta belgidan iborat bo‘lishi mumkin. CHARACTER va VARCHAR qiymatlari bitta yorliqlarga "matn" sifatida kiritilgan. CHAR va VARCHAR o'rtasidagi farq shundaki, CHAR maksimal qator mavjudligi uchun etarli xotirani zaxiralash uchun javobgardir va VARCHAR xotirani iste'mol dunyosiga tarqatadi.

Belgilar turlari boshqa barcha belgilar, jumladan raqamlardan iborat. Biroq, 1 raqami "1" belgisi bilan bir xil emas. "1" belgisi tizim tomonidan 1 raqamli qiymat sifatida belgilanmagan matnning boshqa bir qismidir. Masalan, 1 + 1 = 2, lekin "1" + "1" "2" ga ekvivalent emas. Belgilar qiymatlari kompyuterda ikkilamchi qiymatlar sifatida saqlanadi, ammo boshqa matn sifatida ko'rsatiladi.

Qayta loyihalash siz tanlagan tizim tomonidan belgilangan formatga amal qiladi. Ushbu format kompyuter tizimlarida qo'llaniladigan ikkita standart turdan biriga (ehtimol kengaytmalari bilan) o'zgartiriladi: ASCII kodi (barcha shaxsiy va kichik kompyuterlarda mavjud) va EBCDIC kodi (kengaytirilgan ikki o'nlik ma'lumot almashish kodi) í ) (Victorizes ajoyib kompyuterlar). Maydon qiymatlarini alifbo tartibida joylashtirish kabi barcha operatsiyalar format bilan bir vaqtda o'zgartirilishi mumkin.

Biz bozorni kuzatish uchun mas'ulmiz, ANSI vikoristanny turidagi DATE (DATE) uchun emas. (DATE turini tanimaydigan tizimda siz aniq sanani raqamli maydon emas, balki belgilar maydoni sifatida baholashingiz mumkin, lekin ko'proq operatsiyalarni yanada og'irroq qilishingiz mumkin.)

Qaysi turdagi ma'lumotlarni qo'llab-quvvatlashini aniq bilish uchun foydalanayotgan dasturiy ta'minot to'plami uchun hujjatlaringizni ko'rib chiqishingiz kerak.

SQL. Noqulaylik.

Oldingi muhokamadan tushunishingiz mumkinki, bu SQL mahsulotlari o'rtasidagi nomuvofiqlikdan tashqari. SQL ma'lumotlar bazalarining tijorat olamidan vosita sifatida paydo bo'ldi va keyinchalik ANSI standartiga aylantiriladi. Afsuski, ANSI har doim ham eng yaxshi degani emas, shuning uchun dasturlar juda ko'p ajratilishiga yo'l qo'ymasdan, ANSI standartiga mos kelishga majbur. ANSI minimal standartning bir turi - siz u ruxsat berganidan ko'proq ishlashingiz mumkin, ammo xuddi shu vazifani bajarayotganda ham bir xil natijalarga erishishingiz kerak bo'ladi.

"KORISTUVACH" NIMA?

SQL bir nechta mijozga ega bo'lgan kompyuter tizimlarida mavjud bo'lishi kerak va shuning uchun ularni ajratish kerak (sizning shaxsiy kompyuterlar oilangiz iloji boricha ko'proq mijozlarga ega bo'lishi mumkin, ammo bitta mijozni boshqasidan ajratishning imkoni yo'q).

Tizimda siz sizni identifikatsiya qiluvchi huquqlarni tasdiqlash kodining yangi turini olasiz (terminologiya o'zgaradi). Kompyuter bilan sessiya boshlanishida foydalanuvchi tizimga kirishi (ro'yxatdan o'tish) kerak, bunda kompyuter foydalanuvchi identifikatori (identifikator) yordamida foydalanuvchi aniqlanganligini ko'rsatadi. ID ruxsatidan foydalanadigan odamlar ko'pmi yoki faqat bir nechta professionallar bormi; Va shunga o'xshab, bir kishi SQL-ga kirish uchun turli identifikatorlardan foydalangan holda (turli vaqtlarda) ko'p sonli mijozlarni ifodalashi mumkin. Ko'pgina SQL muhitlaridagi harakatlar ma'lum bir foydalanuvchiga to'liq mos keladigan maxsus kirish identifikatoriga qisqartiriladi. Stol yoki boshqa ob'ekt to'liq nazorat ostida bo'lgan koristuvachevaga tegishli. Koristuvach ob'ekt ustidan g'alaba qozonish harakatida qatnashishi mumkin yoki yo'q bo'lishi mumkin. Bizning maqsadlarimiz uchun biz har qanday koristuvach har qanday biznesni zabt etish uchun zarur imtiyozlarga ega bo'lishi mumkinligini tushunamiz, shuning uchun biz imtiyozlar 22-bo'lim bilan muhokama qilinmaguncha, biz maxsus qaytmaymiz. Maxsus ma'no FOYDALANUVCHI (KORISTUVACH) jamoa uchun argument sifatida Vikoristavatsya qilishi mumkin. Bu buyruqda berilgan mijozning mavjud identifikatorini ko'rsatadi.

Ruhiy jihatdan aniqlangan terminologiya

Kalit so'zlar SQL tilida alohida ma'noga ega bo'lgan so'zlardir. Ular buyruqlar, shuningdek matn va ob'ekt nomlari bo'lishi mumkin. Biz ularning BUYUK ADABIYOTCHILARI tomonidan baham ko'rilgan kalit so'zlarni ko'ramiz. Siz hurmatli bo'lishingiz va kalit so'zlarni atamalar bilan aralashtirmasligingiz kerak.

SQL ushbu tavsif uchun ishlatiladigan bir nechta maxsus atamalarni o'z ichiga oladi. Ular orasida umumiy til tavsifida eng muhim bo'lgan, lekin SQL uchun o'z-o'zidan hech narsani anglatmaydigan "so'rov", "taklif" va "predikat" kabi so'zlar mavjud.

Buyruqlar yoki takliflar va ko'rsatmalar, ularning yordami bilan siz SQL SQL ga kengaytirasiz.

Buyruqlar takliflar deb ataladigan bir yoki bir nechta mantiqiy qismlardan iborat.

Takliflar kalit so'z bilan boshlanadi va kalit so'zlar va argumentlardan iborat. Masalan, “FROM Salesspeope” va “WHERE city = “London”” takliflari bilan qotib qolishingiz mumkin. Argumentlar tugallanadi va takliflarning ma'nolari o'zgartiriladi. Buttsda Salespeople argumentdir va FROM FROM taklifining kalit so'zidir. Xuddi shunday, "shahar = "London"" WHERE taklifining argumentidir.

Ob'ektlar - bu ma'lumotlar bazasining tuzilishi bo'lib, ularga nom berilgan va ular xotirada saqlanadi. Bu erda siz asosiy jadvallar, ta'riflar va indekslarni ko'rishingiz mumkin.

Men sizga buyruqlar dumbalarda qanday hosil bo'lishini ko'rsataman. Ha, prote, buyruqlarni tavsiflashning yanada rasmiy usuli, bu aqliy topshiriqlarni standartlashtirishdir. Biz buni keyingi bo'limlarda aniqlik uchun ko'rib chiqamiz, shunda siz ushbu tushunchalarni boshqa SQL hujjatlarida duch kelganingizda tushunishingiz mumkin.

Kvadrat qo'llar () takrorlanmasligi mumkin bo'lgan qismlarni ko'rsatadi va dog'lar (...) ularga etkazilgan hamma narsani har qanday marta takrorlanishi mumkinligini ko'rsatadi. Yoylardagi so'zlar () - bu hid nima ekanligini tushuntiruvchi maxsus atamalar. Biz standart SQL terminologiyasidan foydalandik, lekin hech qanday tushunchani yo'qotmasdan.

Xulosa

Biz bazaning ushbu qismini qisqacha ko'rib chiqdik. Bizning maqsadimiz SQL asoslarini tezda ko'rib chiqishdir, shunda siz barcha ma'lumotlarni tushunasiz.

Endi siz SQL nima ekanligini bilasiz: uning tuzilishi qanday, u qanday tahlil qilinadi, ma'lumotlarni qanday ifodalaydi va qanday hisoblanadi (va u bilan birga keladigan noqulayliklar), qanday qilib aqlli tarzda ta'riflanadi va men ta'riflamayman. qanday qilib men ular uchun vikorist bo'laman. Bularning barchasi bitta bo'lim uchun juda katta ma'lumotdir; Bu tafsilotlarning barchasini yod olganingizga ishonchimiz komil emas, lekin agar kerak bo'lsa, ularga keyinroq qaytishingiz mumkin.

MOVA SQL: MA'LUMOTLARNI MANIPULATSIYA qilish

UCHTA MA'RUZADA...

· Structure Query Language (SQL) tilining maqsadi uning ma'lumotlar bazalari bilan ishlashdagi alohida rolidir.

· SQL tilining rivojlanish tarixi.

· SQL bayonotlarini yozib olish.

· SELECT operatori yordamida maʼlumotlar bazalaridan maʼlumotlarni tanlash.

· Pobudova SQL operatorlari, ular quyidagi xususiyatlar bilan tavsiflanadi:

· Turli fikrlarni qanoatlantiradigan qatorlarni tanlash uchun WHERE konstruktsiyasini o'rnatish;

· Qidiruv natijalarini saralash qo'shimcha ORDER BY konstruktsiyasi yordamida amalga oshiriladi;

· Movi SQL ning Vikoristannya agregat funktsiyalari;

· GROUP BY qo'shimcha konstruktsiyasidan foydalangan holda ma'lumotlarni guruhlash;

· ichimliklarni to'xtatib turish;

· Zastosuvannya poluk stol;

· Ko'plik bilan amallar ta'rifi (UNION, INTERSECT, ISISTA).

· Qo'shimcha INSERT, UPDATE va DELETE operatorlari yordamida ma'lumotlar bazasiga o'zgartirishlar kiritish.

Relyatsion ma'lumotlar modelining rivojlanishi natijasida paydo bo'lgan narsalardan biri SQL bo'lib, u hozir yanada kengayib bormoqda va aslida relyatsion ma'lumotlar bazalarining standart tiliga aylandi. SQL tili uchun standart 1986 yilda AQSh Milliy Standartlar Instituti (ANSI) tomonidan chiqarilgan va 1987 yilda Xalqaro Standartlashtirish Tashkiloti (ISO) ushbu standartni xalqaro sifatida qabul qilgan. Hozirgi vaqtda SQLni shaxsiy kompyuterlardan tortib to meynfreymlargacha bo'lgan turli hisoblash platformalari uchun ishlab chiqilgan yuzlab turli turdagi ma'lumotlar bazasi tizimlari qo'llab-quvvatlaydi.

Ushbu ma'ruza ISO standarti bo'yicha SQL ta'rifiga asoslangan.

SQL tiliga kirish

Ushbu qism SQLning ahamiyatini ko'rib chiqadi, uning tarixini tushunadi va bugungi kunda ma'lumotlar bazalari uchun nima uchun juda muhim bo'lib qolganligi sabablarini tahlil qiladi.

Film SQL uchun topshiriqlar

Til ma'lumotlar bazalari bilan ishlash uchun mo'ljallanganmi, muxbirga quyidagi imkoniyatlarni berish kerak:

· Ma’lumotlar bazalari va ularning tuzilishini batafsil tavsiflangan jadvallarni yaratish;



· Jadvalga ma'lumotlarni kiritish, o'zgartirish va o'chirish kabi ma'lumotlarni manipulyatsiya qilishning asosiy operatsiyalarini yakunlash;

· Bu oddiy va so'rash oson.

Bundan tashqari, ma'lumotlar bazalari bo'lgan robotlarimiz foydalanuvchi tomonidan minimal kuch sarflagan holda barcha muhim ma'lumotlarni olishlari kerak va uning buyruqlarining tuzilishi va sintaksisi sodda va o'rganish uchun qulay bo'lishi kerak.

Va aytaylik, til universal bo'lishi mumkin. Bir ma'lumotlar bazasidan ikkinchisiga o'tishda bir xil sintaksis va buyruqlar tuzilmasini o'zgartirishga ruxsat berish uchun har qanday ma'lum standartga rioya qiling. SQL tilining joriy standarti ko'pgina afzalliklarni qondiradi.

SQL - bu ma'lumotlarni o'zgartirishning namunasi yoki kirish ma'lumotlarini kerakli chiqish shakliga aylantirish orqali jadvallar bilan ishlash uchun mo'ljallangan til. ISO standarti bilan belgilangan SQL tili ikkita asosiy komponentga ega:

· Language Data Definition Language (DDL), maʼlumotlar bazasi tuzilmalarini tayinlash va maʼlumotlarga kirishni boshqarish uchun ilovalar;

· Ma'lumotlarni manipulyatsiya qilish tili (DML) ma'lumotlarni tanlash va yangilash uchun ishlatiladi.

SQL3 standarti paydo bo'lishidan oldin SQL tili faqat ma'lumotlarni tayinlash va boshqarish buyruqlarini o'z ichiga olgan; u hisob-kitoblarning borishini nazorat qilish uchun kundalik buyruqlarga ega edi. Boshqacha qilib aytganda, ushbu filmda IF...THEN...ALSE, GO TO, DO...WHILE buyruqlari yoki hisoblash jarayonining borishini nazorat qilish uchun boshqa maqsadlar yo'q edi. Bunday vazifalar dasturiy yondashuv bilan, dasturlash va vazifalarni boshqarish yordamida va ishlab chiquvchining o'zi tomonidan yaratilgan harakatlarni interaktiv tarzda boshqariladi. Bunday to'liqsizlik tufayli, hisoblash jarayonini tashkil etish nuqtai nazaridan, SQL tilini ikki xil tarzda buzish mumkin. Birinchisi, quyidagi SQL iboralarining kiritilgan terminalida saqlanadigan interaktiv robotni uzatishdir. Ikkinchisi protsessual til dasturlaridagi ilg'or SQL bayonotlariga asoslangan.

Rasmiy ravishda 1999 yilda qabul qilingan SQL3 tilining afzalliklari:

· SQL tili juda sodda.

· Bu protsessual bo'lmagan til, shuning uchun u qanday ma'lumotlarni o'chirish mumkinligini emas, balki qanday ma'lumotlarni olib tashlash mumkinligini ko'rsatishi kerak. Aks holda, SQL tili ma'lumotlarga kirish usullarini ko'rsatishni talab qilmaydi.

· Ko'pgina zamonaviy tillar singari, SQL ham bayonotlarni yozish uchun boshqa formatni qo'llab-quvvatlaydi. Bu shuni anglatadiki, kirish vaqtida boshqa operator elementlari ekrandagi sobit pozitsiyalar bilan bog'lanmagan.

· Buyruqlar strukturasi ingliz tilining asosiy so'zlari bo'lgan kalit so'zlar to'plami bilan belgilanadi, masalan, CREATE TABLE - Jadval yaratish, INSERT - Insert, SELECT - Select.

Masalan:

JADVAL TUZISH [Sotish] ((S), [Obyekt nomi] VARCHAR(15), [Variet] DECIMAL(7,2));

INSERT INTO [Object] VALUES ("SG16", "Brown", 8300);

SELECT , [Obyekt nomi], [Variety];

FROM [Sotish]

WHERE [Varity] > 10000;

· SQL tilidan ishlab chiquvchilarning keng doirasi, jumladan ma'lumotlar bazasi ma'murlari (DBA), kompaniyaning bek-ofisi xodimlari, amaliy dasturchilar va turli toifadagi boshqa oxirgi foydalanuvchilar foydalanishi mumkin.

Hozirgi vaqtda SQL uchun xalqaro standartlar mavjud bo'lib, ular rasmiy ravishda relyatsion ma'lumotlar bazalarini yaratish va manipulyatsiya qilish uchun standart til ekanligini anglatadi, aslida esa shunday.

Movi SQL tarixi

SQL vositachiligidagi relyatsion ma'lumotlar modelining tarixi 1970 yilda o'sha paytda IBM korporatsiyasining San-Fransiskodagi oldingi laboratoriyasida ishlagan E. F. Koddning asosiy maqolasi nashr etilishi bilan boshlangan. 1974-yilda xuddi shu laboratoriyada ishlagan D.Chemberlen “Structured English Query Language” yoki SEQUEL deb nomlangan bir qator filmlarni nashr etdi. 1976 yilda ushbu filmning remaster qilingan versiyasi SEQUEL/2 chiqdi; Yillar oldin uning nomi huquqiy me'yorlar tufayli SQL ga o'zgartirilishi kerak edi - SEQUEL qisqartmasi allaqachon filologlar tomonidan ishlatilgan. Hozirgacha ko'p odamlar, avvalgidek, SQL qisqartmasini "davomi" deb atashadi, garchi uni rasman "es-qu-el" deb o'qish tavsiya etilgan.

1976 yilda SEQUEL/2 tiliga asoslanib, IBM System R deb nomlangan DBMS prototipini chiqardi. Ushbu sinov versiyasi relyatsion modelni amalga oshirish imkoniyatini qayta baholash uchun mo'ljallangan edi. Ushbu loyiha natijalaridan eng muhim bo'lgan boshqa ijobiy jihatlar bilan bir qatorda SQL tilining rivojlanishini ham hisobga olish mumkin.Ammo tilning asosiy sababi SQUARE tilidir (Specifying Queries as Rational Expressions) , System R loyihasining vorisi boʻlgan SQUARE tili ingliz tilida tuzilgan qoʻshimcha iboralar uchun relyatsion algebrani amalga oshirish uchun eng soʻnggi vosita sifatida parchalangan.

1970-yillarning oxirida, keyinchalik Oracle korporatsiyasiga aylangan kompaniya Oracle DBMS ni chiqardi. Ehtimol, SQL ning rivojlanishidan ilhomlangan relyatsion DBMSning tijorat tatbiqiga asoslangan.

Biroz vaqt oldin, QUEL so'rovlari tilini o'zgartiradigan INGRES DBMS paydo bo'ldi.

Bu til ko'proq tuzilgan, kamroq SQL edi, lekin semantikasi asosiy ingliz tiliga kamroq yaqin edi. Keyinchalik, SQL relyatsion ma'lumotlar bazalari uchun standart til sifatida qabul qilingandan so'ng, INGRES DBMS avvalgisidan to'liq tarjima qilindi. 1981-yilda IBM korporatsiyasi SQL/DS (DOS/VSE oʻrta taʼminoti uchun) nomi ostida birinchi tijorat relyatsion maʼlumotlar bazasini chiqardi. 1982 yilda ushbu tizimning versiyasi VM/CMS o'rta ta'minoti uchun, 1983 yilda esa MVS o'rta dasturi uchun DB2 deb ham ataladi.

1982 yilda AQSH Milliy Standartlar Instituti (ANSI) IBM korporatsiyasi tomonidan qabul qilingan kontseptual hujjatlar asosida Relation Database Language (RDL) ustida ish boshladi. 1983 yilda bu ishga Xalqaro standartlashtirish tashkiloti (ISO) jalb qilingan. Ikkala tashkilotning davom etayotgan sa'y-harakatlari SQL tili standartini chiqarish bilan yakunlandi. RDL nomi 1984 yilda qabul qilingan va film loyihasi loyihasi uni mavjud SQL ilovalariga yaqinlashtirish uchun qayta ishlangan.

1987 yilda ISO tomonidan chiqarilgan standartning yakuniy versiyasi tanqidiy hurmat bilan. Zokrema, Deyt, ushbu sohadagi yetakchi tadqiqotchi, standart muhim funktsiyalarni, shu jumladan xabarning yaxlitligini ta'minlash usullarini va shunga o'xshash aloqa operatorlarini o'tkazib yuborganini ta'kidladi.

Bundan tashqari, tilning g'ayritabiiy g'ayritabiiyligini hisobga olgan holda, bir xil savol bir necha xil versiyalarda yozilishi mumkin. Tanqidlarning aksariyati adolatli deb topildi va nashr etilishidan oldin ham standartga kerakli tuzatishlar kiritildi. Biroq, biz tilning o'zi va uning amalga oshirilishi yanada rivojlanishi mumkin bo'lgan asosiy asosning rolini tushunishimiz uchun iloji boricha aniq standartni chiqarish muhimroq deb qaror qilindi. turli fahivlar majburiy deb hurmat qiladigan barcha funktsiyalar. shunga o'xshash filmlar uchun.

1989 yilda ISO ma'lumotlar yaxlitligini saqlash funktsiyalarini o'z ichiga olgan standartga o'zgartirish kiritdi. 1992 yilda ISO standartining ba'zan SQL2 yoki SQL-92 deb ataladigan butunlay qayta ko'rib chiqilgan versiyasi chiqdi. Garchi bu funktsiyalar birinchi bo'lib ushbu standartda aniqlangan bo'lsa-da, ularning ko'plari allaqachon SQLning bir yoki bir nechta tijorat ilovalarida keng yoki tez-tez amalga oshirilgan.

Va standartning keyingi versiyasi, odatda SQL3 deb ataladi, 1999 yilda chiqarilgan. Ushbu versiyada ob'ektga yo'naltirilgan ma'lumotlarni qayta ishlash funktsiyalarini qo'llab-quvvatlash uchun qo'shimcha funktsiyalar mavjud.

Tijorat sotuvchilari tomonidan til standartiga qo'shiladigan funksiyalar kengaytmalar deb ataladi. Masalan, SQL standarti ma'lumotlar bazalarida saqlanishi mumkin bo'lgan olti xil turdagi ma'lumotlarni belgilaydi. Ko'pgina ilovalarda ushbu ro'yxat turli xil kengaytmalar bilan to'ldiriladi. Tilda ishlatiladigan til dialekt deyiladi. Ikkita mutlaqo bir xil dialekt yo'q, xuddi ISO standartiga to'liq mos keladigan dialekt yo'qligi kabi.

Ko'pgina ma'lumotlar bazasini ishlab chiquvchilari ma'lumotlar tizimiga yangi funksiyalarni joriy qilishlari sababli, ular o'zlarining SQL dialektlarini doimiy ravishda kengaytiradilar va buning natijasida ma'lumotlar bir-biridan ko'proq farqlanadi. Biroq, SQL ning asosiy tili barcha ilovalarda kamroq standartlashtirilgan.

SQL tilining yangi kontseptsiyalari IBM korporatsiyasi tomonidan ishlab chiqilgan bo'lsa-da, uning ahamiyati allaqachon boshqa ishlab chiquvchilarni kuchli ilovalarni ishlab chiqishga undagan. Hozirgi vaqtda bozorda mashhur SQL tiliga asoslangan yuzlab mahsulotlar mavjud va doimiy ravishda yangi va yangi versiyalar chiqariladi.

Bugungi kunda qo'g'irchoqlar uchun SQL kurslari tobora ommalashib bormoqda. Buni oddiygina tushuntirish mumkin, hatto bugungi kunda ham "dinamik" deb ataladigan veb-xizmatlarni ishga tushirish imkoniyati tobora ortib bormoqda. Ular buni o'rganishga va saytlarga bag'ishlashga qaror qilgan barcha kob dasturlariga ro'yxatdan o'tishga qat'iy qaror qildilar, shuning uchun biz birinchi navbatda "qo'g'irchoqlar uchun" SQL kurslariga ro'yxatdan o'tamiz.

Turmushga chiqish mumkinmi?

Avvalo, SQL bugungi kunda eng mashhur blog dvigatellaridan biri - WordPress uchun yanada ko'p qirrali dasturlarni yaratish usulidan boshlanadi. Bir nechta oddiy saboqlardan o'tib, siz ushbu tilning soddaligini tasdiqlaydigan oddiy jumlani yaratishingiz mumkin.

SQL nima?

So'rovlarni tizimlashtirishning butun tizimi bitta usul yordamida yaratilgan: ularga kirish huquqini berish va ularni qisqa vaqt ichida qayta ishlash. Agar siz SQL qiymatlarini bilsangiz, unda siz ushbu server "protsessual bo'lmagan" til deb ataladiganligini tushunasiz. Shunday qilib, kelajakda saytda ko'rishni istagan har qanday komponentlar yoki natijalarning tavsifini ham kiritishingiz mumkin. Biroq, bu aniq kuzatilishi kerak bo'lgan natijalarni bildirmaydi. Yangi teri qo'shimcha "overbudova" kabi bu til bilan yuviladi. Yozuvlar ma'lumotlar bazasiga kiritilgan tartibda paydo bo'ladi.

Qo'shimcha narxga qanday protseduralar kiritilishi mumkin?

Oddiyligiga qaramay, SQL ma'lumotlar bazasi juda ko'p qiziqarli so'rovlarni bajarishga imkon beradi. Xo'sh, agar siz ushbu muhim narsani dasturlashtirilgan tildan o'rgansangiz nima qila olasiz?

  • turli jadvallar yaratish;
  • ma'lumotlarni o'chirish, saqlash va o'zgartirish;
  • hokimiyat organlari uchun jadval tuzilishini o'zgartirish;
  • olingan ma'lumotlarni bitta bloklarga birlashtirish;
  • olingan o'lponni hisoblash;
  • ma'lumotlarning to'liq xavfsizligini ta'minlash.

Bu dunyodagi eng mashhur jamoalar qaysilar?

Agar siz qo'g'irchoqlar uchun SQL kurslarini olishga qaror qilgan bo'lsangiz, unda siz yordamingiz bilan yaratilgan so'rovlardan o'rganishingiz kerak bo'lgan buyruqlar haqida hisobot ma'lumotlarini olasiz. Bugungi kunda eng keng tarqalganlari:

  1. DDL - bu ma'lumotlarni bildiruvchi buyruq. U ma'lumotlar bazasida qiziqarli ob'ektlarni yaratish, o'zgartirish va o'chirish uchun ishlatiladi.
  2. DCL - ma'lumotlarni boshqaradigan buyruq. Biz saytdan turli foydalanuvchilarga ma'lumotlar bazasidagi ma'lumotlarga kirishni ta'minlash, shuningdek, jadvallar yoki ma'lumotlarni ko'rish uchun foydalanamiz.
  3. TCL - bu har xil turdagi operatsiyalarni bajaradigan buyruq. Asosiy maqsad - tranzaktsiyaning borishini kuzatish.
  4. DML - olingan ma'lumotlarni manipulyatsiya qiladi. Bu vazifa ma'lumotlar bazasidan turli ma'lumotlarni kiritish yoki ko'chirish yoki u yerga kiritish imkonini beradi.

Serveringizda mavjud imtiyozlar turlari

Imtiyozlar ostida biz boshqa birovni o'z maqomiga ko'tarishi mumkin bo'lgan harakatlarga e'tibor beramiz. Eng kichik, eng aqldan ozgan, tizimga eng muhim kirish. Albatta, imtiyozlar vaqt o'tishi bilan o'zgarishi mumkin. Eskilari yo'qoladi, yangilari qo'shiladi. Bugungi kunda SQL Serverni "qo'g'irchoqlar uchun" kurslarini o'tayotganlarning barchasi bir qator ruxsat etilgan harakatlar turlari mavjudligini bilishadi:

  1. Ob'ekt turi - koristuvachevy ma'lumotlar bazasidagi istalgan ob'ektga buyruq kiritishga ruxsat beriladi. Bunday holda, ob'ektlarning bo'linish ehtimoli ko'proq. badbo'y hidlar nafaqat boshqa pul ishlab chiqaruvchiga, balki stolga ham yopishtirilgan. Agar siz o'zingizning qobiliyatingizni aniqlashga harakat qilsangiz, jadval tuzsangiz, uni hukmdor sifatida hurmat qilasiz. Shuning uchun u boshqa mijozlarga undan olingan ma'lumotlar bilan bog'liq yangi imtiyozlarni e'lon qilish huquqiga ega.
  2. Tizim turi - bu ma'lumotlarga mualliflik huquqini bildiradi. Bunday imtiyozlardan foydalanganlar ma'lumotlar bazasida turli xil ob'ektlarni yaratishi mumkin.

SQL yaratilish tarixi

Bu til IBM kompaniyasining oxirgi laboratoriyasi tomonidan 1970 yilda yaratilgan. O'sha paytda ismining nomi boshqacha edi (DAVVIYI), ammo bir necha qismatdan so'ng ular vaqt o'tishi bilan ismlarini o'zgartirdilar. Qanday bo'lmasin, bugungi kunda Galusa dasturlash bo'yicha dunyodagi eng mashhur odamlarning ko'pchiligi hali ham eski nomdan foydalanadilar. SQL bitta usul yordamida yaratilgan - tilni topish, ular Internetga hech qanday muammosiz kirishlari uchun sodda bo'lishi uchun. Ajoyib haqiqat shundaki, o'sha paytda SQL meniki bilan bir xil emas edi. Kaliforniyada yana bir guruh fachivts shunga o'xshash Ingresni ishlab chiqdi, lekin hech qachon kengaytirilmadi. 1980-yilgacha SQLning bir qancha oʻzgarishlari mavjud boʻlib, ularning barchasi bir-biriga zid edi. Chalkashmaslik uchun 1983 yilda standart versiya yaratilgan bo'lib, u bugungi kunda ham mashhur. Qo'g'irchoqlar uchun SQL kurslari sizga xizmat haqida ko'proq ma'lumot olish va bir necha yil ichida u haqida ko'proq ma'lumot olish imkonini beradi.