SQL буюу Structured Query Language нь харилцааны өгөгдлийн санг удирдах, тэдгээрт байгаа өгөгдөл дээр янз бүрийн үйлдлүүдийг гүйцэтгэхэд ашигладаг стандартчилагдсан програмчлалын хэл юм. SQL нь өгөгдлийн сангийн администраторууд, өгөгдлийн шинжээчид, хөгжүүлэгчид мэдээллийн санд өгөгдөл хайх, оруулах, шинэчлэх, устгахад ашигладаг гайхалтай уян хатан юм.
SQL-ийн цөм нь мэдээллийн сангийн тухай ойлголт юм. Өгөгдлийн санг өгөгдлийн удирдлага, хайлтыг хөнгөвчлөх байдлаар зохион байгуулсан холбогдох өгөгдлийн цуглуулга гэж үзэж болно. Өгөгдлийн сангуудыг үндсэндээ харилцааны мэдээллийн сан ба хамааралгүй мэдээллийн сан гэж хоёр ангилдаг. SQL-ийг үндсэндээ харилцааны мэдээллийн санд ашигладаг бөгөөд өгөгдөл нь харилцан хамаарлаар холбогдсон хүснэгтэд хадгалагддаг.
Харилцааны мэдээллийн сантай ажиллахад зайлшгүй шаардлагатай хэд хэдэн үндсэн SQL командууд байдаг:
Өгөгдлийн сан дээр хийгддэг хамгийн түгээмэл үйлдлүүдийн нэг бол SELECT командыг ашиглан өгөгдөл хайх явдал юм. SELECT мэдэгдлийн хамгийн энгийн хэлбэр нь дараах байдалтай байна.
Хүснэгтийн нэрээс багана1, багана2 СОНГОХ;
Энэ тушаал нь заасан хүснэгтээс заасан багануудыг буцаана. Хүснэгтээс бүх баганыг сонгохын тулд од (*) тэмдгийг ашиглана:
SELECT * tableName-аас;
SELECT хэллэгээр буцаасан үр дүнг нарийсгахын тулд WHERE заалтыг ашиглаж болно. Энэ зүйлд өгөгдөл сонгохын тулд хангасан байх ёстой нөхцөлүүдийг зааж өгсөн. Жишээлбэл:
SELECT * FROM staff WHERE Department = 'Борлуулалт';
Энэ тушаал нь хэлтсийн баганын утга нь "Борлуулалт" гэсэн ажилтнуудын хүснэгтийн бүх мөрийг буцаана.
Харилцааны өгөгдлийн санд өгөгдөл нь ихэвчлэн олон хүснэгтэд тархдаг. Хоёр ба түүнээс дээш хүснэгтийн мөрүүдийг тэдгээрийн хоорондох холбогдох баганад үндэслэн нэгтгэх үйл явцыг нэгдэх гэж нэрлэдэг. Хамгийн түгээмэл нэгдэх үйлдэл нь INNER JOIN бөгөөд хоёр хүснэгтэд дор хаяж нэг таарч байвал мөрүүдийг буцаадаг.
Жишээ:
ажилчдын нэр, хэлтэс.нэр СОНГОХ ажилчдын ДОТООД НЭГДСЭН хэлтэсүүд ДЭЭР ажилтан.department_id = хэлтэс.id;
Энэ команд нь тохирох хэлтэс_id ба id багана дээр үндэслэн ажилтнууд болон хэлтсийн хүснэгтүүдийг нэгтгэж, хоёр хүснэгтээс нэр баганыг сонгоно.
SQL нь заасан баганад ижил утгатай мөрүүдийг нэгтгэсэн өгөгдөл болгон бүлэглэх, жишээлбэл, хэлтэс тус бүрийн ажилчдын тоог тоолох боломжийг олгодог. Үүнийг GROUP BY мэдэгдлийг ашиглан хийдэг. Жишээ асуулга дараах байдлаар харагдаж болно.
СОНГОХ хэлтэс, COUNT(*) AS ажилчдын_тоо_тоо .
Энэ тушаал нь ажилтнуудын хүснэгтийн мөрүүдийг хэлтсийн баганаар бүлэглэж, хэлтэс тус бүрийн ажилчдын тоог тоолдог.
SQL нь олон тооны утгууд дээр ажилладаг, нэг утгыг буцаадаг хэд хэдэн нэгтгэсэн функцуудыг санал болгодог. Түгээмэл хэрэглэгддэг нэгтгэх функцууд нь:
Жишээлбэл, ажилчдын хүснэгтээс цалингийн дээд хэмжээг олохын тулд дараахь асуултыг ашиглаж болно.
Ажилчдаас дээд тал нь (цалин) СОНГОХ;
SQL хэл дээрх гүйлгээ нь нэг нэгж хэлбэрээр гүйцэтгэгддэг нэг буюу хэд хэдэн SQL командын дараалал юм. Гүйлгээ нь ACID шинж чанарыг (Атом чанар, тууштай байдал, тусгаарлалт, бат бөх чанар) дагаж мөрдөх замаар мэдээллийн сангийн бүрэн бүтэн байдлыг хангадаг. Үндсэн гүйлгээ нь дараахь зүйлийг агуулж болно.
Өгөгдлийн сангийн хүснэгт дээрх хайлт, асуулгын гүйцэтгэлийг сайжруулахын тулд SQL нь индексүүдийг ашигладаг. Индекс нь өгөгдлийн сангийн удирдлагын систем нь өгөгдөл хайлтыг хурдасгахын тулд ашиглаж болох дотоод хайлтын хүснэгтийг үүсгэдэг. Энгийнээр хэлэхэд өгөгдлийн сангийн хүснэгт дээрх индекс нь номын индекс шиг ажилладаг.
CREATE INDEX мэдэгдлийг ашиглан индекс үүсгэх боломжтой, жишээ нь:
Ажилчдын idx_employee_name INDEX ҮЗҮҮЛЭХ(нэр);
Энэ тушаал нь ажилтнуудын хүснэгтийн нэрийн баганад индекс үүсгэдэг бөгөөд энэ нь асуулга шүүж, ажилтны нэрээр эрэмбэлэх ажлыг илүү үр дүнтэй болгодог.
SQL-ийн хязгаарлалтууд нь хүснэгтийн өгөгдөлд хамаарах дүрэм юм. Эдгээр нь мэдээллийн сан дахь мэдээллийн үнэн зөв, найдвартай байдлыг хангахад ашиглагддаг. Нийтлэг хязгаарлалтууд нь:
SQL нь харилцааны мэдээллийн санг удирдах хүчирхэг хэрэгсэл юм. Энэ нь өгөгдөл хайх, оруулах, шинэчлэх, устгах зохион байгуулалттай арга замаар хэрэглэгчдэд мэдээллийн сантай үр дүнтэй харилцах боломжийг олгодог. Үндсэн SQL командуудыг ойлгох, өгөгдөл, хүснэгтийг хэрхэн удирдах, гүйлгээ, индекс зэрэг дэвшилтэт функцуудыг хэрхэн ашиглах нь өгөгдлийн сангийн удирдлага, гүйцэтгэлийг ихээхэн сайжруулдаг. Эдгээр ойлголтыг эзэмшсэнээр мэдээллийн баазын хэрэглэгчид болон хөгжүүлэгчид өөрсдийн өгөгдөл, хэрэглээний бүрэн бүтэн байдал, гүйцэтгэл, найдвартай байдлыг хангаж чадна.