650 likes | 709 Views
แนวคิดพื้นฐานเกี่ยวกับฐานข้อมูล. Introduction to Database. เนื้อหา. แนวคิดเบื้องต้นเกี่ยวกับฐานข้อมูล การจัดการข้อมูลแบบแฟ้มข้อมูล การจัดการข้อมูลแบบระบบฐานข้อมูล การบริหารระบบฐานข้อมูล. แนวคิดเบื้องต้นเกี่ยวกับฐานข้อมูล. ความหมายของข้อมูล ข้อเท็จจริง ข่าวสาร เหตุการณ์เกี่ยวกับสิ่งต่าง ๆ
E N D
แนวคิดพื้นฐานเกี่ยวกับฐานข้อมูลแนวคิดพื้นฐานเกี่ยวกับฐานข้อมูล Introduction to Database
เนื้อหา • แนวคิดเบื้องต้นเกี่ยวกับฐานข้อมูล • การจัดการข้อมูลแบบแฟ้มข้อมูล • การจัดการข้อมูลแบบระบบฐานข้อมูล • การบริหารระบบฐานข้อมูล
แนวคิดเบื้องต้นเกี่ยวกับฐานข้อมูลแนวคิดเบื้องต้นเกี่ยวกับฐานข้อมูล • ความหมายของข้อมูล • ข้อเท็จจริง ข่าวสาร เหตุการณ์เกี่ยวกับสิ่งต่าง ๆ • มีการรวบรวมไว้ • ชนิดของข้อมูล • ชนิดข้อความ >>ไม่สามารถนำมาคำนวณได้ อาจนำมาเรียงลำดับได้ ข้อมูลอาจเป็นตัวหนังสือ ตัวเลข เครื่องหมาย • ชนิดที่มีรูปแบบ >> มีการกำหนดรูปแบบในการจัดเก็บไว้อย่างเป็นระบบ เช่น รหัสนักศึกษา หมายเลขบัตรประจำตัวประชาชน เลขเรียกหนังสือ • ชนิดรูปภาพ • ชนิดเสียง
การจัดเก็บข้อมูล • เดิมทีมีการจัดเก็บในรูปแบบเอกสาร โดยใช้สัญลักษณ์ในการแยกหมวดหมู่
จากแฟ้มเอกสารสู่แฟ้มข้อมูลจากแฟ้มเอกสารสู่แฟ้มข้อมูล • ฟิลด์(field) : คือการนำเอาอักขระตั้งแต่หนึ่งตัวขึ้นไปมารวมกันเพื่อให้เกิดความหมาย เช่น ฟิลด์ std_nameใช้เก็บข้อมูลนักศึกษา ,ฟิลด์ salary ใช้เก็บข้อมูลเงินเดือน เป็นต้น • เรคคอร์ด(record) : คือกลุ่มของฟิลด์ที่สัมพันธ์กัน เช่น ในหนึ่งเรคคอร์ดประกอบด้วยฟิลด์ต่างๆ ที่เกี่ยวข้องเป็นชุด เช่น เรคคอร์ดประวัตินักศึกษา ประกอบด้วย - รหัสนักศึกษา - ชื่อ-สกุล - ที่อยู่ , จังหวัด ,เบอร์โทรศัพท์ • ไฟล์(file) : คือกลุ่มของเรคคอร์ดที่สัมพันธ์กันเช่น แฟ้มประวัตินักศึกษา จะประกอบด้วยเรคคอร์ดของนักศึกษาทั้งหมดในมหาวิทยาลัย ดังนั้นหนึ่งไฟล์จะต้องมีอย่างน้อยหนึ่งเรคคอร์ด เพื่อใช้การใช้งานข้อมูล เป็นต้น
fields แฟ้มข้อมูล File แฟ้มประวัตินักเรียน record 1 record n record 2 ..... ประวัติ น.ร. คนที่ 1 ประวัติ น.ร. คนที่ 2 ประวัติ น.ร. คนที่ n รหัสนักเรียน รหัสนักเรียน รหัสนักเรียน ชื่อ-สกุล ชื่อ-สกุล ชื่อ-สกุล วันเกิด วันเกิด วันเกิด ที่อยู่ ที่อยู่ ที่อยู่
แฟ้มข้อมูล Field File Record
ประเภทของแฟ้มข้อมูล 1. แฟ้มข้อมูลชั่วคราว (Transaction File) • ไฟล์ที่ใช้ในการเก็บค่าที่มีการเปลี่ยนแปลงบ่อย ๆ ซึ่งไม่ใช้ผลลัพธ์สุดท้าย • เป็นไฟล์ชั่วคราวและมักจะไม่เก็บข้อมูลหรือผลลัพธ์ที่ได้จากการประมวลผลไว้อย่างถาวร • เช่น แฟ้มข้อมูลการลงทะเบียนของนักศึกษา ที่ต้องมีการลงทะเบียนทุกภาคการศึกษา หรือ แฟ้มข้อมูลรายการถอนเงินในบัญชีของลูกค้า
ประเภทของแฟ้มข้อมูล 2. แฟ้มข้อมูลหลัก (Master File) • เป็นไฟล์หลักที่ใช้เก็บข้อมูลที่มีการเปลี่ยนแปลงน้อย และจะเก็บข้อมูลไว้อย่างถาวร • มักเก็บผลลัพธ์สุดท้ายของแต่ละช่วงเวลา • มีการปรับปรุงข้อมูลโดยใช้ข้อมูลจาก Transaction File • เช่น แฟ้มข้อมูลประวัตินักศึกษา ชื่อ ที่อยู่ เป็นต้น
การจัดโครงสร้างแฟ้มข้อมูล (File Organizations) • การจัดการแฟ้มข้อมูล (File Organization)เป็นเทคนิคที่ใช้ในการจัดเก็บข้อมูล การเตรียมวิธีการเข้าถึงข้อมูล การเรียกใช้ และการปรับปรุงข้อมูล มี 3 ประเภท คือ 1. แฟ้มข้อมูลแบบเรียงลำดับ 2. แฟ้มข้อมูลแบบสุ่ม 3. แฟ้มข้อมูลแบบลำดับเชิงดัชนี
1. แฟ้มข้อมูลแบบเรียงลำดับ (Sequential File) • เป็นแฟ้มข้อมูลที่มีการเรียงลำดับตั้งแต่เรคคอร์ดแรกจนถึงเรคคอร์ดสุดท้าย • สามารถใช้งานได้ง่ายและเสียค่าใช้จ่ายน้อย แต่เสียเวลามากในการทำงาน • เหมาะกับงานที่มีการเปลี่ยนแปลงของข้อมูลที่เป็นลำดับในปริมาณมาก • อุปกรณ์ / สื่อที่ใช้เก็บคือ เทปแม่เหล็ก เพราะมีราคาถูก
โครงสร้างแฟ้มข้อมูลแบบเรียงลำดับโครงสร้างแฟ้มข้อมูลแบบเรียงลำดับ (Sequential File Organization) Start Of file Scan
2. แฟ้มข้อมูลแบบสุ่ม (Random File) • สามารถทำงานได้เร็ว เพราะไม่ต้องเรียงลำดับข้อมูล • ไม่เหมาะกับงานที่มีการเปลี่ยนแปลงข้อมูลในปริมาณที่มาก • อุปกรณ/สื่อที่ใช้เก็บคือ จานแม่เหล็ก • การเขียนโปแกรมเพื่อค้นหาข้อมูลจะมีความซับซ้อน
3. แฟ้มข้อมูล แบบลำดับเชิงดัชนี(Indexed Sequential File) • สามารถรองรับการประมวลผลได้ทั้งแบบ Sequential และ แบบ Random • เหมาะกับการประมวลผลแบบ Online • เสียเนื้อที่ในการจัดเก็บอินเด็กซ์หรือต้องสร้างตารางดัชนีที่ใช้ในการอ้างถึง ตำแหน่งของข้อมูล
3. แฟ้มข้อมูล แบบลำดับเชิงดัชนี(Indexed Sequential File) • การเขียนโปรแกรมเพื่อค้นหาข้อมูลจะมีความซับซ้อน แต่การทำงานจะช้ากว่าแบบ Random และเสียค่าใช้จ่ายสูง • อุปกรณ/สื่อที่ใช้เก็บคือ จานแม่เหล็ก
โครงสร้างแฟ้มข้อมูลแบบดัชนี (Indexed File Organizations)
ข้อเสียของการจัดการข้อมูลแบบแฟ้มข้อมูลข้อเสียของการจัดการข้อมูลแบบแฟ้มข้อมูล 1. ข้อมูลมีการเก็บแยกจากกัน (Data Isolation) 2. เกิดความซ้ำซ้อนของข้อมูล (Data Redundacy) 3. ข้อมูลมีความขึ้นต่อกัน (Data dependence) 4. ความไม่สอดคล้องกันของข้อมูล (Data Inconsistency) 5. รายงานต่างๆ ถูกกำหนดไว้อย่างจำกัด
1. ข้อมูลมีการเก็บแยกจากกัน (separation and isolation of data) แฟ้มพนักงาน (Employees) แฟ้มพนักงานขาย (Salesman)
2. ข้อมูลมีความซ้ำซ้อน (duplication of data/redundancy) • สืบเนื่องมาจากการเก็บข้อมูลแยกจากกัน ทำให้ไม่สามารถควบคุมข้อมูลไม่ให้เกิดความซ้ำซ้อนได้ ที่สำคัญคือการทำให้เสียพื้นที่ในการจัดเก็บข้อมูลเพิ่มขึ้น จากตัวอย่างข้างต้น คือ พนักงานชื่อ นายสมชาย และนายดิเรก ถูกเก็บลงแฟ้มข้อมูล 2 แฟ้ม ทั้งที่ควรเป็นข้อมูลชุดเดียวกัน ดังนั้นจึงทำให้เกิดความผิดพลาดของข้อมูล 3 ลักษณะด้วยกัน คือ
2.1 ข้อผิดพลาดจากการเพิ่มข้อมูล (Insertion anomalies) แฟ้มพนักงาน (Employees) Insertion แฟ้มพนักงานขาย (Salesman)
2.2 ข้อผิดพลาดจากการลบข้อมูล (Deletion anomalies) แฟ้มพนักงาน (Employees) Deletion จากแฟ้มพนักงานไปแล้ว แฟ้มพนักงานขาย (Salesman)
2.3 ข้อผิดพลาดจากการเปลี่ยนแปลงข้อมูล (Modification anomalies) แฟ้มพนักงาน (Employees) Modification เปลี่ยนชื่อ แฟ้มพนักงานขาย (Salesman)
ตัวอย่างการจัดการข้อมูลแบบแฟ้มข้อมูลตัวอย่างการจัดการข้อมูลแบบแฟ้มข้อมูล ฝ่ายทะเบียนวัดผล ฝ่ายงานบัญชี แฟ้มนักเรียน แฟ้มการลงทะเบียน แฟ้มรายวิชา แฟ้มผลการเรียน แฟ้มนักเรียน แฟ้มการเงิน ความซ้ำซ้อน & ความไม่สอดคล้องของข้อมูล หมวดวิชาคณิตศาสตร์ หมวดวิชาคอมพิวเตอร์ แฟ้มนักเรียน แฟ้มผลการเรียน แฟ้มนักเรียน แฟ้มผลการเรียน
3.ข้อมูลมีความขึ้นต่อกัน(Data dependence) ปัญหาดังกล่าวจะเกิดขึ้นเมื่อมีการปรับเปลี่ยนโครงสร้างของแฟ้มข้อมูล จะส่งผลกระทบกับข้อมูลที่ทำการจัดเก็บอยู่ และส่งผลทำให้ข้อมูลในหน่วยงานอื่น ๆที่จัดเก็บไม่ตรงกัน และวิธีการปรับปรุงค่อนข้างจะยุ่งยากมาก Master File (Old Structure) NewMaster File Update File New File (New Structure)
4.ความไม่สอดคล้องกันของข้อมูล (Data Inconsistency) ความไม่สอดคล้องของข้อมูล คือ การที่ข้อมูลเดียวกันถูกจัดเก็บไว้ในหลายๆแห่ง มีค่าไม่ตรงกัน ซึ่งอาจเกิดจากความผิดพลาดของการป้อนข้อมูล มีรูปแบบไม่ตรงกัน เช่น การป้อนข้อมูลหมายเลขโทรศัพท์ ควรจะเป็น 0-5541-1096 แต่กลายเป็น 055-411096 เป็นต้น
5. รายงานต่าง ๆ ถูกกำหนดไว้อย่างจำกัด(fixed queries/proliferation of application programs) ระบบแฟ้มข้อมูลของแต่ละหน่วยงานถูกเขียนขึ้นด้วยหลาย ๆโปรแกรม และการใช้งานในแต่ละหน่วยงานก็แตกต่างกัน ดังนั้นในส่วนของการจ้างโปรแกรมเมอร์มาทำการพัฒนาโปรแกรมนั้นก็จะมีส่วนที่กำหนดในเรื่องของรายงานที่หน่วยงานต้องการใช้ แต่หากว่าต้องการรายงานอื่น ๆเพิ่มในอนาคตก็ต้องทำการว่าจ้างโปรแกรมเมอร์มาพัฒนาทำให้เสียค่าใช้จ่ายเพิ่ม ดังนั้นจะเห็นว่าเกิดปัญหาในเรื่องของความต้องการของผู้ใช้งาน
ข้อดีของวิธีแฟ้มข้อมูล (Advantages of File-Based approach) • ง่ายต่อการออกแบบและการพัฒนา (easy to design and implement) • การประมวลผลแบบแฟ้มข้อมูลเป็นวิธีดังเดิมที่ใช้กันมานาน และมีความรวดเร็ว (historically and processing speed)
การจัดการข้อมูลแบบแฟ้มข้อมูลการจัดการข้อมูลแบบแฟ้มข้อมูล เป็นการจัดเก็บข้อมูลในลักษณะแฟ้มข้อมูลที่อิสระจากกัน แฟ้มข้อมูลอาจารย์ ระบบเงินเดือน รายงาน แฟ้มข้อมูลวิชาที่เปิดสอน ระบบตารางสอน รายงาน แฟ้มข้อมูลเกรด ระบบเกรด รายงาน
ระบบแฟ้มข้อมูล (File System) • ข้อมูลรายวิชา • ข้อมูลนักเรียน • ข้อมูลการลงทะเบียน โปรแกรมการลงทะเบียน • ข้อมูลรายวิชา • ข้อมูลนักเรียน • ข้อมูลผลการเรียน โปรแกรมประมวลผลการเรียนแต่ละเทอม • ข้อมูลรายวิชา • ข้อมูลการลงทะเบียน โปรแกรมจัดการรายวิชา
แก้ไขข้อเสียโดยใช้ … ระบบฐานข้อมูล ระบบเงินเดือน รายงาน ระบบจัดการฐานข้อมูล(DBMS) ข้อมูลอาจารย์ ระบบตารางสอน รายงาน ข้อมูลตารางสอน ข้อมูลเกรด ระบบเกรด รายงาน
ระบบฐานข้อมูล (Database System) โปรแกรมการลงทะเบียน DBMS • ฐานข้อมูล • ข้อมูลรายวิชา • ข้อมูลนักเรียน • ข้อมูลการลงทะเบียน • ข้อมูลผลการเรียน • ฯลฯ โปรแกรมประมวลผลการเรียนแต่ละเทอม โปรแกรมจัดการรายวิชา
ความหมายของระบบฐานข้อมูลความหมายของระบบฐานข้อมูล ฐานข้อมูล (Database): ประกอบด้วยรายละเอียดข้อมูลที่มีความเกี่ยวข้องกันซึ่งจะถูกนำมาใช้งานในด้านต่างๆโดยข้อมูลเหล่านี้จะถูกจัดเก็บไว้ให้เป็นศูนย์กลางอย่างมีระบบซึ่งสามารถเรียกใช้งานร่วมกันได้ เพื่อประโยชน์ในการจัดการและการเรียกใช้ข้อมูลได้อย่างมีประสิทธิภาพ
ลักษณะของข้อมูลในระบบฐานข้อมูลลักษณะของข้อมูลในระบบฐานข้อมูล แสดงข้อมูลทั้งหมดที่ประกอบอยู่ในฐานข้อมูล ส่วนที่แรเงาคือส่วนของข้อมูลที่ซ้ำซ้อน ซึ่งสามารถเก็บแยกแฟ้มได้ โดยให้มีส่วนชี้แสดงความสัมพันธ์ถึงกัน นักเรียน วิชา อาจารย์ ห้องเรียน ห้องเรียน นักเรียน อาจารย์ วิชา
โครงสร้างข้อมูลในระบบฐานข้อมูลโครงสร้างข้อมูลในระบบฐานข้อมูล อาจารย์ นักเรียน รายวิชา
องค์ประกอบของระบบฐานข้อมูลองค์ประกอบของระบบฐานข้อมูล 1. ฮาร์ดแวร์ (Hardware) 2. ซอฟต์แวร์ (Software) หรือ โปรแกรม (Program) 3. ข้อมูล (Data) 4. บุคลากร (People) 5. ขั้นตอนการปฏิบัติงาน (Procedure)
องค์ประกอบของระบบฐานข้อมูลองค์ประกอบของระบบฐานข้อมูล ผู้ใช้ (User) ข้อมูล (Data) Database System ซอฟต์แวร์ (Software) ฮาร์ดแวร์ (Hardware)
องค์ประกอบที่ 1 : ฮาร์ดแวร์ (Hardware) หมายถึง ฮาร์ดแวร์ หรืออุปกรณ์ต่างที่ใช้เพื่อช่วยให้ระบบฐานข้อมูลสามารถทำงานได้อย่างมีประสิทธิภาพ โดยมีสิ่งสำคัญคือ - ขนาดของหน่วยความจำ (Memory) - ความเร็วในการประมวลผลของ CPU - อุปกรณ์นำเข้า (Input Device) - อุปกรณ์แสดงผล (Output Device)
องค์ประกอบที่ 2 : ซอฟต์แวร์ (Software) หมายถึงซอฟต์แวร์ ที่ใช้เพื่อเก็บข้อมูล หรือการจัดการข้อมูลในรูปแบบต่างๆ โดยแต่ละระบบจะใช้ โปรแกรมที่แตกต่างกันไปตามลักษณะการใช้งาน แต่ทุกระบบจะต้องมีโปรแกรมที่ทำหน้าที่ควบคุมดูแลการสร้าง, การเรียกใช้ข้อมูล, การจัดทำรายงาน, การปรับเปลี่ยนแก้ไขโครงสร้าง ฯลฯ ที่เรียกว่า “ระบบจัดการฐานข้อมูล” (Database Management System : DBMS)
ระบบจัดการฐานข้อมูล (DBMS) หมายถึง โปรแกรมที่ทำหน้าที่จัดการข้อมูลในฐานข้อมูล ทั้งการสร้าง, การเรียกใช้งาน, การเปลี่ยนแปลงโครงสร้าง และยังความคุมระบบรักษาความปลอกภัยของฐานข้อมูลอีกด้วย โดยระบบจัดการฐานข้อมูลจะเป็นสื่อกลางระหว่างผู้ใช้งานโปรแกรมประยุกต์ต่างๆ กับระบบฐานข้อมูลที่ติดต่ออยู่ ระบบจัดการฐานข้อมูล(DBMS) ฐานข้อมูล โปรแกรมประยุกต์ต่างๆ ที่ผู้ใช้งานใช้
หน้าที่ของระบบจัดการฐานข้อมูล (DBMS) 1. ช่วยกำหนดและเก็บโครงสร้างฐานข้อมูล (Define and Store Database Structure) ฐานข้อมูล
หน้าที่ของระบบจัดการฐานข้อมูล (DBMS) 2. การบรรจุข้อมูลลงฐานข้อมูล (Load Database) ฐานข้อมูล
หน้าที่ของระบบจัดการฐานข้อมูล (DBMS) 3. เก็บและดูแลข้อมูล (Store and Maintain Data) DBMSStore and Maintain Data ABCD 12345
หน้าที่ของระบบจัดการฐานข้อมูล (DBMS) 4. ประสานงานกับระบบปฏิบัติการ (Operating System) DBMS OperatingSystem ApplicationSoftware ฐานข้อมูล
หน้าที่ของระบบจัดการฐานข้อมูล (DBMS) 5. ช่วยควบคุมความปลอดภัย (Security Control) X ฐานข้อมูล Non-Authorize USER / DBMS Authorize USER
หน้าที่ของระบบจัดการฐานข้อมูล (DBMS) 6. การจัดทำข้อมูลสำรองและการกู้ (Backup and Recovery) Backup ABCD 12345 ABCD 12345 ABCD 12345 ABCD 12345 Recovery Backup Database Database
หน้าที่ของระบบจัดการฐานข้อมูล (DBMS) 7. ควบคุมการใช้งานพร้อมกันของผู้ใช้ในระบบ (Concurrency Control) USER 1 ฐานข้อมูล U1 : U3 : U2 USER 2 DBMS USER 3
หน้าที่ของระบบจัดการฐานข้อมูล (DBMS) 8. ควบคุมความบูรณภาพของข้อมูล (Integrity Control) IntegrityControl ID=1 Name=Somchai ID=01, Name=Somchai ID=02, Name=Somsri ฐานข้อมูลการจ่ายเงินเดือน ฐานข้อมูลประวัติ
หน้าที่ของระบบจัดการฐานข้อมูล (DBMS) 9. ทำหน้าที่จัดทำพจนานุกรมข้อมูล (Data Dictionary) DB พจนานุกรม เพื่อเก็บรายละเอียดที่เกี่ยวข้องกับฐานข้อมูล ชื่อตาราง ชื่อฟิลด์ คีย์ต่าง Database