บทที่ 1 ระบบฐานข้อมูล


          ระบบฐานข้อมูล (Database System) หมายถึง โครงสร้างสนเทศ ที่ประกอบด้วยรายละเอียดของข้อมูลที่เกี่ยวข้องกันที่จะนำมาใช้ในระบบงานต่าง ๆ ร่วมกัน
          ระบบฐานข้อมูล จึงนับเป็นการจัดเก็บข้อมูลอย่างเป็นระบบ ซึ่งผู้ใช้จะสามารถจัดการกับข้อมูลได้ในลักษณะต่าง ๆ ทั้งการเพิ่มข้อมูล การแก้ไข การลบ ตลอดจนการเรียกดูข้อมูล ซึ่งส่วยใหญ่จะเป็นการประยุกต์นำเอาระบบคอมพิวเตอร์เข้ามาช่วยในการจัดการฐานข้อมูล

19670_44408[1].gif นิยามและคำศัพท์พื้นฐานเกี่ยวกับระบบฐานข้อมูล

          Bit หมายถึง หน่วยของข้อมูลที่มีขนาดเล็กที่สุด
          Byte หมายถึง หน่วยของข้อมูลที่เกิดจากการนำบิตมารวมกันเป็นตัวอักขระ
          Field หมายถึง หน่วยของข้อมูลที่ประกอบขึ้นจากตัวอักขระตั้งแต่หนึ่งตัวขึ้นไปมารวมกันแล้วได้ความหมายของสิ่งใดสิ่งหนึ่ง เช่น ชื่อ,ที่อยู่ เป็นต้น
          Record หมายถึง หน่วยของข้อมูลที่เกิดจากการนำเอาเขตข้อมูลหลาย ๆ เขตข้อมูลมารวมกันเพื่อเกิดเป็นข้อมูลเรื่องใดเรื่องหนึ่ง เช่น ข้อมูลของนักศึกษา 1 ระเบียน (1คน) จะประกอบด้วย รหัสประจำตัวนักศึกษา ชื่อนักศึกษา ที่อยู่ เป็นต้น
          File หมายถึง หน่วยของข้อมูลที่เกิดจากการนำข้อมูลหลาย ๆ ระเบียนที่เป็นเรื่องเดียวกันมารวมกัน เช่น แฟ้มข้อมูลนักศึกษา แฟ้มข้อมูลลูกค้า แฟ้มข้อมูลพนักงาน เป็นต้น
          Entity หมายถึง ชื่อของสิ่งใดสิ่งหนึ่ง เปรียบเสมือนคำนาม อาจได้แก่ คน สถานที่ สิ่งของ การกระทำ ซึ่งต้องการจัดเก็บข้อมูลไว้ เช่น เอนทิตีลูกค้า เอนทิตีพนักงาน เป็นต้น
          บางเอนทิตี อาจจะไม่มีความหมายเลย หากขาดเอนทิตีอื่นในฐานข้อมูล เช่น เอนทิตีประวัตินักศึกษาจะไม่มีความหมายเลย หากขาดเอนทิตีนักศึกษา เพราะจะไม่ทราบว่าเป็นประวัติของนักศึกษาคนใด ลักษณะเช่นนี้จัดได้ว่าเอนทิตีปรวัตินักศึกษาเป็นเอนทิตีชนิดอ่อนแอ (Weak Entity)
          Attribute หมายถึง รายละเอียดข้อมูลที่แสดงลักษณะและคุณสมบัติของเอนทิตีหนึ่ง ๆ เช่น เอนทิตีนักศึกษา ประกอบด้วย แอททริบิวต์รหัสนักศึกษา ชื่อนักศึกษา ที่อยู่นักศึกษา เป็นต้น
          ความสัมพันธ์ (Relationships) หมายถึง ความสัมพันธ์ระหว่างเอนทิตี เช่น ความสัมพันธ์ระหว่างเอนทิตีนักศึกษา และเอนทิตีคณะวิชา เป็นลักษณะว่า นักศึกษาแต่ละคนเรียนอยู่คณะวิชาใดคณะวิชาหนึ่ง เป็นต้น

19670_44408[1].gif ความสัมพันธ์ระหว่างเอนทิตี แบ่งออกได้เป็น 3 ประเภท คือ

          1. ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One-to-one Relationships)
              เป็นการแสดงความสัมพันธ์ของข้อมูลในเอนทิตีหนึ่งที่มีความสัมพันธ์กับข้อมูลในอีกเอนทิตีหนึ่ง ในลักษณะหนึ่งต่อหนึ่ง ตัวอย่างเช่น อาจารย์แต่ละคนสังกัดอยู่ได้เพียงคณะวิชาเดียวเท่านั้น ความสัมพันธ์ของข้อมูลในเอนทิตีอาจารย์ไปสู่เอนทิตีคณะวิชา จึงเป็นแบบหนึ่งต่อหนึ่ง ขณะเดียวกันแต่ละคณะวิชาก็จะมีผู้บริหารคณะ (คณะบดี) ได้เพียงหนึ่งคน
          2. ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One-to-many Relationships)
              เป็นการแสดงความสัมพันธ์ของข้อมูลในเอนทิตีหนึ่ง ที่มีความสัมพันธ์กับข้อมูลหลาย ๆ ข้อมูลในอีกเอนทิตีหนึ่ง ตัวอย่างเช่น ความสัมพันธ์ของข้อมูลในเอนทิตีพนักงานขาย ไปยังข้อมูลในเอนทิตีลูกค้าเป็นแบบหนึ่งต่อกลุ่ม หมายความว่า พนักงานขายแต่ละคนจะสามารถมีลูกค้าในความดูแลได้หลายคน ในทางตรงข้าม ความสัมพันธ์ของข้อมูลในเอนทิตีลูกค้าไปยังเอนทิตีพนักงานขายจะเป็นแบบหนึ่งต่อหนึ่ง หมายความว่า ลูกค้าแต่ละคนจะติดต่อกับพนักงานขายที่ดูแลงานได้เพียงหนึ่งคนเท่านั้น
          3. ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-many Relationships)
              เป็นการแสดงความสัมพันธ์ของข้อมูลสองเอนทิตีในลักษณะกลุ่มต่อกลุ่ม ตัวอย่างเช่น เอนทิตีใบสั่งซื้อแต่ละใบจะสามารถสั่งสินค้าได้มากกว่าหนึ่งชนิดความสัมพันธ์ของข้อมูลจากเอนทิตีใบสั่งซื้อไปยังเอนทิตีสินค้า จึงเป็นแบบหนึ่งต่อกลุ่ม ในขณะที่สินค้าแต่ละชนิด อาจจะปรากฏว่าถูกสั่งอยู่ในใบสั่งซื้อหลายใบ ความสัมพันธ์ของข้อมูลจากเอนทิตีสินค้าไปยังเอนทิตีใบสั่งซื้อ จึงเป็นแบบหนึ่งต่อกลุ่ม เช่นกัน ดังนั้นความสัมพันธ์ของเอนทิตีทั้งสองจึงเป็นแบบกลุ่มต่อกลุ่ม

19670_44408[1].gif ความสำคัญของการประมวลผลแบบระบบฐานข้อมูล

การจัดเก็บข้อมูลรวมเป็นฐานข้อมูลจะก่อให้เกิดประโยชน์ด้วยกันหลายประการ พอสรุปได้ดังนี้
1. สามารถลดความซ้ำซ้อนของข้อมูลได้
2. หลักเลี่ยงความขัดแย้งของข้อมูลได้
3. สามารถใช้ข้อมูลร่วมกันได้
4. สามารถรักษาความถูกต้องเชื่อถือได้ของข้อมูล
5. สามารถกำหนดความเป็นมาตรฐานเดียวกันของข้อมูลได้
6. สามารถกำหนดระบบความปลอดภัยของข้อมูลได้
7. เกิดความเป็นอิสระของข้อมูล

19670_44408[1].gif รูปแบบของระบบฐานข้อมูล มีอยู่ด้วยกัน 3 ประเภท คือ


          1. ฐานข้อมูลเชิงสัมพันธ์ (Relational Database) เป็นการเก็บข้อมูลในรูปแบบที่เป็นตาราง (Table) หรือเรียกว่า (Relation) มีลักษณะเป็น
2 มิติ คือ เป็นแถว (Row) และเป็นคอลัมน์(Column) การเชื่อมโยงข้อมูลระหว่างตารางจะเชื่อมโยงโดยใช้ Attribute หรือคอลัมน์ที่เหมือนกันทั้งสองตารางเป็นตัวเชื่อมโยงข้อมูล
          2. ฐานข้อมูลแบบเครือข่าย (Network Database) จะเป็นการรวมระเบียนต่าง ๆ และความสัมพันธ์ระหว่างระเบียนแต่จะต่างกับฐานข้อมูลเชิงสัมพันธ์ คือ ในฐานข้อมูลเชิงสัมพันธ์จะแฝงความสัมพันธ์เอาไว้ โดยระเบียนที่มีความสัมพันธ์กัน จะต้องมีค่าของข้อมูลในแอททริบิวต์ใดแอททริบิวต์หนึ่งเหมือนกันแต่ในฐานข้อมูลแบบเครือข่าย จะแสดงความสัมพันธ์อย่างชัดเจน
          3. ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database) เป็นโครงสร้างที่จัดเก็บข้อมูลในลักษณะความสัมพันธ์แบบพ่อ- ลูก (Parent-Child Relationship Type : PCR Type) หรือเป็นโครงสร้างรูปแบบต้นไม้ (Tree) ข้อมูลที่จัดเก็บในที่นี้ คือ Record ซึ่งประกอบด้วยค่าของเขตข้อมูล (Field) ของเอนทิตีหนึ่ง ๆ นั่นเอง ซึ่งสามารถสรุปคุณสมบัติของฐานข้อมูลแบบลำดับชั้น ได้ดังนี้
          - หากระเบียนใดเป็นประเภทพ่อ- แม่ แล้วจะมีคุณสมบัติเป็นประเภทลูก ไม่ได้
          - ทุกระเบียนยกเว้นระเบียนที่เป็นพ่อ- แม่ สามารถมีความสัมพันธ์กับระเบียนที่เป็นประเภทพ่อ-แม่ได้ หนึ่งความสัมพันธ์
          - ทุกระเบียนสามารถมีคุณสมบัติเป็นระเบียนประเภทพ่อ- แม่ได้
          - ถ้าระเบียนหนึ่งมีระเบียนลูกมากกว่าหนึ่งระเบียนแล้ว การลำดับความสัมพันธ์ของระเบียนที่เป็นลูก จะลำดับจากซ้ายไปขวา
          โปรแกรมฐานข้อมูลที่นิยมใช้ โปรแกรมฐานข้อมูลเป็นโปรแกรมหรือซอฟต์แวร์ที่ช่วยจัดการข้อมูลหรือรายการต่าง ๆ ที่อยู่ในฐานข้อมูลไม่ว่าจะเป็นการจัดเก็บ การเรียกใช้ การปรับปรุงข้อมูล โปรแกรมฐานข้อมูลจะช่วยให้ผู้ใช้สามารถค้นหาข้อมูลได้อย่างรวดเร็ว ซึ่งโปรแกรมฐานข้อมูลที่นิยมใช้มีอยู่ด้วยกันหลายตัว เช่น Access, Oracle, DB2, SQL เป็นต้น โดยแต่ละโปรแกรมจะมีความสามารถต่างกัน บางโปรแกรมใช้ง่ายแต่จะจำกัดขอบเขตการใช้งาน บางโปรแกรมใช้งานยากกว่า แต่จะมีความสามารถในการทำงานมากกว่า