สถาปัตยกรรมของระบบฐานข้อมูล อ.กฤติเดช จินดาภัทร์
จุดประสงค์การเรียนรู้ เพื่อให้นักศึกษาเข้าใจความหมายและอธิบายสถาปัตยกรรมของระบบฐานข้อมูลได้ เพื่อให้นักศึกษาเข้าใจ และอธิบายความแตกต่างของ ภาษาที่ใช้ในระบบฐานข้อมูลได้
หัวข้อที่ศึกษา 1. ความหมายสถาปัตยกรรมของระบบฐานข้อมูล 2. KEY 3. ระดับของข้อมูล 4. ความเป็นอิสระของข้อมูล 5. ภาษาที่ใช้ในระบบฐานข้อมูล
1.สถาปัตยกรรมของระบบฐานข้อมูล สถาปัตยกรรมระบบฐานข้อมูล (Database Architecture) คือกรอบแนวคิดสำหรับอธิบายโครงสร้าง หรือองค์ประกอบ ตลอดจนการทำงานของระบบฐานข้อมูลแบบต่างๆ ซึ่งผู้ใช้งานระบบฐานข้อมูลที่มีความเข้าใจสถาปัตยกรรมฐานข้อมูล จะสามารถเรียกใช้ระบบฐานข้อมูลดังกล่าวได้อย่างมีประสิทธิภาพ
2. โครงสร้างแฟ้มข้อมูล - บิต (Bit) เป็นหน่วยที่เล็กที่สุดของข้อมูลในระบบคอมพิวเตอร์ สถานะคือ 0 และ 1 - ไบต์ (Byte) เป็นการนำจำนวนบิตมารวมกันเป็นไบต์ ได้แก่ ตัวเลข ตัวอักษร หรือสัญลักษณ์พิเศษ 1 ตัว เช่น 0, 1, a เป็นต้น โดยที่ 1 ไบต์มีค่าเท่ากับ 8 บิต - ฟิลด์ (Field) เป็นการนำไบต์หลาย ๆ ตัวมารวมกันเป็นฟิลด์เพื่อให้เกิดความหมาย เช่น Salary เป็นฟิลด์ที่เก็บเงินเดือนพนักงานเป็นต้น
2. โครงสร้างแฟ้มข้อมูล(ต่อ) - เรคคอร์ด (Record) เป็นกลุ่มของฟิลด์ที่มีความสัมพันธ์กัน ในหนึ่งเรคคอร์ดจะประกอบด้วยฟิลด์ต่าง ๆ ที่เกี่ยวข้องกันรวมกันเป็นชุด เช่น เรคคอร์ดของประวัตินักศึกษา ประกอบด้วยฟิลด์รหัสนักศึกษา ชื่อ-สกุล วันเกิด ที่อยู่ จังหวัด เบอร์โทรศัพท์ ชื่อที่อยู่ผู้ปกครองเป็นต้น - ไฟล์ (File) หรือ แฟ้มข้อมูล (Data File) เป็นกลุ่มของเรคคอร์ดที่มีความสัมพันธ์กัน เช่น ในแฟ้มประวัตินักศึกษาจะประกอบด้วยเรคคอร์ดของนักศึกษาทั้งหมดที่อยู่ในวิทยาลัย
2. โครงสร้างแฟ้มข้อมูล(ต่อ)
2. โครงสร้างแฟ้มข้อมูล(ต่อ)
2. โครงสร้างแฟ้มข้อมูล(ต่อ)
2. โครงสร้างแฟ้มข้อมูล(ต่อ)
2. โครงสร้างแฟ้มข้อมูล(ต่อ) เอนทิตี้ ( Entity ) หมายถึง ชื่อของสิ่งใดสิ่งหนึ่งอาจเกี่ยวกับคน สถานที่ สิ่งของ การกระทำ ซึ่งต้องการจัดเก็บข้อมูลไว้ เช่น เอนทิตี้พนักงาน สินค้า ลูกค้า การสั่งซื้อ เป็นต้น
2. โครงสร้างแฟ้มข้อมูล(ต่อ) แอทริบิวต์ ( Attribute ) หมายถึง รายละเอียดขอข้อมูลในเอนทิตี้หนึ่ง ๆ เช่น เอนทิตี้พนักงาน ประกอบด้วย แอทริบิวต์รหัสพนักงาน ชื่อ ที่อยู่ หรือแอทริบิวต์แผนก ประกอบด้วย แอทริบิวต์รหัสแผนก ชื่อ เป็นต้น
2. โครงสร้างแฟ้มข้อมูล(ต่อ)
2. โครงสร้างแฟ้มข้อมูล(ต่อ)
2. โครงสร้างแฟ้มข้อมูล(ต่อ)
2. โครงสร้างแฟ้มข้อมูล(ต่อ) คีย์ (key) หมายถึง แอททริบิวท์ที่สามารถแยกความแตกต่างของข้อมูลในแต่ละทูเพิลได้ คีย์ (key) ที่ใช้ในฐานข้อมูลมีหลายชนิดด้วยกันได้แก่คีย์ - หลัก (Primary Key) - คีย์คู่แข่ง (Candidate Key) - คีย์รอง (Secondary Key) - คีย์นอก (Foreign Key)
2. โครงสร้างแฟ้มข้อมูล(ต่อ) หลัก (Primary Key) PK คือ แอททริบิวท์ที่มีคุณสมบัติของข้อมูลที่เป็นค่าเอกลักษณ์หรือมีค่าที่ไม่ซ้ำซ้อนกัน คุณสมบัติดังกล่าวจะสามารถระบุว่าข้อมูลนั้นเป็นข้อมูลของทัพเพิลใด เช่น รหัสนักเรียน 1001 ระบุตัวนักเรียนเพียงคนเดียวซึ่งมีค่าไม่ซ้ำกับรหัสนักเรียนคนอื่น เป็นต้น
2. โครงสร้างแฟ้มข้อมูล(ต่อ)
2. โครงสร้างแฟ้มข้อมูล(ต่อ) คีย์นอก (Foreign Key) FK หมายถึง แอททริบิวต์หรือกลุ่มของแอททริบิวต์ในรีเลชั่นหนึ่ง ที่ใช้ในการอ้างอิงถึง แอททริบิวต์เดียวกันในอีกรีเลชั่นหนึ่งที่เป็นคีย์หลัก คีย์นอกเป็นคีย์ที่ใช้ในการเชื่อมความสัมพันธ์ระหว่างรีเลชั่น ของฐานข้อมูลเชิงสัมพันธ์ ดังนั้นในการเปลี่ยนแปลงค่าของคีย์นอกหรือคีย์หลักที่เชื่อมความสัมพันธ์กัน อยู่จึงเป็นเรื่องที่ต้องระมัดระวังเป็นอย่างมาก ซึ่งในการจัดการฐานข้อมูลจะต้องมีกฏเกณฑ์และเงื่อนไข เพื่อท้าให้ฐานข้อมูลถูกต้องตลอดเวลา และขึ้นอยู่กับ DBMS ที่สามารถควบคุมความถูกต้องของฐานข้อมูลนั้น ๆ ด้วย
2. โครงสร้างแฟ้มข้อมูล(ต่อ)
2. โครงสร้างแฟ้มข้อมูล(ต่อ) คีย์คู่แข่ง (Candidate Key) CKหมายถึง ในรีเลชั่นหนึ่ง ๆ มีคีย์ที่สามารถเป็นคีย์หลักได้มากกว่าหนึ่ง แอททริบิวต์ แต่เมื่อแอททริบิวต์ใดที่ถูกเลือกเป็นคีย์หลักแล้ว คีย์คู่แข่งที่เหลืออยู่ก็จะมีชื่อใหม่เรียกว่า คีย์สำรอง (secondary key หรือAlternate key)
2. โครงสร้างแฟ้มข้อมูล(ต่อ) - คีย์รอง (Secondary Key หรือAlternate key) SK คือ คีย์เดี่ยวหรือคีย์ผสม (Single or Composite key) ซึ่งเมื่อใช้ในการค้นหาข้อมูลจากความสัมพันธ์จะได้มากกว่าหนึ่งเรคคอร์ด ต่างจากคีย์หลักที่ทำให้ข้อมูลในตารางไม่ซ้ำกัน ดังนั้นคีย์รองจึงไม่จำเป็นจะต้องเป็นเอกลักษณ์
2. โครงสร้างแฟ้มข้อมูล(ต่อ)
2. โครงสร้างแฟ้มข้อมูล(ต่อ) ความสัมพันธ์ ( Relationship ) หมายถึง คำกิริยาที่แสดงความสัมพันธ์ระหว่างสองเอนทิตี้ เช่น เอนทิตี้พนักงาน และเอมทิตี้แผนก มีความสัมพันธ์ในด้าน “ ทำงานสังกัดอยู่ ” นั่นคือพนักงานแต่ละคนทำงานอยู่ในแผนกใดแผนหนึ่ง เป็นต้น
2. โครงสร้างแฟ้มข้อมูล(ต่อ)
2. ระดับของข้อมูล สถาปัตยกรรมฐานข้อมูล (Database System Architecture) ถูกกำหนดโดยสถาบันมาตรฐานแห่งชาติของสหรัฐอเมริกา The American National Standards Institute (ANSI) ได้แบ่งสถาปัตยกรรมของระบบฐานข้อมูล ออกเป็น 3 ระดับ คือ 1. ระดับภายนอก (External level) 2. ระดับแนวคิด (Conceptual level) 3. ระดับภายใน (Internal level)
3. ระดับของข้อมูล สถาปัตยกรรมฐานข้อมูล (Database System Architecture) ถูกกำหนดโดยสถาบันมาตรฐานแห่งชาติของสหรัฐอเมริกา The American National Standards Institute (ANSI) ได้แบ่งสถาปัตยกรรมของระบบฐานข้อมูล ออกเป็น 3 ระดับ คือ 1. ระดับภายนอก (External level) 2. ระดับแนวคิด (Conceptual level) 3. ระดับภายใน (Internal level)
11 มกราคม 2546 (วัน เดือน ปี พ.ศ.) เป็นต้น 3. ระดับของข้อมูล (ต่อ) 1. ระดับภายนอก (External level) เป็นระดับภายนอก ที่ผู้ใช้แต่ละคนสามารถเห็นข้อมูล และเรียกใช้ข้อมูลได้แตกต่างกันออกไป โดยไม่รู้ว่าข้อมูลจริงในฐานข้อมูลถูกเก็บในลักษณะใดหรือมีโครงสร้างแบบใด ซึ่งโครงสร้างของข้อมูลผู้ใช้มองเห็นจะแปรเปลี่ยนไปตามมุมมองของผู้ใช้ เช่น ข้อมูลวันที่ ผู้ใช้คนแรกเรียกใช้เป็นรูปแบบ 01/11/2003 (เดือน/วัน/ปี ค.ศ.) ผู้ใช้คนที่สอง เรียกใช้เป็นรูปแบบ 11 มกราคม 2546 (วัน เดือน ปี พ.ศ.) เป็นต้น
3. ระดับของข้อมูล (ต่อ) 2. ระดับแนวคิด (Conceptual level) เป็นระดับที่มองโครงสร้างรวมของระบบฐานข้อมูล เน้นความสัมพันธ์ระหว่างข้อมูล รวมทั้งกฎเกณฑ์ต่าง ๆ ที่เกี่ยวกับข้อมูล และผู้ที่มีสิทธิจะใช้ข้อมูล ระดับแนวคิดนี้จะจัดเก็บข้อมูลระดับ Logical และมีคนจัดการคือ ผู้บริหารฐานข้อมูล (DBA : Database Administrator) เพื่อจัดเตรียมข้อมูลทั้งหมดที่จะจัดเก็บ ความสัมพันธ์ระหว่างข้อมูลนั้น และวิธีการเรียกใช้ข้อมูลในรูปแบบต่าง ๆ ที่ผู้ใช้ต้องการ ในลักษณะที่แตกต่างกัน การทำระดับแนวคิดจะเกี่ยวข้องกับการกำหนด เอนทิตี้ แอตทริบิวต์ และความสัมพันธ์ของแต่ละเอนทิตี้
3. ระดับของข้อมูล (ต่อ) 3. ระดับภายใน (Internal level) เป็นการจัดเก็บข้อมูลระดับ physical ที่จัดเก็บข้อมูลด้วยโครงสร้างข้อมูลที่เหมาะสม ให้ผู้ใช้สามารถเข้าถึงการใช้ข้อมูลอย่างรวดเร็วและมีประสิทธิภาพ โดยกำหนดโครงสร้างข้อมูลว่าเป็นแบบใด เช่น แบบ Tree , pointer หรือ มีตัวใดเป็น index เพื่อใช้ในการค้นหาข้อมูล รวมถึงการบีบอัดข้อมูล และการเข้ารหัสข้อมูลสำหรับกำหนดสิทธิ์ในการเรียกใช้ข้อมูลของผู้ใช้ที่แตกต่างกัน การกำหนดโครงสร้างต่าง ๆ เหล่านี้ขึ้นอยู่กับผู้บริหารฐานข้อมูล (DBA : Database Administrator)
4.ความเป็นอิสระของข้อมูล ความเป็นอิสระของข้อมูล (Data Independence) วัตถุประสงค์ของการแบ่งสถาปัตยกรรมของระบบฐานข้อมูลออกเป็น 3 ระดับ เพื่อให้เกิดความเป็นอิสระของข้อมูล (Data Independence) คือในการเปลี่ยนแปลงข้อมูลในระดับที่สูงกว่า จะไม่มีผลกระทบการข้อมูลในระดับที่ต่ำกว่า
4.ความเป็นอิสระของข้อมูล ความเป็นอิสระของข้อมูลแบบตรรกะ (Logical Data Independence) ความเป็นอิสระของข้อมูลแบบกายภาพ (Physical Data Independence)
5.ภาษาที่ใช้ในระบบฐานข้อมูล ภาษาที่ใช้ในฐานข้อมูล (Database Languages) ภาษาที่ใช้ในฐานข้อมูล คือภาษา SQL (Structure Query Language) (สามารถอ่านออกเสียงเป็น “เอสคิวแอล” (SQL) หรือ “ซีเควล” (Sequel) ก็ได้) เป็นภาษาในการจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database) ภาษา SQL ถูกพัฒนาขึ้นจากแนวคิดพื้นฐานของ relational calculus และ relational algebra ของ E.F.Codd ในปีค.ศ. 1970
กลุ่มคำสั่งของภาษา SQL 5.ภาษาที่ใช้ในระบบฐานข้อมูล (ต่อ) กลุ่มคำสั่งของภาษา SQL ภาษานิยามข้อมูล (Data Definition Language : DDL) ภาษาจัดการข้อมูล (Data Manipulation Language : DML) ภาษาควบคุมข้อมูล (Data Control Language : DCL)
ภาษานิยามข้อมูล (Data Definition Language : DDL) 5.ภาษาที่ใช้ในระบบฐานข้อมูล (ต่อ) ภาษานิยามข้อมูล (Data Definition Language : DDL) เป็นกลุ่มคำสั่งที่ใช้สำหรับสร้างหรือกำหนดโครงสร้างให้กับฐานข้อมูลเชิงสัมพันธ์ เช่น การเพิ่ม ลบ เปลี่ยนแปลงโครงสร้างของ attribute ต่าง ๆ ของตาราง หรือประกอบด้วยคำสั่งที่ใช้ในการกำหนดโครงสร้างข้อมูลว่ามีคอลัมน์อะไร แต่ละคอลัมน์เก็บข้อมูลประเภทใด รวมถึงการเพิ่มคอลัมน์ การกำหนดดัชนี การกำหนดวิวของผู้ใช้
2. ภาษาจัดการข้อมูล (Data Manipulation Language : DML) 5.ภาษาที่ใช้ในระบบฐานข้อมูล (ต่อ) 2. ภาษาจัดการข้อมูล (Data Manipulation Language : DML) เป็นภาษาใช้สำหรับจัดการข้อมูลภายในฐานข้อมูล ได้แก่ การเรียกใช้ข้อมูล การเปลี่ยนแปลงข้อมูล การเพิ่ม ลบ หรือปรับปรุงข้อมูลในฐานข้อมูล ภาษาจัดการข้อมูล (DML) SELECT เรียกค้นข้อมูลในตาราง INSERT เพิ่มแถวข้อมูลลงในตาราง UPDATE ปรับปรุงแถวข้อมูลในตาราง DELETE ลบแถวข้อมูลในตาราง
3. ภาษาควบคุมข้อมูล (Data Control Language : DCL) 5.ภาษาที่ใช้ในระบบฐานข้อมูล (ต่อ) 3. ภาษาควบคุมข้อมูล (Data Control Language : DCL) เป็นภาษาที่ใช้ในการควบคุมความถูกต้องของข้อมูล และควบคุมความปลอดภัยของข้อมูล ภาษาในส่วนนี้จะทำการป้องกันการเกิดเหตุการณ์ที่ผู้ใช้หลายคนเรียกใช้ข้อมูลพร้อมกัน โดยจะทำหน้าที่ควบคุมความถูกต้องของการใช้ข้อมูล และทำการลำดับการใช้ข้อมูลของผู้ใช้แต่ละคนที่แตกต่างกัน และตรวจสอบสิทธิ์ในการใช้ข้อมูลนั้น ๆ โดยการกำหนดการทำงานทั้งหมดเป็นหน้าที่ของผู้บริหารฐานข้อมูล (DBA)
เอกสารอ้างอิงแหล่งที่มา Link1 Link2 Link3 Link4
A&Q Thank You ! www.charprom.com