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

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

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

Нээгдсэн тоо: 2424 Төлбөртэй

SQL хэлний SELECT операторыг ашиглан хийж болох хамгийн хүчтэй үйлдэл нь хүснэгтүүдийг нэгтгэх болно. Иймээс нэгтгэл түүний бичлэгийн дүрмийг нарийн судлах нь SQL хэлийг эзэмших үйл явцын хамгийн чухал хэсэг байдаг.
Юуны өмнө нэгтгэлийг үр дүнтэй эзэмшихийн тулд холбоост /relation/ өгөгдлийн санг байгуулах үндэс, холбоост хүснэгтүүд гэдэг ойлголтын талаар тайлбарлах хэрэгтэй. Хичээлээр энэ ойлголтын тухай бүрэн хэмжээнд авч үзэхгүй хэдий ч хичээлийн материал танд хангалттай ойлголтыг өгч чадна.

Нээгдсэн тоо: 1852 Төлбөртэй

SELECT оператор нь SQL шаардлагыг илэрхийлнэ. Бидний өмнө үзсэн бүх SELECT операторууд нь өгөгдлийг нэг хүснэгтээс татах энгийн SQL шаардлага байсан.

Шаардлага – Ямар нэгэн SQL операторыг хэлнэ. Гэхдээ энэ хэллэг нь голдуу SELECT операторт хамаарагдана.

SQL хэлэнд дэд шаардлага үүсгэж болдог. Яагаад дэд шаардлага хэрэгтэй болсон вэ? Энэ ойлголтыг жишээгээр тайлбарлах нь илүү.

Санамж: MySQL ӨСУС-ийн 4.1 ээс дээш хувилбар дэд шаардлагыг дэмждэг

Нээгдсэн тоо: 1763 Төлбөртэй

Өмнөх хичээлээс бид хүснэгтийн өгөгдлүүдийн дүнг SQL статик функцээр хэрхэн авахыг мэдсэн. Гэхдээ бид өгөгдлүүдийн дүнг хүснэгтийн бүх бичлэгүүдийн хувьд WHERE-д заагдсан нөхцлийн дагуу авч байсан.
Тэгвэл бидэнд нийлүүлэгч хэдэн бараа санал болгосныг нийлүүлэгч бүрээр мэдэх шаардлагтай болсон гэж бодъё. Энэ асуудлыг шийдвэрлэхэд бид групп /бүлэг/-ыг хэрэглэнэ. Бүлэглэх нь бүх өгөгдлүүдийг логик хэсгүүдэд хувааснаар бидэнд энэ хэсгүүдэд статик функцуудыг ашиглах боломж олгодог.

Нээгдсэн тоо: 1509 Төлбөртэй

Хааяа өгөгдлүүдийг жагсаалтаар татахгүйгээр дүгнэх шаардлага гардаг. Энэ зорилгоор SQL-д тусгай функцууд байдаг. Эдгээр функцуудыг ашигласан SQL шаардлагуудыг тайлан мэдээ, судалгаанд өргөн ашигладаг. Жишээ нь

  • Хүснэгтийн нийт эсвэл ямар нэгэн нөхцлийг хангах мөрийн тоог олох
  • Хүснэгтийн баганы дүнг олох
  • Тодорхой баганаас хамгийн их, хамгийн бага эсвэл дундаж утыг хайх г.м

Нээгдсэн тоо: 1943 Төлбөртэй

Програмчлалын хэлнүүдийн адилаар SQL нь өгөгдлийг боловсруулах функцуудтэй байдаг.
Функц гэдэг нь өгөдлүүдийг боловсруулах, удирдах ажиллагааг хөнгөвчилөхөд зориулагдсан үйлдлүүд юм. Функцын жишээгээр бид өмнөх хичээлд мөрийн араас хоосон тэмдэгтийг устгахад ашигласан RTRIM() функцыг нэрлэж болно.
Юуны өмнө функцыг хэрхэн ашиглах талаар авч үзэхээс өмнө SQL-д функц ашиглах нь тодорхой асуудал үүсгэдэг гэдгийг тэмдэглэх нь зүйтэй. Бүх ӨСУС-д дэмждэг SQL операторуудаас (жишээ нь SELECT) ялгаатай нь ӨСУС-д төрөл бүрийн функцуудыг ашигладаг. Зөвхөн цөөн тооны функцууд зарим ӨСУС-д ижилхэн хэлбэртэй байдаг. Гэхдээ бүх төрлийн функцууд ӨСУС бүрд байдаг хэдий ч тэдгээрийг ашиглах нь ихээхэн зөрөөтэй байдаг. ӨСУС-д функцын ялгаатай байдлыг доорх хүснэгтээс харна уу.

Нээгдсэн тоо: 1774 Төлбөртэй

Өгөгдлийн сангийн хүснэгтүүдэд хадгалагдаж байгаа мэдээллүүд нь таны програмд яг хэрэгттэй байдлаараа байхгүй байх нь элбэг тохиолдоно. Жишээлбэл

  • Танд компаний нэрийг хаягтай нь цуг үзүүлэх хэрэгтэй байтал эдгээр нь хүснэгтийн өөр өөр баганад байх
  • Баганы өгөгдлүүд том, жижиг үсгээр байхад та тайланд бүгдийг жижиг үсгээр гаргах хэрэгтэй болох
  • Хүснэгтэд худалдан авсан барааны тоо хэмжээ, үнийн мэдээлэл байхад тайланд бараа бүрээр худалдан авалтын нийт үнийн дүнг гаргах
  • Хүснэгтүүдэд байгаа өгөгдлүүдээс дундажийг олох, нийт дүнг гаргах г.м ажиллагаа хийх болсон

Дээрх жишээнүүдэд шаардлагатай мэдээллүүд яг танд хэрэгтэй байдлаараа хүснэгтүүдэд хадгалагдаагүй байдаг.

Нээгдсэн тоо: 1550 Бүртгүүлэх

Өмнөх хичээлүүдэд бид тодорхой утгаар хайлтыг хийх талаар үзсэн. Бидэнд bean bag гэсэн үг багтаасан нэртэй бүтээгдхүүн байгаа эсэхийг хайх хэрэгтэй болсон гэж үзье. Тэгвэл бидний өмнөх хичээлүүдэд үзсэн аргууд энэ асуудлыг шийдвэрлэж чадахгүйд хүрнэ. Энэ тохиолдолд бид асуудлыг мета тэмдэгтийн тусламжтайгаар шийдвэрлэнэ. Мета тэмдэгтээр өгөгдлийг хайх нөхцлийн шаблоныг зохиож өгдөг.

Мета тэмдэгт гэдэг нь утгын тодорхой хэсгийг хайхад зориулагдсан тусгай тэмдэгтүүд юм.

Хайлтын шаблон гэдэг нь мета тэмдэгт болон текст, тэдгээрийн дурын сэлгэмэлээс бүрдсэн хайлтын нөхцлийг хэлнэ.

Хайлтын нөхцөлд мета тэмдэгтийг хэрэглэхийн тулд LIKE гэсэн түлхүүр үгийг ашиглана. Мета тэмдэгтийг ашиглан хайлтыг зөвхөн текстэн талбарт хийнэ. Текстэн биш талбарт хайлт хийж болдоггүй.

Нээгдсэн тоо: 1935 Бүртгүүлэх

Өмнөх хичээлд үзсэн жишээнүүд нь бүгд өгөгдлүүдийг зөвхөн ганцхан нөхцлөөр татан авч байсан билээ. Тэгвэл WHERE –д AND эсвэл OR гэсэн түлхүүр үгнүүдийг ашиглан хайлтын нөхцлийг өргөтгөж болно. Хайлтын нөхцлийг хэрхэн өргөтгөхийг жишээн дээр авч үзье.

SELECT prod_id, vend_id, prod_name, prod_price FROM Products 
WHERE vend_id='DLL01' AND prod_price<=4;

Нээгдсэн тоо: 1900 Бүртгүүлэх

Өгөгдлийн сангийн хүснэгтүүд нь асар их мэдээллийг агуулж байдаг тул хүснэгтийн бүх мөрийг татах шаардлага бага гардаг. Ихэвчлэн хүснэгтийн мэдээллийн нэг хэсгийг ямар нэгэн үйлдэлд зориулан татан авах нь элбэг тохиолдоно. Ийм тохиолдолд өгөгдлийг татан авахдаа хайлтын нөхцлийг хэрэглэнэ. Үүний тулд SELECT операторыг WHERE гэсэн түлхүүр үгтэй цуг ашиглана. Жишээ нь

Нээгдсэн тоо: 3056 Нийтийн

SQL-операторт эрэмбэлэх дарааллыг зааж өгөөгүй бол өгөгдлийг хүснэгтэд байгаа байрлалын дагуу татан ирнэ. Энэ нь бичлэгүүд хүснэгтэд нэмэгдсэн дараалал байж болно. Гэхдээ бичлэгүүд дараа нь өөрчлөгдөх, утсгах зэрэг ажиллагаанд хамрагдсан бол дараалал нь ӨСУС үлдсэн зайг хэрхэн ашигласнаас шалтгаалах болно.
SELECT оператораар татан авч байгаа өгөгдлүүдийн дарааллыг тогтоохдоо ORDER BY гэсэн түлхүүр үгийг ашиглана.

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

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

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

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

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

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

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

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

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

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

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

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

 

Хуваах нь нэг тоо нөгөө тоонд хэдэн удаа агуулагдаж буй тодорхойлох арифметикийн үйлдэл.
Хуваалтыг нэг бус удаа…

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

 

Зуучлагч (Mediator) нь олон тооны обьектууд бие биетэйгээ холбоос үүсгэхгүйгээр харилцан ажиллах боломжийг хангах загварчлалын хэв юм. Ингэснээр…

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

 

Делегатууд хичээлд ухагдхууны талаар дэлгэрэнгүй үзсэн ч жишээнүүд делегатийн хүчийг бүрэн харуулж чадахааргүй байсан.…

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

 
Энэ долоо хоногт

a - гийн ямар утгуудад тэгшитгэлийн шийдүүд сөрөг утгатай байх вэ?

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

 

тэгшитгэлийг бод.

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

 

тэгшитгэлийг бод.

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