ฐานข้อมูลเชิงสัมพันธ์ ผู้ช่วยศาสตราจารย์ศิรินุช เทียนรุ่งโรจน์
ฐานข้อมูลเชิงสัมพันธ์ Key Rule Algebra Rule Constraints Cartesian Rule
Key Rule แนวคิดเรื่องโมเดลเชิงสัมพันธ์ คีย์ พื้นฐาน Relational Algebra
Key Rule แนวคิดเรื่องโมเดลเชิงสัมพันธ์ ความสัมพันธ์ของฐานข้อมูลจะอยู่ในรูปแบบของตาราง ชื่อของตารางคือ ชื่อของความสัมพันธ์ แต่ละคอลัมน์ของตารางความสัมพันธ์ เรียกว่า แอททริบิว(attribute) ของความสัมพันธ์ ค่าและขอบเขตของข้อมูลของแอททริบิวเรียกว่า โดเมน(Domain) แต่ละแถวของตารางความสัมพันธ์ เรียกว่า แถว หรือ ทูเพิล(tuple) ของความสัมพันธ์
Key Rule คุณสมบัติของความสัมพันธ์ ลำดับของแถวและคอลัมน์ไม่ทำให้ข้อมูลเปลี่ยนไป จะไม่มีสองแถวที่ซ้ำกัน แอททริบิวทุกตัวจะเป็น atomic เท่านั้น ดีกรีของความสัมพันธ์ คือ จำนวนแอททริบิวที่มีในความสัมพันธ์นั้น
Key Rule คีย์ คีย์ คือ สิ่งที่ใช้ในการกำหนดความเป็นเอกลักษณ์ของแถวในความสัมพันธ์ ทำให้การเข้าถึงข้อมูลบนฐานข้อมูลเป็นไปได้อย่างรวดเร็ว ทำให้สามารถแยกแยะข้อมูลในฐานข้อมูลให้เป็นไปอย่าง ถูกต้อง
Key Rule ประเภทของคีย์ คีย์หลัก (Primary Key) คือ คีย์ที่ใช้ในการอ้างถึง Entityในฐานข้อมูล คีย์รอง (Secondary Key) คือ คีย์เดี่ยวหรือคีย์ผสม เมื่อใช้ในการค้นหาข้อมูลของความสัมพันธ์จะได้มากกว่าหนึ่ง เรคคอร์ด คีย์นอก (Foreign Key) คือ คีย์เดี่ยวหรือคีย์ผสม ซึ่งเป็นคีย์ทั่วไปของความสัมพันธ์หนึ่ง แต่เป็นคีย์หลักของอีกความสัมพันธ์หนึ่ง เป็นตัวที่ใช้ในการเชื่อมต่อระหว่างความสัมพันธ์
Key Rule ซุปเปอร์คีย์ (Super key) คือ กลุ่มของแอททริบิวที่สามารถนำไปค้นหาข้อมูลที่เป็นเอกลักษณ์ได้ คีย์แข่งขัน (Candidate key) คือ ซุปเปอร์คีย์และไม่มีกลุ่มย่อยของคีย์ใดในคีย์แข่งขันที่สามารถเป็นซุปเปอร์คีย์ได้
Algebra Rule พื้นฐาน Relational Algebra Relational Algebra Operations ขั้นพื้นฐาน Relational Calculus
Algebra Rule พื้นฐาน Relational Algebra Relational Algebra เรียกอีกอย่างว่า Relational query language ใช้ในการจัดการข้อมูลโดยการระบุตัวกระทำ กับความสัมพันธ์ที่ต้องการจัดการ ผลลัพธ์ที่ได้คือ ความสัมพันธ์ใหม่
Algebra Rule ประเภทการใช้งานของตัวกระทำกับความสัมพันธ์ มี 2 รูปแบบ คือ การใช้งานขั้นพื้นฐาน Selection เลือกแถวจากความสัมพันธ์ Projection เลือกเฉพาะคอลัมน์ที่ต้องการจากความ สัมพันธ์ Cross Product สามารถรวมความสัมพันธ์ได้ Set Difference หาความแตกต่างระหว่าง 2 ความสัมพันธ์ Union เชื่อม 2 ความสัมพันธ์เข้าด้วยกัน
Algebra Rule การใช้งานขั้นสูง intersection join division renaming
Algebra Rule ประเภทการกระทำกับความสัมพันธ์ มี 2 รูปแบบ คือ Unary Operators คือ ตัวกระทำที่ต้องการเพียงความสัมพันธ์เดียว เช่น select, project และ rename Binary Operators คือ ตัวกระทำที่ต้องการ 2 ความสัมพันธ์ เช่น union, intersection, difference และ cartesian product
Algebra Rule Relational Algebra Operations ขั้นพื้นฐาน ได้แก่ Selection operator คือ การเลือกข้อมูลความสัมพันธ์จากเงื่อนไขที่กำหนด เทียบได้กับ SELECT...FROM...WHERE ในคำสั่ง SQL Projection Operator คือ การเลือกเฉพาะบางคอลัมน์ของความสัมพันธ์ขึ้นมาแสดง Union ความสัมพันธ์ที่จะนำมาทำ Union กันได้ ก็ต่อเมื่อรูปแบบของความสัมพันธ์เหมือนกัน เทียบได้กับ SELECT…FROM…WHERE…UNION SELECT…FROM…WHERE…
Algebra Rule Difference คือ ความสัมพันธ์ที่มีความแตกต่างกัน โดยมี รูปแบบความสัมพันธ์ที่เหมือนกัน เทียบได้กับ SELECT…FROM…WHERE…MINUS SELECT…FROM…WHERE Intersection คือ ความสัมพันธ์ที่เกิดจากแถวที่ซ้ำกัน เทียบได้กับ SELECT…FROM…WHERE…INTERSECTION SELECT…FROM…WHERE Division รูปแบบของความสัมพันธ์ คือ R1/R2 ไม่นิยมใช้ แต่อาจจะใช้ในการค้นหาบางประเภท
Algebra Rule Relational Calculus เป็นการใช้คณิตศาสตร์ของตรรกะเข้ามาช่วยในการค้นหา ข้อมูล คำตอบที่ได้คือแถวของข้อมูลจากความสัมพันธ์ที่ทำให้ค่าของสมการคณิตศาสตร์มีค่าเป็น จริง
Constraints คือ ข้อบังคับหรือเงื่อนไขในการอนุญาตให้เก็บเฉพาะข้อมูลที่เหมาะสมลงในฐานข้อมูล เพื่อให้การเลือกข้อมูลจากฐานข้อมูลมีความถูกต้อง
Constraints ประเภทของเงื่อนไข Key constraint มี 2 รูปแบบ คือ คีย์หลัก ค่าจะไม่เป็น NULL และถูกใช้เป็นดัชนีในการเรียงลำดับเสมอ Unique เป็น key เอกลักษณ์อาจมีเพิ่ม นอกเหนือจาก คีย์หลักโดยจะถูกใช้เป็นดัชนีในการเรียงรายการต่อจากคีย์หลัก โดยอัตโนมัติ Referential Integrity เป็นการอ้างอิงข้อมูลจากความสัมพันธ์อื่น
Constraints Check เป็นการตรวจสอบค่าของข้อมูลในความสัมพันธ์ให้เป็นไปตามเงื่อนไข เพื่อกรองเฉพาะข้อมูลที่เหมาะสมลงไปในฐานข้อมูล Assertion เป็นการตรวจสอบค่าของข้อมูลโดยรวมของทุกความสัมพันธ์ให้เป็นไปตามเงื่อนไข
Cartesian Rule Cartesian Product Join
Cartesian Rule Cartesian Product คือ การนำแถวจากความสัมพันธ์ที่ 1 มาต่อกับแถวจากความสัมพันธ์ที่ 2 จำนวนแถวของความสัมพันธ์ผลลัพธ์ จะเท่ากับจำนวนแถวของความสัมพันธ์ที่ 1 X จำนวนแถวของความสัมพันธ์ที่ 2
Cartesian Rule Join คือ การรวมข้อมูลจากหลายความสัมพันธ์เข้าด้วยกัน มีหลายแบบดังนี้ Theta-Join คือ การ join แบบปกติซึ่งทำให้เกิดชื่อคอลัมน์ที่ซ้ำกัน Equi-Join คือ การ join แบบมีเงื่อนไข “เท่ากับ” (=) เท่านั้น และคอลัมน์ที่ซ้ำกันจะถูกแสดงเพียงครั้งเดียว Natural-Join คือ Equi-Join ที่ join ทุกคอลัมน์ที่ซ้ำกัน