Download
database management system n.
Skip this Video
Loading SlideShow in 5 Seconds..
ระบบการจัดการฐานข้อมูล DATABASE MANAGEMENT SYSTEM PowerPoint Presentation
Download Presentation
ระบบการจัดการฐานข้อมูล DATABASE MANAGEMENT SYSTEM

ระบบการจัดการฐานข้อมูล DATABASE MANAGEMENT SYSTEM

831 Vues Download Presentation
Télécharger la présentation

ระบบการจัดการฐานข้อมูล DATABASE MANAGEMENT SYSTEM

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. ระบบการจัดการฐานข้อมูลDATABASE MANAGEMENT SYSTEM 4123201

  2. คำอธิบายรายวิชา • ความรู้เกี่ยวกับระบบฐานข้อมูล การประยุกต์ Link Lists ความสัมพันธ์ระหว่าง Record ในฐานข้อมูล การใช้ Key มากกว่า 1 Key ในการประมวลผล รูปแบบ Relation ระบบ Hierarchy และระบบ Network การป้องกันข้อมูล ระบบการสำรองข้อมูลและการเรียกคืน การวิเคราะห์ออกแบบข้อมูล การบริหารฐานข้อมูล

  3. การวัดผลการเรียน • • สอบกลางภาค 30 คะแนน • • เข้าเรียน 10 คะแนน • • Project 30 คะแนน • คะแนนปลายภาค 30

  4. การประเมินผลการเรียน • ตามเกณฑ์ • ระดับคะแนน A = 80 - 100 • ระดับคะแนน B+ = 75 – 79 • ระดับคะแนน B = 70 – 74 • ระดับคะแนน C+ = 65 – 69 • ระดับคะแนน C = 60 – 64 • ระดับคะแนน D+ = 55 – 59 • ระดับคะแนน D = 50 – 54 • ระดับคะแนน E = 0 - 49

  5. Part I Introduction

  6. Student Database โครงสร้างลำดับชั้นข้อมูล Course File Financial File Database Personal History File Course File Name Course Date Grade File John Stewart IS101 F01 B+ Karen Taylor IS101 F02 A Emily Vincent IS101 F01 C Name Course Date Grade Record John Stewart IS101 F01 B+ John Stewart Field 01001010 (เท่ากับอักษร J ในตาราง ASCII) Byte 0 Bit

  7. โครงสร้างแฟ้มข้อมูล ฟิลด์ เรคอร์ด ไบต์ รหัสผู้ใช้ ชื่อ - นามสกุล เพศ ที่อยู่ เบอร์ติดต่อ วันเกิด B00514 สุวารี ใจสบาย ญ 34 คลองสาน 025478556 12/01/1977 A00128 กนก ยินดีช 126 บางพลัด 026441255 09/07/1986 A01245 เพ็ญศรี สุขสมญ 49/2 จตุจักร 014544255 05/11/1971 C13244 บุญมี ยินดีช 66 ลาดพร้าว 066458554 26/04/1980 . . . . . . . . . . . . . . . . . ไฟล์

  8. ความสำคัญของข้อมูล เบอร์โทรต้นทาง เบอร์โทรปลายทาง เวลาที่โทรออก วันที่ File คำนวณค่าใช้จ่าย

  9. เก็บไฟล์อย่างไร FILE 086110649408171590901415141602032546 08988211360258324780536054202032546 081594625508151223620821084003032546 08662312210251487871121113204032546 081455684508985595121311132304032546 RECORD . . . . . . . . . . เบอร์โทร เบอร์ปลายทาง เริ่มต้น สิ้นสุด วันที่ FIELD

  10. ตารางที่ 2 เบอร์โทร ชื่อ-นามสกุล ที่อยู่ เบอร์ติดต่อ อีเมล์ ตารางที่ 3 เบอร์โทร ปัญหา แก้ไข ผู้รับผิดชอบ วันที่ เวลา ตารางที่ 1 เบอร์โทร เบอร์ปลายทาง เวลาเริ่มต้น เวลาสิ้นสุด วันที่ DATABASE

  11. แผนกบัญชี แผนกประชาสัมพันธ์ ฝ่ายบริหาร DBMS Database system DATABASE

  12. ระบบการจัดการฐานข้อมูลระบบการจัดการฐานข้อมูล Database management systems : DBMS • ซอฟท์แวร์ระบบชนิดหนึ่ง ที่ถูกสร้างขึ้นมาเพื่อจัดการ ข้อมูลในฐานข้อมูล เป็นตัวกลางระหว่างผู้ใช้กับฐานข้อมูล • ส่วนประกอบของDBMS • SQL (Structure Query Language) • โปรแกรมอำนวยความสะดวก (General Utilities) • โปรแกรมช่วยสร้างโปรแกรมประยุกต์และรายงาน • (Applicaton and Report Generators) • พจนานุกรมข้อมูล (Data Dictionary)

  13. ระบบการจัดการฐานข้อมูลระบบการจัดการฐานข้อมูล Database management systems : DBMS ความสามารถเบื้องต้น • สร้างตารางข้อมูล • เพิ่ม ปรับปรุง เรียกค้นข้อมูล • เก็บรายละเอียดเกี่ยวกับข้อมูลไว้ใน data dictionary • มีระบบเสริมการทำงาน • มีระบบสำรองข้อมูล • สนับสนุนเครื่องมือการทำรายงาน

  14. ซอฟท์แวร์ระบบจัดการฐานข้อมูล

  15. องค์ประกอบของระบบฐานข้อมูลองค์ประกอบของระบบฐานข้อมูล ฮาร์ดแวร์ - หน่วยนำข้อมูลเข้า - หน่วยนำข้อมูลออก - หน่วยประมวลผลกลาง - หน่วยเก็บข้อมูลสำรอง - อุปกรณ์การสื่อสาร • ซอฟท์แวร์ • - โปรแกรมจัดการฐานข้อมูล ข้อมูล ฐานข้อมูล บุคลากร - ผู้ใช้งาน - ผู้ควบคุมระบบ - ผู้พัฒนาโปรแกรม ขั้นตอนการดำเนินงาน - ขั้นตอนการปฏิบัติการของผู้ปฏิบัติงาน

  16. สถาปัตยกรรมของระบบฐานข้อมูลสถาปัตยกรรมของระบบฐานข้อมูล ... วิว1 ระดับภายนอก วิว2 วิวn External level สกีมม่า (Schema) (Global logical view) ระดับแนวคิด Conceptual level Physical Storage of data ระดับภายใน Internal level

  17. ประโยชน์ของสถาปัตยกรรม 3 ระดับ • มุมมองข้อมูลของผู้ใช้งาน • ทำให้ผู้ใช้งานไม่ต้องสนใจว่าข้อมูลจะถูกเก็บอย่างไรในดิสค์ เมื่อต้องการข้อมูลก็สามารถอ้างถึงตารางและเขตข้อมูลนั้น ๆ ได้โดยตรง ซึ่ง DBMS จะทำหน้าที่ดูว่าข้อมูลที่ต้องการนั้นเก็บอยู่ ณ ตำแหน่งใด (track ใด cylinder ใด ในดิสค์ และทำการดึงข้อมูลนั้นจากดิสก์มาให้แก่ผู้ใช้) • ความเป็นอิสระกันของข้อมูล • การเปลี่ยนแปลงข้อมูลในระดับแนวคิดไม่มีผลกระทบกับโปรแกรมประยุกต์ที่ผู้ใช้เขียนขึ้นในระดับภายนอก • การเปลี่ยนแปลงวิธีการเก็บข้อมูลในสื่อ ไม่มีผลกระทบกับการเก็บข้อมูลระดับแนวคิด

  18. Part II Relational Database

  19. ฐานข้อมูลเชิงสัมพันธ์(Relational database) • ปี ค.ศ.1970 โดย ดร.เอดการ์ คอดด์ (Edgar F. Codd) • เป็นรูปแบบที่ทำความเข้าใจได้ง่าย • สามารถจัดการกับข้อมูลได้โดยใช้คำสั่งง่าย ๆ • ส่วนของการติดต่อกับผู้ใช้ กับส่วนของการเก็บข้อมูลจริงนั้นมีความเป็นอิสระต่อกัน นั่นคือในมุมมองของผู้ใช้จะไม่รู้สึกถึงรายละเอียดที่ซับซ้อนของการเก็บจริง

  20. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ ศัพท์ที่เกี่ยวข้อง • รีเลชั่น (Relation) • แอทตริบิวต์ (Attribute) • โดเมน (Domain) • ทัพเพิล (Tuple) • ดีกรี (Degree) • คาร์ดินัลลิตี้ (Cardinality)

  21. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ • รีเลชั่น หมายถึง การกำหนดตารางที่ประกอบด้วยคอลัมน์และแถว หรือตาราง 2 มิติ • ตาราง (table)

  22. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ ลักษณะของรีเลชั่น • เป็นตาราง 2 มิติ • แต่ละช่องของตารางต้องบรรจุข้อมูลเพียงค่าเดียว • ไม่จำเป็นต้องเรียงลำดับคอลัมน์ หรือแถวใด ๆ • ข้อมูลในแต่ละแถวต้องไม่ซ้ำกัน • ข้อมูลในแต่ละคอลัมน์จะต้องเป็นข้อมูลประเภทเดียวกัน

  23. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ • แอทตริบิวต์ คือ คุณสมบัติของรีเลชั่น หรือคอลัมน์ของตารางนั่นเอง หรืออาจเทียบได้กับฟิลด์ในแฟ้มข้อมูล • นักศึกษา (รหัสนักศึกษา, ชื่อ-นามสกุล, เพศ, เบอร์ติดต่อ)

  24. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ • Composite attribute หรือ แอทตริบิวต์ผสม • แอทตริบิวต์ที่ประกอบขึ้นมาจากข้อมูลมากกว่า 1 ค่า เป็นการรวมหลายแอทตริบิวต์เข้าด้วยกัน สามารถนำไปแยกให้กลายเป็นแอทตริบิวต์เดี่ยวได้ เช่น แอทตริบิวต์ที่อยู่ ซึ่งประกอบด้วย บ้านเลขที่ ถนน อำเภอ จังหวัด รหัสไปรษณีย์ แยกได้ถึง 5 แอทตริบิวต์ • Derived atrribute หรือ แอทตริบิวต์ที่แปลค่ามา • แอทตริบิวต์ที่อาจไม่มีข้อมูลใด ๆ แต่จะได้ค่าข้อมูลมาจากการคำนวณจากแอทตริบิวต์อื่น เช่น แอทตริบิวต์อายุการทำงาน คำนวณมาจาก แอทตริบิวต์วันเริ่มทำงาน ลบกับวันที่ปัจจุบัน เป็นต้น

  25. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ • โดเมน (Domain) • คือการระบุขอบเขตข้อมูลที่เป็นไปได้ให้แก่แอทตริบิวต์ หนึ่ง ๆ เพื่อเป็นการรับประกันความถูกต้องข้อมูลในระดับหนึ่ง • โดเมนของแอทตริบิวต์เพศ คือ ชาย หรือ หญิง อย่างใดอย่างหนึ่งเท่านั้น • โดเมนของเงินเดือนอาจารย์จะต้องมีค่าไม่เป็นศูนย์ และ ไม่ติดลบ • โดเมนของชื่อสมาชิกจะต้องเป็นตัวอักษรเท่านั้น

  26. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ ทัพเพิล (Tuple) คือ แถว หรือระเบียน ในตาราง ดีกรี (Degree) คือ จำนวนแอทตริบิวต์ในรีเลชั่น ดีกรีอาจชี้ให้เห็นถึงความละเอียดของรายการข้อมูลก็ได้ คาร์ดินัลลิตี้ (Cardinality) คือจำนวนแถว หรือจำนวนทัพเพิล ภายในตารางหนึ่ง ๆ คาร์ดินัลลิตี้ชี้ให้เห็นถึงจำนวนรายการข้อมูลในตารางหนึ่ง ๆ

  27. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ • คีย์หลัก (Primary key) • แอทตริบิวต์ที่ใช้เพื่อการเจาะจงข้อมูลแถวใดแถวหนึ่งในตาราง โดยที่คีย์หลัก อาจประกอบด้วยแอทตริบิวต์ 1 ตัวหรือมากกว่า 1 ตัว ที่สามารถใช้เป็นตัวเจาะจงบอกว่ากำลังอ้างอิงถึงทัพเพิลไหนหรือแถวไหน • อาศัยคีย์หลักเพื่อชี้เฉพาะเจาะจงว่าต้องการระบุถึงข้อมูลแถวใดแถวหนึ่งในรีเลชั่น

  28. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ คุณสมบัติของแอทตริบิวต์ที่เป็นคีย์หลัก (1) ค่าของข้อมูลทุกแถวในแอทตริบิวต์ที่ทำหน้าที่เป็นคีย์หลักต้องไม่ซ้ำกัน (2) แอทตริบิวต์ที่เป็นคีย์หลักอาจประกอบขึ้นจากแอทตริบิวต์มากกว่า 1 แอทตริบิวต์ เพื่อให้ได้เป็นค่าที่ไม่ซ้ำกันในแต่ละแถว เรียกว่า Composite key (3) แอทตริบิวต์ที่เป็นคีย์หลักจะต้องไม่เป็นค่าว่าง (null values)

  29. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ ลูกค้า ลูกค้า (รหัสลูกค้า, ชื่อ-นามสกุล, ที่อยู่, โปรโมชัน, เบอร์ติดต่อ, หมายเลขประจำตัวประชาชน)

  30. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ การลงทะเบียน การลงทะเบียน (รหัสนักศึกษา, รหัสวิชาที่ลงทะเบียน, รหัสผู้สอน, สถานที่, วันที่เรียน

  31. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ • คีย์นอก หรือคีย์ต่างด้าว (Foreign key) • ความสัมพันธ์ที่เกิดขึ้นระหว่างรีเลชันจะอาศัยแอทตริบิวต์ตัวหนึ่งซึ่งไปสัมพันธ์กับคีย์หลักในรีเลชันอื่น เกิดเป็นการเชื่อมโยงระหว่างรีเลชัน แอทตริบิวต์นี้เรียกว่า คีย์นอก หรือคีย์ต่างด้าว • คือ แอทตริบิวต์ที่ใช้แสดงความสัมพันธ์ระหว่างรีเลชัน • คือ กลุ่มของแอทตริบิวต์ในรีเลชันหนึ่งที่มีคุณสมบัติเป็นคีย์หลัก และไปปรากฏในอีกรีเลชั่นหนึ่ง • คือ แอทตริบิวต์ที่ข้อมูลมีความสอดคล้องกับคีย์หลักในอีกรีเลชันหนึ่ง

  32. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ คุณสมบัติของคีย์นอก (1) ค่าที่ปรากฏในแอทตริบิวต์ที่เป็นคีย์นอกในรีเลชันหนึ่งจะต้องมีค่าเท่ากับค่าในแอทตริบิวต์ที่เป็นคีย์หลักในแถวใดแถวหนึ่งในอีกรีเลชันหนึ่ง (2)ค่าที่ปรากฏในแอทตริบิวต์ที่เป็นคีย์นอกอาจเป็นค่าว่างได้ (3) ทั้งคีย์นอกและคีย์หลักในอีกรีเลชันที่สัมพันธ์กันไม่จำเป็นต้องมีชื่อแอทตริบิวต์เดียวกันก็ได้ แต่จำเป็นต้องมีโดเมนเดียวกัน

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

  34. ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์ คีย์คู่แข่ง (Candidate key) • รีเลชันหนึ่ง ๆ อาจมีแอทตริบิวต์ที่สามารถทำหน้าที่เป็นคีย์หลักได้มากกว่าหนึ่งแอทตริบิวต์ แอทตริบิวต์เหล่านั้น จะถูกเรียกว่า คีย์คู่แข่ง • คือ แอทตริบิวต์หรือกลุ่มของแอทตริบิวต์อื่นที่สามารถทำหน้าที่เป็นคีย์หลักได้ อาจเรียกอีกชื่อหนึ่งว่า คีย์สำรอง หรือ alternate key • คีย์หลักคือคีย์ที่ถูกเลือกมาจากกลุ่มของคีย์คู่แข่งในรีเลชั่นหนึ่ง ๆ นั่นเอง

  35. Part III Structure Query Language

  36. SQL ภาษาสอบถามเชิงโครงสร้าง (Structure Query Language) หรือSQLหรือ ภาษาซีเควล • เป็นภาษาพื้นฐานสำหรับการจัดการบริหารข้อมูลสำหรับระบบฐานข้อมูลเชิงสัมพันธ์ • วัตถุประสงค์เพื่อใช้สร้างฐานข้อมูลและโครงสร้างรีเลชัน สนับสนุนการจัดการข้อมูลพื้นฐาน ได้แก่ การเพิ่ม ปรับปรุง และลบข้อมูล และสนับสนุนการคิวรีข้อมูล • จัดเป็นภาษารุ่นที่ 4 (Fourth Generation language) • คุณสมบัติสำคัญคือ เรียนรู้ใช้งานได้ง่าย นำไปใช้ได้อย่างมีประสิทธิภาพ มีลักษณะเป็นภาษาธรรมชาติใกล้เคียงกับภาษามนุษย์ • สามารถใช้ได้กับเครื่องคอมพิวเตอร์ทุกแพลตฟอร์ม

  37. SQL ประเภทของคำสั่งในภาษาซีเควล • คำสั่งนิยามข้อมูล (Data definition) ได้แก่ คำสั่งที่ใช้ในการจัดการโครงสร้างตารางในฐานข้อมูล เช่น คำสั่งที่ใช้สร้างฐานข้อมูล คำสั่งสร้างตาราง คำสั่งเพิ่มและลบฟิลด์ในตาราง เป็นต้น • ได้แก่ Create Database, Create Table, Alter Tableเป็นต้น • คำสั่งจัดการข้อมูล (Data manipulation) เป็นกลุ่มคำสั่งที่ใช้จัดการกับข้อมูลที่อยู่ภายในตารางข้อมูล ไม่เกี่ยวกับโครงสร้างตาราง เช่น การเพิ่มการปรับปรุง การลบข้อมูลในตาราง เป็นต้น • ได้แก่ Insert Update และ Delete • คำสั่งเรียกค้นข้อมูล (Data retrieval) เป็นคำสั่งสำหรับเรียกดูข้อมูลจากตาราง เพื่อแสดงผลออกมาตามเงื่อนไขที่ระบุ ได้แก่ คำสั่งselect รูปแบบไวยากรณ์ของคำสั่ง select มีความยืดหยุ่นมากพอที่จะสามารถค้นหาข้อมูลภายใต้เงื่อนไขที่ซับซ้อนได้

  38. SQL ประเภทการใช้งานของภาษาซีเควล (1) การใช้งานแบบโต้ตอบ (Interactive SQL) ผู้ใช้สามารถพิมพ์ประโยคคำสั่งในภาษาซีเควลผ่านทางจอภาพ และคำสั่งจะถูกนำไปปฏิบัติทันที มักให้สิทธิแก่ผู้ใช้ที่มีหน้าที่โดยตรงเท่านั้น (2) การใช้งานแบบฝังตัวในโปรแกรม (Embedded SQL) หมายถึงการสอดแทรกประโยคคำสั่งภาษาซีเควลไว้ในภาษาระดับสูงเพื่อปฏิบัติการกับฐานข้อมูล ภาษาระดับสูงที่สนับสนุนวิธีการนี้ ได้แก่ ภาษาซี ภาษาโคบอล ภาษาปาสคาล เป็นต้น (3) การใช้งานแบบโปรแกรม (Batch SQL) หมายถึงการเขียนโปรแกรมด้วยคำสั่งในภาษาซีเควล ที่สามารถทำงานและให้ผลลัพธ์แบบเบ็ดเสร็จ เช่น การพิมพ์รายงานประจำวัน การพิมพ์รายงานประจำเดือน เป็นต้น

  39. Part IVIntegrity Control

  40. กฎของความคงสภาพ (Integrity rule) กฎความคงสภาพของเอนติตี้(Entity integrity rule) กฎความคงสภาพของการอ้างอิง(Referential integrity rule)

  41. “คีย์หลักจะไม่อนุญาตให้มีค่าว่าง”“คีย์หลักจะไม่อนุญาตให้มีค่าว่าง” Entity integrity rule

  42. Referential integrity rule ถ้ามีรีเลชั่น R2 ซึ่งมี Fk เป็นคีย์นอกที่อ้างอิงถึงคีย์หลัก Pk ในรีเลชั่น R1สำหรับทุกๆ ค่าของFkใน R2 จะต้อง มีค่าเท่ากับค่า Pk ในแถวใดแถวหนึ่งในรีเลชั่น R1 หรือไม่ก็ต้องมีค่า attributeในFk เป็นค่าว่าง

  43. มุงหลังคา ไม่ใช่ ข้อมูลที่มีในตารางประเภทความชำนาญ รูปแสดงรีเลชันที่ผิดกฎความคงสภาพของการอ้างอิง

  44. ปัญหา ถ้ามีใครไปแก้ไขหรือลบข้อมูลซึ่งมีผลไปกระทบกับกฎ Integrity จะรับมืออย่างไร • วิธีแก้ไขที่เป็นไปได้ 2 ทาง คือ... • ตั้งระบบให้ไม่ยอมรับการเปลี่ยนแปลงดังกล่าว หรือไม่ก็ • อนุญาตให้เปลี่ยนแปลงได้ โดยระบบจะทำการปรับแต่ง ข้อมูลที่เกี่ยวข้องให้ยังคงเป็นไปตามกฎทั้ง 2 อยู่

  45. ตารางตัวอย่างแสดงการกำหนดตารางตัวอย่างแสดงการกำหนด สถานการณ์ต่าง ๆ เพื่อให้เป็นไป ตามreferential integrity

  46. สถานการณ์ที่เป็นไปได้ 3 ทาง • กระทำแบบเป็นทอดๆ (cascade) • ยอมแบบมีเงื่อนไข (restricted) • เปลี่ยนเป็นค่าว่าง (nullify)

  47. CASCADES รูปแสดงการกำหนดให้ตรวจสอบกฎความคงสภาพของการอ้างอิงและ การกำหนดสถานการณ์แบบ CASCADES

  48. Part V Database design

  49. Entity-Relational Model • ผังเอ็นติตี้-รีเลชันชิพ (ERD: Entity-Relational Diagram) • Peter Chen (1976)มาตรฐาน ANSI ปี 1988 • ERDแสดงเอ็นติตี้ และความสัมพันธ์ระหว่างกันของเอ็นติตี้ที่ประกอบกันเป็นฐานข้อมูล • ใช้เป็นเครื่องมือสื่อสารระหว่างผู้ออกแบบฐานข้อมูลและผู้ใช้ฐานข้อมูล

  50. องค์ประกอบของ ERD • เอ็นติตี้ (Entity) • แอทตริบิวท์ (Attribute) • ความสัมพันธ์ (Relationship)