วันอังคารที่ 17 สิงหาคม พ.ศ. 2553

แบบบจำลองฐานข้อมูลลำดับชั้น




รูปแบบของฐานข้อมูล(Database Model)

ฐานข้อมูลแบบลำดับชั้น (hierarchical data model)
        คิดขึ้นโดยบริษัทไอบีเอ็ม เป็นฐานข้อมูลที่นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูปแบบของ โครงสร้างต้นไม้ (tree structure) เป็นโครงสร้างลักษณะคล้ายต้นไม้เป็นลำดับชั้น ซึ่งแตกออกเป็นกิ่งก้านสาขา ผู้ที่คิดค้นฐานข้อมูลแบบนี้คือ North American Rockwell เพื่อต้องการให้เป็นฐานข้อมูลที่สมารถกำจัดความซ้ำซ้อน (Data Redundancy) โดยใช้แนวความคิดของโปรแกรมที่ชื่อว่า Generalized Update Access Method (GUAM)
        3.1 โครงสร้างของฐานข้อมูลแบบลำดับชั้น
        1)ลักษณะโครงสร้างระบบฐานข้อมูลที่ใช้รูปแบบนี้จะมีโครงสร้างของข้อมูลเป็นลักษณะ
ความสัมพันธ์แบบพ่อลูก คือ พ่อ (parent) 1 คนมีลูก (child) ได้หลายคน แต่ลูกมีพ่อได้คนเดียว (นั่นคือเป็นความสัมพันธ์แบบ 1 ต่อ n) หรือแบบพ่อคนเดียวมีลูก 1 คน (นั่นคือเป็นความสัมพันธ์แบบ 1 ต่อ 1) ซึ่งจัดแยกออกเป็นลำดับชั้น โดยในระดับชั้นที่ 1 จะมีเพียงแฟ้มข้อมูลเดียวนั่นคือมีพ่อคนเดียว ในระดับที่ 2 จะมีกี่แฟ้มข้อมูลก็ได้ ในทำนองเดียวกันระดับ 2 ก็จะมีความสัมพันธ์กับระดับ 3 เหมือนกับ ระดับ 1 กับระดับ 2 โดยในโครงสร้างข้อมูลแบบลำดับชั้นแต่ละกรอบจะมีตัวชี้ (pointers) หรือ หัวลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัว จากตัวอย่างดังนี้





      จากฐานข้อมูลแบบลำดับชั้นจะมีปัญหาถ้าความสัมพันธ์ของข้อมูลเป็นแบบลูกมีพ่อได้หลายคน จะใช้โครงสร้างฐานข้อมูลแบบลำดับชั้นไม่ได้ เช่น ความสัมพันธ์ระหว่างลูกจ้างกับงานที่ทำ งานชิ้นหนึ่งอาจทำโดยลูกจ้างหลายคนได้ โครงสร้างฐานข้อมูลแบบลำดับชั้นจะไม่สามารถออกแบบลักษณะข้อมูลแบบนี้ได้ ปัญหาเช่นนี้ทำให้ไม่ค่อยมีผู้นิยมใช้ ฐานข้อมูลแบบลำดับชั้น เนื่องจากความสัมพันธ์ของข้อมูลที่จะเก็บไว้ในฐานข้อมูลเป็นแบบพ่อ-ลูกเท่านั้น
       2) กฎควบคุมความถูกต้อง คือ เรคอร์ดพ่อสามารถมีเรคอร์ดลูกได้หลายเรคอร์ด แต่เรคอร์ดลูกแต่ละเรคอร์ดจะมีเรคอร์ดพ่อได้เพียงเรคอร์ดเดียวเท่านั้น จากรูปแบบบฐานข้อมูลแบบลำดับชั้น จะมีปัญหา ถ้าความสัมพันธ์ของข้อมูลเป็นแบบเรคอร์ดลูก 1 เรคอร์ดมีพ่อได้หลายเรคอร์ด จะใช้โครงสร้างฐานข้อมูลแบบลำดับชั้นไม่ได้ เช่นความสัมพันธ์ระหว่างลูกจ้างกับงานที่ทำ งานชิ้นหนึ่งอาจทำโดยลูกจ้างหลายคนได้ โครงสร้างฐานข้อมูลแบบลำดับชั้น จะไม่สามารถออกแบบลักษณะข้อมูลแบบนี้ได้ ปัญหาเช่นนี้ทำให้ไม่มีผู้นิยมใช้
       3) การจัดการ รูปของโครงสร้างต้นใช้ภาษาปฏิบัติการทีละเรคอร์ด ตัวอย่างของภาษาปฎิบัติการของฐานข้อมูลนี้ ได้แก่ IMS/VS
      4.) ลักษณะเด่นและข้อจำกัดของการจัดการฐานข้อมูลแบบลำดับชั้น
    4.1 ลักษณะเด่น
          - เป็นระบบฐานข้อมูลที่มีระบบโครงสร้างซับซ้อนน้อยที่สุด
          - มีค่าใช้จ่ายในการจัดสร้างฐานข้อมูลน้อย
          - ลักษณะโครงสร้างเข้าใจง่าย
          - เหมาะสำหรับงานที่ต้องการค้นหาข้อมูลแบบมีเงื่อนไขเป็นระดับและออกงานแบบเรียงลำดับต่อเนื่อง
          - ป้องกันระบบความลับของข้อมูลได้ดี เนื่องจากต้องอ่านแฟ้มข้อมูลที่เป็นต้นกำเนิดก่อน
    4.2 ข้อจำกัด
         - มีโอกาสเกิดความซ้ำซ้อนมากที่สุดเมื่อเทียบกับระบบฐานข้อมูลแบบโครงสร้างอื่น
         - ขาดความสัมพันธ์ระหว่างแฟ้มข้อมูลในรูปเครือข่าย
         - มีความคล่องตัวน้อยกว่าโครงสร้างแบบอื่น ๆ เพราะการเรียกใช้ข้อมูลต้องผ่านทางต้นกำเนิด (root) เสมอ ถ้าต้องการค้นหาข้อมูลซึ่งปรากฏในระดับล่าง ๆ แล้วจะต้องค้นหาทั้งแฟ้ม



ภาพที่ 1.2 แสดงโครงสร้างฐานข้อมูลแบบลำดับ










  
ภาพที่ 1.3 แสดงโครงสร้างฐานข้อมูลแบบลำดับขั้น



















วันอังคารที่ 3 สิงหาคม พ.ศ. 2553

ซอฟต์แวร์การจัดการฐานข้อมูล




ซอฟต์แวร์จัดการฐานข้อมูล

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

แบบฟอร์มสำหรับป้อน แสดงผล และแก้ไขข้อมูล และแบบสอบถามสำหรับสืบค้นข้อมูล


              การจัดเก็บข้อมูลภายใต้การทำงานของซอฟต์แวร์จัดการฐานข้อมูล เป็นเรื่องทางเทคนิคภายในที่ยุ่งยากซับซ้อน ผู้ใช้งานฐานข้อมูลทั่วไป ไม่จำเป็นต้องเข้าใจ เพราะซอฟต์แวร์จัดการฐานข้อมูลจะดำเนินการให้เอง นอกจากนี้ซอฟต์แวร์จัดการฐานข้อมูลยังสามารถควบคุมความถูกต้องของข้อมูลในฐานข้อมูล ข้อมูลที่ปรากฏในฐานข้อมูลจะต้องเป็นไปตามกฎเกณฑ์ความถูกต้อง เช่น เมื่อกำหนดว่าพนักงานของบริษัทแต่ละคนจะทำงานได้เพียงแผนกเดียว พนักงานนั้นจะมีชื่อไปปรากฏสังกัดแผนกอื่นมากกว่าหนึ่งไม่ได้ หรืออายุของพนักงานจะมีค่ามากกว่า 100 ปี ไม่ได้ เป็นต้น นอกจากนี้ความถูกต้องของข้อมูลจะรวมถึงว่า ข้อมูลในฐานข้อมูลจะต้องสอดคล้องหรือไม่เกิดการขัดแย้งกัน เช่น วันเกิดของพนักงานที่แสดงไว้ในที่ต่างๆ จะต้องบันทึกไว้ตรงกัน ซอฟต์แวร์จัดการฐานข้อมูลจะต้องมีคำสั่งซึ่งอาจเลือกได้จากเมนูรายการคำสั่ง เพื่อให้ผู้ใช้งานสามารถกำหนดกฎเกณฑ์ในการควบคุมการทำงาน เมื่อมีการกำหนดกฎเกณฑ์ไว้แล้ว ซอฟต์แวร์จัดการฐานข้อมูลจะทำหน้าที่ตรวจสอบและควบคุมความถูกต้องให้กับผู้ใช้ ซอฟต์แวร์จัดการฐานข้อมูลมีมากมายหลายโปรแกรม ส่วนใหญ่เน้นการใช้งานที่ง่ายและใช้งานในระดับตั้งแต่ผู้ใช้คนเดียว หรือเชื่อมโยงเป็นกลุ่ม ตลอดจนเชื่อมต่อฐานข้อมูลอื่น ซอฟต์แวร์จัดการฐานข้อมูลที่รู้จักกันดี ได้แก่ แอกเซส ออราเคิล อินฟอร์มิกซ์ มายเอสคิวแอล เป็นต้น



รูปที่ 2. ระบบฐานข้อมูลเชื่อมโยงได้ทั้งภาพ เสียงและวีดิทัศน์

ภาษาที่ใช้ในระบบการจัดการฐานข้อมูล

                ภาษาที่ใช้ในระบบฐานข้อมูลจะใช้ภาษาเอสคิวแอลหรือ SQL ย่อมาจาก Structure Query Languag(Sหรืเรียกว่า ซีเควล ภาษา SQL มักจะนำมาใช้กับฐานข้อมูลเชิงสัมพันธ์ ซึ่งเป็นภาษามาตรฐานมีลักษณคล้ายกับภาษาอังกฤษ ซึ่งแบ่งออกเป็น 3 ประเภทหลัก ๆ ได้แก่ 1. ภาษาสำหรับการนิยามข้อมู(DataDefinition Language: DDL) 2. ภาษาสำหรับการจัดการข้อมูล (Data Manipulation Language: DML) 3. ภาษาควบคุม (Control Language) ภาษาสำหรับการนิยามข้อมูล ประกอบด้วย คำสั่งสำหรับสร้างโครงสร้างตารางและกำหนดชนิดของข้อมูล ขนาดของข้อมูลที่จะเก็บ ภาษาสำหรับการจัดการข้อมูล ประกอบด้วยคำสั่งสำหรับจัดการข้อมูล เช่น เพื่อแทรกข้อมูลเข้าสู่ตาราง เพื่อต้องการเรียกข้อมูลจากตารางมาแสดงผลที่จอภาพ หรือ เพื่อแก้ไข หรือลบข้อมูลที่ไม่ต้องการ ในส่วนของภาษาควบคุม จะประกอบด้วยคำสั่งสำหรับการอนุญาตให้ผู้ใช้แต่ละคนหรือกลุ่มผู้ใช้กลุ่มใด ๆ มีสิทธิในการใช้คำสั่งใด ๆ ได้บ้าง รวมทั้งคำสั่งสำหรับสำรองข้อมูลไม่ให้เสียหายและคำสั่งในการกู้คืนข้อมูลในกรณีที่ข้อมูลได้รัความเสียหายไปแล้ว เป็นต้น รายละเอียดจะได้กล่าวในบทที่ 3 ต่อไป






รูปที่ 3  ระบบการจัดการฐานข้อมูล


สิ่งที่เกี่ยวข้องกับระบบฐานข้อมูล

           ระบบฐานข้อมูลทุก ๆ ประเภทจะมีสิ่งที่เป็นองค์ประกอบเพื่อให้ระบบฐานข้อมูลทำงานได้สัมพันธ์กันอย่างครบถ้วน องค์ประกอบของระบบฐานข้อมูลหลัก ๆ มีอยู่ด้วยกัน 5 อย่างด้วยกัน คือ ฮาร์ดแวร์ ซอฟต์แวร์ บุคลากร กระบวนความ และข้อมูล ซึ่งมีรายละเอียดดังนี้
          1. ฮาร์แวร์      ฮาร์ดแวร์ หมายถึง ตัวเครื่องคอมพิวเตอร์และอุปกรณ์รอบข้าง ที่สามารถมองเห็นได้ อาจจะเป็นเครื่องเมนเฟรมคอมพิวเตอร์ เครื่องมินิคอมพิวเตอร์ หรือเครื่องไมโครคอมพิวเตอร์ก็ได้ รวมทั้งอุปกรณ์นำเข้าและอุปกรณ์แสดงผลต่าง ๆ ตลอดจนอุปกรณ์สื่อสารข้อมูลซึ่งในระบบฐานข้อมูลประเภทองค์การขนาดใหญ่ที่มีสาขาในต่างประเทศจำเป็นต้องใช้
           2. ซอฟต์แวร์    ซอฟต์แวร์ หมายถึง โปรแกรมหรือชุดคำสั่งที่ใช้สำหรับให้เครื่องคอมพิวเตอร์ประมวลผล ประกอบด้วย 3 ประเภทด้วยกัน ได้แก่ ระบบปฏิบัติการ ระบบจัดการฐานข้อมูล และโปรแกรมประยุกต์และโปรแกรมอัตถประโยชน์ (utility)
                (2.1) ระบบปฏิบัติการ เป็นโปรแกรมที่ใช้สำหรับเครื่องคอมพิวเตอร์เริ่มต้นการทำงาน ทำหน้าที่จัดการฮาร์ดแวร์ นำเข้า และแสดงรูปที่ 6.6 ระบบฐานข้อมูลเชื่อมโยงได้ทั้งภาพ เสียงและวีดิทัศน์ผล การบันทึกไปยังแหล่งจัดเก็บข้อมูล ตัวอย่างซอฟต์แวร์ระบบปฏิบัติการที่ใช้สำหรับฐานข้อมูลผู้ใช้คนเดียว เช่น Microsoft windows XP แต่ถ้าหากเป็นฐานข้อมูลที่ใช้กับองค์การขนาดใหญ่จะใช้ระบบปฏิบัติการ Linux, FreeBSD, หรือ UNIX เป็นต้น

                (2.3)โปรแกรมประยุกต์และโปรแกรมอัตถประโยชน์ เป็นโปรแกรมที่เกิดจากการเขียนชุดคำสั่งโดยโปรแกรมเมอร์เพื่อให้ผู้ใช้เข้าถึงข้อมูลและจัดการข้อมูลตลอดจนพิมพ์รายงานผลสารสนเทศออกมา ในส่วนของโปรแกรมอัตถประโยชน์มีไว้เพื่อให้ผู้บริหารฐานข้อมูลใช้ในการจัดการฐานข้อมูลให้สะดวกรวดเร็วยิ่งขึ้น
           3. บุคลากร     บุคลากร หมายถึง บุคคลผู้ที่มีหน้าที่เข้ามาเกี่ยวข้องกับระบบฐานข้อมูล ตั้งแต่ขั้นตอนการวิเคราะห์ระบบจนกระทั่งถึงการใช้งานจริง ผู้ที่เกี่ยวข้องกับฐานข้อมูลจำแนกได้ 6 กลุ่ม ได้แก่
              (3.1 )ผู้บริหารระบบ เป็นผู้ทำหน้าที่ติดตั้งตัวเครื่องคอมพิวเตอร์ ติดตั้งซอฟต์แวร์ระบบปฏิบัติการ โปรแกรมระบบสารสนเทศที่ได้พัฒนาเสร็จแล้วหรือที่ได้จัดซื้อมา รวมทั้งติดตั้งซอฟต์แวร์ระบบจัดการฐานข้อมูล มีหน้าที่เพิ่มรายชื่อผู้มีสิทธิ์เป็นผู้บริหารฐานข้อมูลเข้าสู่ซอฟต์แวร์ระบบการจัดการฐานข้อมูลที่ได้ติดตั้งเอาไว้ นอกจากนี้ผู้บริหารระบบ ยังทำหน้าที่ที่เกี่ยวข้องกับเครื่องคอมพิวเตอร์ที่เป็นเครื่องลูกข่ายด้วย
             (3.2 )ผู้บริหารฐานข้อมูล เป็นผู้ทำหน้าที่บริหารฐานข้อมูล กำหนดสิทธิ์การเข้าถึงข้อมูลให้ผู้ใช้แต่ละคนหรือเป็นกลุ่มก็ได้ กำหนดสิทธิ์ให้ผู้ใช้คนใดหรือกลุ่มใดใช้คำสั่งใดได้บ้าง เช่น คำสั่ง ลบข้อมูล คำสั่งแก้ไขข้อมูลเป็นต้น นอกจากนี้ ยังมีหน้าที่บำรุงรักษาฐานข้อมูลให้มีเสถียรภาพ มีประสิทธิภาพสูง เช่น กรณีที่มีข้อมูลเป็นจำนวนมากจะทำให้การเข้าถึงข้อมูลช้า ผู้บริหารฐานข้อมูลจะต้องปรับแต่งฐานข้อมูลให้ระบบฐานข้อมูลทำงานได้อย่างรวดเร็วยิ่งขึ้น เป็นต้น
             (3.3 )ผู้ออกแบบฐานข้อมูล เป็นผู้ทำหน้าที่ออกแบบฐานข้อมูลให้ถูกต้องตามหลักการออกแบบฐานข้อมูล สิ่งที่ผู้ออกแบบระบบจะต้องคำนึงถึง ได้แก่ การไม่ให้มีข้อมูลซ้ำซ้อนกันหรือถ้ามีให้มีได้น้อยที่สุด ความสอดคล้องของข้อมูลจะต้องสอดคล้องกัน ข้อมูลไม่ขัดแย้งกัน และความถูกต้องสมบูรณ์ของ ข้อมูล ถ้าหากการออกแบบมีข้อผิดพลาด แม้ว่าโปรแกรมจะเขียนได้ถูกต้องดีเลิศ ก็จะส่งผลให้สารสนเทศที่ได้ไม่ถูกต้องตามไปด้วย ผู้ใช้ไม่อยากใช้
           ( 3.4 )นักวิเคราะห์และออกแบบระบบ ทำหน้าที่วิเคราะห์และออกแบบระบบให้สอดคล้องกับความต้องการของผู้ใช้ระบบ หรือผู้ว่าจ้าง นักวิเคราะห์ทำหน้าที่ประสานงานระหว่างผู้ใช้หรือผู้ว่าจ้างกับโปรแกรมเมอร์ หลังจากนั้นจึงเขียนกระบวนการทำงาน ผังงาน หรือไดอะแกรมประเภทต่าง ๆ ออกแบบการแสดงผลจอภาพ ออกแบบรายงาน และสิ่งต่าง ๆ ที่เกี่ยวข้องเพื่อส่งให้โปรแกรมเมอร์เป็นผู้เขียนชุดคำสั่งต่อไป
           (3.5 )โปรแกรมเมอร์ มีหน้าที่เขียนชุดคำสั่งตามที่ผู้ออกแบบฐานข้อมูลและนักวิเคราะห์ระบบได้กำหนดขึ้น โดยเลือกโปรแกรมภาษาที่สอดคล้องกับระบบฐานข้อมูลที่ต้องการ เมื่อเขียนชุดคำสั่งในแต่ละโมดุล จะต้องทดสอบการทำงานของโปรแกรมที่เขียนไม่ให้มีข้อผิดพลาด ถ้ามีข้อผิดพลาดจะต้องแก้ไขให้ถูกต้องก่อนที่จะนำไปใช้จริง
          (3.6) ผู้ใช้ระบบสารสนเทศ (end user) มีหน้าที่ใช้ระบบฐานข้อมูล หรือระบบสารสนเทศที่ได้พัฒนา หน้าที่ต่าง ๆ ของผู้ใช้ ได้แก่ ป้อนข้อมูลเข้าสู่ระบบ ปรับปรุง แก้ไข และสอบถามข้อมูลสารสนเทศที่ต้องการ บางครั้งผู้ใช้ที่มีความชำนาญมาก จะสามารถใช้คำสั่งเพื่อประมวลผลสารสนเทศได้ตามความต้องการ
            4. กระบวนการ    กระบวนการ หมายถึงคำสั่งและกฎที่มีไว้สำหรับการออกแบบระบบฐานข้อมูลให้ได้ตามความต้องการของผู้ใช้หรือผู้ว่าจ้าง กระบวนการมีบทบาทสำคัญต่อองค์กร เพราะว่าองค์กรจำเป็นต้องสร้างมาตรฐานทางธุรกิจระหว่างองค์กรกับลูกค้า บางครั้งกระบวนการยังใช้สำหรับตรวจสอบเพื่อต้องการยืนยันว่าข้อมูลที่ป้อนเข้าไปกับสารสนเทศที่ได้ถูกต้องตรงกัน
            5. ข้อมูล    ข้อมูล หมายถึง สิ่งที่จัดเก็บในระบบฐานข้อมูล ประกอบด้วย ข้อเท็จจริง ข้อมูลดิบ เนื่องจากข้อมูลที่จะต้องจัดเก็บในระบบฐานข้อมูลเป็นรูปแบบกายภาพ เพราะฉะนั้นผู้ที่ทำหน้าที่ออกแบบฐานข้อมูลจะต้องให้ความสำคัญกับสิ่งนี้เป็นอย่างมาก





ภาพที่ 3. ผู้ที่เกี่ยวข้องกับระบบฐานข้อมูล