งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ฐานข้อมูลเชิงสัมพันธ์ Relational Database

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ฐานข้อมูลเชิงสัมพันธ์ Relational Database"— ใบสำเนางานนำเสนอ:

1 ฐานข้อมูลเชิงสัมพันธ์ Relational Database

2 ระบบฐานข้อมูล (Database System)
ประเภทของฐานข้อมูลแบ่ง 3 ประเภทได้แก่ โครงสร้างแบบตามลำดับชั้น (Hierarchical Model) โครงสร้างแบบเครือข่าย (Network Model) โครงสร้างแบบเชิงสัมพันธ์ (Relational Model)

3 ระบบฐานข้อมูล (Database System)
โครงสร้างแบบตามลำดับชั้น (Hierarchical Model) ระดับรูทโหนด (root node) มหาวิทยาลัยมหาสารคาม โหนดพ่อแม่ (parent node) คณะวิทยาการสารสนเทศ คณะการบัญชีและการจัดการ โหนดลูก (Child node) ICT MC CS BBA B.Econ โครงสร้างแบบตามลำดับชั้น (Hierarchical Model)

4 ระบบฐานข้อมูล (Database System)
โครงสร้างแบบเครือข่าย (Network Model) คณะวิทยาการสารสนเทศ วิชา Database วิชา Math นิสิต 1 นิสิต 2 วิชา Advance Database นิสิต 3 นิสิต n วิชา ITM ……. รูปที่ 1_2 โครงสร้างแบบเครือข่าย (Network Model)

5 ระบบฐานข้อมูล (Database System)
โครงสร้างแบบเชิงสัมพันธ์ (Relational Model) โครงสร้างแบบแบบเชิงสัมพันธ์ (Relational Model)

6 ฐานข้อมูลเชิงสัมพันธ์
ฐานข้อมูลเชิงสัมพันธ์เป็นรูปแบบของฐานข้อมูลที่คิดค้นโดย อี เอฟ คอดด์ (E.F. Codd) เมื่อปี 1970 ฐานข้อมูลเชิงสัมพันธ์เป็นรูปแบบฐานข้อมูลที่เข้าใจง่ายสำหรับผู้ใช้ ไม่ซับซ้อน  เป็นรูปแบบฐานข้อมูลที่มีระบบจัดการฐานข้อมูล (Database Management Systems: DBMS) สนับสนุนในการจัดการฐานข้อมูลมากมาย อาทิเช่น DB2, ORACLE, INFORMIX, Power-Builder, INGRES ทำให้การจัดการฐานข้อมูลเชิงสัมพันธ์ สามารถตอบสนองความต้องการของผู้ใช้ในเรื่องการจัดการฐานข้อมูลของระบบได้อย่างมีประสิทธิภาพ Relational Database

7 ฐานข้อมูลเชิงสัมพันธ์
โมเดลนี้มีวัตถุประสงค์เพื่อรักษาความเป็นอิสระของข้อมูล (Data Independence) และความเป็นอิสระของโครงสร้างข้อมูลในแต่ละระดับ (Structural Independence) กล่าวคือโปรแกรมประยุกต์ใช้งานจะไม่ถูกกระทบ หากมีการปรับเปลี่ยนสถาปัตยกรรมด้านกายภาพ เช่นการปรับเปลี่ยนโครงสร้างการจัดเก็บหรือเรียกใช้ข้อมูลจากแฟ้มในหน่วยความจำสำรองก็จะไม่กระทบโปรแกรมประยุกต์ใช้งาน มีคุณสมบัติที่ช่วยลดความซ้ำซ้อน ตลอดจนปัญหาที่เกิดจากการปรับปรุง เพิ่ม ลบข้อมูล ด้วยแนวคิดในการทำให้เป็นบรรทัดฐาน (Normalization) มาใช้ในการออกแบบ Relational Database

8 ฐานข้อมูลเชิงสัมพันธ์ (Relational database)
ฐานข้อมูลเชิงสัมพันธ์ นั้นจะอยู่ในรูปแบบของตาราง 2 มิติประกอบ ด้วย แถว (ROW) และ คอลัมน์ (COLUMN) คอลัมน์ (COLUMN) แถว (ROW)

9 โครงสร้างฐานข้อมูลเชิงสัมพันธ์
เป็นฐานข้อมูลที่มีโครงสร้างข้อมูลแบบ Relational Model คือฐานข้อมูลจะประกอบด้วยตาราง (Relation) ที่มีความสัมพันธ์กัน ภาพที่ 3.1 โครงสร้างของตาราง Relational Database

10 โครงสร้างฐานข้อมูลเชิงสัมพันธ์
Relation เป็นตารางสองมิติ ที่ประกอบด้วย Tuple และ Attribute เพื่อจัดเก็บข้อมูลต่าง ๆ รูปแบบของ Relation สามารถเขียนแทนด้วยสัญลักษณ์ดังนี้ Relational Database

11 โครงสร้างฐานข้อมูลเชิงสัมพันธ์
Attribute เป็นคอลัมน์ใน Relation จากภาพที่ 5 ประกอบด้วย 4 Attribute Relational Database

12 โครงสร้างฐานข้อมูลเชิงสัมพันธ์
Tuple เป็นแถวในแต่ละ Relation จากภาพที่ 5 ประกอบด้วย 5 Tuple ประกอบด้วยตัวอย่างข้อมูลดังนี้ Relational Database

13 โครงสร้างฐานข้อมูลเชิงสัมพันธ์
Domain เป็นการกำหนดขอบเขตค่าข้อมูลและชนิดข้อมูลของแต่ละ Attribute ที่สามารถเป็นไปได้ จากภาพที่ 5 Domain ของ SEX คือกลุ่มของเพศทั้งหมดที่เป็นไปได้คือ M และ F เท่านั้น Relational Database

14 โครงสร้างฐานข้อมูลเชิงสัมพันธ์
Degree เป็นจำนวนของ Attribute ใน Relation ค่าของดีกรีมักจะไม่มีการเปลี่ยนแปลง จากภาพที่ 3.1 ประกอบด้วย 4 Degree Relational Database

15 โครงสร้างฐานข้อมูลเชิงสัมพันธ์
Cardinality เป็นจำนวน Tuple ที่บรรจุอยู่ใน Relation และมีความสัมพันธ์ใน Tuple ของอีก Relation หนึ่ง Relational Database

16 โครงสร้างฐานข้อมูลเชิงสัมพันธ์
ศัพท์ทางเทคนิคในฐานข้อมูลจะมีชื่อเรียกที่แตกต่างกัน แต่มีความหมายเดียวกัน ดังนี้ Relational Database

17 ข้อดีของฐานข้อมูลเชิงสัมพันธ์
เป็นโมเดลที่สอดคล้องกับหลักการของฐานข้อมูล คือผู้ใช้ไม่ต้องยุ่งเกี่ยวในเรื่องของโครงสร้างทางกายภาพในระดับภายใน (Internal Level) เพราะตารางเป็นข้อมูลในระดับความคิด สามารถใช้แบบสอบถาม (Query) ในลักษณะของการประมวลผลหลายรายการข้อมูล (Record) ได้ในครั้งเดียว ใช้ภาษาแบบสอบถามที่เป็นมาตรฐานคือ SQL (Structured Query Language) Relational Database

18 คุณสมบัติของ Relation (Properties of Relations)
Attribute ของ Relation มีได้เพียงค่าเดียว (Single Value) ชื่อใน Attribute ต้องแตกต่างกัน ซ้ำกันไม่ได้ ค่าของข้อมูลใน Attribute เป็นไปตามข้อกำหนดของ Domain ใน Attribute นั้น ๆ การเรียงลำดับของ Attribute ไม่มีความสำคัญใดๆ Tuple ต้องมีความแตกต่างกัน จะไม่มี Tuple ที่ซ้ำกัน การเรียงลำดับของ Tuple ไม่มีความสำคัญใด ๆ Relational Database

19 ประเภทของรีเลชั่น Relation ที่ถูกกำหนดขึ้นเพื่อเก็บข้อมูลเพื่อนำไปใช้
1. รีเลชั่นหลัก (Base Relation) Relation ที่ถูกกำหนดขึ้นเพื่อเก็บข้อมูลเพื่อนำไปใช้ โดย Base Relation จะเป็น relation ที่เก็บข้อมูลอยู่จริง

20

21 ประเภทของรีเลชั่น 2. วิว (View) Relation ที่ถูกสร้างขึ้นตามความต้องการของผู้ใช้งานแต่ล่ะคน โดยจะกำหนด view ของตนขึ้นมาจากรีเลชั่นหลัก

22 Virtual Table Or Derived Table

23 ความสัมพันธ์ของข้อมูล
ความสัมพันธ์ของข้อมูลแบ่งเป็น 3 ประเภท คือ ซึ่งในการออกแบบ ฐานข้อมูลที่มีโครงสร้างเชิงสัมพันธ์ หรือ (Relation database) ก็คือการออกแบบ เทเบิลเพื่อเก็บข้อมูลกลุ่มต่าง ๆ โดยจะต้องสามารถกำหนดความสัมพันธ์ให้ระหว่างกลุ่มข้อมูลเหล่านั้น 1) ความสัมพันธ์แบบ 1:1 (One to One ) 2) ความสัมพันธ์แบบ 1:N (One to Many) 3) ความสัมพันธ์แบบ M:N (Many to Many)

24 คีย์ (Keys) เมื่อฐานข้อมูลมีขนาดใหญ่ก็จะมีข้อมูลจำนวนมากขึ้น ข้อมูลเหล่านี้อาจมีค่าแตกต่างกัน คล้ายกัน หรือแม้กระทั่งเหมือนกัน ทำให้การแยกแยะโดยอาศัยเพียงตัวข้อมูลอย่างเดียวทำได้อย่างยากลำบาก ดังนั้นจึงมีการกำหนดค่า Keys ประจำข้อมูลเพื่อทำให้การแยกแยะข้อมูลในฐานข้อมูลเป็นไปอย่างถูกต้อง คุณสมบัติหนึ่งที่สำคัญของความสัมพันธ์ก็คือ ความเป็นเอกลักษณ์ (Uniqueness property) สิ่งที่ใช้กำหนดความเป็นเอกลักษณ์ของแถวในความสัมพันธ์ เรียกว่า Keys Relational Database

25 ประเภทของคีย์ Keys เพื่อเพิ่มประสิทธิภาพในการจัดการฐานข้อมูล เช่นการอ้างอิง การค้นหา การแก้ไขข้อมูลในแถวใด ๆ หรือการกำหนดความสัมพันธ์ระหว่าง เทเบิล ประเภทของคีย์ อาจแบ่งเป็น 5 ประเภทหลัก คือ คีย์หลัก (Primary Key) คีย์ผสม (Composite Key หรือ Compound Key) 3) คีย์ลำดับรอง (Secondary Key) 4) คีย์คู่แข่ง (Candidate Key) 5) คีย์นอก (Foreign Key)

26 คีย์ (Keys) คีย์หลัก (Primary Key: PK)
Key ที่ใช้ในการอ้างถึง Entity ในฐานข้อมูล โดยที่ Key นั้นจะต้องได้มาจาก Attribute ที่มีคุณสมบัติของข้อมูลที่เป็นค่าเอกลักษณ์ (Unique) หรือมีค่าที่ไม่ซ้ำซ้อนกัน Primary Key เป็นข้อมูลสำคัญที่จะทำให้การเข้าถึงข้อมูลบนฐานข้อมูลเป็นไปได้อย่างรวดเร็ว ดังนั้นผู้ใช้จึงควรกำหนด Primary Key ให้ชัดเจนตั้งแต่ขั้นตอนออกแบบฐานข้อมูล Relational Database

27 คีย์ (Keys) คีย์ผสม (Composite Key)
ใน Relation อาจประกอบด้วย Attribute ที่มีคุณสมบัติเป็น Primary Key ได้มากกว่า 1 Attribute ดังนั้นเมื่อนำ Attribute มารวมกัน จะทำให้ Attribute นั้นมีคุณสมบัติที่เป็นเอกลักษณ์ Relational Database

28 คีย์ (Keys) คีย์รอง (Secondary Key)
หมายถึง Attribute ที่ไม่ใช่ Primary Key แต่สามารถใช้ในการสืบค้นข้อมูล จัดเรียงข้อมูล จาก Relation โดยที่ Secondary Key ไม่จำเป็นต้องมีค่าเป็นเอกลักษณ์ Relational Database

29 คีย์ (Keys) คีย์คู่แข่ง (Candidate Key)
หมายถึง Attribute ที่มีคุณสมบัติที่สามารถนำมาเป็นคีย์หลักได้ ซึ่งสามารถประกอบด้วย Attribute เดียว หรือมากกว่า 1 Attribute ก็ได้ แต่ถ้าประกอบด้วย Attribute มากกว่า 1 Attribute จะเรียกว่า Composite Key ดังนั้นจึงไม่อนุญาตให้ส่วนประกอบของ Key เป็นค่าว่างได้ (Null Value) Relational Database

30 คีย์ (Keys) คีย์นอก (Foreign Key)
หมายถึง Attribute ใน Relation หนึ่งที่ใช้อ้างอิงไปยัง Attribute ที่ทำหน้าที่เป็น Primary Key ของอีก Relation หนึ่งที่มีความสัมพันธ์กัน Relational Database

31 ตัวอย่าง Key แบบต่าง ๆ Relational Database

32 กฎความคงสภาพ (Integrity Rule)
หมายถึงกฎเกณฑ์ที่กำหนดขึ้นมาสำหรับรักษาคุณสมบัติของความเป็นตาราง และความสัมพันธ์ระหว่างตาราง แบ่งออกเป็น 2 แบบคือ กฎความคงสภาพของ Entity (Entity Integrity Rule) กฎความคงภาพของการอ้างอิง (Referential Integrity Rule) Relational Database

33 กฎความคงสภาพ (Integrity Rule)
กฎความคงสภาพของ Entity (Entity Integrity Rule) ใช้สำหรับรักษาคุณสมบัติของความเป็น Relation นั่นคือ Attribute ที่เป็น Primary Key จะต้องมีค่าที่มีความเป็นเอกลักษณ์ และเป็นค่าว่างไม่ได้ หมายถึง Primary Key จะไม่มีค่าไม่ได้ Relational Database

34 กฎความคงสภาพ (Integrity Rule)
กฎความคงภาพของการอ้างอิง (Referential Integrity Rule) ใช้สำหรับรักษาความสัมพันธ์ระหว่าง Relation นั่นคือ ถ้า R1 เป็น Relation ที่มี Foreign Key ที่อ้างอิงถึง Primary Key ใน Relation R2 ค่าของ Foreign Key ใน R1 จะต้องมีค่าเท่ากับ Primary Key ของ Tuple ใด Tuple หนึ่งใน R2 หมายถึงค่าของ Foreign Key จะต้องสามารถอ้างอิงให้ตรงกับค่าของ Primary Key ได้ จึงจะอ้างอิงข้อมูลระหว่างสอง Relation ได้ Relational Database

35 กฎความคงสภาพ (Integrity Rule)
Relational Database

36 การรักษากฎความคงสภาพ
แบ่งออกเป็น 3 ประเภทคือ กระทำแบบเป็นทอด ๆ (Cascade) ยอมแบบมีเงื่อนไข (Restricted) เปลี่ยนเป็นค่าว่าง (Nullify) Relational Database

37 การรักษากฎความคงสภาพ
กระทำแบบเป็นทอด ๆ (Cascade) เป็นการอนุญาตให้ ลบ หรือแก้ไขข้อมูลของ Primary Key ในตารางที่ถูกอ้างอิงจากตารางอื่น ซึ่ง DBMS จะอนุญาตให้ทำการลบ หรือแก้ไขข้อมูลนั้นได้ แต่ DBMS จะทำการแก้ไข หรือลบข้อมูลในตารางที่มีความสัมพันธ์ทั้งหมด Relational Database

38 การรักษากฎความคงสภาพ
ยอมแบบมีเงื่อนไข (Restricted) การอนุญาตให้ ลบ หรือแก้ไขข้อมูลจะทำได้ก็ต่อเมื่อ ข้อมูลของ Primary Key ใน Relation หนึ่งไม่มีข้อมูลที่ถูกอ้างอิงในอีก Relation หนึ่ง Relational Database

39 การรักษากฎความคงสภาพ
เปลี่ยนเป็นค่าว่าง (Nullify) ถ้าต้องการลบ หรือแก้ไขข้อมูลของ Primary Key ตัว DBMS เปลี่ยนแปลงค่า Foreign Key ของตารางที่อ้างอิง ให้กลายเป็นค่าว่าง Relational Database

40 Relational Algebra Relational Algebra ใช้ในการจัดการข้อมูลโดยระบุตัวกระทำ (operand) กับความสัมพันธ์ที่ต้องการจัดการ จะได้ผลลัพธ์ออกมาเป็นความสัมพันธ์ใหม่ Relational Algebra เรียกได้อีกอย่างว่าเป็น Relational query language ที่ประกอบไปด้วยรูปแบบที่ใช้ในการจัดการและค้นหาข้อมูลจากฐานข้อมูลเชิงสัมพันธ์ Query language ในที่นี้ไม่ใช่ Programming language ดังนั้นจึงไม่ได้สนับสนุนการคำนวณที่ซับซ้อนนัก แต่สนับสนุนการเข้าถึงข้อมูลขนาดใหญ่ด้วยวิธีง่ายๆ และมีประสิทธิภาพ Relational Database

41 Query language ที่ใช้กับฐานข้อมูลเชิงสัมพันธ์ มี 2 รูปแบบ
Relational Algebra ประกอบด้วยตัวกระทำต่างๆ ซึ่งมีประโยชน์มากในการจัดการฐานข้อมูลเชิงสัมพันธ์ Relational Calculus เป็นภาษาที่อาศัยหลักการทางตรรกะคณิตศาสตร์เพื่อการจัดการข้อมูล Relational Database

42 Relational Algebra แบ่งตามประเภทการใช้งาน
การใช้งานขั้นพื้นฐาน ได้แก่ Selection, Projection Cross-product, Difference, Union การใช้งานขั้นสูง ได้แก่ Intersection, Join, Renaming Relational Database

43 Relational Algebra แบ่งตามการกระทำกับความสัมพันธ์
Unary operators คือ ตัวกระทำที่ต้องการเพียงความสัมพันธ์เดียว เช่น select, project และ rename Binary operators คือ ตัวกระทำที่ต้องการสองความสัมพันธ์ เช่น Union, Intersection, Difference และ Cartesian-product (Join) Relational Database

44 Selection แสดงทุกฟิลด์ในตารางตามเงื่อนไขที่กำหนดใช้สัญลักษณ์ (sigma)
รูปแบบ เครื่องหมายเปรียบเทียบได้แก่ ตัวกระทำทางตรรกะได้แก่ , , Relational Database

45 ตัวอย่างการใช้งาน Selection
สร้าง Relational Algebra และแสดงผลลัพธ์ในรูปของตาราง Relational Database

46 ตัวอย่างการใช้งาน Selection
จากตาราง Player2000 จงหาผู้เล่นที่เล่นตำแหน่งกองหน้า จะได้ ผลลัพธ์ ได้ Relation ใหม่ หรือ วิว ดังนี้ Relational Database

47 ตัวอย่างการใช้งาน Selection
จากตาราง Player2000 จงหาผู้เล่นที่สูงตั้งแต่ 175 ขึ้นไป และน้ำหนักไม่เกิน 80 ผลลัพธ์ ได้ Relation ใหม่ หรือ วิว ดังนี้ Relational Database

48 Projection แสดงข้อมูลทุกเรคคอร์ดแต่เลือกมาเป็นบางฟิลด์ (pi) รูปแบบ
Relational Database

49 ตัวอย่างการใช้งาน Projection
จากตาราง Player2000 จงแสดง ตำแหน่ง อายุ และส่วนสูง ผลลัพธ์ ได้ Relation ใหม่ หรือ วิว ดังนี้ Relational Database

50 การใช้ Selection ร่วมกับ Projection
จากตาราง Player2000 จงแสดง ชื่อและตำแหน่ง เฉพาะผู้เล่นที่สูงกว่า 170 ผลลัพธ์ ได้ Relation ใหม่ หรือ วิว ดังนี้ Relational Database

51 Union สัญลักษณ์ที่ใช้ U รูปแบบ
R1 U R2 โดย ที่ R1 และ R2 คือรีเลชั่นและต้องมีโครงสร้างเหมือนกัน ผลลัพธ์ที่ได้ คือการนำเรคคอร์ดจากทั้งสองรีเลชั่นมารวมกัน ยกเว้นเรคคอร์ดที่ซ้ำกัน Relational Database

52 ตัวอย่างการใช้ Union จากตาราง Player2000 และ Player2001 จงหาผลลัพธ์ของ
Player2000 U Player2001 ผลลัพธ์ที่ได้ Relational Database

53 Intersection สัญลักษณ์ที่ใช้ รูปแบบ
R R2 โดย ที่ R1 และ R2 คือรีเลชั่นและต้องมีโครงสร้างเหมือนกัน ผลลัพธ์ที่ได้ คือเลือกเรคคอร์ดจากทั้งสองรีเลชั่นที่เหมือนกันเท่านั้น Relational Database

54 ตัวอย่างการใช้ Union จากตาราง Player2000 และ Player2001 จงหาผลลัพธ์ของ
ผลลัพธ์ที่ได้ Relational Database

55 Difference สัญลักษณ์ที่ใช้ - รูปแบบ
R R2 โดย ที่ R1 และ R2 คือรีเลชั่นและต้องมีโครงสร้างเหมือนกัน ผลลัพธ์ที่ได้ คือเลือกเรคคอร์ดที่อยู่ใน R1 แต่ไม่อยู่ใน R2 Relational Database

56 ตัวอย่างการใช้ Difference
จากตาราง Player2000 และ Player2001 จงหาผลลัพธ์ของ Player Player2001 ผลลัพธ์ที่ได้ คือ อยู่ใน Player2000 แต่ไม่อยู่ใน Player2001 Relational Database

57 Cross-Product สัญลักษณ์ที่ใช้ x รูปแบบ
R1 x R2 เป็นการนำแต่ละเรคคอร์ดจาก R1 จับคู่กับทุกเรคคอร์ดใน R2 R1 R2 Relational Database

58 ตัวอย่างการใช้ Cross-Product
จากตาราง R และ S จงหา ผลลัพธ์ของ R x S Relational Database

59 ตัวอย่างการใช้ Cross-Product
ผลลัพธ์ที่ได้ Relational Database

60 Join ใช้สัญลักษณ์ รูปแบบการใช้งาน
คล้ายกับ Cross-Product แต่ต่างกันตรงที่ ต้องตรงเงื่อนไขเท่านั้น ถึงจะจับคู่กัน และใช้กับเฉพาะรีเลชั่นที่มีความสัมพันธ์กันเท่านั้น รูปแบบการใช้งาน R R2 ฟิลด์ = ฟิลด์ Relational Database

61 ตัวอย่างการใช้ Join จงหาผลลัพธ์ของ EMP DEPT Dept = Dept
Relational Database

62 Join ผลลัพธ์ที่ได้ Relational Database


ดาวน์โหลด ppt ฐานข้อมูลเชิงสัมพันธ์ Relational Database

งานนำเสนอที่คล้ายกัน


Ads by Google