โจทย์ประจำสัปดาห์ที่ 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
ไม่มีความคิดเห็น:
แสดงความคิดเห็น