38
10 долоо хоног Хайлтыг оновчтой зохион байгуулах Агуулга 1.ӨС-гийн оролцогч 2.Гадаад загвар 3.Хайлтыг оновчтой зохион байгуулах үйлдлийн өртгийг тооцох үйлдлийн дараалал хайлтын мод 1

Pp Lect9 10 1

Embed Size (px)

Citation preview

Page 1: Pp Lect9 10 1

10 долоо хоногХайлтыг оновчтой зохион байгуулах

Агуулга

1.ӨС-гийн оролцогч

2.Гадаад загвар

3.Хайлтыг оновчтой зохион байгуулах үйлдлийн өртгийг тооцох үйлдлийн дараалал хайлтын мод

1

Page 2: Pp Lect9 10 1

1. ӨСС -ийн оролцогчӨСС -ийн оролцогч нар, тэдгээрийн үүрэг Томоохон системийг байгуулж хэрэгжүүлэх үед тус тусын үүрэг, хариуцлага, эрх мэдэлтэй оролцогч нар (програмчлалын баг дахь албан тушаалтан) ажилладаг Системийн загварчлагч - судалгаа, загварчилгаа ӨС-ийн зохион байгуулагч (ӨСЗБгч)

ӨС-ийн загвар, ӨС дахь өгөгдлийн нууцлалт, хамгаалалт Хэрэглэгчийн хүссэн тайлан нэгтгэлийг гаргаж болох эсэхийг ӨЕС-тэй

тулгаж шалгадаг Хэрэв боломжтой бол гадаад загварыг гаргаж системийн шинжээчид

өгдөг Системийн шинжээч хэрэглэгчийн шаардлагыг судлаж техникийн

даалгаврыг гаргаж програмчид өгдөг Хэрэглээний програмч нь кодлох, тестлэх, гарын авлага бичих,

нэвтрүүлэхийг хариуцаж гүйцэтгэдэг

2

Page 3: Pp Lect9 10 1

2. Гадаад загвар

Гадаад загвараар тодорхой тайлан нэгтгэлд уншигдах ӨЕС-ийн хэсгийг ялгаж харуулдаг

ӨС-аас олон тайлан нэгтгэл гардаг учраас ӨЕС-ээс хэдэн ч гадаад загвар гарч болдог

Гадаад загварыг өгөгдлийн дэд схем гэж мөн нэрлэдэг

3

Page 4: Pp Lect9 10 1

Гадаад загварт дараах зүйлийг тусгасан байна тайланд уншигдах объектүүдийг ялгаж түүхтайланд уншигдах атрибутуудыг ялгаж түүх

гаргах атрибут боловсруулах явцад хүснэгтүүдийг хооронд нь холбох

атрибутууд тодорхой атрибутын утгаар бичлэг шүүх нөхцөлд орох

атрибутууд эрэмбэлэлт, бүлэглэлт хийх атрибутууд бодолтын томъёонд орох атрибутууд

4

2. Гадаад загвар

Page 5: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах

Хайлтыг оночтой зохион байгуулах (query optimization)

ӨС-аас гарах тайлан, нэгтгэл нь зөвхөн зөв үр дүнтэй байхаас гадна аль болохоор бага хугацаанд боловсруулагдах шаардлагатай уялдаж гарсан нэг талаас, их мэдээлэл агуулсан, том хэмжээний ӨС дахь

боловсруулалт цаг хугацаа ихээхэн шаарддаг нөгөө талаас ӨС-ийн хэрэглэгч мэдээллийг түргэн гаргаж авахыг

хүсдэг

Хугацааг багасгах нэг арга нь боловсруулах үед аль болох цөөн бичлэг унших арга замыг олох юм

5

Page 6: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах

Үйлдлийн өртгийг тооцох Аливаа боловсруулалтыг янз бүрийн алгоритмаар гүйцэтгэж болох

ба тэдгээрээс аль оновчтойгий нь сонгодог ӨС-аас аль болох бага өртөгтэйгээр мэдээлэл гаргаж авах нь чухал Боловсруулалтын өртгийг өгөгдөл боловсруулахад зарцуулах

машин цагаар/хугацаагаар голчлон тооцоолдог Харин хугацаа нь ямарваа үйлдэл хийх үед уншигдах бичлэгийн

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

илэрхийлж болно

6

өртөг хугацаа бичлэгийн тоо

Page 7: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулахҮйлдлийн өртгийг тооцох

ӨС-г боловсруулах эрэмбэлэх мөр сонгох, багана сонгох бүлэглэх холбох

гэх зэрэг үйлдлүүд дээр өртгийг хэрхэн тодорхойлохыг үзье

7

Page 8: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Үйлдлийн өртгийг тооцох

Мөр сонгох үйлдлийн өртгийг тооцох Мөр сонгох үйлдлийн хугацаа боловсруулж буй

мөрийн тооноос хамаарна N мөртэй хүснэгтийн мөр бүрийг хамгийн цөөндөө нэг

удаа шалгаж, заасан нөхцлийн дагуу харьцуулалт хийж бичлэгүүдийг сонгодог

Иймээс мөр сонгох үйлдлийн зардал N-тэй тэнцүү байдаг

8

Page 9: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Үйлдлийн өртгийг тооцох

Мөр сонгох үйлдлийн өртгийг тооцох Хүснэгт нь мөр сонгогдох атрибутын утгаар эрэмбэтэй

байхад (хоёрдогч эрэмбэ) хоёртын хайлт явагддаг Энэ тохиолдолд мөр сонгох үйлдлийн зардлыг log2 N томъёогоор тодорхойлдог

Жишээлбэл бичлэгийн тоо: N өртөг: log2N

1,024 10Хүснэгт эрэмбэлэгдсэн байхад мөр сонгох үйлдлийн

өртөг мэдэгдэхүйц багасдаг

9

Page 10: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Үйлдлийн өртгийг тооцох

Багана сонгох үйлдлийн өртгийг тооцох Сонгох багана дахь ижил бичлэгүүдийг давхцуулахгүй

гаргах ба өртөг нь log2N (Select дэх Distinct заалтуур)багана дахь утга бүрийг шалгаж мөр сонгох үйлдлийг хийнэ

Дараа нь баганы бүх утгуудыг дараалсан аргаар гүйлгэн уншдаг ба үүний өртөг нь N юм

Иймээс багана сонгох үйлдлийн өртгийг N*(1+log2N) томъёогоор боддог

Жишээ нь: бичлэгийн тоо: N өртөг: N * (1 + log2N) 1,024 11,264Багана сонгох үйлдэл нь мөр сонгох үйлдлээс өндөр

өртөгтэй байна

10

Page 11: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Үйлдлийн өртгийг тооцох

Эрэмбэлэх үйлдлийн өртгийг тооцох Эрэмбэлэх үйлдэлд харьцуулах ба дараалуулж унших

үйлдлүүд багтдаг Иймээс N мөрийг эрэмбэлэх өртгийг N*log2N томъёогоор

олдог

11

Page 12: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Үйлдлийн өртгийг тооцох

Холбох үйлдлийн өртгийг тооцох N бичлэгтэй хүснэгтийг М бичлэгтэй хүснэгттэй холбоход эхлээд

тэдгээрийг гадаад түлхүүрийн утгаар эрэмбэлэх ажиллагаа явагддаг өртөг нь N*log2N , M*log2 M

Дараа нь хүснэгтүүдийг гадаад түлхүүрийн дагуу нэгтгэх ба нэгтгэх нь шугаман үйлдэл өртөг нь N, M

Иймээс нийт өртөг нь N*(1+log2N) + M*(1+ log2M)

Жишээ нь: Бичлэгийн тоо:N,M өртөг:N,M холболт 1,024 1,024 22,528Холбох үйлдэл нь хамгийн өндөр өртөгтэй үйлдэл учраас холболтын

өмнө хүснэгтүүдийг аль болохоор багасгах зорилгоор мөр, багана сонгох үйлдлийг хийх шаардлагатай

12

Page 13: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах

Үйлдлүүдийн дараалал Боловсруулалтыг илүү оновчтой болгох үүднээс

хоорондоо уялдаатай, тодорхой дараалалтай хэсгүүдээс тогтсон нийлмэл илэрхийлэл бичдэг

Нийлмэл илэрхийлэлд үйлдлүүдийн дарааллыг заахдаа хаалтуудыг хэрэглэнэ Үйлдлүүд нь дотоод хаалтнаас эхлэж биелэгдэнэ

Дараах хүснэгтэнд заасан дарааллыг хайлтыг оновчтой зохион байгуулахын тулд баримтлавал зохино

13

Page 14: Pp Lect9 10 1

14

Үйлдэл Өртөг Үйлдлйиг

гүйцэтгэх дараалал эрэмбэтэй эрэмбэгүй

Эрэмбэлэх - N*log2N 1

Мөр сонгох

log2N N 2

Бүлэглэх  

2

Багана сонгох

N*(1+log2N) N*N эсвэлN2 3

Холбох N* (1+ log2N) +

M*(1+ log2M) N2+M2 4

Page 15: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Үйлдлүүдийн дараалал

Харьцаа алгебрийн нийлмэл илэрхийлэл бичих зарчим нь дараахи математик хууль дээр тулгуурладаг

Энгийн холболт хийх үед холбогдох харьцаануудын байрыг солиход үр дүн өөрчлөгдөхгүй

А х В = B x A (А х В) x C = A x (B x C) Тайлбар: А,В,С нь харьцааны нэр

15

Page 16: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Үйлдлүүдийн дараалал

Харьцаануудыг холбосны дараа тодорхой нэг нөхцлөөр бичлэг сонгох нь харьцаа бүрээс тус нөхцлөөр бичлэгүүдийг эхлэж сонгон холболт хийхтэй ижил үр дүнтэй байна

(A x B) = A x BХарьцаануудыг холбосны дараа багана сонгох нь харьцаа

тус бүрээс багана сонгож холбосны дараа дахин багана сонголт хийсний үр дүнтэй ижил байна

(A x B) = ((A) x (B))

16

Page 17: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Хайлтын мод

Оюутны код Оюутны нэр Мэрг.код Мэрг. код Мэргэжил

17

1.Оюутан (1000 бичлэгтэй) 2.Мэргэжил (14 бичлэгтэй)

ӨС-г боловсруулах үйлдлүүд ба тэдгээрийг биелүүлэх дарааллыг хайлтын модоор дүрслэдэг Жишээ нь:Програм хангамжийн тэнхимд сурч буй оюутнуудыг код, нэр, мэргэжлээр гаргах

Зорилго: 1000 орчим бичлэгтэй оюутан, 14 бичлэгтэй мэргэжил харьцаануудыг бага хэмжээтэй болгосны дараа холболт хийнэ Үүний тулд: Харьцаануудын хэмжээг мөр, баганаар сонголт хийж багасгана

Page 18: Pp Lect9 10 1

18

Үйлдэл Өртөг бодох

томъёо Өр-төг

Үр дүнд гарах (бичлэг*

талбар)ын тоо

1. Тус харьцааг мэргэжлийн кодоор эрэмбэтэй гэж үзье (анхдагч түлхүүр учраас)

- - 14*2

2. Компьютерийн ухааны 2 мэргэжлийг сонгох

Log214 4 2 * 2

3. Багана сонголт хийгдэхгүй

- - -

1. Мэргэжил харьцааг багасгах

Page 19: Pp Lect9 10 1

19

4. Тус харьцааг анхдагч түлхүүр оюутны кодоороо эрэмбэтэй байгаа гэж үзъе

- - 1000 * 3

5. ПХ тэнхимд сурч буй оюутнуудыг сонгох 5. ПХ тэнхимд сурч буй оюутнуудыг сонгох

log2 1000 10 447 * 3

Оюутан харьцааг багасгах

Үйлдэл Өртөг бодох

томъёо Өр-төг

Үр дүнд гарах (бичлэг*

талбар)ын тоо

Page 20: Pp Lect9 10 1

20

6. 5-р алхмын үр дүнг 2-той энгийнээр холбох

447*(1+log2 447)+ 2*(1+log2 2)=

4382+44386 447 * 5

7. 6-р алхмын үр дүнгээс оюутны код, нэр, мэргэжил талбарыг сонгох

3*(447*(1+log2 447))= 3*4382

13147 447 *3

   17547

 

Үйлдэл Өртөг бодох томъёо

Өр-төг

Үр дүнд гарах (бичлэг* талбар)ын тоо

Мэргэжил ба оюутан харьцааг холбох

Нийт өртөг

Page 21: Pp Lect9 10 1

21

Page 22: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Хайлтын мод

Тус хайлтын харьцаа алгебрийн илэрхийлэл

оюут.код, оюут.нэр, мэрг.нэр

( * ( мэрг.код=”484105” or мэрг.код=”484106”

( МЭРГЭЖИЛ))

x мэрг.код= мэрг.код

* ( left (оюут.код, 2) =”SW” (ОЮУТАН)))

22

Page 23: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Хайлтын мод

Тус хайлтын Select команд

Select St_Id, St_name, Pr_name From

(Select * From Professions Pr

Where Pr_Id =”484105” or Pr_Id = “484106”

Join

Select * From Students St

Where Left(St_Id,2)=”SW”

On Pr. Pr_Id= St. Pr_Id)

23

Page 24: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Хайлтын мод

Тус хайлтыг стандарт маягаар гүйцэтгэвэл

Харьцаа алгебрийн илэрхийлэл

оюут.код, оюут.нэр, мэрг.нэр

( мэрг.код=”484105” or мэрг.код=”484106”

( МЭРГЭЖИЛ x мэрг.код= мэрг.код ОЮУТАН))

Select команд

Select St_Id, St_name, Pr_name

From Professions Pr Join Students St

On Pr. Pr_Id= St. Pr_Id

Where Pr_Id =”484105” or Pr_Id = ”484106”  

24

Page 25: Pp Lect9 10 1

25

Тус хайлтын стандарт хайлтын мод

Тус модны өртөг: 24190 ба оновчилсон модны өртөг: 17547

Page 26: Pp Lect9 10 1

26

Тэнхим: Програм хангамж

Мэргэжлийн код

Мэргэжлийн нэр

Оюутны тоо

D484105 Мэдээллийн систем

177

D484106 Програм хангамж

300

  Тэнхмийн нийт:

477

Жишээ 2 Програм хангамжийн тэнхимд сурч буй оюутнуудын тоог мэргэжил, тэнхмээр нэгтгэх

Page 27: Pp Lect9 10 1

27

Page 28: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Хайлтын мод

Харьцаа алгебрийн илэрхийлэл

тэнх.нэр, Нийт: Sum(оюут.тоо)

( тэнх.код, мэрг.код, мэрг. нэр, оюут.тоо

( тэнх.код, мэрг.код, оюут.тоо

( мэрг.кодоюут.тоо: Count(оюут.код( тэнх.код =”SW”

(тэнх.код: left(оюут.код,2), оюут.код, мэрг.код

(ОЮУТАН))))

x мэрг.код= мэрг.код

*( мэрг.код =”484105” or мэрг.код=”484106” (МЭРГЭЖИЛ)))

x тэнх.код= тэнх.код (* ( тэнх.код =”SW” (ТЭНХИМ))) 28

Page 29: Pp Lect9 10 1

3. Хайлтыг оновчтой зохион байгуулах Хайлтын мод

Select команд Select Dep_name, Sum(NumberofSt) From

(Select Dep_Id, Pr_Id, Pr_name, NumberofSt From (Select Dep_Id, Pr_Id, Count(St_Id) as NumberofSt From

(Select Left (St_Id,2) as Dep_Id, St_Id, Pr_Id From Students St Where Dep_Id=”SW” Order by Pr_Id)

Group by Pr_Id Join

Select * From Professions Pr Where Pr_Id=”484105” or Pr_Id=”484106”

On Pr. Pr_Id= St. Pr_Id) Join Select * From Department D Where Dep_Id=”SW”

On Pr. Pr_Id= St. Pr_Id)29

Page 30: Pp Lect9 10 1

Нэмэлт функцууд

Нєхцєл шалгахiif(логик илэрхийлэл, зєв хэсэг, буруу хэсэг)Зєв ба буруу хэсгийг заавал заах ёстойЖнь:

Энгийн: хєнгєлєлтийн хувь: iif(тєлбєр>0 and тєлбєр <100000, 0, 3) Зєв/буруу хэсэгт илэрхийлэл заах:

тєлбєр: iif(тєлбєр>0 and тєлбєр <100000,тєлбєр,тєлбєр*(1-0.03) Давхардсан нєхцєл шалгах:

хєнгєлєлт: iif(тєлбєр>0 and тєлбєр <100000, 0,iif(тєлбєр < 500000, 3, iif(тєлбєр <1000000,5,10)))

30

Page 31: Pp Lect9 10 1

Нэмэлт функцууд Null талбарыг утгаар дvvргэх Null талбар нь утга нь тодорхой биш (undefined) талбар Nz(талбарын нэр, хоосныг(null)юугаар солих) Null биш утгуудыг солихгvй Өгөгдсөн нь

Хичээл сонголт Авсан дvн

Хичээл Оюутан Хичээл Оюутан СемДvн БДдvн

ЄСЗБ А ЄСЗБ А 18

ЄСЗБ Б ЄСЗБ Б 20 30

ЄСЗБ С Гэтэл дvнтэй дvнгvй бvх оюутныг vр дvнд гаргах шаардлагатай

Хичээл Оюутан Нийт : (Семдvн+ БДдvн)

ЄСЗБ А 18 null

ЄСЗБ Б 50

ЄСЗБ С 0 null null Үүний тулд:

П хичээл, оюутан, Нийт: Nz(Семдvн,0)+Nz(БДдvн,0)

(Хичээл сонголт ]х хичээл, оюутан= хичээл, оюутан Авсан дvн)

31

Page 32: Pp Lect9 10 1

Нэмэлт функцууд Хоёр огнооны ялгаврыг олох Хэрэглээ:

Хугацаа (цагаар) : дууссан цаг-эхлэсэн цаг Хугацаа (хоногоор) : дууссан огноо-эхлэсэн огноо

Функц: DateDiff(хугацааны нэгж, огноо1,огноо2) Хугацааны нэгж: yyyy -Year - он q - Quarter - улирал m -Month -сар y -Day of year -жил дэх єдєр (1-365) d -Day -сар дахь өдөр (1-31) w -Weekday - гараг(огноо1 нь ямар гарагт таарсныг тоолж: хэдэн Даваа

гараг) ww -Week -гараг (календарь долоо хоног:7 долоогоор багцалж) h -Hour -цаг n -Minute -минут s -Second -секунд

32

Page 33: Pp Lect9 10 1

Математик үйлдэл хэрэглэж өгөгдөл боловсруулахӨгөгдлийн харьцаа нь бичлэгүүдийн олонлог юм Иймээс хоёр ижил бvтэцтэй хvснэгт дээр дараах

vйлдлvvд хийж болно нэгтгэх огтолцлыг олохялгаатай хэсгийг олох

33

Page 34: Pp Lect9 10 1

Математик үйлдэл хэрэглэж өгөгдөл боловсруулахНэгтгэх

Тус үйлдлийн үр дүнд хоёр харьцааны нэгдмэл нэг харьцаа үүсэх ба түүнд ижил хэсгүүд давхардаж орохгүй

Харьцаа алгебрт тэмдэглэгээ, СКюЛ хэлэнд UNION гэсэн үг хэрэглэж тус үйлдлийг тодорхойлно

Тус үйлдэл дараахи дүрмийг баримталдаг: Харьцаа1Харьцаа2 = Харьцаа2Харьцаа1 (Харьцаа1Харьцаа2)Харьцаа3 = Харьцаа1(Харьцаа2Харьцаа3)

34

Харьцаа 1 Харьцаа 2

Page 35: Pp Lect9 10 1

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

Огтолцлыг олох

Тус үйлдлийн үр дүнд хоёр харьцааны ижил хэсэг сонгогдож үр дүнгийн харьцаанд давхардахгүй орно

Харьцаа алгебрт тэмдэглэгээ, СКюЛ хэлэнд INTERSECTION гэсэн үг хэрэглэж үйлдлийг тодорхойлно

Тус үйлдэл дараахи дүрмийг баримталдаг: Харьцаа1Харьцаа2 = Харьцаа2Харьцаа1 (Харьцаа1Харьцаа2) Харьцаа3 =Харьцаа1 (Харьцаа2Харьцаа3)

35

Харьцаа 1

Харьцаа 2

Page 36: Pp Lect9 10 1

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

|

Тус үйлдлийн үр дүнд 1 дэх харьцаанаас 2 дахь харьцаа хасагдаж гарна

Харьцаа алгебрт хасах (-) тэмдэглэгээ СКюЛ хэлэнд Difference гэсэн үг хэрэглэж тус үйлдлийг

тодорхойлно

Харьцаа1-Харьцаа2 # Харьцаа2-Харьцаа1

36

Харьцаа 2Харьцаа 1

Page 37: Pp Lect9 10 1

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

Харьцаа алгерийн илэрхийлэл: Үр дүн1 багшийн код, албан тушаал (БАГШ ]X албан туш. код = албан

туш. код АЛБАН ТУШААЛ) Багш тушаалтай багшийн код ( албан тушаал = “*багш” (ҮР ДҮН1)) Үр дүн2 багшийн код, мэргэжил (БАГШ ]X мэргэж. код = мэргэж. код

МЭРГЭЖиЛ) Багш мэргэжилтэй багшийн код ( мэргэжил = “*багш” (ҮР ДҮН2)) Үр дүн Багш тушаалтай Багш мэргэжилтэй

СКюЛ команд:Select T. T_ID

From Teacher T, Occupation O Where T. Occ_ID=O.Occ_ID and O. Occ_name = “%багш”

UNION Select T. T_ID

From Teacher T, Profession P Where T. Prof_ID=P. Prof_ID and P. Prof_name =“*багш”

Харьцаа алгерийн илэрхийлэл: Үр дүн1 багшийн код, албан тушаал (БАГШ ]X албан туш. код = албан

туш. код АЛБАН ТУШААЛ) Багш тушаалтай багшийн код ( албан тушаал = “*багш” (ҮР ДҮН1)) Үр дүн2 багшийн код, мэргэжил (БАГШ ]X мэргэж. код = мэргэж. код

МЭРГЭЖиЛ) Багш мэргэжилтэй багшийн код ( мэргэжил = “*багш” (ҮР ДҮН2)) Үр дүн Багш тушаалтай Багш мэргэжилтэй

СКюЛ команд:Select T. T_ID

From Teacher T, Occupation O Where T. Occ_ID=O.Occ_ID and O. Occ_name = “%багш”

UNION Select T. T_ID

From Teacher T, Profession P Where T. Prof_ID=P. Prof_ID and P. Prof_name =“*багш”

37

Багшийн ажлыг хийж чадах, өөрөөр хэлбэл мэргэжил, албан тушаалын аль нэг нь, эсвэл хоёулаа “багш” байх албан хаагчдыг ялгаж гаргая гэвэл нэгтгэх үйлдэл хийнэ

Page 38: Pp Lect9 10 1

Математик үйлдэл хэрэглэж өгөгдөл боловсруулах Мэргэжлийн багш нарыг, өөрөөр хэлбэл эзэмшсэн мэргэжил ба албан тушаал нь зэрэг “багш” байх багш нарыг ялгаж гаргая гэвэл ижил хэсгийг ялгах үйлдэл хийнэ

Харьцаа алгерийн илэрхийлэл: Жишээ 1-ийн Багш тушаалтай ба Багш мэргэжилтэй харьцаанууд

дараахи үйлдлээр нэгтгэгдэнэ. Үр дүн Багш тушаалтай Багш мэргэжилтэй Select T. T_ID

From Teacher T, Occupation O

Where T. Occ_ID=O.Occ_ID and O. Occ_name = “*багш”

INTERSECTION

Select T. T_ID

From Teacher T, Profession P

Where T. Prof_ID=P. Prof_ID and P. Prof_name =“*багш”

Мэргэжлийн багш нарыг, өөрөөр хэлбэл эзэмшсэн мэргэжил ба албан тушаал нь зэрэг “багш” байх багш нарыг ялгаж гаргая гэвэл ижил хэсгийг ялгах үйлдэл хийнэ

Харьцаа алгерийн илэрхийлэл: Жишээ 1-ийн Багш тушаалтай ба Багш мэргэжилтэй харьцаанууд

дараахи үйлдлээр нэгтгэгдэнэ. Үр дүн Багш тушаалтай Багш мэргэжилтэй Select T. T_ID

From Teacher T, Occupation O

Where T. Occ_ID=O.Occ_ID and O. Occ_name = “*багш”

INTERSECTION

Select T. T_ID

From Teacher T, Profession P

Where T. Prof_ID=P. Prof_ID and P. Prof_name =“*багш”

38