Pp Lect10 11

1,165 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,165
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
84
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pp Lect10 11

  1. 1. Лекц 1 0-11 Хайлтыг оновчтой зохион байгуулах <ul><li>Агуулга </li></ul><ul><li>ӨС-гийн оролцогч </li></ul><ul><li>Гадаад загвар </li></ul><ul><li>Хайлтыг оновчтой зохион байгуулах </li></ul><ul><ul><ul><li>үйлдлийн өртгийг тооцо оло х </li></ul></ul></ul><ul><ul><ul><li>үйлдлийн дараалал </li></ul></ul></ul><ul><ul><ul><li>хайлтын мод </li></ul></ul></ul>
  2. 2. 1. ӨСС -ийн оролцогч <ul><li>ӨСС -ийн оролцогч нар, тэдгээрийн үүрэг </li></ul><ul><li>Томоохон системийг байгуулж хэрэгжүүлэх үед тус тусын үүрэг, хариуцлага, эрх мэдэлтэй оролцогч нар (програмчлалын баг дахь албан тушаалтан) ажилладаг </li></ul><ul><ul><li>Системийн загварчлагч - судалгаа, загварчилгаа </li></ul></ul><ul><ul><li>ӨС-ийн зохион байгуулагч (ӨСЗБгч) </li></ul></ul><ul><ul><ul><li>ӨС-ийн загвар, ӨС дахь өгөгдлийн нууцлалт, хамгаалалт </li></ul></ul></ul><ul><ul><ul><li>Хэрэглэгчийн хүссэн тайлан нэгтгэлийг гаргаж болох эсэхийг ӨЕС-тэй тулгаж шалгадаг </li></ul></ul></ul><ul><ul><ul><li>Хэрэв боломжтой бол гадаад загварыг гаргаж системийн шинжээчид өгдөг </li></ul></ul></ul><ul><ul><li>Системийн шинжээч хэрэглэгчийн шаардлагыг судлаж техникийн даалгаврыг гаргаж програмчид өгдөг </li></ul></ul><ul><ul><li>Хэрэглээний програмч нь кодлох, тестлэх, гарын авлага бичих, нэвтрүүлэхийг хариуцаж гүйцэтгэдэг </li></ul></ul>
  3. 3. 2. Гадаад загвар <ul><li>Гадаад загвараар тодорхой тайлан нэгтгэлд уншигдах ӨЕС-ийн хэсгийг ялгаж харуулдаг </li></ul><ul><li>ӨС-аас олон тайлан нэгтгэл гардаг учраас ӨЕС-ээс хэдэн ч гадаад загвар гарч болдог </li></ul><ul><li>Гадаад загварыг өгөгдлийн дэд схем гэж мөн нэрлэдэг </li></ul>
  4. 4. <ul><li>Гадаад загварт дараах зүйлийг тусгасан байна </li></ul><ul><ul><li>тайланд уншигдах объектүүдийг ялгаж түүх </li></ul></ul><ul><ul><li>тайланд уншигдах атрибутуудыг ялгаж түүх </li></ul></ul><ul><ul><ul><li>гаргах атрибут </li></ul></ul></ul><ul><ul><ul><li>боловсруулах явцад хүснэгтүүдийг хооронд нь холбох атрибутууд </li></ul></ul></ul><ul><ul><ul><li>тодорхой атрибутын утгаар бичлэг шүүх нөхцөлд орох атрибутууд </li></ul></ul></ul><ul><ul><ul><li>эрэмбэлэлт, бүлэглэлт хийх атрибутууд </li></ul></ul></ul><ul><ul><ul><li>бодолтын томъёонд орох атрибутууд </li></ul></ul></ul>2. Гадаад загвар
  5. 5. 3. Хайлтыг оновчтой зохион байгуулах <ul><li>Хайлтыг оночтой зохион байгуулах (query optimization) </li></ul><ul><li>ӨС-аас гарах тайлан, нэгтгэл нь зөвхөн зөв үр дүнтэй байхаас гадна аль болохоор бага хугацаанд боловсруулагдах шаардлагатай уялдаж гарсан </li></ul><ul><ul><li>нэг талаас, их мэдээлэл агуулсан, том хэмжээний ӨС дахь боловсруулалт цаг хугацаа ихээхэн шаарддаг </li></ul></ul><ul><ul><li>нөгөө талаас ӨС-ийн хэрэглэгч мэдээллийг түргэн гаргаж авахыг хүсдэг </li></ul></ul><ul><li>Хугацааг багасгах нэг арга нь боловсруулах үед аль болох цөөн бичлэг унших арга замыг олох юм </li></ul>
  6. 6. 3. Хайлтыг оновчтой зохион байгуулах <ul><li>Үйлдлийн өртгийг тооцо оло х </li></ul><ul><li>Аливаа боловсруулалтыг янз бүрийн алгоритмаар гүйцэтгэж болох ба тэдгээрээс аль оновчтойгий нь сонгодог </li></ul><ul><li>ӨС-аас аль болох бага өртөгтэйгээр мэдээлэл гаргаж авах нь чухал </li></ul><ul><li>Боловсруулалтын өртгийг өгөгдөл боловсруулахад зарцуулах машин цагаар/хугацаагаар голчлон тооцоолдог </li></ul><ul><li>Харин хугацаа нь ямарваа үйлдэл хийх үед уншигдах бичлэгийн тооноос шууд хамааралтай байдаг </li></ul><ul><li>Иймээс үйлдлийн өртгийг хэмжих нэгжийг бичлэгийн тоогоор илэрхийлж болно </li></ul>өртөг хугацаа бичлэгийн тоо
  7. 7. 3. Хайлтыг оновчтой зохион байгуулах Үйлдлийн өртгийг тооцо оло х <ul><li>ӨС-г боловсруулах </li></ul><ul><ul><ul><li>эрэмбэлэх </li></ul></ul></ul><ul><ul><ul><li>мөр сонгох, багана сонгох </li></ul></ul></ul><ul><ul><ul><li>бүлэглэх </li></ul></ul></ul><ul><ul><ul><li>холбох </li></ul></ul></ul><ul><li>гэх зэрэг үйлдлүүд дээр өртгийг хэрхэн тодорхойлохыг үзье </li></ul>
  8. 8. 3. Хайлтыг оновчтой зохион байгуулах Үйлдлийн өртгийг тооцо оло х <ul><li>Мөр сонгох үйлдлийн өрт ө г </li></ul><ul><li>Мөр сонгох үйлдлийн хугацаа боловсруулж буй мөрийн тооноос хамаарна </li></ul><ul><li>N мөртэй хүснэгтийн мөр бүрийг хамгийн цөөндөө нэг удаа шалгаж, заасан нөхцлийн дагуу харьцуулалт хийж бичлэгүүдийг сонгодог </li></ul><ul><li>Иймээс мөр сонгох үйлдлийн зардал N -тэй тэнцүү байдаг </li></ul>
  9. 9. 3. Хайлтыг оновчтой зохион байгуулах Үйлдлийн өртгийг тооцо оло х <ul><li>Мөр сонгох үйлдлийн өрт ө г </li></ul><ul><li>Хүснэгт нь мөр сонгогдох атрибутын утгаар эрэмбэтэй байхад ( хоёрдогч эрэмбэ ) хоёртын хайлт явагддаг </li></ul><ul><li>Энэ тохиолдолд мөр сонгох үйлдлийн зардлыг </li></ul><ul><li>log 2 N томъёогоор тодорхойлдог </li></ul><ul><li>Жишээлбэл </li></ul><ul><li>бичлэгийн тоо : N өртөг: log 2 N </li></ul><ul><li>1,024 10 </li></ul><ul><li>Хүснэгт эрэмбэлэгдсэн байхад мөр сонгох үйлдлийн өртөг мэдэгдэхүйц багасдаг </li></ul>
  10. 10. 3. Хайлтыг оновчтой зохион байгуулах Үйлдлийн өртгийг тооцо оло х <ul><li>Багана сонгох үйлдлийн өрт ө г </li></ul><ul><li>Сонгох багана дахь ижил бичлэгүүдийг давхцуулахгүй гаргах ба өртөг нь log 2 N (Select дэх Distinct заалтуур) </li></ul><ul><ul><li>багана дахь утга бүрийг шалгаж мөр сонгох үйлдлийг хийнэ </li></ul></ul><ul><li>Дараа нь баганы бүх утгуудыг дараалсан аргаар гүйлгэн уншдаг ба үүний өртөг нь N юм </li></ul><ul><li>Иймээс багана сонгох үйлдлийн өртгийг N*(1+log 2 N) томъёогоор боддог </li></ul><ul><li>Жишээ нь: бичлэгийн тоо : N өртөг : N * (1 + log 2 N) </li></ul><ul><li> 1,024 11,264 </li></ul><ul><li>Багана сонгох үйлдэл нь мөр сонгох үйлдлээс өндөр өртөгтэй байна </li></ul>
  11. 11. 3. Хайлтыг оновчтой зохион байгуулах Үйлдлийн өртгийг тооцо оло х <ul><li>Эрэмбэлэх үйлдлийн өрт ө г </li></ul><ul><li>Эрэмбэлэх үйлдэлд харьцуулах ба дараалуулж унших үйлдлүүд багтдаг </li></ul><ul><li>Иймээс N мөрийг эрэмбэлэх өртгийг N*log 2 N томъёогоор олдог </li></ul>
  12. 12. 3. Хайлтыг оновчтой зохион байгуулах Үйлдлийн өртгийг тооцо оло х <ul><li>Холбох үйлдлийн өрт ө г </li></ul><ul><li>N бичлэгтэй хүснэгтийг М бичлэгтэй хүснэгттэй холбоход эхлээд тэдгээрийг гадаад түлхүүрийн утгаар эрэмбэлэх ажиллагаа явагддаг </li></ul><ul><ul><ul><li>өртөг нь N*log 2 N , M*log 2 M </li></ul></ul></ul><ul><li>Дараа нь хүснэгтүүдийг гадаад түлхүүрийн дагуу нэгтгэх ба нэгтгэх нь шугаман үйлдэл </li></ul><ul><ul><ul><li>өртөг нь N, M </li></ul></ul></ul><ul><li>Иймээс нийт өртөг нь N*(1+log 2 N) + M*(1+ log 2 M) </li></ul><ul><li>Жишээ нь: Бичлэгийн тоо :N,M өртөг :N,M холболт </li></ul><ul><li> 1,024 1,024 22,528 </li></ul><ul><li>Холбох үйлдэл нь хамгийн өндөр өртөгтэй үйлдэл учраас холболтын өмнө хүснэгтүүдийг аль болохоор багасгах зорилгоор мөр, багана сонгох үйлдлийг хийх шаардлагатай </li></ul>
  13. 13. 3. Хайлтыг оновчтой зохион байгуулах <ul><li>Үйлдлүүдийн дараалал </li></ul><ul><li>Боловсруулалтыг илүү оновчтой болгох үүднээс хоорондоо уялдаатай, тодорхой дараалалтай хэсгүүдээс тогтсон нийлмэл илэрхийлэл бичдэг </li></ul><ul><li>Нийлмэл илэрхийлэлд үйлдлүүдийн дарааллыг заахдаа хаалтуудыг хэрэглэнэ </li></ul><ul><ul><li>Үйлдлүүд нь дотоод хаалтнаас эхлэж биелэгдэнэ </li></ul></ul><ul><li>Д араах хүснэгтэнд заасан дарааллыг хайлт ыг о новчтой зохион байгуула х ын тулд баримтлавал зохино </li></ul>
  14. 14. Үйлдэл Өртөг Үйлдлйиг гүйцэтгэх дараалал эрэмбэтэй эрэмбэгүй Эрэмбэлэх - N*log 2 N 1 Мөр сонгох log 2 N N 2 Бүлэглэх   2 Багана сонгох N*(1+log 2 N) N*N эсвэл N 2 3 Холбох N* (1+ log 2 N) + M*(1+ log 2 M)   N 2 +M 2 4
  15. 15. 3. Хайлтыг оновчтой зохион байгуулах Үйлдлүүдийн дараалал <ul><li>Харьцаа алгебрийн нийлмэл илэрхийлэл бичих зарчим нь дараахи математик хууль дээр тулгуурладаг </li></ul><ul><li>Энгийн холболт хийх үед холбогдох харьцаануудын байрыг солиход үр дүн өөрчлөгдөхгүй </li></ul><ul><li>А х В = B x A </li></ul><ul><li>(А х В) x C = A x (B x C) </li></ul><ul><li>Тайлбар: А,В,С нь харьцааны нэр </li></ul>
  16. 16. 3. Хайлтыг оновчтой зохион байгуулах Үйлдлүүдийн дараалал <ul><li>Харьцаануудыг холбосны дараа тодорхой нэг нөхцлөөр бичлэг сонгох нь харьцаа бүрээс тус нөхцлөөр бичлэгүүдийг эхлэж сонгон холболт хийхтэй ижил үр дүнтэй байна </li></ul><ul><li> (A x B) =  A x  B </li></ul><ul><li>Харьцаануудыг холбосны дараа багана сонгох нь харьцаа тус бүрээс багана сонгож холбосны дараа дахин багана сонголт хийсний үр дүнтэй ижил байна </li></ul><ul><li> (A x B) =  (  (A) x  (B)) </li></ul>
  17. 17. 3. Хайлтыг оновчтой зохион байгуулах Хайлтын мод ӨС-г боловсруулах үйлдлүүд ба тэдгээрийг биелүүлэх дарааллыг хайлтын модоор дүрслэдэг Жишээ нь:Програм хангамжийн тэнхимд сурч буй оюутнуудыг код, нэр, мэргэжлээр гаргах <ul><li>Зорилго: 1000 орчим бичлэгтэй оюутан, 14 бичлэгтэй мэргэжил харьцаануудыг бага хэмжээтэй болгосны дараа холболт хийнэ </li></ul><ul><li>Үүний тулд: Харьцаануудын хэмжээг мөр, баганаар сонголт хийж багасгана </li></ul>Оюутны код Оюутны нэр Мэрг.код Мэрг. код Мэргэжил 1.Оюутан (1000 бичлэгтэй) 2.Мэргэжил (14 бичлэгтэй)
  18. 18. 1. Мэргэжил харьцааг багасгах Үйлдэл Өртөг бодох томъёо Өр-төг Үр дүнд гарах (бичлэг* талбар)ын тоо 1. Тус харьцааг мэргэжлийн кодоор эрэмбэтэй гэж үзье (анхдагч түлхүүр учраас) - - 14*2 2. Компьютерийн ухааны хоёр мэргэжлийг сонгох Log 2 14 4 2 * 2 3. Багана сонголт хийгдэхгүй - - -
  19. 19. Оюутан харьцааг багасгах 4. Тус харьцааг анхдагч түлхүүр оюутны кодоороо эрэмбэтэй байгаа гэж үзъе - - 1000 * 3 5 . ПХ тэнхимд сурч буй оюутнуудыг сонгох log 2 1000 10 447 * 3 Үйлдэл Өртөг бодох томъёо Өр-төг Үр дүнд гарах (бичлэг* талбар)ын тоо
  20. 20. Мэргэжил ба оюутан харьцааг холбох Нийт өртөг 6. 5-р алхмын үр дүнг 2-той энгийнээр холбох 447*(1+log 2 447)+ 2*(1+log 2 2)= 4382+4 4386 447 * 5 7. 6-р алхмын үр дүнгээс оюутны код, нэр, мэргэжил талбарыг сонгох 3*(447*(1+log 2 447))= 3*4382 13147 447 *3     17547   Үйлдэл Өртөг бодох томъёо Өр-төг Үр дүнд гарах (бичлэг* талбар)ын тоо
  21. 21.
  22. 22. 3. Хайлтыг оновчтой зохион байгуулах Хайлтын мод <ul><li>Тус хайлтын харьцаа алгебрийн илэрхийлэл </li></ul><ul><li> оюут.код, оюут.нэр, мэрг.нэр </li></ul><ul><li>(  * (  мэрг.код=”484105” or мэрг.код=”484106” </li></ul><ul><li> ( МЭРГЭЖИЛ) ) </li></ul><ul><li> x мэрг.код= мэрг.код </li></ul><ul><li>  * (  left (оюут.код, 2) =”SW” (ОЮУТАН) ) ) </li></ul>
  23. 23. 3. Хайлтыг оновчтой зохион байгуулах Хайлтын мод <ul><li>Тус хайлтын Select команд </li></ul><ul><li>Select St_Id, St_name, Pr_name From </li></ul><ul><li>( Select * From Professions Pr Where Pr_Id =”484105” or Pr_Id = “484106”) </li></ul><ul><li>Inner Join </li></ul><ul><li>(Select * From Students St Where Left(St_Id,2)=”SW”) </li></ul><ul><li>On Pr. Pr_Id= St. Pr_Id ) </li></ul>
  24. 24. 3. Хайлтыг оновчтой зохион байгуулах Хайлтын мод <ul><li>Тус хайлтыг стандарт маягаар гүйцэтгэвэл </li></ul><ul><li>Харьцаа алгебрийн илэрхийлэл </li></ul><ul><li> оюут.код, оюут.нэр, мэрг.нэр </li></ul><ul><li>(  мэрг.код=”484105” or мэрг.код=”484106” </li></ul><ul><li>( МЭРГЭЖИЛ x мэрг.код= мэрг.код ОЮУТАН) ) </li></ul><ul><li>Select команд </li></ul><ul><li>Select St_Id, St_name, Pr_name </li></ul><ul><li>From Professions Pr Inner Join Students St </li></ul><ul><li>On Pr. Pr_Id= St. Pr_Id </li></ul><ul><li>Where Pr_Id =”484105” or Pr_Id = ”484106”   </li></ul>
  25. 25. Тус хайлтын стандарт хайлтын мод Тус модны өртөг: 24190 ба оновчилсон модны өртөг: 17547
  26. 26. Жишээ 2 Програм хангамжийн тэнхимд сурч буй оюутнуудын тоог мэргэжил, тэнхмээр нэгтгэх Тэнхим: Програм хангамж Мэргэжлийн код Мэргэжлийн нэр Оюутны тоо D484105 Мэдээллийн систем 177 D484106 Програм хангамж 300   Тэнхмийн нийт: 477
  27. 27.
  28. 28. 3. Хайлтыг оновчтой зохион байгуулах Хайлтын мод <ul><li>Харьцаа алгебрийн илэрхийлэл </li></ul><ul><li> тэнх.код, тэнх.нэр, мэрг.код, мэрг. нэр, оюут.тоо </li></ul><ul><li> (  тэнх.код, мэрг.код, мэрг. нэр, оюут.тоо </li></ul><ul><li>(  тэнх.код, мэрг.код, оюут.тоо </li></ul><ul><li>( мэрг.код  оюут.тоо: Count(оюут.код (  тэнх.код =”SW” </li></ul><ul><li>(  тэнх.код: left(оюут.код,2), оюут.код, мэрг.код </li></ul><ul><li>(ОЮУТАН)) ) ) </li></ul><ul><li> x мэрг.код= мэрг.код </li></ul><ul><li>(  *(  мэрг.код =”484105” or мэрг.код=”484106” (МЭРГЭЖИЛ)) ) ) </li></ul><ul><li>x тэнх.код= тэнх.код (  * (  тэнх.код =”SW” (ТЭНХИМ)) </li></ul>
  29. 29. 3. Хайлтыг оновчтой зохион байгуулах Хайлтын мод <ul><li>Select команд </li></ul><ul><li>Select Dep_Id, Dep_name, Pr_Id, Pr_name, NumberofSt From </li></ul><ul><li>( Select Dep_Id, Pr_Id, Pr_name, NumberofSt From </li></ul><ul><li>( Select Dep_Id, Pr_Id, Count(St_Id) as NumberofSt From </li></ul><ul><li> ( Select Left (St_Id,2) as Dep_Id, St_Id, Pr_Id </li></ul><ul><li> From Students St) </li></ul><ul><li> Where Dep_Id=”SW” Order by Pr_Id Group by Pr_Id) </li></ul><ul><li>Inner Join </li></ul><ul><li>(Select * From Professions Pr </li></ul><ul><li>Where Pr_Id=”484105” or Pr_Id=”484106”) </li></ul><ul><li>On Pr. Pr_Id= St. Pr_Id) </li></ul><ul><li>Inner Join </li></ul><ul><li>(Select * From Department D Where Dep_Id=”SW”) </li></ul><ul><li>On Dep_Id= D. Dep_Id </li></ul>
  30. 30. Математик үйлдэл хэрэглэж өгөгдөл боловсруулах <ul><li>Өгөгдлийн харьцаа нь бичлэгүүдийн олонлог юм </li></ul><ul><li>Иймээс хоёр ижил бvтэцтэй хvснэгт дээр дараах vйлдлvvд хийж болно </li></ul><ul><ul><li>нэгтгэх </li></ul></ul><ul><ul><li>огтолцлыг олох </li></ul></ul><ul><ul><li>ялгаатай хэсгийг олох </li></ul></ul>
  31. 31. Математик үйлдэл хэрэглэж өгөгдөл боловсруулах <ul><li>Нэгтгэх </li></ul><ul><li>Тус үйлдлийн үр дүнд хоёр харьцааны нэгдмэл нэг харьцаа үүсэх ба түүнд ижил хэсгүүд давхардаж орохгүй </li></ul><ul><li>Харьцаа алгебрт  тэмдэглэгээ, СКюЛ хэлэнд UNION гэсэн үг хэрэглэж тус үйлдлийг тодорхойлно </li></ul><ul><li>Тус үйлдэл дараахи дүрмийг баримталдаг: </li></ul><ul><ul><li>Харьцаа1  Харьцаа2 = Харьцаа2  Харьцаа1 </li></ul></ul><ul><ul><li>(Харьцаа1  Харьцаа2)  Харьцаа3 = Х арьцаа1  (Харьцаа2  Харьцаа3) </li></ul></ul>Харьцаа 1 Харьцаа 2
  32. 32. Математик үйлдэл хэрэглэж өгөгдөл боловсруулах <ul><li>Огтолцлыг олох </li></ul><ul><li>Тус үйлдлийн үр дүнд хоёр харьцааны ижил хэсэг сонгогдож үр дүнгийн харьцаанд давхардахгүй орно </li></ul><ul><li>Харьцаа алгебрт  тэмдэглэгээ, СКюЛ хэлэнд INTERSECTION гэсэн үг хэрэглэж үйлдлийг тодорхойлно </li></ul><ul><li>Тус үйлдэл дараахи дүрмийг баримталдаг: </li></ul><ul><ul><li>Харьцаа1  Харьцаа2 = Харьцаа2  Харьцаа1 </li></ul></ul><ul><ul><li>(Харьцаа1  Харьцаа2)  Харьцаа3 =Харьцаа1  (Харьцаа2  Харьцаа3) </li></ul></ul>Харьцаа 1 Харьцаа 2
  33. 33. Математик үйлдэл хэрэглэж өгөгдөл боловсруулах <ul><li>Ялгаврыг олох </li></ul><ul><li>| </li></ul><ul><li>Тус үйлдлийн үр дүнд 1 дэх харьцаан аас 2 дахь харьцаа хасагдаж гарна </li></ul><ul><li>Харьцаа алгебрт хасах ( - ) тэмдэглэгээ </li></ul><ul><li>СКюЛ хэлэнд Difference гэсэн үг хэрэглэж тус үйлдлийг тодорхойлно </li></ul><ul><li>Харьцаа1-Харьцаа2 # Харьцаа2-Харьцаа1 </li></ul>Харьцаа 2 Харьцаа 1
  34. 34. Математик үйлдэл хэрэглэж өгөгдөл боловсруулах <ul><li>Харьцаа алгерийн илэрхийлэл: </li></ul><ul><li>Үр дүн1   багшийн код, албан тушаал (БАГШ ]X албан туш. код = албан туш. код АЛБАН ТУШААЛ) </li></ul><ul><li>Багш тушаалтай   багшийн код (  албан тушаал = “*багш” (ҮР ДҮН1)) </li></ul><ul><li>Үр дүн2   багшийн код, мэргэжил (БАГШ ]X мэргэж. код = мэргэж. код МЭРГЭЖиЛ) </li></ul><ul><li>Багш мэргэжилтэй   багшийн код (  мэргэжил = “*багш” (ҮР ДҮН2)) </li></ul><ul><li>Үр дүн  Багш тушаалтай  Багш мэргэжилтэй </li></ul><ul><li>СКюЛ команд: </li></ul><ul><li>Select T. T_ID </li></ul><ul><li> From Teacher T, Occupation O </li></ul><ul><li>Where T. Occ_ID=O.Occ_ID and O. Occ_name = “%багш” </li></ul><ul><li>UNION </li></ul><ul><li>Select T. T_ID </li></ul><ul><li>From Teacher T, Profession P </li></ul><ul><li>Where T. Prof_ID=P. Prof_ID and P. Prof_name =“*багш” </li></ul>Багшийн ажлыг хийж чадах, өөрөөр хэлбэл мэргэжил, албан тушаалын аль нэг н ь, эсвэл хоёулаа “багш” байх албан хаагчдыг ялгаж гаргая гэвэл нэгтгэх үйлдэл хийнэ
  35. 35. Математик үйлдэл хэрэглэж өгөгдөл боловсруулах <ul><li>Мэргэжлийн багш нарыг, өөрөөр хэлбэл эзэмшсэн мэргэжил ба албан тушаал нь зэрэг “багш” байх багш нарыг ялгаж гаргая гэвэл ижил хэсгийг ялгах үйлдэл хийнэ </li></ul><ul><li>Харьцаа алгерийн илэрхийлэл: </li></ul><ul><li>Жишээ 1-ийн Багш тушаалтай ба Багш мэргэжилтэй харьцаанууд дараахи үйлдлээр нэгтгэгдэнэ. </li></ul><ul><li>Үр дүн  Багш тушаалтай  Багш мэргэжилтэй </li></ul><ul><li>Select T. T_ID </li></ul><ul><li> From Teacher T, Occupation O </li></ul><ul><li>Where T. Occ_ID=O.Occ_ID and O. Occ_name = “*багш” </li></ul><ul><li>INTERSECTION </li></ul><ul><li>Select T. T_ID </li></ul><ul><li>From Teacher T, Profession P </li></ul><ul><li>Where T. Prof_ID=P. Prof_ID and P. Prof_name =“*багш” </li></ul>

×