ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
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 ที่เก็บข้อมูลอยู่จริง
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
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.