วันจันทร์ที่ 8 กุมภาพันธ์ พ.ศ. 2559

Relational Algebra and Relational Calculus

โจทย์ประจำสัปดาห์ที่ 4 :

1.ลองหาตัวอย่าง Query ใน Relational Algebra สัก 5-10 Query
Relational Algebra : เป็นพื้นฐานของ operation ที่จะมาจัดการกับข้อมูลของเรา
  • มี U nary ที่เป็น Operation พื้นฐาน ได้แก่ SELECT,PROJECT,RENAME
  • มี Relational Algebra ที่เกี่ยวกับ set ได้แก่ UNION,MINUS,INTERSECTION
  • มี Binary ได้แก่ CARTESIAN,JOIN


ตัวอย่าง Query ใน Relational Algebra :
SELECT เป็นคำสั่งที่ใช้เลือก tuple ออกมาจาก relation ที่มีเงื่อนไขตามที่ระบุ หรือ select row จาก table ผลลัพธ์ที่ได้เป็น Relation

Symbol :  s
วิธีการใช้ :
ภาพตัวอย่างการใช้
โดยการตั้งเงื่อนไขของการ select

ใน Condition สามารถมีเงื่อนไขที่ซับซ้อนได้ สามารถใช้ Operation AND , OR ได้
ตัวอย่างการใช้ :

ภาพตัวอย่างตารางข้อมูลที่มีชื่อตารางว่า customer

ภาพแสดงการ select
ข้อมูลในตาราง customer ที่มี Name = Van

ภาพผลลัพธ์ที่ได้จากการใช้สมการข้างต้น


PROJECT เป็นคำสั่งที่ใช้ select columns จาก table ผลลัพธ์ที่ได้เป็น set ของ tuple ที่ไม่ซ้ำ
Symbol : p
วิธีการใช้:
ภาพแสดงวิธีการใช้งาน Project โดยการระบุ
R คือ ชื่อของตาราง และ ระบุ Attribute ที่ต้องการ project

ตัวอย่างการใช้
ภาพตัวอย่างตารางที่ใช้มีชื่อว่า customer

ภาพแสดงการ project ข้อมูลจาก
ตาราง customer ที่ Attribute เป็น Name กับ address

ตัวอย่างผลลัพธ์ที่ได้จากการใช้ ข้างต้น



RENAME เป็นคำสั่งที่ใช้ในการเปลี่ยนชื่อ Relation และ Attribute
Symbol : r
วิธีการใช้ :
แบบที่ 1 ต้องการเปลี่ยนชื่อจาก R ไปเป็น S
หรือ
แบบที่ 2 เปลี่ยนชื่อ Attribute ในตาราง
 R ไปเป็นตามที่ระบุไว้ 

หรือ
แบบที่ 3 เปลี่ยนชื่อตาราง R ไปเป็น S
และเปลี่ยนชื่อ Attribute ในตารางด้วย

ตัวอย่างการใช้ จะเลือกแสดงตัวอย่างจากรูปแบบที่ /
ตัวอย่างตารางข้อมูลที่ใช้ มีชื่อว่า customer 

แสดงการ Rename ตารางที่มีชื่อว่า customer มี Attribute
คือ Name ,Phone และ เปลี่ยนชื่อ address เป็น province

ภาพแสดงผลลัพธ์ที่ได้จากข้างต้น

UNION เป็นการเอา set สองตัวมารวมกันตัดที่ซ้ำกันออกเหลือตัวเดียว
Symbol : U
วิธีการใช้ : R U S เอา tuple
ทั้งหมดที่อยู่ใน R หรือ ที่อยู่ใน S หรือทั้งที่อยู่ทั้งใน R และ S

ภาพแสดงความหมายของการ union
 กันในทางคณิตศาสตร์โดยใช้ เวนไดอะแกรม

ตัวอย่างการใช้
ตัวอย่างตารางที่จะนำมาใช้ในการแสดงการ Union 

แสดงการใช้งาน union โดยที่จะ
ใช้ร่วมกับการ Project ข้อมูลออกมาก่อน
โดยที่จะ Project ออกมาเฉพาะcolumns
Name ของทั้งสองตารางแล้วทำการ union

ตัวอย่างผลลัพธ์ที่ได้ก็จะเป็น
ไปตามที่ได้อธิบายไว้ข้างต้น

JOIN เป็นการเอา tuple จากสอง relation มารวมกันให้อยู่ใน relation ที่มีความยาวมากขึ้น 
Symbol : 
วิธีการใช้ :
ตัวอย่างการใช้

2.อะไรคือ inner joint,outer joint? มี Left,Right คืออะไร ?

  • inner joint คือ การเลือกข้อมูลเฉพาะที่มี Key ตรงกันเท่านั้นมาแสดง
  • outer joint คือ การนำข้อมูลทั้งหมดมาแสดงแม้ว่าจะมี Key ไม่ตรงกัน
  • Left คือ การทำ JOIN ข้อมูลกับตารางที่อยู่ทางซ้าย
  • Right คือ การทำ JOIN ข้อมูลกับตารางที่อยู่ทางขวา

ภาพแสดงเวนไดอะเกรมของ JOIN และการใช้
SQL Statement ของการ JOINT ในแต่ละรูปแบบ

3.อะไรคือ division operation?
  • division operation คือ การผลลัพธ์จาก 2 relation โดย relation ที่เป็นตัวตั้งจะมี Attribute มากกว่าอีก relation ที่เป็นตัวหาร โดยที่ relation ทั้งสองมี Attribute อย่างน้อย 1 Attribute ที่เหมือนกัน

ขอบคุณที่มาจาก: https://www.gotoknow.org/posts/97459
                             http://www.math-only-math.com/images/union-using-venn-diagram.png
                             https://o5k4r.files.wordpress.com/2014/02/joins.jpg

ไม่มีความคิดเห็น:

แสดงความคิดเห็น