งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Relational Algebra 357337 – Web Programming and Web Database 1.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Relational Algebra 357337 – Web Programming and Web Database 1."— ใบสำเนางานนำเสนอ:

1 Relational Algebra – Web Programming and Web Database 1

2 Relational Algebra Relational Algebra เป็นภาษาแบบ procedural query language พื้นฐานคำสั่งของ Relational Algebra คือ – select, project, rename → unary operations – union, set difference และ cartesian product → binary operations นอกจากคำสั่งพื้นฐานแล้วยังมีคำสั่งอื่นๆ เช่น – set intersection, natural join, division, และ assignment 2

3 Select Operations เป็นคำสั่งที่ใช้เลือก ข้อมูลในแถวที่ตรงกับเงื่อนไขที่ กำหนด เขียนแทนด้วยสัญลักษณ์ วิธีการใช้งาน Condition สามารถใช้เครื่องหมาย – การเปรียบเทียบ : =,, ≥, ≤, ≠ – Logic operation :, 3

4 Example : Select กำหนดตาราง สมุดบัญชี (Account) มี schema คือ – Account(Branch-name, Branch,city, Balance) – Branch-name คือ ชื่อสาขา – Branch-city คือ จังหวัดที่สาขานั้นตั้งอยู่ – Balance คือ ยอดเงินในบัญชี Branch-nameBranch-cityBalance BangkroyBangkok30,000 RattanathibetNonthaburi15,000 BangpoBangkok5,000 PakkretNonthaburi10,000 4

5 Example : Select จงเลือกข้อมูลของสาขาที่อยู่ในกรุงเทพ Branch-nameBranch-cityBalance BangkroyBangkok30,000 BangpoBangkok5,000 5

6 Example : Select จงเลือกข้อมูล ที่เงินในบัญชีมากกว่า 12,000 Branch-nameBranch-cityBalance BangkroyBangkok30,000 RattanathibetNonthaburi15,000 6

7 Example : Select จงเลือกข้อมูล ที่เงินในบัญชีมากกว่า 12,000 และบัญชีอยู่ที่ นนทบุรี Branch-nameBranch-cityBalance RattanathibetNonthaburi15,000 7

8 Project Operation Project operation เป็นตัวที่ใช้แสดงข้อมูลของ attribute ที่ต้องการ ใช้สัญลักษณ์ วิธีใช้งาน 8

9 Example : Project กำหนดตาราง สมุดบัญชี (Account) มี schema คือ – Account(Branch-name, Branch,city, Balance) – Branch-name คือ ชื่อสาขา – Branch-city คือ จังหวัดที่สาขานั้นตั้งอยู่ – Balance คือ ยอดเงินในบัญชี Branch-nameBranch-cityBalance BangrukBangkok30,000 RattanathibetNonthaburi15,000 BangpoBangkok5,000 PakkretNonthaburi10,000 9

10 Example : Project จงแสดงข้อมูลเฉพาะสาขา และจำนวนเงิน Branch-nameBalance Bangruk30,000 Rattanathibet15,000 Bangpo5,000 Pakkret10,000 10

11 Composition of Relational Operations เราสามารถใช้ Select และ Project ต่อเนื่องกันได้ เช่นจากตารางรถ (car) ต่อไปนี้ ให้แสดงเฉพาะชื่อ ของเจ้าของรถ Honda สีดำ OwnerBrandColorCity TorresHondaBlackNonthaburi KloseNissanGoldBangkok RobbenToyotaSilverBangkok ForlanHondaBlackBangkok 11

12 Union Operation ใช้เมื่อมีความต้องการเชื่อมข้อมูลกับตารางมากกว่า 1 ตาราง เช่น ตารางผู้กู้เงินจากธนาคาร (borrower) และ ตารางผู้ ฝากเงินกับธนาคาร (depositor) borrower depositor จงหา รหัสของลูกค้าของธนาคารที่กู้เงินกับธนาคารหรือมี เงินฝากกับธนาคาร Cust_idBalance Cust_idBalance

13 Union Operation depositor รหัสลูกค้าที่ฝากเงินกับธนาคาร Cust_idBalance Cust_id

14 Union Operation borrower รหัสลูกค้าที่กู้เงินกับธนาคาร Cust_idBalance Cust_id

15 Union Operation Cust_idBalance Cust_idBalance borrower depositor Cust_id Cust_id Cust_id

16 Set Difference Operation ใช้เพื่อหาข้อมูลที่อยู่ในความสัมพันธ์หนึ่งแต่ไม่ในอีก ความสัมพันธ์หนึ่ง เช่น ตารางผู้กู้เงินจากธนาคาร (borrower) และ ตารางผู้ฝาก เงินกับธนาคาร (depositor) borrower depositor จงหา รหัสของลูกค้าของธนาคารที่กู้เงินกับธนาคาร แต่ไม่มีเงิน ฝากกับธนาคาร Cust_idBalance Cust_idBalance

17 Set Difference Operation depositor รหัสลูกค้าที่ฝากเงินกับธนาคาร Cust_idBalance Cust_id

18 Set Difference Operation borrower รหัสลูกค้าที่กู้เงินกับธนาคาร Cust_idBalance Cust_id

19 Set Difference Operation Cust_idBalance Cust_idBalance borrower depositor Cust_id Cust_id Cust_id

20 The Cartesian-Product Operation Cartesian-Product ใช้สัญลักษณ์คือ X (cross) เป็นการรวมข้อมูลของ 2 relations เข้าด้วยกัน การใช้งาน เช่น table1 x table2 ตัวอย่าง : มี 2 ตาราง ตารางกู้เงิน (borrower) และ ตารางฝากเงิน (depositor) Cust_idBalance Cust_idBalance borrowerdepositor 20

21 The Cartesian-Product Operation Cust_idBalance Cust_idBalance borrower depositor borrower X depositor Cust_idBalanceCust_idBalance

22 The Cartesian-Product Operation Cust_idBalance Cust_idBalance borrower depositor borrower X depositor Cust_idBalanceCust_idBalance

23 The Cartesian-Product Operation Cust_idBalance Cust_idBalance borrower depositor borrower X depositor Cust_idBalanceCust_idBalance

24 The Cartesian-Product Operation Cust_idBalance Cust_idBalance borrower depositor borrower X depositor Cust_idBalanceCust_idBalance

25 The Cartesian-Product Operation Cust_idBalance Cust_idBalance borrower depositor borrower X depositor Cust_idBalanceCust_idBalance

26 The Cartesian-Product Operation Cust_idBalance Cust_idBalance borrower depositor borrower X depositor Cust_idBalanceCust_idBalance

27 The Cartesian-Product Operation Cust_idBalance Cust_idBalance borrower depositor borrower X depositor Borrower.Cust_idBorrower.BalanceDepositor.Cust_idDepositor.Balance X 27

28 ตัวอย่าง Cust_idBalance Cust_idBalance borrower depositor หารหัสลูกค้าที่กู้และฝากเงินกับธนาคาร Borrower.Cust_idBorrower.BalanceDepositor.Cust_idDepositor.Balance

29 The Rename Operation ใช้สำหรับเปลี่ยนชื่อของตาราง ใช้สัญลักษณ์ การใช้งาน – x ชื่อของตารางใหม่ – E ตารางหรือ expression 29

30 The Rename Operation Cust_idBalance Cust_idBalance borrower X Borrower.Cust_idBorrower.BalanceBorrower.Cust_idBorrower.Balance

31 The Rename Operation Cust_idBalance Cust_idBalance borrower X Borrower.Cust_idBorrower.Balanceb2.Cust_idb2.Balance

32 Example: The Rename Operation Cust_idBalance จากตาราง ผู้กู้เงิน (borrower) จงเขียน relational algebra เพื่อหาผู้ที่กู้เงินมากที่สุด 32

33 Example :The Rename Operation Cust_idBalance Cust_idBalance borrower X Borrower.Cust_idBorrower.Balanc e b2.Cust_idb2.Balance

34 Example :The Rename Operation borrowerX Borrower.Cust_idBorrower.Balanc e b2.Cust_idb2.Balance Borrower.Cust_idBorrower.Balanc e b2.Cust_idb2.Balance

35 Example :The Rename Operation Borrower.Cust_idBorrower.Balanc e b2.Cust_idb2.Balance Borrower.Cust_idBorrower.Balanc e

36 Example :The Rename Operation Borrower.Cust_idBorrower.Balanc e Cust_idBalance Borrower - Cust_idBalance

37 Example :The Rename Operation Cust_idBalance Borrower - Cust_id

38 Additional Operations 38

39 The Set-Intersection Operation การทำงานเหมือน intersect ของ set ใช้สัญลักษณ์ ตัวอย่าง หารหัสลูกค้าที่กู้และฝากเงินกับ ธนาคาร Cust_idBalance Cust_idBalance borrowerdepositor Cust_id

40 The Natural-Join Operation เนื่องจากการใช้ cartesian product เชื่อมต่อ 2 ตารางเข้าด้วยกันทุกคน ทำให้รูปสมการยาว จึง เกิด Natural-Join Natural-join จะบังคับ operation = ให้กับฟิลด์ที่ เหมือนกันของ 2 ตาราง ใช้สัญลักษณ์ 40

41 The Natural-Join Operation ตัวอย่าง : มี 2 ตาราง ตารางชื่อลูกค้า (CustName) และ ตารางเมืองของลูกค้า (CustCity) จงสร้างตารางสัมพันธ์ที่แสดง รหัสลูกค้า, ชื่อลูกค้า และ เมืองที่ลูกค้า อยู่ Cust_idName John DJ Cust_idCity Bangkok Nonthaburi CustNameCustCity วิธีที่ใช้ Cartesian product : วิธีที่ใช้ Natural-Join : 41

42 The Natural-Join Operation Natural-Join Operation เป็นแบบ associative คือไม่มีผลก่อนหลัง A B C = (A B ) C = A ( B C ) 42

43 The Division Operation ใช้สัญลักษณ์ ใช้สำหรับเมื่อเราต้องการหาแบบ “for all” NameCityPostal JohnParisP5 JohnParisP10 SmithLyonP6 SmithParisP10 JRLyonP3 CityPostal ParisP5 ParisP10 Name John 43

44 ผลการทำ Relational Algebra operation xyxy abcabc aabbccaabbcc xyxyxyxyxyxy select (  ) project (  ) union (  )difference (  )rename (  ) cartesian (  ) 44

45 ผลการทำ Relational Algebra Operation intersection (  ) xyxy a aabcddaabcdd xyxyzyxyxyzy division (  )join ( ) 45


ดาวน์โหลด ppt Relational Algebra 357337 – Web Programming and Web Database 1.

งานนำเสนอที่คล้ายกัน


Ads by Google