วันอังคารที่ 20 กันยายน พ.ศ. 2554

ระบบฐานข้อมูล

 ระบบฐานข้อมูล (Database) หมายถึง กลุ่มของข้อมูลที่มีความสัมพันธ์กันและถูกนำมาจัดเก็บในที่เดียวกัน โดยข้อมูลอาจเก็บไว้ในแฟ้มข้อมูลเดียวกันหรือแยกเก็บหลาย  แฟ้มข้อมูล แต่ต้องมีการสร้างความสัมพันธ์ระหว่างข้อมูลเพื่อประสิทธิภาพในการจัดการข้อมูลในการจัดเก็บข้อมูลในระบบฐานข้อมูลมีข้อดีกว่าการจัดเก็บข้อมูลในระบบแฟ้มข้อมูลพอสรุปประเด็นหลัก  ได้ดังนี้
· มีการใช้ข้อมูลร่วมกัน (data sharing)
· ลดความซ้ำซ้อนของข้อมูล (reduce data redundancy)
· ข้อมูลมีความถูกต้องมากขึ้น (improved data integrity)
· เพิ่มความปลอดภัยให้กับข้อมูล (increased security)
· มีความเป็นอิสระของข้อมูล (data independency)
            ในการประกอบธุรกิจจะมีข้อมูลต่างๆเกิดขึ้นมากมาย ยกตัวอย่างเช่น ข้อมูลลูกค้า  ข้อมูลการสั่งของ ข้อมูลพนักงาน ฯลฯ ซึ่งข้อมูลเหล่านี้จะต้องมีการเก็บรักษาที่ดี นอกจากนั้นในการตัดสินใจต่างๆจะมีข้อมูลที่ต้องใช้ประมวลผลเพื่อประกอบการตัดสินใจเป็นจำนวนมาก การนำข้อมูลเหล่านี้มาใช้นั้น ถ้าไม่ได้มีการจัดระเบียบการเก็บที่ดี ก็ย่อมนำมาใช้ได้อย่างยากลำบาก
ทำไมต้องมีระบบฐานข้อมูล
            ระบบฐานข้อมูลที่มีประสิทธิภาพจะมีหน้าที่หลักๆดังต่อไปนี้
          การเก็บรักษาข้อมูล ระบบฐานข้อมูลจะช่วยให้การเก็บรักษาข้อมูลเป็นระบบระเบียบ มีการจัดหมวดหมู่ของข้อมูล ซึ่งจะให้ผู้จัดเก็บทำงานได้สะดวกมากขึ้น และป้องกันความผิดพลาดได้
          การนำข้อมูลไปใช้ ข้อนี้จะเป็นหัวใจของระบบฐานข้อมูลเลยทีเดียว ระบบฐานจะทำให้การดึงข้อมูลออกมาใช้สะดวกและมีประสิทธิภาพมากขึ้น การสรุปข้อมูลและประมวลผลต่างๆจะทำได้ง่ายขึ้น ซึ่งจะทำให้สามารถนำข้อมูลไปประกอบการตัดสินใจได้ ยกตัวอย่างเช่น การเก็บข้อมูลใบสั่งของจากลูกค้า ถ้าเราเก็บโดยไม่มีระบบเช่นเก็บสำเนาใบเสร็จทั้งหมดไว้ เราก็จะมีเพียงหลักฐานว่าใครสั่งอะไรไปบ้างเท่านั้น แต่ถ้ามีการเก็บลงระบบฐานข้อมูล โดยเฉพาะอย่างยิ่งเมื่อใช้คอมพิวเตอร์เข้าช่วย เราจะสามารถดึงข้อมูลสรุป ต่างๆออกมาใช้ได้ เช่น สามารถรวบรวมได้ว่า ลูกค้ารายนี้ สั่งอะไรบ้าง สินค้ารายการนี้ถูกสั่งไปเท่าไร เหลืออีกเท่าไร ฯลฯ
          การแก้ไขข้อมูล เป็นอีกความสามารถหนึ่งที่ระบบฐานข้อมูลจะช่วยให้ทำงานสะดวกขึ้น ยกตัวอย่างเช่น จากข้อที่แล้วตัวอย่างใบสั่งของ ถ้าลูกค้ามีการเปลี่ยนหมายเลขโทรศัพท์ติดต่อ เราก็สามารถแก้ทีเดียวได้ โดยไม่ต้องเข้าไปแก้ในใบสั่งของแต่ละใบ เป็นต้น
            ซึ่งจากหน้าที่ของระบบฐานข้อมูลจะทำให้เห็นว่า การเก็บข้อมูลอย่างมีระบบกับไม่มีนั้น มีความสามารถและประโยชน์ใช้สอยต่างกันมาก ซึ่งก็คงจะทำให้เห็นประโยชน์ของฐานข้อมูลเด่นชัดขึ้น
ระบบฐานข้อมูลคอมพิวเตอร์
            อันที่จริงแล้วนั้น ระบบฐานข้อมูลไม่จำเป็นจะต้องอิงกับคอมพิวเตอร์เสมอไป ยกตัวอย่างเช่น ระบบบัตรทะเบียนหนังสือในห้องสมุด ระบบบัตรคนไข้ ฯลฯ แม้แต่การที่เราจดบันทึกหมายเลขโทรศัพท์ของเพื่อน ก็ถือได้ว่าเป็นระบบฐานข้อมูลอย่างหนึ่ง  ซึ่งระบบดังกล่าวนี้ ถ้ามีการใช้หลักของการจัดการฐานข้อมูลที่ถูกต้องแล้วละก็ จะสามารถมีความสะดวกในการใช้สอยได้ในระดับหนึ่ง
            แต่ทว่าในปัจจุบันเมื่อเราพูดถึงระบบฐานข้อมูล เราก็มักจะนึกถึงระบบฐานข้อมูลคอมพิวเตอร์ การนำคอมพิวเตอร์มาใช้ในการจัดการฐานข้อมูลนั้น อาจพูดได้ว่า เป็นการใช้คอมพิวเตอร์ที่ตรงกับข้อเด่นที่สุดของคอมพิวเตอร์อย่างหนึ่ง ก็คือ ใช้กับงานที่มีการทำซ้ำเป็นจำนวนมาก มีการประมวลผลที่เป็นระบบ ซึ่งคอมพิวเตอร์จะไม่มีความผิดพลาดอันเกิดจากการเหนื่อยล้าหรือเบื่อหน่าย
รูปแบบของระบบฐานข้อมูล
รูปแบบของระบบฐานข้อมูล มีอยู่ด้วยกัน 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) ของเอนทิตี้หนึ่ง ๆ
         ฐานข้อมูลแบบลำดับชั้นนี้คล้ายคลึงกับฐานข้อมูลแบบเครือข่าย แต่ต่างกันที่ฐานข้อมูลแบบลำดับชั้น มีกฎเพิ่มขึ้นมาอีกหนึ่งประการ คือ ในแต่ละกรอบจะมีลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัวลูกศร
นิยามและคำศัพท์พื้นฐานเกี่ยวกับระบบฐานข้อมูล
บิท (Bit) หมายถึง หน่วยของข้อมูลที่มีขนาดเล็กที่สุด
ไบท์ (Byte) หมายถึง หน่วยของข้อมูลที่กิดจากการนำบิทมารวมกันเป็นตัวอักขระ (Character)
เขตข้อมูล (Field) หมายถึง หน่วยของข้อมูลที่ประกอบขึ้นจากตัวอักขระตั้งแต่หนึ่งตัวขึ้นไปมารวมกันแล้วได้ความหมายของสิ่งใดสิ่งหนึ่ง เช่น ชื่อ ที่อยู่ เป็นต้น
ระเบียน (Record) หมายถึง หน่วยของข้อมูลที่เกิดจากการนเอาเขตข้อมูลหลาย ๆ เขตข้อมูลมารวมกัน เพื่อเกิดเป็นข้อมูลเรื่องใดเรื่องหนึ่ง เช่น ข้อมูลของนักศึกษา 1 ระเบียน (1 คน) จะประกอบด้วย
รหัสประจำตัวนักศึกษา 1 เขตข้อมูล
ชื่อนักศึกษา 1 เขตข้อมูล
ที่อยู่ 1 เขตข้อมูล
แฟ้มข้อมูล (File) หมายถึงหน่วยของข้อมูลที่เกิดจากการนำข้อมูลหลาย ๆ ระเบียนที่เป็นเรื่องเดียวกันมารวมกัน เช่น แฟ้มข้อมูลนักศึกษา แฟ้มข้อมูลลูกค้า แฟ้มข้อมูลพนักงาน

ส่วนในระบบฐานข้อมูล มีคำศัพท์ต่าง ๆ ที่เกี่ยวข้องดังนี้
เอนทิตี้ (Entity) หมายถึง ชื่อของสิ่งใดสิ่งหนึ่ง ได้แก่ คน สถานที่ สิ่งของ การกระทำ ซึ่งต้องการจัดก็บข้อมูล
ไว้ เช่น เอนทิตี้ลูกค้า เอนทิตี้พนักงาน
- เอนทิตี้ชนิดอ่อนแอ (Weak Entity) เป็นเอนทิตี้ที่ไม่มีความหมาย หากขาดเอนทิตี้อื่นในฐานข้อมูล
แอททริบิวต์(Attribute) หมายถึง รายละเอียดข้อมูลที่แสดงลักษณะและคุณสมบัติของเอนทิตี้หนึ่ง ๆ เช่น
เอนทิตี้นักศึกษา ประกอบด้วย - แอทริบิวต์รหัสนักศึกษา
- แอททริบิวต์ชื่อนักศึกษา
- แอททริบิวต์ที่อยู่นักศึกษา
ความสัมพันธ์ (Relationships) หมายถึง ความสัมพันธ์ระหว่างเอนทิตี้ เช่น ความสัมพันธ์ระหว่างเอนทิตี้นักศึกษาและเอนทิตี้คณะวิชา เป็นลักษณะว่า นักศึกษาแต่ละคนเรียนอยู่คณะวิชาใดคณะวิชาหนึ่ง
ในการแสดงความสัมพันธ์ระหว่างเอนทิตี้ เราจะใช้หัวลูกศรเพื่อแสดงความสัมพันธ์ ดังตัวอย่างในรูปต่อไปนี้
รูปที่ 1.1 คณะวิชา ß ----------à à นักศึกษา (คณะวิชามีความสัมพันธ์กับนักศึกษา)
ในการระบุความสัมพันธ์ระหว่างเอนทิตี้ จะกำหนดโดยใช้หัวลูกศร และหากพิจารณาความสัมพันธ์จากเอนทิตี้นักศึกษาไปยังเอนทิตี้คณะวิชา อาจจะกำหนดความสัมพันธ์ได้ดังนี้
รูปที่ 1.2 คณะวิชา ----------------à นักศึกษา (นักศึกษาสังกัดอยู่คณะวิชา)
และหากพิจารณาความสัมพันธ์จากเอนทิตี้คณะวิชาไปยังเอนทิตี้นักศึกษา อาจกำหนดความสัมพันธ์ได้ดังนี้
รูปที่ 1.3 คณะวิชา --------------à à นักศึกษา (คณะวิชาประกอบด้วยนักศึกษา)
จากรูปที่ 1.2 จะเห็นได้ว่า นักศึกษา 1 คนจะสามารถสังกัดอยู่ได้เพียง 1 คณะวิชา แต่จากรูปที่ 1.3 จะเห็นได้ว่า 1 คณะวิชาสามารถประกอบด้วยนักศึกษาหลาย ๆ คน
ความสัมพันธ์ระหว่างเอนทิตี้ แบ่งออกเป็น 3 ประเภท คือ
ความสัมพันธ์แบบหนึ่งต่อหนึ่ง ( One - to - One Relationship )
เป็นการแสดงความสัมพันธ์ของข้อมูลของเอนติตี้หนึ่งว่า มีความสัมพันธ์กับข้อมูลอย่างมากหนึ่งข้อมูลกับอีกเอนติตี้หนึ่งในลักษณะที่เป็นหนึ่งต่อหนึ่ง เช่น เอนติตี้นักศึกษา กับเอนติตี้โครงงานวิจัยมีความสัมพันธ์กันแบบหนึ่งต่อหนึ่ง คือ นักศึกษาแต่ละคนทำโครงงานวิจัยได้ 1 โครงงานเท่านั้น และแต่ละ
ความสัมพันธ์แบบหนึ่งต่อกลุ่ม ( One - to - Many Relationship )
เป็นการแสดงความสัมพันธ์ของข้อมูลของเอนติตี้หนึ่งว่ามีความสัมพันธ์กับข้อมูลหลายข้อมูลกับอีกเอนติตี้หนึ่ง เช่น ความสัมพันธ์ของลูกค้าและคำสั่งซื้อเป็นแบบหนึ่งต่อกลุ่ม คือ ลูกค้าแต่ละคนสามารถสั่งซื้อได้หลายคำสั่งซื้อ แต่แต่ละคำสั่งซื้อมาจากลูกค้าเพียงคนเดียว เป็นต้น
ความสัมพันธ์แบบกลุ่มต่อกลุ่ม ( Many - to - Many Relationship )
เป็นการแสดงความสัมพันธ์ของข้อมูลของสองเอนติตี้ในลักษณะแบบกลุ่มต่อกลุ่ม เช่น ความสัมพันธ์ระหว่างคำสั่งซื้อกับสินค้าเป็นแบบกลุ่มต่อกลุ่ม คือ แต่ละคำสั่งซื้ออาจสั่งซื้อสินค้าได้มากกว่า 1 ชนิด และในสินค้าแต่ละชนิดอาจปรากฏอยู่ในคำสั่งซื้อได้มากกว่า 1 คำสั่งซื้อ
เอนทิตี้ใบสั่งซื้อแต่ละใบจะสามารถสั่งสินค้าได้มากกว่าหนึ่งชนิด ความสัมพันธ์ของข้อมูลจากเอนทิตี้ใบสั่งซื้อไปยังเอนทิตี้สินค้า จึงเป็นแบบหนึ่งต่อกลุ่ม (1:m) ในขณะที่สินค้าแต่ละชนิด จะถูกสั่งอยู่ในใบสั่งซื้อหลายใบ ความสัมพันธ์ของข้อมูลจากเอนทิตี้สินค้าไปยังอินทิตี้ใบสั่งซื้อ จึงเป็นแบบหนึ่งต่อกลุ่ม (1:n) ดังนั้นความสัมพันธ์ของเอนทิตี้ทั้งสอง จึงเป็นแบบกลุ่มต่อกลุ่ม (m:n)
จากคำศัพท์ต่าง ๆ ที่เกี่ยวข้องกับระบบฐานข้อมูลที่ได้กล่าวมาแล้วข้างต้น จึงอาจให้นิยามของฐานข้อมูลในอีกลักษณะได้ว่า “ฐานข้อมูล” อาจหมายถึง โครงสร้างสารสนเทศ ที่ประกอบด้วยหลาย ๆ เอนทิตี้ที่มีความสัมพันธ์กัน
 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น