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

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

บทที่ 3 แบบจำลองข้อมูล Data Models Algebra

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


งานนำเสนอเรื่อง: "บทที่ 3 แบบจำลองข้อมูล Data Models Algebra"— ใบสำเนางานนำเสนอ:

1 บทที่ 3 แบบจำลองข้อมูล Data Models Algebra

2 Relational Algebra พีชคณิตเชิงสัมพันธ์หรือ Procedural Query Language เป็นการปฏิบัติการที่เกิดขึ้นกับ Relation เพื่อสร้าง Relation ใหม่ขึ้นมาเป็นแบบจำลองของการกระทำต่างๆ ที่สามารถเกิดขึ้นกับข้อมูลในฐานข้อมูล ซึ่งเป็นการกระทำพื้นฐานที่จะนำมาประกอบกันเป็น Procedure เพื่อกำหนดให้ฐานข้อมูลทำงานตามที่ต้องการ 1. Unary Operations 2. Set Operation 3. Join Operation

3 Relational Algebra Unary Operations จะปฏิบัติงานภายใต้รีเลชั่นเดียว
มีโอเปอร์เรชั่น 1. Restrict (Or Selection) 2. Projection ()

4 Relational Algebra 1. Restrict (Or Selection)
เป็นการกระทำเพื่อแสดงข้อมูลของ Tuple ใน Relation ที่มี ค่าตรงตามเงื่อนไขที่ระบุ คำสั่งที่ใช้ได้แก่ WHERE รูปแบบคือ A WHERE X operator Y

5 Relational Algebra Restrict

6 Relational Algebra B WHERE CITY = ‘New York’ S# SNAME STATUS CITY
S1 Smith New York

7 Relational Algebra 2. Projection ()
เป็นการกระทำเพื่อกำหนดรายชื่อของ Attribute ของRelation ที่ต้องการให้แสดงผลออกมา คำสั่งที่ใช้มีรูปแบบคือ A [X, Y,…., Z]

8 Relational Algebra Project

9 Relational Algebra A [SNAME, STATUS] SNAME STATUS Smith 20 Clark 20
(B WHERE CITY = ‘New York’) [S#] S# S1

10 Set Operations ในการทำงานกับข้อมูลจริง ๆ จะต้องนำรีเลชั่นหลายรีเลชั่นเข้ามาประกอบกัน set operation ทำให้เราสามารถปฏิบัติบนหลายรีเลชั่น (สามารถเรียกอีกชื่อหนึ่งว่า Binary Operation) Union, Set Difference, Intersection, Cartesian product

11 Relational Algebra 1. Union ()
เป็นการรวมกันของข้อมูลของ 2 Relation เพื่อแสดงข้อมูลของทุก Tuple ในรูปแบบของ Union ตามทฤษฎีของเซต คำสั่งที่ใช้คือ UNION รูปแบบคือ A UNION B

12 Relational Algebra UNION

13 Relational Algebra Example A S# SNAME STATUS CITY S1 Smith 20 New York
S4 Clark New York A S# SNAME STATUS CITY S1 Smith New York S2 Jones Chicago B

14 Relational Algebra A UNION B S# SNAME STATUS CITY S1 Smith 20 New York
S4 Clark New York S2 Jones Chicago

15 Relational Algebra 2. Difference
เป็นการกระทำเพื่อแสดงข้อมูลของ Tuple ที่ปรากฎอยู่ใน Relation หนึ่งแต่ไม่ปรากฏอยู่ในอีก Relation หนึ่ง ในรูปแบบของ A-B ตามทฤษฎีของเซต คำสั่งที่ใช้คือ MINUS รูปแบบคือ A MINUS B

16 Relational Algebra Difference

17 Relational Algebra A MINUS B S# SNAME STATUS CITY S4 Clark 20 New York
B MINUS A S# SNAME STATUS CITY S2 Jones Chicago

18 Relational Algebra 3. Intersection ()
เป็นการกระทำเพื่อแสดงข้อมูลของ Tuple ที่ปรากฎทั้ง 2 Relation ที่นำมารวมกันในรูปแบบของ Intersection ตามทฤษฎีของเซต คำสั่งที่ใช้คือ INTERSECT รูปแบบคือ A INTERSECT B

19 Relational Algebra Intersection

20 Relational Algebra A INTERSECT B S# SNAME STATUS CITY
S1 Smith New York

21 Relational Algebra 4. Cartesian Product
เป็นการกระทำเพื่อแสดงข้อมูลของทุก Tuple ที่สามารถเป็นไปได้ที่เกิดจากการจับคู่กันของข้อมูล 2 Relation แบบผลคูณ Cartesian คำสั่งที่ใช้คือ TIMES มีรูปแบบคือ A TIMES B

22 Relational Algebra Product a b c x y a b c x y

23 Relational Algebra S# S1 S2 S3 P# P1 P2 P3 Example A B S# S1 S2 S3 P#
A TIMES B

24 3. Join Operation Join กำเนิดมาจากผลคูณ Cartesian ที่ถือว่าเป็นหนึ่งใน โอเปอร์เรชั่นที่มีประสิทธิภาพสูง และถือว่าเป็นโอเปอร์เรชั่นที่ยากที่สุดในการนำไปใช้งานบน RDBMS ระบบฐานข้อมูลเชิงสัมพันธ์จึงมักเกิดปัญหาเกี่ยวกับประสิทธิภาพ ซึ่งส่วนหนึ่งก็อาจเกิดจากกระบวนการ join รีเลชั่นที่ผิดพลาด โอเปอร์เรชั่น join ประกอบด้วย Theta Join Equi Join Natural join Outer Join Semi Join

25 Theta Join Theta-Join เป็นโอเปอเรชั่นที่นิยามถึงรีเลชั่นที่บรรจุไปด้วยทัปเพิลที่ต้องการตามเงื่อนไขจากผลคูณ Cartesian ระหว่าง 2 รีเลชั่น โดยกำหนดเงื่อนไขที่ต้องการ โดยใช้โอเปอร์เรเตอร์ <, , >, , = ,

26 Equi Join Equi-Join คือ การ Join แบบที่เงื่อนไขเท่ากับ = เท่านั้น และผลลัพธ์ที่ได้คอลัมน์ที่ซ้ำกันจะถูกแสดงเพียงแค่ครั้งเดียว

27 Natural join Natural-Join คือ Equi-Join ที่ Join ทุกคอลัมน์แต่ขจัดคอลัมน์ที่ซ้ำกันออกไป A B a 1 b 2 B C 1 X Y 3 Z A B C a 1 X Y Natural-Join

28 Outer Join การ join เป็นตรวจสอบคีย์ที่ตรงกัน แต่บางครั้งเราต้องการทัปเพิลในรีเลชั่นหนึ่งไม่สามารถจับคู่กับอีกรีเลชั่นหนึ่งได้ แต่ต้องการทัปเพิลจากรีเลชั่นหนึ่งเพื่อไปปรากฏในผลลัพธ์ จึงจำเป็นต้องใช้การ join แบบ Outer Join

29 Semi Join รีเลชั่นที่บรรจุอยู่ในทัปเพิล R ที่มีส่วนร่วมในการ Join ของ R กับ S A B a 1 b 2 B C 1 X Y 3 Z A B a 1 Semi Join

30 Relational Algebra 4. Divide
เป็นการกระทำเพื่อแสดงข้อมูลที่เป็นไปได้ทั้งหมด ซึ่งเกิดจากการนำเอา Relation A ไปเปรียบเทียบค่ากับ Relation B โดยที่ Relation A จะต้องมี Degree ที่สูงกว่า Relation B และทุก Attribute ใน Relation B ต้องปรากฎอยู่ใน Relation A แต่ในการแสดงผลจะแสดงเฉพาะ Attribute ที่ปรากฏใน Relation A แต่ไม่ปรากฎใน Relation B คำสั่งที่ใช้มีรูปแบบคือ A DIVIDEBY B

31 Relational Algebra Divide R/S R S

32 Relational Algebra Divide a b c x y z x z a

33 โอเปอเรชั่นการรวมและการจำแนกกลุ่ม aggregation and Grouping
Count Sum Avg Min Max Grouping


ดาวน์โหลด ppt บทที่ 3 แบบจำลองข้อมูล Data Models Algebra

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


Ads by Google