SQL хэлний хичээлүүд ( 23 )

Та ямарч программ зохиож байлаа гэсэн өгөгдлийн санг ашиглах нь бараг тодорхой зүйл. Хэрэглэгч бүртгэх, мэдээлэл хадгалах, хайлт хийх гээд эдгээр бүх үйлдлүүдийг энгийн хялбараар хийх хамгийн сайн энгийн арга бол өгөгдлийн санг ашиглах юм. Файлын системээр энэ бүгдийг шийдвэрлэнэ гэвэл маш их хөдөлмөр шаардах болно. Өнөөдрийн байдлаар өгөгдлийн баазыг удирдах хамгийн өргөн дэлгэрсэн хэл болох SQL юм. Энэ хэлийг эзэмшихгүйгээр программ бичнэ гэдэг хүнд. Өгөгдлийн сангийн программ зохиогчид гэсэн тусгай ажил, мэрэгжил хүртэл бий.

Хичээлийн материалуудыг үзэхэд таниас тусгай бэлтгэл, их хугацаа шаардахгүй бөгөөд жишээнүүд MicroSoft Access, MicroSoft  SQL Server, MySql, Oracle, PostgreSQL, IMB DB2 гэх мэт өргөн дэлгэрсэн өгөгдлийн санг удирдах системүүдэд /ӨСУС/ ажиллана.

SQL-ийн өргөтгөсөн боломжууд

Нээгдсэн тоо: 1405

Төлбөртэй

 

Энэ хичээлээр бид SQL хэлний нилээд чухал болоод хүндхэн ойлголтууд болох хязгаарлалт, индекс, триггер гэсэн өгөгдлийг удирдах өргөтгөсөн боломжуудын талаар авч үзнэ.

Хязгаарлалт гэж юу вэ?

Холбоост өгөгдлийн сан нь өгөгдлүүдийг олон хүснэгтүүдэд хадгалж байдаг бөгөөд хүснэгт бүр нь өөр хүснэгтүүдийн өгөгдлүүдтэй холбогдолтой мэдээллийг хадгалж байдаг. Нэг хүснэгтийг нөгөө хүснэгттэй холбохдоо түлхүүрийг ашигладаг. Эндээс хобоосын түвшингийн бүрэн байдал гэсэн ойлголт гарч ирнэ. Холбоост өгөгдлийн санг зохих ёсоор ажиллуулахын тулд түүний хүснэгтүүдийн мэдээллүүд зөв орсон байх шаардлагатай. Жишээ нь Orders хүснэгтэд захиалгын мэдээлэл харин OrderItems хүснэгтэд захиалгын нарийвчилсан мэдээллийг хадгалахын тулд та OrderItems хүснэгтэд байх захиалгын дугаар нь Orders хүснэгтэд яг байгаа гэдэгт итгэлттэй байх ёстой. Мөн түүнчлэн Orders хүснэгтэд байх харилцагчийн дугаар нь Customers хүснэгтэд орхигдсон байх ёсгүй.

 

Курсорыг ашиглах

Нээгдсэн тоо: 890

Төлбөртэй

 

SQL-ийн өгөгдөл татах үйлдэл нь үр дүнгийн олонлог гэж нэрлэгдэх мөрийн цуглуулгатай ажилладаг. Өгөгдөл татах операторын нөхцлөөс хамааран үр дүнгийн олонлог нь хоосон эсвэл түүнээс их мөрүүд байна. Энгийн SELECT операторыг ашиглан эхний эсвэл сүүлийн, эсвэл дараагийн 10 мөрийг татан авах боломжгүй байдаг. Зарим үед мөрүүдийг шууд эсвэл тонгоруулсан дарааллаар нэг эсвэл хэд хэдэн удаа харах шаардлага гардаг. Энэ зорилгод курсорыг ашигладаг.

Курсор гэдэг нь серверт хадгалагдсан өгөгдлийн санд хандах шаардлага юм. Курсор нь SELECT операторын ажиллагаагаар бий болсон үр дүнгийн олонлог болохоос SELECT оператор биш.

 

Багцын /transaction/ боловсруулалт

Нээгдсэн тоо: 763

Төлбөртэй

 

Багцын боловсруулалт нь SQL үйлдлүүдийн багц нэг бол бүгд биелэгдэнэ эс бол бүгд биелэгдэхгүй гэсэн зарчмаар өгөгдлийн сангийн бүрэн бүтэн байдлыг хангаж өгдөг.

Шинэ захиалга нэмэх үйлдэл нь дараах алхамуудаас бүрдэнэ.

  • Өгөдлийн санд харилцагчийн тухай мэдээлэл байгаа эсэхийг шалгана. Хэрвээ мэдээлэл байхгүй бол нэмнэ
  • Харилцагчийн дугаарыг авна
  • Orders хүснэгтэд харилцагчийн хүснэгттэй холбоо бүхий харилцагчийн дугаар бүхий шинэ мөр нэмнэ
  • Orders  хүснэгтэд нэмэгдсэн шинэ мөрөөс захиалгын дугаарыг авна
  • Захиалгад орсон бараа бүрээр OrderItems хүснэгтэд захиалгын дугаараар Orders  хүснэгттэй, бүтээгдхүүний дугаараар Products хүснэгттэй холбогдсон шинэ мөрийг нэмнэ

 

Хадгалсан процедуртай ажиллах

Нээгдсэн тоо: 817

Төлбөртэй

 

Бидний энд хүртэл үзсэн SQL үйлдлүүд нь нэг оператораар нэг буюу хэсэг хүснэгтэд хандаж байснаараа энгийн байсан. Гэхдээ SQL үйлдлүүд нь бүгд тийм ч хялбархан биш. Нарийн үйлдлүүдийг гүйцэтгэхэд хэд хэдэн операторыг ашиглах явдал гардаг. Дараах тохиолдолыг авч үзье.

  • Захиалгыг боловсруулах явцад тухайн бүтээгдхүүн агуулахад байгаа эсэхийг шалгах
  • Хэрвээ бүтээгдхүүн агуулахад байгаа бол тухайн бүтээгдхүүнийг захиалсан тухай тэмдэглэл хийж агуулахад байгаа барааны үлдэгдлийг өөрчлөх
  • Бүтээгдхүүн агуулахад байхгүй бол захиалгыг аваад нийлүүлэгчтэй холбогдох
  • Харилцагчид захиалгын талаар мэдээллэх

гэх мэтээр маш олон янзын тохиолдол байж болно.

 

Үзүүлбэр /view/ ашиглах

Нээгдсэн тоо: 891

Төлбөртэй

 

Үзүүлбэр /view/ - энэ бол виртуал хүснэгт. Хүснэгт өгөгдөл хадгалж байхад үзүүлбэр шаардлагууд хадгалж өгөгдлүүдийг хэрэгцээтэй үед татаж байдагт эдгээрийн гол ялгаа оршино. Үзүүлбэр /view/-г илүү ойлгохын тулд тодорхой жишээ авч үзье. Хүснэгтүүдийн нэгтгэл хичээлд үзсэн жишээг харъя. Энд бид 3 хүснэгтээс SELECT оператораар өгөгдөл татсан.
Жич: Үзүүлбэр гэдэг орчуулга нь нэг их оновчтой болоогүй байж болох талтай. Иймд орчуулгын оронд view гэдэг хэллэгээр нь шууд сурах нь дөхөмтэй байж болно.

 

Хүснэгт үүсгэх түүнтэй ажиллах

Нээгдсэн тоо: 1230

Төлбөртэй

 

SQL хэл нь өгөгдлийн сангийн мэдээллүүдийг удирдаад зогсохгүй өгөгдлийн сан болон хүснэгтүүдтэй хамааралтай үйлдлүүдийг гүйцэтгэх боломжтой байдаг. Хүснэгтийг үүсгэх хоёр янзын арга байдаг.

  1. Ихэнх ӨСУС нь өгөгдлийн санд хүснэгт үүсгэх, тэдгээрийг удирдах интерактив администраторын хэрэгсэлтэй байдаг.
  2. Хүснэгтүүдийг SQL хэлний операторуудын тусламжтайгаар удирдаж болно

Хүснэгтийг програмын аргаар үүсгэхдээ SQL хэлний CREATE TABLE операторыг ашиглана. Та интерактив хэрэгсэл ашиглан хүснэгтийг удирдах бүх ажиллагаа нь танд мэдэгдэхгүй боловч үнэндээ SQL хэлний операторуудыг ашиглан хийгддэг гэдгийг хэлэх нь зүйтэй.
Хүснэгтийг үүсгэх операторын бүхий л боломжийг үзэх нь манай хичээлийн зорилго биш. Бид зөвхөн үндсэн ойлголтыг үзэх болно. Таны ӨСУС-ийн онцлогоос хамаарсан нэмэлт боломжуудын тухай мэдэхийг хүсвэл ӨСУС-ийн бичиг баримтыг сайтар үзээрэй.

 

Өгөгдөл засварлах ба устгах

Нээгдсэн тоо: 826

Төлбөртэй

 

Ямар нэгэн хүснэгтийн өгөгдлийг засварлахдаа UPDATE операторыг ашигладаг. Энэ операторыг хоёр янзаар ашигладаг.

  1. Хүснэгтийн тодорхой бичлэгийг өөрчлөх
  2. Хүснэгтийн бүх бичлэгийг өөрчлөх

Санамж: UPDATE операторыг ашиглахдаа маш болгоомжтой байхгүй бол хүснэгтийн бүх бичлэгийг алдаатай өөрчилж болохыг сануулъя. UPDATE операторыг ашиглахын өмнө хичээлийн материалтай гүйцэд танилцах хэрэгтэй.
 
Клиент-сервер бүтэцтэй системд UPDATE ашиглахын тулд ӨСУС-д хандах онцгой эрхтэй байхыг шаардаж магадгүй. Ийм эрх танд байгаа эсэхийг шалгаарай.

 

Өгөгдөл нэмэх

Нээгдсэн тоо: 816

Төлбөртэй

 

SELECT оператор нь SQL-д хамгийн их хэрэглэгддэг команд. Гэхдээ үүний зэрэгцээ SQL-д их хэрэглэдэг 3 оператор байдаг бөгөөд эдгээрийг бид ашиглаж сурсан байх ёстой. Эдгээрийн нэг нь INSERT гэх ба нэрнээсээ л оператор нь өгөгдлийн сангийн хүснэгтэд бичлэг нэмэж оруулахад ашиглагдах нь ойлгомжтой. Бичлэг нэмэх хэдэн аргууд байдаг.

  • Нэг бүтэн мөр нэмэх
  • Нэг мөрийн хэсгийг нэмэх
  • Шаардлагын үр дүнг нэмэх

Санамж:  Клиент-сервер бүтэцтэй сиситемд INSERT ашиглахын тулд ӨСУС-д хандах онцгой эрхтэй байхыг шаардаж магадгүй. Ийм эрх танд байгаа эсэхийг шалгаарай.

 

Хосолсон шаардлагууд

Нээгдсэн тоо: 783

Төлбөртэй

 

Дийлэнх SQL шаардлага нь нэг болон хэсэг хүснэгтүүдээс өгөгдөл татахдаа нэг оператор ашигладаг. Үүнээс гадна SQL нь SELECT операторыг олон удаа ашиглан олон шаардлагыг биелүүлэн үр дүнг нэг хүснэгт байдлаар авах боломжтой байдаг. Эдгээр хосолсон шаардлагуудыг голдуу нэгдсэн буюу төвөгтэй /нарийн/ шаардлага гэж нэрлэдэг. Ийм төрлийн шаардлагууд голдуу дараах тохиолдолд бидэнд хэрэгтэй болно.

 

Өргөтөгсөн нэгтгэл үүсгэх

Нээгдсэн тоо: 918

Төлбөртэй

 

Бид өмнө нь Тооцоологдох талбар үүсгэх хичээлд хүснэгтийн баганад завсарын нэр /alias/ хэрхэн өгөх тухай үзсэн. Үүнээс гадна SQL нь хүснэгтийн нэрэнд завсарын нэр /alias/ олгох боломжой байдаг. Энэ нь дараах хоёр үндсэн шалтгаантай.

  1. SQL-ийн илүү богино бичлэг
  2. Нэг SELECT операторт нэг хүснэгтийг олон дахин ашиглах боломжийг нээнэ

Дараах операторыг авч үзье