340 likes | 438 Views
ฐานข้อมูลเชิงสัมพันธ์ Relation Data Model. เนื้อหา. Key Rule Algebra Rule Constraints Cartesian Rule. Key Rule. แนวคิดเรื่องโมเดลเชิงสัมพันธ์ คีย์ พื้นฐาน Relational Algebra. Key Rule. แนวคิดเรื่องโมเดลเชิงสัมพันธ์ ความสัมพันธ์ของฐานข้อมูลจะอยู่ในรูปแบบของตาราง
E N D
ฐานข้อมูลเชิงสัมพันธ์Relation Data Model
เนื้อหา 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) คือ ซุปเปอร์คีย์และไม่มีกลุ่มย่อยของคีย์ใดในคีย์แข่งขันที่สามารถเป็นซุปเปอร์คีย์ได้
Key Rule โครงสร้างของ Key
ตัวอย่าง จากตารางข้างบน : จงบอกประเภทของคีย์
Algebra Rule พื้นฐาน Relational Algebra Relational Algebra Operations ขั้นพื้นฐาน Relational Calculus
Algebra Rule พื้นฐาน Relational Algebra Relational Algebra เรียกอีกอย่างว่า Relational query language ใช้ในการจัดการข้อมูลโดยการระบุตัวกระทำ กับความสัมพันธ์ที่ต้องการจัดการ ผลลัพธ์ที่ได้คือความสัมพันธ์ใหม่
Algebra Rule ประเภทการใช้งานของตัวกระทำกับความสัมพันธ์ 1. การใช้งานขั้นพื้นฐาน Selection เลือกแถวจากความสัมพันธ์ Projection เลือกเฉพาะคอลัมน์ที่ต้องการจากความสัมพันธ์ Cross Product สามารถรวมความสัมพันธ์ได้ Set Difference หาความแตกต่างระหว่าง 2 ความสัมพันธ์ Union เชื่อม 2 ความสัมพันธ์เข้าด้วยกัน
Algebra Rule Selection (σ) การระบุเงื่อนไขสามารถทําไดโดย ใชเครื่องหมายในการเปรียบเทียบและตัวกระทําทางตรรกะรวมกันได = (เทากับ), ≠ (ไมเทากับ), < (นอยกวา), ≤ (นอยกวาหรือเทากับ), > (มากกวา), > (มากกวาหรือเทากับ) - ตัวกระทําทางตรรกะ ไดแก (and) , (or) และ (not) ตัวอย่าง σheight> 178 Player SELECT name, position, age, height, weight FROM Player WHERE height > 178
Algebra Rule Projection operator (¶) การเลือกเฉพาะบางคอลัมน์ของความสัมพันธ์ที่สนใจขึ้นมาแสดง เขียนในรูปแบบของ ¶attributes r ตัวอย่าง ¶weight, height Player SELECT weight, height FROM Player
Algebra Rule การใช้ Selection (σ)ร่วมกับ Projection operator (¶) ตัวอย่าง ¶name, position (σheight > 178Player) SELECT name, position FROM Player WHERE height > 178
Algebra Rule Union (⋃)เชื่อม 2 ความสัมพันธ์เข้าด้วยกัน ตัวอย่าง Player 2000 ⋃ Player 2001 SELECT name, position, age, height, weight FROM Player2000 UNION SELECT name, position,age, height, weight FROM Player2001
Algebra Rule Difference (-) ความสัมพันธ์ที่มีความแตกต่าง ตัวอย่าง Player2000 − Player2001 (อยู่ใน player 2000 แต่ไม่อยู่ใน 2001) SELECT name, position, age, height, weight FROM Player2000 MINUS SELECT name, position, age, height, weight FROM Player2001
ตัวอย่าง Player 2000 Player 2001
Algebra Rule 2. การใช้งานขั้นสูง Intersection การเลือกสิ่งที่ซ้ำ Join การรวมตาราง
Algebra Rule Intersection (∩) ความสัมพันธ์ที่เกิดจากแถวที่ซ้ำกัน ตัวอย่าง Player2000 ∩ Player2001 SELECT name, position, age, height, weight FROM Player2000 INTERSECT SELECT name, position, age, height, weight
Algebra Rule ประเภทการกระทำกับความสัมพันธ์ มี 2 รูปแบบ คือ Unary Operators คือ ตัวกระทำที่ต้องการเพียงความสัมพันธ์เดียว เช่น select, project (เลือกจากตารางเดียว) Binary Operators คือ ตัวกระทำที่ต้องการ 2 ความสัมพันธ์ เช่น union, intersection, difference และ Cartesian product (เลือกตั้งแต่ 2 ตาราง)
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
Algebra Rule Relational Calculus เป็นการใช้คณิตศาสตร์ของตรรกะเข้ามาช่วยในการค้นหาข้อมูล คำตอบที่ได้คือแถวของข้อมูลจากความสัมพันธ์ที่ทำให้ค่าของสมการคณิตศาสตร์มีค่าเป็น จริง
Constraints คือ ข้อบังคับหรือเงื่อนไขในการอนุญาตให้เก็บเฉพาะข้อมูลที่เหมาะสมลงในฐานข้อมูล เพื่อให้การเลือกข้อมูลจากฐานข้อมูลมีความถูกต้อง ได้แก่ Key constraint Not Null constraint Referential Integrity constraint Check Assertion constraint
Constraints ประเภทของเงื่อนไข Key constraintมี 2 รูปแบบ คือ คีย์หลัก ค่าจะไม่เป็น NULL และถูกใช้เป็นดัชนีในการเรียงลำดับเสมอ Unique เป็น key เอกลักษณ์อาจมีเพิ่ม นอกเหนือจาก คีย์หลักโดยจะถูกใช้เป็นดัชนีในการเรียงรายการต่อจากคีย์หลัก โดยอัตโนมัติ Referential Integrity เป็นการอ้างอิงข้อมูลจากความสัมพันธ์อื่น
Constraints Check เป็นการตรวจสอบค่าของข้อมูลในความสัมพันธ์ให้เป็นไปตามเงื่อนไข เพื่อกรองเฉพาะข้อมูลที่เหมาะสมลงไปในฐานข้อมูล Assertion เป็นการตรวจสอบค่าของข้อมูลโดยรวมของทุกความสัมพันธ์ให้เป็นไปตามเงื่อนไข
Cartesian Rule Cartesian Product Join
Cartesian Rule Cartesian Product คือ การนำแถวจากความสัมพันธ์ที่ 1 มาต่อกับแถวจากความสัมพันธ์ที่ 2 จำนวนแถวของความสัมพันธ์ผลลัพธ์ จะเท่ากับจำนวนแถวของความสัมพันธ์ที่ 1 คูณจำนวนแถวของความสัมพันธ์ที่ 2
Cartesian Rule R S R X S
Cartesian Rule Join คือ การรวมข้อมูลจากหลายความสัมพันธ์เข้าด้วยกัน มีหลายแบบดังนี้ Theta-Join คือ การ join แบบปกติซึ่งทำให้เกิดชื่อคอลัมน์ที่ซ้ำกัน Equi-Join คือ การ join แบบมีเงื่อนไข “เท่ากับ” (=) เท่านั้น และคอลัมน์ที่ซ้ำกันจะถูกแสดงเพียงครั้งเดียว Natural-Join คือ Equi-Join ที่ join ทุกคอลัมน์ที่ซ้ำกัน
Cartesian Rule ใช้ Join เพื่อคนหารายละเอียดเกี่ยวกับที่ทํางานของพนักงานทุกคน EMP DEPT EMP ผลลัพธจากการ Join ความสัมพันธ EMP และ DEPTINFO โดยใชเงื่อนไข DEPT=DEPT