ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
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
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.