1 / 68

บทที่ 1

บทที่ 1. ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล. วิชาการจัดการฐานข้อมูล อ . เพียรทิพย์ ศรีสุธรรม thiplovely@hotmail.com 084-6824218. หัวข้อการบรรยาย. แนวคิดเกี่ยวกับการจัดเก็บข้อมูล 1.1 การจัดการข้อมูล (Data Management) 1.2 โครงสร้างแฟ้มข้อมูล 1. 3 การจัดการแฟ้มข้อมูล

Download Presentation

บทที่ 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล วิชาการจัดการฐานข้อมูล อ.เพียรทิพย์ ศรีสุธรรม thiplovely@hotmail.com 084-6824218

  2. หัวข้อการบรรยาย • แนวคิดเกี่ยวกับการจัดเก็บข้อมูล • 1.1 การจัดการข้อมูล (Data Management) • 1.2 โครงสร้างแฟ้มข้อมูล • 1.3 การจัดการแฟ้มข้อมูล • 2. การประมวลผลข้อมูลในระบบสารสนเทศ • 2.1 ระบบแฟ้มข้อมูล • 2.2 ระบบฐานข้อมูล

  3. 1.1 การจัดการข้อมูล (Data Management) การจัดการข้อมูลมีมาช้านาน เปลี่ยนไปตามยุคสมัยและเทคโนโลยี เริ่มจาก • บันทึกข้อมูลลงในกระดาษ หรือสมุด • บันทึกข้อมูลและจัดเก็บในแฟ้มเอกสาร แยกแฟ้มตามประเภท • ทำดัชนีให้กับแฟ้มเอสารเพื่อนำแฟ้มเอกสารไปจัดเก็บในตู้จัดเก็บเอสาร • นำเอกสารที่จัดเก็บในแฟ้มเอสาร(ตู้จัดเก็บเอสาร)เปลี่ยนเป็นเก็บเป็นไฟล์ในเครื่องคอมพิวเตอร์แทน • จากเก็บเป็นไฟล์ในเครื่องคอมพิวเตอร์ พัฒนาเป็นการจัดทำเป็นฐานข้อมูล

  4. 1.1การจัดการข้อมูล (Data Management) แสดงพัฒนาการของการจัดการข้อมูล

  5. หรือ ไฟล์ (File) =เป็นหน่วยของข้อมูลที่มีการนำเรคอร์ด(ระเบียน)ที่มีความสัมพันธ์มารวมกัน เช่นในแฟ้มประวัติ นศ. จะประกอบด้วย เรคอร์ด ของ นศ.ทั้งหมดที่อยู่ใน มหาวิทยาลัย หรือ ระเบียน (Record) =เป็นหน่วยของข้อมูลที่มีหลายเขตข้อมูล(ฟิลด์)ที่มีความสัมพันธ์ หรือเกี่ยวข้องกันมารวมกัน เช่น เรคอร์ดของประวัติ นศ. จะประกอบด้วยฟิลด์ รหัสนศ. ชื่อ-สกุล นศ. วันเกิด ที่อยู่ จังหวัด เบอร์โทรศัพท์ เป็นต้น หรือเขตข้อมูล (Field) =เป็นการนำตัวอักขระตั้งแต่หนึ่งตัวขึ้นไปมารวมกันเพื่อให้เกิดเป็นคำที่มีความหมาย เช่น รหัสนิสิต ชื่อ-นามสกุลนิสิต คณะ สาขา เป็นต้น 2. ไบต์ (Byte) =หน่วยของข้อมูลที่นำหลายบิตมาเรียงต่อกันเป็นไบต์ เพื่อใช้แทนตัวอักขระแต่ละตัว โดย 1 ตัวอักขระจะแทนด้วย 8 บิต (1 ไบต์) เช่น ตัวอักษร A เมื่อเก็บอยู่ในคอมพิวเตอร์จะเก็บเป็น 10000001 เป็นต้น จึงทำให้สามารถสร้างรหัสแทนข้อมูลขึ้นมา เพื่อใช้สำหรับแทนตัวอักขระที่แตกต่างกันได้ถึง 256 ตัวด้วยกัน 1. บิต (Bit) =เป็นหน่วยของข้อมูลที่มีขนาดเล็กที่สุดที่เก็บในหน่วยความจำของคอมพิวเตอร์ ซึ่งประกอบด้วยเลขฐานสอง (Binary Digit) ซึ่งมีค่าได้เพียงสองสถานะเท่านั้นคือ 0 หรือ 1 1.2 โครงสร้างแฟ้มข้อมูล

  6. 1.3 การจัดการแฟ้มข้อมูล 1.การสร้างแฟ้มข้อมูล (file creating) = การสร้างแฟ้มข้อมูลเพื่อนำมาใช้ในการประมวลผล ส่วนใหญ่จะสร้างจากเอกสารเบื้องต้น โดยเริ่มจากการพิจารณากำหนดสื่อข้อมูลการออกแบบฟอร์มของระเบียน การกำหนดโครงสร้างการจัดเก็บแฟ้มข้อมูลบนสื่ออุปกรณ์ (การสร้างแฟ้มข้อมูล) 2.การปรับปรุงรักษาแฟ้มข้อมูล (การสืบค้น และการปรับเปลี่ยนข้อมูล) 2.1 การค้นคืนระเบียนในแฟ้มข้อมูล (retrieving) คือ การค้นหาข้อมูลที่ต้องการเพื่อนำมาใช้งานใดงานหนึ่ง โดยการเลือกคีย์ฟิลด์ เป็นตัวกำหนดเพื่อที่จะนำไปค้นหาระเบียนที่ต้องการในแฟ้มข้อมูล เช่น ต้องการหาว่า พนักงานที่ชื่อสมชายมีอยู่กี่คน (การค้นหาข้อมูล) 2.2 การปรับเปลี่ยนข้อมูล (updating) = เช่น การเพิ่มบางระเบียนเข้าไป, แก้ไขเปลี่ยนแปลงหรือลบบางระเบียนออกไป (การแก้ไข หรือเปลี่ยนแปลงข้อมูล = add, modified=change, delete)

  7. 2. การประมวลผลข้อมูลในระบบสารสนเทศ 1.ระบบแฟ้มข้อมูล Order Filling System DBMS Program A ฐานข้อมูล Program B 2.ระบบฐานข้อมูล Program C Customer Master File Inventory Master File Program A Invoicing System Back Order File Program B Inventory pricing File Payroll System Program A Employee Master File Program B

  8. 1.ระบบแฟ้มข้อมูล • เป็นระบบการประมวผลผลแบบเก่าที่ตอนนี้ไม่เป็นที่นิยมแล้วในปัจจุบัน เนื่องจากมีปัญหาหลายอย่าง • แฟ้มข้อมูลคอมพิวเตอร์จะถูกสร้างขึ้นโดยการเขียนโปรแกรมด้วยภาษาการเขียนโปรแกรม (เช่น ภาษา PHP, ASP, C, PASCAL, JAVA เป็นต้น) • เพื่อสร้างโครงสร้างที่จำเป็นเพื่อใช้ในการจัดเก็บข้อมูล พร้อมทั้งโปรแกรมประยุกต์เพื่อใช้ในการจัดการข้อมูลและทำรายงานต่าง ๆ ตามที่ผู้ใช้ต้องการ

  9. ตัวอย่างโปรแกรมที่เขียนขึ้นในระบบแฟ้มข้อมูล • ส่วนการประกาศโครงสร้างของแฟ้มข้อมูลทุกแฟ้มที่โปรแกรมนี้ต้องการใช้งาน จากตัวอย่างแสดง 2 แฟ้ม คือ • แฟ้มนักศึกษา (STUDENT FILE) • แฟ้มรายวิชา (COURSE FILE)

  10. โปรแกรม ยืม คืน หนังสือ โปรแกรมการประมวลผลการเรียนแต่ละเทอม โปรแกรม การลงทะเบียน โปรแกรม จัดการสมาชิก โปรแกรม จัดการหนังสือ ระบบทะเบียนนักศึกษา ระบบห้องสมุด แฟ้มนักศึกษา แฟ้มรายวิชา แฟ้มการลงทะเบียน แฟ้มแจ้งผลการเยนประจำเทอม แฟ้มนักศึกษา แฟ้ม ยืม-คืน แฟ้ม หนังสือ แฟ้ม การลงทะเบียน • โปรแกรมการลงทะเบียน ใช้ แฟ้มการลงทะเบียนแฟ้มนักศึกษา และแฟ้มรายวิช • โปรแกรมประมวลผลการเรียน ใช้ แฟ้มการลงทะเบียน แฟ้มผลการเรียนประจำเทอม แฟ้มนักศึกษา และแฟ้มรายวิชา • โปรแกรมการจัดการข้อมูลสมาชิกใช้แฟ้มนักศึกษา • โปรแกรมยืม-คืนหนังสือ ใช้ทุกแฟ้ม • โปรแกรมจัดการหนังสือ ใช้ แฟ้มหนังสือ

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

  12. ข้อจำกัดของระบบแฟ้มข้อมูลข้อจำกัดของระบบแฟ้มข้อมูล ซอร์สโค๊ดของโปรแกรม • 1.มีการขึ้นต่อกันระหว่างโปรแกรมและข้อมูล (Program-Data Dependency) • เนื่องจากต้องกำหนดโครงสร้างของแฟ้มข้อมูลไว้ในซอร์สโค๊ดของโปรแกรม • ถ้าเราต้องการเปลี่ยนโครงสร้างของแฟ้มข้อมูล จะต้องไปแก้โปรแกรมทุกครั้ง • ส่วนการประกาศโครงสร้างของแฟ้มข้อมูลทุกแฟ้มที่โปรแกรมนี้ต้องการใช้งาน จากตัวอย่างแสดง 2 แฟ้ม คือ • แฟ้มนักศึกษา (STUDENT FILE) • แฟ้มรายวิชา (COURSE FILE)

  13. ข้อจำกัดของระบบแฟ้มข้อมูลข้อจำกัดของระบบแฟ้มข้อมูล 2.ข้อมูลมีความซ้ำซ้อน (duplication of data/data redundancy)ทำให้เกิดปัญหา 3 ลักษณะ คือ -กรณีที่ 1 ข้อผิดพลาดจากการเพิ่มข้อมูล (insertion anomalies)เช่น หากเพิ่มชื่อที่แฟ้มพนักงานขาย แต่ไม่เพิ่มที่แฟ้มพนักงาน ทำให้เกิดความผิดพลาดได้ หากเพิ่มชื่อที่แฟ้มพนักงานขาย แต่ไม่เพิ่มที่แฟ้มพนักงาน ทำให้เกิดความผิดพลาดได้

  14. ตัวอย่างความผิดพลาดของการเปลี่ยนแปลงข้อมูลตัวอย่างความผิดพลาดของการเปลี่ยนแปลงข้อมูล

  15. ข้อจำกัดของระบบแฟ้มข้อมูลข้อจำกัดของระบบแฟ้มข้อมูล 2.ข้อมูลมีความซ้ำซ้อน (duplication of data/data redundancy) -กรณีที่ 2 ข้อผิดพลาดจากการลบข้อมูล (deletion anomalies) ตัวอย่างความขัดแย้งของการลบข้อมูลในวิธีแฟ้มข้อมูล เช่น ในแฟ้มพนักงานลบชื่อออกแล้ว แต่ในแฟ้มพนักงานขาย ยังไม่ลบออก ทำให้เกิดความผิดพลาดของข้อมูล ในแฟ้มพนักงานลบชื่อออกแล้ว แต่ในแฟ้มพนักงานขาย ยังไม่ลบออก ทำให้เกิดความผิดพลาดของข้อมูล

  16. ข้อจำกัดของระบบแฟ้มข้อมูลข้อจำกัดของระบบแฟ้มข้อมูล 2.ข้อมูลมีความซ้ำซ้อน (duplication of data/data redundancy) -กรณีที่ 3 ข้อผิดพลาดจากการเปลี่ยนแปลงข้อมูล (modification anomalies) ตัวอย่าง ความขัดแย้งของการเปลี่ยนแปลงข้อมูลในวิธีแฟ้มข้อมูล กรณี นส.นงนุช เปลี่ยนชื่อเป็นณิชกานต์ และแจ้งที่ฝ่ายบุคคล คือแฟ้มพนักงาน แต่ไม่ได้แจ้งที่ฝ่ายพนักงานขาย ทำให้เกิดความผิดพลาดของข้อมูล

  17. ข้อจำกัดของระบบแฟ้มข้อมูลข้อจำกัดของระบบแฟ้มข้อมูล • 3.ข้อจำกัดในการใช้ข้อมูลร่วมกัน • เนื่องจากการพัฒนาโปรแกรมประยุกต์ใช้ภาษาที่ต่างกัน • เมื่อมีการต้องการใช้ข้อมูลร่วมกันทำให้เกิดความยุ่งยากในการเรียกใช้แฟ้มข้อมูลที่มีรูปแบบแฟ้มข้อมูลต่างกันตามภาษาที่พัฒนาโปรแกรมประยุกต์ที่ใช้กำหนดโครงสร้างของข้อมูล

  18. ข้อจำกัดของระบบแฟ้มข้อมูลข้อจำกัดของระบบแฟ้มข้อมูล 4.มีรูปแบบที่ไม่ตรงกัน = โครงสร้างข้อมูลถูกเขียนด้วยโปรแกรมประยุกต์ โครงสร้างก็จะขึ้นอยู่กับภาษาของโปรแกรมประยุกต์นั้น เช่น โครงสร้างถูกสร้างด้วยภาษา COBOL อาจมีความแตกต่างจากโครงสร้างของไฟล์ข้อมูลที่สร้างขึ้นด้วยภาษา C และเป็นการยากสำหรับการนำไฟล์ทั้งสองมาประมวลผลร่วมกัน 5.รายงานต่างๆถูกกำหนดไว้อย่างจำกัด = ระบบแฟ้มข้อมูล มีความขึ้นอยู่กับโปรแกรมประยุกต์เป็นอย่างมาก เนื่องจากรายงานหรือคิวรีถูกเขียนโดยโปรแกรมเมอร์ และถูกกำหนดรูปแบบรวมทั้งรายงานต่างๆ ที่แน่นอนลงในโปรแกรมเรียบร้อยแล้ว ดังนั้น หากผู้ใช้งานต้องการรายงานเพิ่มเติมก็จำเป็นต้องว่าจ้างโปรแกรมเมอร์ให้เขียนโปรแกรมใหม่ นั่นหมายถึง ต้องเสียค่าใช้จ่ายเพิ่มขึ้น 6.ความไม่สอดคล้องกันของข้อมูล (Data inconsistency)เช่น ไฟล์เก็บไว้หลายที่ ทำให้ข้อมูลที่ผิดอีกที่หนึ่ง แต่ไม่ผิดอีกที่หนึ่ง ก็เป็นได้

  19. 2.ระบบฐานข้อมูล • ฐานข้อมูล และ ระบบจัดการฐานข้อมูล • ข้อดี ของระบบฐานข้อมูล • ข้อเสีย ของระบบฐานข้อมูล • ส่วนประกอบของระบบฐานข้อมูล

  20. ฐานข้อมูลและระบบจัดการฐานข้อมูลฐานข้อมูลและระบบจัดการฐานข้อมูล • ความหมายของฐานข้อมูล • การเก็บรวบรวมข้อมูลที่มีความสัมพันธ์กันไว้ด้วยกัน • โดยจะมีระบบจัดการฐานข้อมูลอย่างเป็นระบบเพื่อการจัดเก็บและเรียกใช้งานข้อมูลที่ทันสมัยได้อย่างรวดเร็วและมีประสิทธิภาพ • ข้อมูลที่ถูกเก็บในฐานข้อมูลประกอบด้วย 2 ส่วน • ข้อมูลที่ผู้ใช้สามารถนำไปประมวลผล • คำอธิบายข้อมูล (Metadata) อธิบายโครงสร้างและความสัมพันธ์ของข้อมูลในฐานข้อมูล • ในระบบการประมวลผลฐานข้อมูล จะมีองค์ประกอบหนึ่งที่แตกต่างจากระบบการประมวลผลแฟ้มข้อมูล คือระบบจัดการฐานข้อมูล DBMS (Database management System)

  21. ระบบฐานข้อมูล โปรแกรมประยุกต์ สำหรับระบบทะเบียนนักศึกษา ฐานข้อมูล Metadata งานทะเบียน ข้อมูลนักศึกษา ข้อมูลรายวิชา ข้อมูลหนังสือ โปรแกรมประยุกต์ สำหรับระบบห้องสมุด DBMS ห้องสมุด

  22. ฐานข้อมูลและระบบจัดการฐานข้อมูลฐานข้อมูลและระบบจัดการฐานข้อมูล หน้าที่ของระบบการจัดการฐานข้อมูล (Database Management System : DBMS) ภาษานิยามข้อมูล(DDL) CREAT = สร้างALTER = เปลี่ยนโครงสร้างDROP = ยกเลิก ภาษาจัดการข้อมูล(DML) SELECT = ค้นระเบียนUPDATE = ปรับปรุงระเบียนINSERT = เพิ่มระเบียนDELETE = ลบระเบียน ภาษาควบคุมข้อมูล(DCL) GRANT = กำหนดสิทธิ์REVOKE = ยกเลิกสิทธิ์ 3. สามารถควบคุมการเข้าถึงข้อมูล - ความปลอดภัยของระบบ = กำหนดสิทธิ์การเข้าใช้งาน โดยให้สิทธิ์ที่ต่างกัน- ความคงสภาพของระบบ = ทำให้เกิดความถูกต้องตรงกันในการจัดเก็บข้อมูล - มีระบบควบคุมการเข้าถึงข้อมูลพร้อมกัน จัดการกับปัญหาเมื่อมีข้อผิดพลาดกับข้อมูลเกิดขึ้น- สามารถกู้คืนข้อมูลระบบ ในกรณีที่ HW หรือ SW เกิดความเสียหาย 1. อนุญาตให้ผู้ใช้งานสามารถกำหนดหรือสร้างฐานข้อมูล เพื่อกำหนดโครงสร้างข้อมูล ชนิดข้อมูล รวมทั้งอนุญาตให้ข้อมูลที่กำหนดขึ้น สามารถบันทึกลงในฐานข้อมูลได้ 2. อนุญาตให้ผู้ใช้งานสามารถทำการเพิ่ม ปรับปรุง ลบ และเรียกใช้ข้อมูลจากฐานข้อมูลได้ 4. เปรียบเสมือนตัวกลาง ที่ดูแลการใช้งานระหว่างผู้ใช้งานกับแฟ้มข้อมูล หรือโปรแกรมจัดการข้อมูล - ระบบการจัดการฐานข้อมูล (Database Management System : DBMS)= โปรแกรมที่ใช้เป็นเครื่องมือในการจัดการฐานข้อมูล ประกอบด้วยฟังก์ชั่นหน้าที่ต่างๆในการจัดการฐานข้อมูล รวมทั้งภาษาที่ใช้ทำงานกับข้อมูล

  23. ตัวอย่างซอฟต์แวร์ระบบจัดการฐานข้อมูลที่นิยมใช้ในปัจจุบัน(Database Management system : DBMS) • ออราเคิล (Oracle) • ไอบีเอ็ม ดีบีทู (IBM DB2) • ไมโครซอฟท์ ซีควลเซิร์ฟเวอร์ (Microsoft SQL Server) • ไซเบส (Sybase) • แคเช่ (Cache') • PostgreSQL • Progress • มายเอสคิวแอล (MySQL) • Interbase • Firebird • Pervasive SQL • แซพ ดีบี (SAP DB) • ไมโครซอฟท์ แอคเซส (Microsoft Office Access)

  24. ข้อดีระบบฐานข้อมูล • 1. ความเป็นอิสระระหว่างโปรแกรมประยุกต์และข้อมูล >> โปรแกรมประยุกต์ที่เขียนขึ้นไม่จำเป็นต้องนิยามโครงสร้างของข้อมูล เพราะโครงสร้างข้อมูลและข้อมูลทั้งหมดได้ถูกนิยามและจัดเก็บในฐานข้อมูลไว้แล้วก่อนที่จะมีการพัฒนาโปรแกรมประยุกต์โดยจะมีตัว DBMS เป็นตัวประสานระหว่าง โปรแกรมประยุกต์และการจัดการข้อมูลในฐานข้อมูล • 2. ลดความซ้ำซ้อนและความขัดแย้งกันของข้อมูล >> ข้อมูลที่เก็บไว้ในฐานข้อมูลเพียงที่เดียว ทำให้ประหยัดเนื้อที่ในฮาร์ดดิสก์ การแก้ไขเปลี่ยนแปลงข้อมูลก็ทำกับข้อมูลเพียงที่เดียวเท่านั้น • 3. ข้อมูลมีการเก็บรวมกันและสามารถใช้ข้อมูลร่วมกันได้ >> ในระบบฐานข้อมูล ข้อมูลทั้งหมดจะถูกเก็บไว้ที่เดียวกันคือ ฐานข้อมูล โปรแกรมประยุกต์แต่ละระบบสามารถใช้งานข้อมูลภายในฐานข้อมูลร่วมกันได้ โดยออกคำสั่งผ่าน DBMS

  25. ข้อดีระบบฐานข้อมูล • 4. การควบคุมความคงสภาพของข้อมูล (ความถูกต้อง คล้องจอง สมเหตุสมผล ของข้อมูล)เนื่องจากข้อมูลเก็บไว้ที่เกียวกันเมื่อแก้ไขก็แก้ที่เดียวก็พอ ต่างจากระบบแฟ้มข้อมูลที่มีการเก็บข้อมูลไว้หลายที่ เวลาจะแก้ต้องตามแก้ไขให้ครบทุกที่ • 5. การจัดการข้อมูลในฐานข้อมูลจะทำได้ง่าย >> การเพิ่ม ลบ ค้นหา แก้ไข ข้อมูลทำได้ง่าย เนื่องจาก DBMS จะรับผิดชอบโดยผู้พัฒนาโปรแกรมประยุกต์ไม่ต้องสนใจว่า ข้อมูลจะเก็บในฮาร์ดดิสก์ด้วยวิธีใด เพียงแค่ออกคำสั่งง่าย ๆ ในการเรียกใช้ข้อมูล เพิ่มข้อมูล ลบข้อมูล แก้ไขข้อมูล ผ่านทาง DBMS แทน • 6. การควบคุมการใช้งานฐานข้อมูลของผู้ใช้งานหลายคน >>ในระบบฐานข้อมูลจะมีผู้บริหารฐานข้อมูล (DBA) เป็นคนกำหนดสิทธิ์การใช้งานฐานข้อมูลให้กับผู้ใช้งานผ่านทาง DBMS ซึ่งสามารถกำหนดได้ว่า ผู้ใช้คนไหนสามารถเข้าใช้ฐานข้อมูลได้ในระดับใด เช่น เรียกดูข้อมูลได้อย่างเดียว หรือ เรียกดูและแก้ไขฐานข้อมูล เพื่อป้องกันไม่ให้ผู้เกี่ยวข้องเข้าไปก่อความเสียหายให้แก่ข้อมูลได้

  26. ข้อเสียของระบบฐานข้อมูลข้อเสียของระบบฐานข้อมูล • 1.ค่าใช้จ่ายในการติดตั้งระบบจัดการฐานข้อมูลสูง เนื่องจาก • ราคาของ DBMS โดยทั่วไปจะมีราคาแพง • ต้องใช้ฮาร์ดแวร์ที่มีประสิทธิภาพสูง เช่น มีความเร็วสูง ฮาร์ดดิสก์มีความจุสูง • ต้องใช้บุคลากรที่มีความเชี่ยวชาญมากกว่าระบบแฟ้มข้อมูล • 2.ค่าใช้จ่ายระหว่างการดำเนินงาน เนื่องจากหลังการติดตั้งระบบงานแล้ว ระบบฐานข้อมูลต้องได้รับการดูแลอย่างสม่ำเสมอ เช่น • ทำการสำรองข้อมูลและกู้คืนข้อมูล (Backup and Restore) เพื่อป้องกันและแก้ไขปัญหาข้อมูลเสียหาย

  27. องค์ประกอบของระบบฐานข้อมูลองค์ประกอบของระบบฐานข้อมูล 1 ฮาร์ดแวร์ Hardware 2 ซอฟต์แวร์ Software 3 ข้อมูล Data 4 กระบวนการ (Procedure) 5 บุคลากร People

  28. องค์ประกอบของระบบฐานข้อมูลองค์ประกอบของระบบฐานข้อมูล 1.ฮาร์ดแวร์ (Hardware) = คอมพิวเตอร์ และอุปกรณ์รอบข้างที่จำเป็นสำหรับระบบฐานข้อมูล ทั้งนี้ฮาร์ดแวร์จะเป็นรูปแบบใดนั้น ขึ้นอยู่กับความต้องการขององค์กรหรือหน่วยงานเป็นหลัก 2.ซอฟต์แวร์ (Software) = โปรแกรมหรือชุดคำสั่งที่เขียนขึ้นเพื่อสั่งให้คอมพิวเตอร์ทำงาน เช่น ซอฟต์แวร์ระบบปฏิบัติการ ซอฟต์แวร์การจัดการฐานข้อมูล รวมทั้งโปรแกรมและโปรกรมยูทิลิตี้ต่างๆ

  29. องค์ประกอบของระบบฐานข้อมูลองค์ประกอบของระบบฐานข้อมูล 3.ข้อมูล (Data) = ข้อมูลของระบบงานสมัยใหม่จะถูกจัดเก็บไว้ในฐานข้อมูล (แทนที่จะเป็นแฟ้มข้อมูล) ดังรายละเอียดต่อไปนี้ข้อมูลพื้นฐานที่เล็กที่สุดภายในฐานข้อมูลคือ บิท บิท (Binary digit) เป็นหน่วยข้อมูลพื้นฐานที่เก็บอยู่ในหน่วยความจำภายในคอมพิวเตอร์ จะแสดงได้ 2 สถานะคือ 0 หรือ 1 เท่านั้น ตัวอักขระ(Character) หรือ ไบต์ (byte)แต่ละตัว เช่น ตัวอักขระ(A B ก ขค..) หรือสัญลักษณ์พิเศษ (& $..)เมื่อเก็บอยู่ในคอมพิวเตอร์จะต้องถูกแปลงให้อยู่ในรูปของบิต หลายๆ บิต มาเรียงต่อกัน จำนวน 7 หรือ 8 บิต เรียกว่า 1 ไบต์ เช่น อักขระ A เมื่อเก็บอยู่ในคอมพิวเตอร์จะเก็บเป็น 1000001 เขตข้อมูล (Field) =เป็นการนำตัวอักขระตั้งแต่หนึ่งตัวขึ้นไปมารวมกันเพื่อให้เกิดเป็นคำที่มีความหมายขึ้น เช่น รหัสนิสิต ชื่อ-นามสกุลนิสิต คณะ สาขา เป็นต้น ระเบียน (Record)=เป็นหน่วยของข้อมูลที่มีหลายเขตข้อมูล(ฟิลด์)ที่มีความสัมพันธ์ หรือเกี่ยวข้องกันมารวมกัน เช่น เรคอร์ดของประวัติ นศ. จะประกอบด้วยฟิลด์ รหัสนศ. ชื่อ-สกุล นศ. วันเกิด ที่อยู่ จังหวัด เบอร์โทรศัพท์ เป็นต้น

  30. องค์ประกอบของระบบฐานข้อมูลองค์ประกอบของระบบฐานข้อมูล 4.โพรซีเยอร์ (Procedure) = ขั้นตอนการปฏิบัติงานที่เกี่ยวข้องกับชุดคำสั่ง กฎเกณฑ์ในการออกแบบและการใช้งานฐานข้อมูล ประกอบด้วยชุดคำสั่งและขั้นตอนที่ใช้ในการปฏิบัติงาน 5.บุคลากร (People) = จำเป็นต้องเกี่ยวข้องกับระบบอยู่ตลอดเวลา ประกอบด้วยบุคลากรที่ทำหน้าที่ในการจัดการฐานข้อมูลต่างๆกัน เช่น ผู้บริหารและจัดการฐานข้อมูล (Data and Database administrators : DBA) - จัดการกับข้อมูลและระบบจัดการฐานข้อมูล - ควบคุมระบบรักษาความปลอดภัยของฐานข้อมูล - วางแผนป้องกันเมื่อเกิดความเสียหายขึ้นกับระบบฐานข้อมูล นักออกแบบฐานข้อมูล (Database designers) - ออกแบบโครงสร้างทางกายภาพของฐานข้อมูลเช่น ฐานข้อมูลประกอบด้วยตารางใด แต่ละตารางประกอบด้วยคอลัมย์ใด มีชนิดข้อมูลเป็นแบบใด ขนาดเท่าไหร่ เป็นต้น นักวิเคราะห์ระบบ (System Analyst)วิเคราะห์ระบบและออกแบบโปรแกรมประยุต์ นักเขียนโปรแกรม (Programmer) เขียนหรือสร้างโปรแกรมประยุกต์ ผู้ใช้งาน (End Users) แบ่งเป็นผู้ปฏิบัติงาน และผู้บริหาร ซึ่งจะใช้งานฐานข้อมูลผ่านทางโปรแกรมประยุกต์ที่เขียนขึ้น เช่น ค้นหาข้อมูล เพิ่ม ลบ แก้ไข ข้อมูลตามสิทธิ์ที่ถูกกำหนดไว้ ข้อมูล ฮาร์ดแวร์ ซอฟต์แวร์ กระบวนการจัดการ บุคลากร เครื่องมือ ตัวเชื่อม มนุษย์

  31. ความสัมพันธ์ระหว่างองค์ประกอบของระบบฐานข้อมูลความสัมพันธ์ระหว่างองค์ประกอบของระบบฐานข้อมูล ผู้บริหาร

  32. ตัวอย่างภาษาโปรแกรม • ภาษาจาวา (Java) • JavaScript • Perl • PHP • ภาษาไพทอน (Python) • ภาษาโปรล็อก (Prolog) • ภาษาอ็อบเจกทีฟ-ซี (Objective-C) • Ruby • AJAX • ภาษาซี (C) • ภาษาซีพลัสพลัส (C++) • ภาษาซีชาร์ป (C#) • (COBOL) • ภาษาปาสกาล (Pascal) • ภาษาเบสิก (BASIC) • ภาษาฟอร์แทรน (FORTRAN)

  33. กิจกรรมประจำบทเรียน • ให้นักศึกษาแบ่งกลุ่มอธิบาย การทำงานของเว็บบอร์ดที่อาจารย์ยกตัวอย่างให้ดูในชั้นเรียน • อธิบายลักษณะของระบบแฟ้มข้อมูล • อธิบายลักษณะของระบบฐานข้อมูล • ระบบการจัดการฐานข้อมูล (Database Management System : DBMS) คืออะไร • องค์ประกอบของระบบฐานข้อมูลมีอะไรบ้าง • ผู้บริหารฐานข้อมูลมีหน้าที่อะไรบ้าง

  34. บทที่ 2 สถาปัตยกรรมฐานข้อมูล (Database Architecture)

  35. หัวข้อในการบรรยาย • สถาปัตยกรรมฐานข้อมูล • ประโยชน์ของสถาปัตยกรรม 3 ระดับ • แบบจำลองข้อมูล • แบบจำลองฐานข้อมูล

  36. สถาปัตยกรรมระบบฐานข้อมูลสถาปัตยกรรมระบบฐานข้อมูล • ระบบฐานข้อมูลจะมีประโยชน์ก็ต่อเมื่อผู้ใช้สามารถเข้าถึงหรือจัดการกับข้อมูลได้อย่างมีประสิทธิภาพ เนื่องจากผู้ใช้ส่วนใหญ่ไม่ใช่ผู้เชี่ยวชาญคอมพิวเตอร์ • ในการออกแบบฐานข้อมูลจึงได้มีการซ่อนรายละเอียดที่ซับซ้อนต่าง ๆ ไว้ภายใน • โดยผู้ใช้จะเห็นข้อมูลในรูปแบบเชิงนามธรรมเท่านั้น และสามารถมองเห็นได้ในมุมมองที่แตกต่างกันตามสิทธิและความต้องการที่ต่างกัน • จึงเป็นที่มาของสถาปัตยกรรมฐานข้อมูล ซึ่งถูกกำหนดโดย American National Standard Institute (ANSI)

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

  38. สถาปัตยกรรมฐานข้อมูล • ระดับภายนอก • ระดับแนวคิด • ระดับภายใน

  39. การลงทะเบียนนักศึกษา รหัส น.ศ.____ ชื่อ____ปี/เทอม_ การลงทะเบียนนักศึกษา รหัส น.ศ.____ ชื่อ____ปี/เทอม_ ระดับภายนอก TABLE ENROLL EN_YEAR SMALLINT, EN_TERM CHARACTER(1) EN_SJID CHARACTER(7) EN_STID CHARACTER(9) EN_GRD CHARACTER(2) TABLE SUBJECT SUD_ID CHARACTER(7) SUD_NAME CHARACTER(15) SUB_UNIT SMALLINT ระดับแนวคิด ระดับภายใน

  40. ผู้ออกแบบฐานข้อมูลตรรกะผู้ออกแบบฐานข้อมูลตรรกะ ผู้ออกแบบฐานข้อมูลทางกายภาพ ผู้ใช้งานทั่วไป ระดับภายใน ระดับภายนอก ระดับตรรกะ

  41. 1.ระดับภายนอก (external level) หรือระดับวิว (User view level) • เป็นระดับที่มีการนำข้อมูลจากฐานข้อมูลไปใช้งาน • ตามความต้องการของผู้ใช้แต่ละคน • ซึ่งต้องการข้อมูลต่างกัน • โดยผ่านทางวิว (VIEW) • วิว คือ คำสั่งที่เขียนขึ้นเพื่อกำหนดข้อมูลที่ต้องการดึงออกจากฐานข้อมูลให้ผู้ใช้แต่ละคนดู

  42. 2.ระดับแนวคิด (conceptual level) • เป็นระดับของการออกแบบฐานข้อมูล โดยนักออกแบบฐานข้อมูล โดยจะอยู่ในรูปของแผนภาพ • แผนภาพที่ออกแบบมานั้นจะบอกว่า • ฐานข้อมูลประกอบด้วยเอนติตี้อะไรบ้าง • แต่ละเอนติตี้ประกอบด้วยเขตข้อมูล (Filed)ใดมีชนิดข้อมูลเป็นอะไรขนาดเท่าไร • ความสัมพันธ์ระหว่างเอนติตี้เป็นอย่างไร • การกระทำหรือการปฏิบัติการใดๆ ในโปรแกรมจากผู้ใช้งานจะปฏิบัติบนโครงสร้างข้อมูลในระดับนี้เท่านั้น • บุคคลที่สามารถเข้าไปแก้ไขโครงสร้างข้อมูลในระดับนี้ คือ DBA หรือ โปรแกรมเมอร์

  43. 3. ระดับภายใน (internal level) หรือ ระดับภายภาพ (Physical Level) • เป็นข้อมูลระดับล่างสุด ใช้ในการอธิบายว่าข้อมูลต่าง ๆ ที่ถูกจัดเก็บจริงๆ ในฐานข้อมูลอย่างไร ข้อมูลเก็บอยู่ในตำแหน่งใดของฮาร์ดดิสก์ • ผู้ใช้งานฐานข้อมูลทั่วไปจะไม่ต้องยุ่งเกี่ยวกับการจัดการข้อมูลในระดับนี้ • ผู้รับผิดชอบคือผู้ออกแบบฐานข้อมูลระดับกายภาพ (Physical Database Designer) เลือกใช้อุปกรณ์ที่ใช้ในการจัดเก็บวิธีเข้าถึงข้อมูลวิธีการบำรุงรักษาและการเพิ่มประสิทธิภาพของฐานข้อมูล

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

  45. ประโยชน์ของสถาปัตยกรรม 3 ระดับ มุมมองข้อมูลของผู้ใช้งาน (View of End User) • - ระดับภายนอกกับระดับตรรกะ (External/Conceptual Mapping) ทำให้ผู้ใช้ฐานข้อมูลมีมุมมองที่แตกต่างกันได้ โดย DBMS ทำการแปล (map) ชื่อข้อมูลให้ระดับภายนอกและระดับตรรกะ ให้สามารถเข้าใจว่าคือข้อมูลตัวเดียวกัน • - ระดับตรรกะและภายใน (Conceptual/Internal Mapping) ผู้ใช้ฐานข้อมูลไม่จำเป็นต้องทราบว่าข้อมูลที่ต้องการใช้ถูกจัดเก็บอย่างไรในดิสก์ โดย DBMS จะดูว่าข้อมูลที่ผู้ใช้ต้องการนั้นเก็บ ณ ตำแหน่งใด

  46. ประโยชน์ของสถาปัตยกรรม 3 ระดับ ด้านความเป็นอิสระกันของข้อมูล • - ระดับภายนอกกับระดับตรรกะ(External/Conceptual Mapping)  การเปลี่ยนแปลงฐานข้อมูลในระดับตรรกะจะไม่มีผลกระทบต่อโปรแกรมประยุกต์ที่ใช้ในระดับภายนอก เช่น สร้างตารางใหม่ เปลี่ยนชื่อฟิลด์ เปลี่ยนขนาดของฟิวด์ เว้นแต่ ถ้าลบตารางหรือฟิวด์ที่โปรแกรมดึงไปใช้งาน ต้องแก้ในโปรแกรมด้วย • - ระดับตรรกะและภายใน (Conceptual/Internal Mapping) การเปลี่ยนแปลงฐานข้อมูลในระดับภายใน ได้แก่เปลี่ยนแปลงวิธีการจัดเก็บในดิสก์แบบดัชนีเป็นแบบสุ่ม เมื่อมีการสร้างตารางใด ๆ ในระดับตรรกะจะไม่มีผลกระทบหรือไม่ต้องรับรู้การเปลี่ยนแปลงดังกล่าว และไม่มีผลกระทบต่อโปรแกรมประยุกต์ที่เขียนขึ้น

  47. User A User B User C External Conceptual ตารางนักเรียน ตารางอาจารย์ ผู้ใช้ 3 คนเห็นข้อมูลไม่เหมือนกัน

  48. Conceptual Internal Index ภาพที่เรามองการจัดเก็บข้อมูล จะแตกต่างจากวิธีเก็บข้อมูลจริง

  49. Index Conceptual Internal 11 4 X ระดับภายในเป็นระดับที่ใกล้ชิดกับดิสก์มากที่สุด

  50. การเชื่อมโยงข้อมูลแต่ละระดับด้วยการแปลง (Mapping) ระดับภายนอก External/Conceptual Mapping + + ฯลฯ + ระดับตรรกะ Conceptual/Internal Mapping ระดับภายใน จัดเก็บไว้ Database Database

More Related