SQL гэж юу вэ?

Та энэ хичээлийг уншиж байна гэдэг нь танд ямар нэгэн байдлаар өгөгдлийн сантай ажиллах шаардлага байгаа гэдгийг баталж байна. SQL хэл нь яг үүнд зориулагдсан ойлгохын тулд юуны өмнө өгөгдлийн сангийн технологийн үндсэн ойлголтуудтай танилцах нь маш чухал.
Бид өгөгдлийн санг бараг өдөр бүр ашиглаж байдаг. Жишээ нь өөрийн майлыг шалгахдаа нэр, нууц үгээ оруулах, интернетээс ямар нэгэн мэдээллийг хайх, ажил дээрээ байгууллагынхаа дотоод сүлжээнд нэвтрэх, банкны картын үлдэгдлээ шалгах г.м маш олон жишээг дурьдаж болно.  Гэсэн хэдий ч бараг ихэнх хүмүүст өгөгдлийн сан гэж юу болох нь ойлгомжгүй хэвээрээ үлддэг. Иймээс бид хичээлээ өгөгдлийн сантай хамааралтай хамгийн чухал тодорхойлолтуудаас эхэлье.

Өгөгдлийн сан гэж юу вэ?

Өгөгдлийн сан гэсэн ухагдхууныг маш олон хэлбэрээр тайлбарладаг боловч бид / SQL  талаас илүү түлхүүгээр / өгөгдлийн сан гэдгийг ямар нэгэн байдлаар зохион байгуулагдсан мэдээллийн цуглуулга гэж үзье. Энгийнээр өгөгдлийн санг баримт бичиг хадгалдаг шүүгээ гэж ойлгоход болно. Шүүгээ гэдэгт ямар мэдээллүүд болон тэдгээр нь ямар зохион байгуулалттай гэдгээс үл хамааран зүгээр л мэдээлэл хадгалагдаж байгаа биет байрлалыг ойлгоно.
Өгөгдлийн сан гэдэг нь зохион байгуулалт бүхий / голдуу файлууд эсвэл хэсэг файлууд байна. / өгөгдлүүдийг хадгалах контейнер /сав/ юм.

Хүснэгтүүд / Tables /

Хүмүүс шүүгээнд бичиг баримтаа хадгалахдаа тэдгээрийг холилдуулахгүйн тулд хавтсанд хадгалдаг. Өгөгдлийн санд эдгээр хавтсыг хүснэгт гэж нэрлэдэг.
Хүснэгт гэж тодорхой төрлийн өгөгдлүүдийг зохион байгуулалттайгаар хадгалж байгаа файл юм. Хүснэгт нь харилцагчдын жагсаалт, бүтээгдхүүний нэрсүүд гэх мэтээр төрөл бүрийн мэдээллийг хадгална. Хүснэгтэд нэг төрлийн мэдээллийг хадгалах хэрэгтэй. Жишээ нь нэг хүснэгтэд харилцагчдын болон захиалгын жагсаалтыг хольж болохгүй. Энэ нь тухайн жагсаалтаас мэдээлэл татан авахад хүндрэл үүсгэдэг. Ийм тохиолдолд тухайн мэдээллүүдийг хоёр хүснэгт болгон салгах хэрэгтэй. Өгөгдлийн сангийн хүснэгт бүр нь өөрийн давтагдахгүй нэртэй байх шаардлагатай.

Баганууд болон өгөгдлийн төрлүүд  / Column and Data type /

Хүснэгт нь багануудаас бүрдэх бөгөөд тэдгээрт хүснэгтийн мэдээллийн тордорхой хэсэг байрлана. Багана нь хүснэгтийн нэг талбар юм. Хүснэгт нь нэг буюу түүнээс илүү талбартай байна. Жишээ нь харилцагчдын хүснэгтийн нэг талбар /багана/ -т код, нөгөө талбарт нэр, гуравдах талбарт хаяг г.м
Багана бүр нь энэ баганад байж болох мэдээллийн тодорхой төрөлтэй байдаг. Жишээ нь талбар нь захиалгын тоог илэрхийлсэн мэдээлэл агуулах бол энэ талбар нь тоон төрлийн байх, хэрвээ нэрийг хадгалах бол текст төрлийн байх г.м
Өгөгдлийн төрөл гэдэг нь баганад хадгалах өгөгдлийн шинжийг хэлнэ. Баганы өгөгдлийн төрлийг зөв сонгох нь өгөгдлийн санг зохион байгуулах цаашид ашиглахад чухал үүрэгтэй байдаг.

Мөрүүд / Rows /

Хүснэгтийн өгөгдлүүд мөрөнд хадгалагдана. Бичлэг бүр нь өөрийн мөрөнд байна. Жишээ нь харилцагчдын жагсаалтын хүснэгтэд харилцагч бүрийн мэдээлэл нь тусдаа мөрөнд байрлах ба хүснэгтийн мөрийн тоо нь харилцагчдын хүснэгтийн бичлэгийн тоотой тэнцүү байна.
Мөр гэдэг нь хүснэгтийн бичлэг юм. Өгөгдлийн санд мөрийг бичлэг гэж авч үздэг.

Анхдагч түлхүүр / Primary key /

Хүснэгтийн мөр бүрт тухайн мөрийг давхардахгүй байдлаар илэрхийлэх баганууд байх ёстой. Жишээ нь харилцагчдын хүснэгтэд ийм талбар нь харилцагчийн код /дугаар/, захиалгын хүснэгтэд захиалгын номер байх жишээтэй.
Хүснэгтийн мөр бүрийг давхардахгүй байдлаар илэрхийлэх баганыг /эсвэл багануудыг/ анхдагч түлхүүр гэнэ. Анхдагч түлхүүрээр хүснэгтийн баганыг тодорхойлно. Ийм түлхүүргүйгээр хүснэгтийн мөрийн мэдээллийг устгах, өөрчлөх үйлдлийг хийхэд ихээхэн хүндрэл үүсгэдэг.
Хүснэгтэд анхдагч түлхүүр байх албагүй боловч өгөгдлийн сангийн хүснэгт хоорондын холбоо, мэдээлэл боловсруулахад энэ нь чухал үүрэгтэй тул ихэнх програм зохиогчид хүснэгт бүрт анхдагч түлхүүрийг тавьж өгдөг.
Дараах нөхцлүүдийг хангаж байгаа ямарч баганыг анхдагч түлхүүрээр сонгож болно. Үүнд:

  • Хүснэгтийн хоёр өөр мөр анхдагч түлхүүрийн талбарт ижил утга авахгүй
  • Анхдагч түлхүүрийн талбарт мөр бүр нь тодорхой утгатай байх /Хүснэгтийн анхдагч түлхүүрийн багана NULL утга авч болохгүй/
  • Анхдагч түлхүүрийн баганы утганд өөрчлөлт оруулах боломжгүй байх
  • Анхдагч түлхүүрийн баганы утгыг дахин ашиглахгүй байх /Хүснэгтийн бичлэгийг устгасны дараа түүний анхдагч түлхүүрийн утгыг өөр мөрөнд олгож болохгүй/
    зэрэг болно

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

SQL гэж юу вэ?

SQL гэдэг нь Structured Query Language буюу / орчуулах шаардлагагүй товчлолоор нь ойлгоход болно / гэсэн үгний товчлол юм. SQL нь өгөгдлийн сантай ажиллахад зориулагдан зохиогдсон хэл бөгөөд өгөгдлийн сангийн мэдээллийг татан авах, мэдээллийг өгөгдлийн санд бичих үйлдлийг энгийн, үр дүнтэйгээр гүйцэтгэх үүрэгтэй. SQL-ийн давуу талууд нь

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

Иймээс SQL-ийг сурах хэрэгтэй.

Стандарт SQL нь стандартын хороогоор /ANSI / батлагдсан бөгөөд ANSI SQL гэж нэрлэгддэг. Ихэнх том ӨСУС-д  ANSI SQL-г дэмжин ажилладаг.
Ямарч хэлийг сурах хамгийн шалгарсан арга бол түүнийг практик дээр турших явдал байдаг. Иймд SQL-ийн командуудыг туршин үзэхийн тулд танд өгөгдлийн сан хэрэгтэй болно. Хичээлүүдэд ашиглагдаж байгаа жишээнүүд бүгд бодит баазтай ажиллаж байгаа ба туршилтын баазыг эндээс татан аваарай. Ашиглахад хялбарыг бодон архивт зөвхөн MicroSoft Access баазыг оруулсан болно. Өгөгдлийн сангийн бүтэц зохион байгуулалтын талаар Хавсралтаас үзээрэй.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

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

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

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

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

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

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

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

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

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

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

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

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

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

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

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

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

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

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

a ба b катеттай тэгш өнцөгт гурвалжин ерөнхий тэгш өнцөгтэй квадратыг багтаасан бол квадратын периметрийг ол.

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

 

функцийн графикийн (0,-1) цэгт татсан шүргэгч шулуун ба координатын тэнхлэгүүдээр хашигдсан мужийн талбайг ол.

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

 

тэнцэтгэл бишийн хамгийн их бүхэл шийдийг ол.

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