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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

Арифметик прогресийн 5-р гишүүн 8,4 харин 10-р гишүүн 14,4 тэнцүү бол энэ прогресийн 22-р гишүүнийг ол.

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

 

Дарааллын эхний n гишүүний нийлбэр томьёогоор өгөгджээ. Хэрэв энэ дараалал геометр прогресс бол q -г ол, арифметик прогресс бол d -г ол.

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

 

бол M·N=?

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