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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โปรแกรมฝึกหัด การเลื่อนและคลิกเมาส์
Advertisements

วิธีการตั้งค่าและทดสอบ เครื่องคอมพิวเตอร์ก่อนใช้งาน
พระบาทสมเด็จพระเจ้าอยู่หัวทรงพระราชทาน
วิชา องค์ประกอบศิลป์สำหรับคอมพิวเตอร์ รหัส
การซ้อนทับกัน และคลื่นนิ่ง
Chapter 2 Root of Nonlinear Functions
BC320 Introduction to Computer Programming
แนวทางการรายงานผลการปฏิบัติราชการโดยผ่านระบบเครือข่ายอินเตอร์เน็ต
การใช้งานโปรแกรม Excel เบื้องต้น
อินเตอร์เซกชั่น (Intersection) คอมพลีเมนต์ (Complement)
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
Use Case Diagram.
กลุ่มสาระการเรียนรู้ คณิตศาสตร์ โรงเรียนบ้านหนองกุง อำเภอนาเชือก
C Programming Lecture no. 6: Function.
Structured Query Language (SQL) (2)
– Web Programming and Web Database
บทที่ 3 แบบจำลองข้อมูล Data Models Calculus
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
A.5 Solving Equations การแก้สมการ.
A.1 Real Numbers and Their Properties
กระบวนการคิดทางคณิตศาสตร์
EC411 ทฤษฏีและนโยบายการเงิน
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
MAT 231: คณิตศาสตร์ไม่ต่อเนื่อง (4) ความสัมพันธ์ (Relations)
บทที่ 3 ตัวดำเนินการ และ นิพจน์
Kampol chanchoengpan it สถาปัตยกรรมคอมพิวเตอร์ Arithmetic and Logic Unit 1.
ระบบการเบิก-จ่าย ลูกหนี้เงินยืม
ทำการตั้งเบิกเพิ่ม แบบฟอร์ม GFMIS.ขบ.02 เพื่อชดใช้ใบสำคัญ
ฐานข้อมูลเชิงสัมพันธ์
แนวทางการปฏิบัติโครงการจูงมือ น้องน้อยบนดอยสูง 1.
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ค คณิตศาสตร์ สำหรับคอมพิวเตอร์ 1 ผลคูณคาร์ทีเชียน.
ทักษะการตัดสินใจ นัทธี จิตสว่าง 28 มีนาคม 2553.
สัปดาห์ที่ 7 การแปลงลาปลาซ The Laplace Transform.
บทที่ 3 การวิเคราะห์ Analysis.
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
การแจกแจงปกติ.
การสอบถามข้อมูลด้วยฟังก์ชั่นสำหรับ
เทคนิคการสืบค้น Google
การดำเนินการทดสอบทางการศึกษาแห่งชาติ (O-NET)
ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
ความหมายของวิทยาศาสตร์
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
CHAPTER 12 SQL.
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
ภาษาอังกฤษเพื่อการสื่อสาร อ32204
SQL Structured Query Language.
School of Information Communication Technology,
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
โมเดลเชิงสัมพันธ์ The relational model.
งานกลุ่ม กลุ่มที่ 3 เรื่อง ฐานข้อมูลเชิงสัมพันธ์
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
การค้นในปริภูมิสถานะ
สื่อการสอนด้วยโปรมแกรม “Microsoft Multipoint”
Relational Algebra. Traditional set Operator Union Intersection Difference Cartesian product.
วิธีเรียงสับเปลี่ยนและวิธีจัดหมู่
บทที่ 1 จำนวนเชิงซ้อน.
Introduction to SQL (MySQL) – Special Problem (Database)
โครงสร้างข้อมูลแบบ สแตก (stack)
การค้นในปริภูมิสถานะ
กราฟเบื้องต้น.
การแบ่งแยกและเอาชนะ Divide & Conquer
การแบ่งแยกและเอาชนะ Divide & Conquer
โครงการจัดทำฐานข้อมูลผ่านเว็บไซต์
1 Introduction to SQL กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
Relational Algebra & Relational Calculus
โดย อ.อภิพงศ์ ปิงยศ รายวิชา สธ312 ระบบการจัดการฐานข้อมูลทางธุรกิจ
ฐานข้อมูลเชิงสัมพันธ์ Relational Database
ใบสำเนางานนำเสนอ:

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

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

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

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

Relational Algebra Restrict

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

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

Relational Algebra Project

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

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

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

Relational Algebra UNION

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

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

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

Relational Algebra Difference

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

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

Relational Algebra Intersection

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

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

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

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

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

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

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

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

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

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

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

Relational Algebra Divide R/S R S

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

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