วันพฤหัสบดีที่ 19 ธันวาคม พ.ศ. 2562

ขอบเขตการประยุกต์ใช้งานฐานข้อมูล


ขอบเขตการประยุกต์ใช้งานฐานข้อมูล



การประยุกต์ใช้ฐานข้อมูล
ฐานข้อมูลในปัจจุบันได้กลายเป็นส่วนประกอบสำคัญของการประยุกต์คอมพิวเตอร์ในด้านธุรกิจและการบริหารไปแล้ว ฐานข้อมูลช่วยในการเก็บข้อมูลพื้นฐานที่เกิดขึ้น และรวมไปถึงข้อมูลสรุปที่เกิดจากการนำข้อมูลพื้นฐานมาคำนวณ แยกประเภทและสรุปเป็นหมวดหมู่ต่างๆ เพื่อใช้ในการติดสินใจด้วย                                                                                                                                                                     การประยุกต์ใช้ฐานข้อมูลสามารถจำแนกตามลักษณะของข้อมูลได้ดังนี้
1.  ฐานข้อมูลข้อความ เป็นฐานข้อมูลที่เก็บบันทึกข้อความต่างๆ เอาไว้ใช้อ้างอิง
2. ฐานข้อมูลภาพลักษณ์  เป็นฐานข้อมูลที่ผู้ใช้สแกน ภาพของเอกสารเข้าไปเก็บไว้เพื่อค้นคืนในทำนองเดียวกับฐานข้อมูลข้อความ แต่แตกต่างกันตรงที่ในกรณีของฐานข้อมูลภาพนั้น คอมพิวเตอร์ไม่รู้ว่า ภาพนั้นๆมีข้อความว่าอะไรบ้าง เพราะเอกสารที่คนเราอ่านออกนั้น เมื่อสแกนเป็นภาพแล้ว จะปรากฏต่อคอมพิวเตอร์เหมือนเป็นจุดขาวดำ หรือจุดสีที่ไม่รู้ว่าเป็นตัวอักษรอะไร ดังนั้นการค้นคืนจึงกระทำต่อตัวฐานข้อมูลภาพโดยตรงไม่ได้จะต้องอาศัยการเพิ่มคำสำคัญ (Keyword) เข้าไปในฐานข้อมูลด้วย เพื่อให้ดำเนินการค้นจากคำสำคัญนี้แทนการค้นจากภาพ ปัจจุบันสำนักงานเลขาธิการ ครมได้จัดเก็บมติ ครมทุกเรื่องเอาไว้ในฐานข้อมูลภาพ เพื่อช่วยในการค้นหาและติดตามการตัดสินใจของ ครม.                  
3. ฐานข้อมูลตัวเลข เป็นฐานข้อมูลที่เก็บข้อมูลเป็นตัวเลขเอาไว้มากยิ่งกว่า 
4. ฐานข้อมูลองค์กร เป็นฐานข้อมูลที่เก็บข้อมูลต่างๆ ทั้งที่เป็นข้อความ ตัวเลข และภาพ ที่เกี่ยวข้องกับงานขององค์กรเอาไว้ เพื่อค้นคืนออกมาใช้ในการปฏิบัติงาน หรือในการบริหารตัดสินใจ                                                                                                                                                                           ประโยชน์ของฐานข้อมูล
1.จัดเก็บและบันทึกข้อมูล ถ้าข้อมูลนั้นไม่ได้จัดเก็บและบันทึกไว้ ข้อมูลก็จะหายไปไม่สามารถนำมาใช้ได้ ซึ่งการจัดเก็บและบันทึก ทำให้การทำงานต่างๆ เป็นระบบดีขึ้น
2. ลดความซ้ำซ้อนของข้อมูล เมื่อข้อมูลต่างๆ ถูกเก็บไว้ในที่เดียวกัน การซ้ำซ้อนของข้อมูลจึงลดลงได้
3. สามารถใช้ข้อมูลร่วมกันได้ เนื่องจาก หลักการของฐานข้อมูลคือ ดทำฐานข้อมูลเพียงชุดเดียวเพื่อให้ผู้ใช้หลายๆคนใช้ข้อมูลร่วมกัน ไม่มีระบบงานใดระบบงานหนึ่งโดยเฉพาะที่จะเป็นเจ้าของข้อมูลในฐานข้อมูลได้
4. ลดการขัดแย้งหรือต่างกันของข้อมูล เนื่องจากระบบงานต่างๆ เรียกใช้ข้อมูลเดียวกันในฐานข้อมูล จึงทำให้ไม่มีการขัดแย้งของข้อมูล เมื่อมีการปรับปรุงข้อมูลใดข้อมูลหนึ่งในฐานข้อมูล
5. ป้องกันการแก้ไขข้อมูลต่างๆ ฐานข้อมูลจะยอมให้โปรแกรมหรือผู้ที่มีสิทธิในการแก้ไขข้อมูลเท่านั้นทำการแก้ไขได้
6. ความถูกต้องของข้อมูลมีมากขึ้น เนื่องจากข้อมูลต่างๆ ถูกเก็บรวมกัน การจัดขั้นตอนในการตรวจสอบข้อมูลที่จะนำมาปรับปรุงฐานข้อมูลว่าถูกต้องหรือไม่จะทำได้ง่ายขึ้น จึงทำให้ข้อมูลที่จะปรับปรุงฐานข้อมูลนั้นถูกต้อง และข้อมูลในฐานข้อมูลจึงถูกต้องและตรงกับความเป็นจริงไปด้วย
7. สะดวกในการสืบค้นข้อมูล ก่อนการพัฒนาฐานข้อมูลนั้น หน่วยงานอาจจะมีข้อมูลกระจายอยู่ตามที่ต่างๆ ไม่สามารถค้นหามาใช้งานได้สะดวก ยิ่งถ้าหากข้อมูลยังคงบันทำอยู่บนกระดาษ การจะนำข้อมูลมาคำนวณย่อมต้องเสียเวลาบันทึกข้อมูลไปอีก เมื่อจัดทำฐานข้อมูลแล้ว ผู้ใช้ย่อมค้นข้อมูลได้สะดวกขึ้น ค้นได้แล้วก็นำข้อมูลไปใช้คำนวณได้ทันที
8. ป้องกันการสูญหายของข้อมูล หรือฐานข้อมูลถูกทำลาย ฐานข้อมูลจะมีโปรแกรมสำหรับนำข้อมูลที่ถูกยกเลิกหรือเปลี่ยนแปลงกลับเป็นอย่างเดิมได้ นอกจากนั้นยังมีระบบการป้องกันการถูกทำลายของฐานข้อมูล จึงทำให้ฐานข้อมูลอยู่ในสภาพที่ใช้งานได้และมีข้อมูลครบถ้วนอยู่ตลอดเวลา
9.เกิดการประยุกต์ใช้ระบบสารสนเทศ การมีฐานข้อมูลในหน่วยงานย่อมเป็นสิ่งที่ดีสำหรับ การสร้างระบบสารสนเทศต่างๆ เพื่อจัดทำรายงานที่จำเป็นสำหรับเสนอผู้บริหาร ถ้าหากไม่มีฐานข้อมูลแล้วระบบสารสนเทศย่อมสร้างไม่ได้  

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


ขั้นตอนการออกแบบฐานข้อมูล


ขั้นตอนการออกแบบฐานข้อมูล  

ขั้นตอนการออกแบบฐานข้อมูล  
       
       ขั้นที่ เก็บรวบรวมข้อมูลรายละเอียดทั้งหมดการเก็บรวบรวมข้อมูลและรายละเอียดต่างๆของงาน รวมทั้งความต้องการของผู้ใช้เช่น

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

       ขั้นที่ 2 กำหนดโครงสร้างของ Table จากกลุ่มข้อมูลหรือแอนทิตี้ที่รวบรวมได้จากเอกสารต่างๆในขั้นที่ 1เราจะนำมากำหนดแอตทริบิวต์ของข้อมูลเพื่อจะได้ทราบว่าในเอนทิตี้นั้นจะนำข้อมูลอะไรมาใช้บ้าง หลังจากนั้นให้นำแอตทริบิวต์มากำหนดโครงสร้างเบื้องต้นของ Table โดยแปลงแอตทริบิวต์เป็นฟิลด์ พร้อมกำหนดชนิดและขนาดข้อมูลในแต่ละขนาดข้อมูลในแต่ละฟีลด์ รวมทั้งเงื่อนไขหรือกฏเกณฑ์ที่ใช้กำหนดลักษณะของข้อมูล

       ขั้นที่ กำหนดคีย์ ขั้นตอนนี้จะพิจารณาว่าฟีดล์ใดบ้างใน Table นั้นที่มีคุณสมบัติเหมาะสมจะใช้เป็นคีย์ ถ้าไม่มีฟีลด์ใดเลยที่เหมาะสม ก็จะต้องกำหนดฟีลด์ใหม่เพื่อใช้เเป้นคีย์โดยเฉพาะ

       ขั้นที่ 4 การทำ Normalization ถ้า Table ที่ได้จากขั้นที่ ยังมีความซ้ำซ้อนกันของข้อมูล หรือข้อมูลบางฟีลด์ไม่เกี่ยวข้องโดยตรงกับเนื้อหาใน Table นั้นจะต้องนำมาปรับปรุงแก้ให้มีโครงสร้างหรือรูปแบบที่เหมาะสมก่อนนำไปประมวลผล ถ้านำโครงสร้างไปใช้เลยโดยไม่ทำ Normalization ก่อนอาจเกิดปัญหาได้ เช่นปัญหาสิ้นเปลืองเนื้อที่จัดเก็บข้อมูลที่ซ้ำซ้อนกัน ปัญหาความผิดปกติ (Anomaly) ของข้อมูลเมือมีการแก้ไขเพิ่ม หรือลบคอร์ด รวมทั้งปัญหาในการกำหนดความสัมพันธ์ในขั้นที่ จะทำได้ยาก

       ขั้นที่ กำหนดความสัมพันธ์ นำ Table ทั้งหมดที่ได้หลังจากทำ Normalization มาสร้างความสัมพันธ์โดยใช้คีย์กำหนดในชั้นที่ หรือคีย์ที่เกิดขึ้นใหม่จากการทำ Normalization เป็นตัวเชื่อม ซึ่งอาจเป็นแบบ One - to - One , One -to - Many หรือ Many - to - Many ขึ้นกับลักษณะของข้อมูลการกำหนดความสัมพันธ์ระหว่าง Table นี้มีความสำคัญมาก ผู้ออกแบบจะต้องมีการวิเคราะห์ให้ได้ว่าข้อมูลใน Table ต่างๆนั้นมีความสัมพันธ์กันในลักษณะใด

นอร์มัลไลเซชัน (Normalization) ความซ้ำซ้อนของข้อมูลทำให้ข้อมูลมีขนาดใหญ่เกินความจำเป็น ส่วนที่ซ้ำซ้อนเป็นปัญหาของตารางข้อมูล (รีเลชั่น) แต่สามารถขจัดได้ด้วยขบวนการนอร์มัลไลเซชัน โดยการนอร์มัลไลเซชันถูกคิดค้นโดย E.F.Codd ซึ่งเป็นกระบวนการที่นำเค้าร่างของ relation มาทำให้อยู่ในรูปแบบที่เป็นบรรทัดฐาน (Normal Form) เพื่อให้แน่ใจว่าการออกแบบเค้าร่างของ relation เป็นการออกแบบที่เหมาะสม

ประโยชน์นอร์มัลไลเซชัน คือ
1. ลดที่ว่างที่ต้องใช้ในการเก็บข้อมูล
2. ลดความผิดพลาดและความไม่ตรงกันของข้อมูลในฐานข้อมูล
3. ลดการสูญเสียเวลาการเข้าถึงข้อมูลที่เกิดซ้ำซ้อนในข้อมูลของการลบและแก้ไขข้อมูล
4.เพิ่มความคงทนแก่โครงสร้างฐานข้อมูล 

  ระดับนอร์มัลไลเซชัน  เป็นกระบวนการเพื่อพัฒนาการ เชื่อมต่อของข้อมูลเพื่อแก้ปัญหาของตารางข้อ (รีเลชั่น) ที่ว่าการออกแบบฐานข้อมูลทั้งทางตรรกะและทางกายภาพที่ได้ออกมาใช้ได้หรือยังการ นอร์มัลไลเซชันแบ่งออกได้เป็นหลายระดับ  ได้แก่ 

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

       1) รีพีทติ้งกรุ๊ป การที่ข้อมูลใน ทัปเพิล สามารถมีค่าในแต่ละแอตทริบิวต์ได้มากกว่าหนึ่งค่า (Multivalued) จะทำให้เกิดรีพีทติ้งกรุ๊ป ดังตารางที่แสดงในภาพข้างล่าง ซึ่งเลขที่โครงการหนึ่งหมายเลขประกอบด้วยกลุ่มข้อมูลหลายกลุ่ม ซึ่งทำให้รีเลชันดังกล่าว ขาดคุณสมบัติซิงเกิลแวล

Image

       1.1) นิยามของนอร์มัลฟอร์มที่ 1 รีเลชันจะอยู่ในรูปของนอร์มัลฟอร์มที่ 1 ก็ต่อเมื่อมีคุณสมบัติตามเงื่อนไขดังต่อไปนี้
1.  มีการกำหนดแอตทริบิวต์ที่เป็นคีย์
2.  ต้องไม่มีรีพีทติ้งกรุ๊ป แต่ละแถวหรือคอลัมน์จะมีค่าได้เพียง 1 ค่าเท่านั้น
3.  แอตทริบิวต์ทุกตัวต้องขึ้นอยู่กับคีย์หลัก

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

Image


       2) การแปลงให้อยู่ในรูปนอร์มัลฟอร์มที่ 2 ในหนึ่งรีเลชันจะประกอบด้วยแอตทริบิวต์ต่าง ๆ ที่มีความสัมพันธ์ที่ขึ้นต่อกันซึ่งความสัมพันธ์ดังกล่าวจะเป็นตัวกำหนดว่าแอตทริบิวต์ใดเป็นตัวกำหนดข้อมูล  หรือ คีย์แอตทริบิวต์ (Key Attribute) และและแอตทริบิวต์ใดเป็นข้อมูลที่ถูกกำหนดหรือนอนคีย์แอตทริบิวต์ (Nonkey Attribute)
         2.1) ฟังก์ชันนัลดีเพนเดนซี  ในการทำนอร์มัลไลเซชัน จะต้องมีความเข้าใจหลักการของฟังก์ชันดีเพนเดนซี(Function Dependency : FD) เสียก่อน โดยมีคำจำกัดความคือ  B  ขึ้นอยู่กับ A ถ้าทราบค่าของ A  ก็จะทำให้รู้ค่าของ B ได้ฟังก์ชันนัลดีเพนเดนซี สามารถแสดงด้วยการใช้เครื่องหมายลูกศร  ( ->)    ตัวอย่างเช่น  A->B แสดง B เป็นฟังก์ชันนัลดีเพนเดนต์กับ  A  กล่าวคือ ถ้ารู้ค่า A ก็จะทำให้ทราบค่าของ B ด้วย  ทุกค่าของ A ที่มีค่าเท่ากัน  จะได้ค่า  เท่ากันเสมอ
        2.2) พาเชียลดีเพนเดนซี  พาร์เชียลดีเพนเดนซี หมายถึง การที่มีแอตทริบิวต์บางแอตทริบิวต์ ที่ขึ้นอยู่กับเพียงบางส่วนของคีย์หลักเท่านั้น ตัวอย่างเช่น จากตารางในภาพข้างล่าง  แอตทริบิวต์ชื่อพนักงานจะขึ้นอยู่กับคีย์รหัสพนักงานในขณะที่แอตทริบิวต์ชื่อแผนกจะขึ้นอยู่กับคีย์รหัสแผนกจะเห็นว่าข้อมูลที่อยู่ในรีเลชันเดียวกันแต่ไม่ได้ขึ้นอยู่กับคีย์ใดคียหนึ่งทั้งหมดแต่จะขึ้นอยู่กับคีย์ใดคีย์หนึ่งเพียงบางส่วนเท่านั้น

Image
Image

         2.3) นิยามของนอร์มัลฟอร์มที่ 2 รีเลชันจะอยู่ในรูปของนอร์มัลฟอร์มที่ 2 ก็ต่อเมื่อมีคุณสมบัติตามเงื่อนไขดังต่อไปนี้
1.  รีเลชันนั้นเป็นนอร์มัลฟอร์มที่ 1 อยู่แล้ว
2.  รีเลชันนั้นไม่มีพาร์เชียลดีเพนเดนซี

3) การแปลงให้อยู่ในรูปนอร์มัลฟอร์มที่ 3 ในหนึ่งรีเลชันจะประกอบคีย์แอตทริบิวต์และนอนคีย์แอตทริบิวต์คีย์แอตทริบิวต์จะต้องเป็นตัวกำหนดความหมายหรือการมีอยู่ของแอตทริบิวต์อื่น ๆ  ที่อยู่ในรีเลชันเสมอ
         3.1) ทรานซิทีฟดีเพนเดนซี (Transitive Dependency) ทรานซิทีฟดีเพนเดนซี หมายถึง การที่มีฟังก์ชันนัลดีเพนเดนซี ระหว่างแอตทริบิวต์ที่ไม่ได้เป็นส่วนของคีย์ใด ๆ แต่มีแอตทริบิวต์อื่น ๆ มาขึ้นกับแอตทริบิวต์นั้นตัวอย่างเช่น จากตารางในภาพข้างล่าง แอตทริบิวต์ชื่อพนักงานและรหัสตำแหน่งงานจะขึ้นอยู่กับคีย์รหัสพนักงาน ในขณะที่แอตทริบิวต์ค่าแรงต่อชั่วโมของพนักงาน จะขึ้นอยู่กับแอตทริบิวต์รหัสตำแหน่งงานซึ่งไม่ใช่คีย์อีกต่อหนึ่งทำให้มีทรานซิทีฟดีเพนเดนซีเกิดขึ้นในรีเลชันนี้

ระบบการจัดฐานข้อมูลเชิงสัมพันธ์

            

ระบบการจัดฐานข้อมูลเชิงสัมพันธ์

ความหมายของฐานข้อมูลเชิงสัมพันธ์
       
       ระบบฐานข้อมูลเชิงสัมพันธ์ (Relational Database) เป็นฐานข้อมูลที่ใช้โมเดลเชิงสัมพันธ์ (Relational Database Model) ซึ่งผู้คิดค้นโมเดลเชิงสัมพันธ์นี้คือ Dr. E.F. Codd โดยใช้หลักพื้นฐานทางคณิตศาสตร์ เนื่องด้วยแนวคิดของแบบจำลองแบบนี้มีลักษณะที่คนใช้กันทั่วกล่าวคือมีการเก็บเป็นตาราง ทำให้ง่ายต่อการเข้าใจและการประยุกต์ใช้งาน ด้วยเหตุนี้ ระบบฐานข้อมูลแบบนี้จึงที่ได้รับความนิยมมากที่สุด ในแง่ของ entity แบบจำลองแบบนี้คือ แฟ้มข้อมูลในรูปตาราง และ attribute ก็เปรียบเหมือนเขตข้อมูล ส่วนความสัมพันธ์คือความสัมพันธ์ระหว่าง entity

     ฐานข้อมูลเชิงสัมพันธ์ คือ การเก็บข้อมูลในรูปของตาราง (Table) หลายๆตารางที่มีความสัมพันธ์กัน ในแต่ละตารางแบ่งออกเป็นแถวๆ และในแต่ละแถวจะแบ่งเป็นคอลัมน์ (Column) ในทางทฤษฎีจะมีคำศัพท์เฉพาะแตกต่างออกไป เนื่องจากแบบจำลองแบบนี้เกิดจากทฤษฎีทางคณิตศาสตร์เรื่องเซ็ท (Set) 

คำศัพท์เฉพาะที่ใช้ในระบบฐานข้อมูลเชิงสัมพันธ์

          ศัพท์เฉพาะ

                                     ศัพท์ทั่วไป


    รีเลชั่น (Relation)

        ตาราง (Table)

    ทูเปิล (Tuple)

        แถว (Row) หรือ เรคคอร์ด (Record) หรือ ระเบียน

แอททริบิวท์(Attribute)

        คอลัมน์ (Column) หรือฟิลด์ (Field)
คาร์ดินัลลิติ้                                   (Cardinality)

        จำนวนแถว (Number of rows)

     ดีกรี (Degree)

        จำนวนแอททริบิวท์ (Number of attribute)

 คีย์หลัก (Primary key)

         ค่าเอกลักษณ์ (Unique identifier)

 โดเมน (Domain)

        ขอบข่ายของค่าของข้อมูล (Pool of legal values)


  คุณสมบัติของความสัมพันธ์ (รีเลชัน) Relation  
  โดยทั่ว ๆ ไปความสัมพันธ์หนึ่ง ๆ จะมีคุณสมบัติต่าง ๆ ดังนี้
  • ข้อมูลในแต่ละแถวจะไม่ซ้ำกัน หมายถึง ไม่มีทูเพิล (Tuple) หรือ ข้อมูลในแต่ละแถวของรีเลชันคู่ใด ๆ เลยที่ซ้ำกัน (No duplicate tuples)
  • ไม่มีการกำหนดลำดับที่ให้กับแถวแต่ละแถว หมายถึง ลำดับที่ของทูเพิล (Tuple) หรือ ข้อมูลในแต่ละแถวของรีเลชัน ไม่มีความสำคัญ ลำดับที่ของ Attributes ไม่มีความสำคัญ
  • ค่าของ Attribute จะเป็นค่าเดี่ยว ๆ นั่นคือ ค่าของข้อมูลที่ปรากฏอยู่ในตารางจะเป็นค่า ๆ เดียว เป็นลิสต์ของค่าหลาย ๆ ค่าไม่ได้ ซึ่ง Relation ที่มีคุณสมบัติข้อนี้จะถูกเรียกว่าเป็น Relation ที่อยู่ในรูปแบบ Normal form และค่าของข้อมูลในแต่ละ Attribute จะบรรจุค่าของข้อมูลประเภทเดียวกัน
  • ไม่มีการกำหนดลำดับให้กับฟิลด์ การอ้างถึงฟิลด์ใด ๆ จะใช้ชื่อของฟิลด์ในการอ้างถึง  ไม่ได้ใช้ลำดับที่ที่ฟิลด์นั้นปรากฏอยู่ในความสัมพันธ์ และค่าของข้อมูลในแต่ละฟิลด์ของระเบียนจะบรรจุข้อมูลได้เพียงค่าเดียวโดยข้อมูลในแต่ละฟิลด์จะต้องบรรจุข้อมูลเพียงค่าเดียว  

ความสัมพันธ์ (รีเลชัน) Relation
   ความสัมพันธ์ (รีเลชัน) Relation จะอยู่ในลักษณะของตาราง 2 มิติ [มีความสัมพันธ์] ประกอบด้วยทางด้านแถว และคอลัมน์ ซึ่งแต่ละรีเลชันจะมีชื่อรีเลชันเพื่อใช้อ้างอิง 

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

คีย์ในฐานข้อมูล 
     ในระบบฐานข้อมูลเชิงสัมพันธ์นั้น เราจะต้องกำหนดชนิดของคีย์ต่างๆเพื่อเป็น Attribute พิเศษเพื่อทำหน้าที่บางอย่าง เช่น เป็นตัวแทนของตารางใช้กำหนดขึ้นมาเพื่อความสะดวกในการอ้างถึงทฤษฎีเกี่ยวกับ Normalization ซึ่งมีดังต่อไปนี้

Primary  Key  (คีย์หลัก) จะเป็น Field ที่มีค่าไม่ซ้ำกันเลยในแต่ละ Record ในตารางนั้น เราสามารถใช้ Field ที่เป็น Primary Key นี้ เป็นตัวแทนของตารางนั้นได้ทันที

Candidate Key  (คีย์คู่แข่ง) เป็น Field หนึ่ง หรือหลาย Field ที่มีคุณสมบัติที่เป็น Primary Key ได้แต่ไม่ได้เป็นคีย์หลัก เช่น ชื่อ และนามสกุล สามารถรวมกันเป็นคีย์คู่แข่งได้ เป็นต้น

Composite  Key (คีย์ผสม) เป็น Field ที่ใช้รวมกับ Field อื่นๆ ที่เป็น Composite Key เหมือนกัน มาใช้เป็น Primary Key ของตาราง 

Foreign Key (คีย์นอก) เป็น Field ในตารางหนึ่งในฝั่ง Many ที่มีความสัมพันธ์กับ Field ที่เป็นPrimary Key ใน ตารางหนึ่งใน ฝั่ง One โดยที่ตารางทั้งสองมีความสัมพันธ์แบบ One-to-Many ต่อกัน

การควบคุมความถูกต้องให้กับข้อมูล
  1.กฎที่เกี่ยวข้องกับการรักษาความถูกต้อง

        กฎที่ใช้สำหรับรักษาความถูกต้องของข้อมูล แบ่งออกเป็น 2 กฎคือ กฎที่เกี่ยวข้องกับเอนทิตี้ และกฎที่เกี่ยวข้องกับการเชื่อมโยงความสัมพันธ์ของเอนทิตี้

  •         กฎความบูรณภาพหรือคงสภาพของเอนทิตี้ (Entity Integrity Rule) กฎความบูรณภาพของเอนทิตี้ เป็นกฎที่ใช้กำหนดเพื่อให้ข้อมูลของเอนทิตี้ มีความถูกต้องแอตทริบิวส์ที่ทำหน้าที่เป็นคีย์หลักของตารางไม่สามารถมีค่าเป็นค่าว่างได้ (Null Value) และจะต้องมีคุณสมบัติที่เป็นเอกลักษณ์ (identity) (ความเป็นเอกลักษณ์ คือ สามารถระบุข้อมูลแอตทริบิวส์อื่นๆ ที่อยู่ในทูเพิลเดียวกันได้)
  •         กฎความบูรณภาพหรือคงสภาพของการอ้างอิง (Referential Integrity Rule)กฎความบูรณภาพของการอ้างอิง คือกฎที่ใช้รักษาความถูกต้องของข้อมูลที่มีความสัมพันธ์กันของเอนทิตี ค่าของคีย์นอก (FK) ในตารางจะต้องมีข้อมูลอยู่ในอีกตารางหนึ่งที่คีย์นอกของตารางนั้นอ้างอิงถึง

วันพฤหัสบดีที่ 12 ธันวาคม พ.ศ. 2562

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


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

การจัดการฐานข้อมูล

    การจัดการฐานข้อมูล(Database Management) คือ การบริหารแหล่งข้อมูลที่ถูกเก็บรวบรวมไว้ที่ศูนย์กลาง เพื่อตอบสนองต่อการใช้ของโปรแกรมประยุกต์อย่างมีประสิทธิภาพและลดการซ้ำซ้อนของข้อมูล รวมทั้งความขัดแย้งของข้อมูลที่เกิดขึ้นภายในองค์การ ในอดีตการเก็บข้อมูลมักจะเป็นอิสระต่อกันไม่มีการเชื่อมโยงของข้อมูลเกิดการ สิ้นเปลืองพื้นที่ในการเก็บข้อมูล เช่น องค์การหนึ่งจะมีแฟ้มบุคคล (Personnel) แฟ้มเงินเดือน (Payroll) และแฟ้ม สวัสดิการ (Benefits) อยู่แยกจากกัน เวลาผู้บริหารต้องการข้อมูลของพนักงานท่านใดจำเป็นจะต้องเรียกดูแฟ้มข้อมูลทั้ง 3 แฟ้ม ซึ่งเป็นการไม่สะดวก จงทำให้เกิดแนวความคิดในการรวมแฟ้มข้อมูลทั้ง 3 เข้าด้วยกันแล้วเก็บไว้ที่ ศูนย์กลางในลักษณะฐานข้อมูล (Database) จึงทำให้เกิดระบบการจัดการฐานข้อมูล (Database Management system (DBMS) ซึ่งจะต้องอาศัยโปรแกรมเฉพาะในการสร้างและบำรุงรักษา (Create and Maintenance) ฐาน ข้อมูลและสามารถที่จะให้ผู้ใช้ประยุกต์ใช้กับธุรกิจส่วนตัวได้โดยการดึงข้อมูล (Retrieve) ขึ้นมาแล้วใช้โปรแกรมสำเร็จรูปอื่นสร้างงานขึ้นมาโดยใช้ข้อมูลทีมีอยู่ในฐานข้อมูล แสดงการรวมแฟ้มข้อมูล 3 แฟ้มเข้าด้วยกัน


ผลการค้นหารูปภาพสำหรับ ระบบฐานข้อมูล


   โครงสร้างข้อมูล (Data Structure)

บิท (Bit) หมายถึง หน่วยของข้อมูลที่มีขนาดเล็กที่สุด

ไบท์ (Byte) หมายถึง หน่วยของข้อมูลที่กิดจากการนำบิทมารวมกันเป็นตัวอักขระ (Character)

เขตข้อมูล (Field) หมายถึง หน่วยของข้อมูลที่ประกอบขึ้นจากตัวอักขระตั้งแต่หนึ่งตัวขึ้นไปมารวมกัน
แล้วได้ความหมายของสิ่งใดสิ่งหนึ่ง เช่น ชื่อ ที่อยู่ เป็นต้น

ระเบียน (Record) หมายถึง หน่วยของข้อมูลที่เกิดจากการนำเอาเขตข้อมูลหลาย ๆ เขตข้อมูลมารวมกัน เพื่อเกิดเป็นข้อมูลเรื่องใดเรื่องหนึ่ง เช่น ข้อมูลของนักศึกษา 1 ระเบียน (1 คน) จะประกอบด้วย

องค์ประกอบของระบบฐานข้อมูล

    -ฮาร์ดแวร์ (Hardware)
 
    -ซอฟท์แวร์ (Software)
 
    -ข้อมูล (Data)
 
    -ผู้บริหารฐานข้อมูล (Database Administrator)
 
    -โปรแกรมเมอร์ (Programmer)
 
    -ผู้ใช้ (End User) 


ความสำคัญของการประมวลผลแบบระบบฐานข้อมูล
จากการจัดเก็บข้อมูลรวมเป็นฐานข้อมูลจะก่อให้เกิดประโยชน์ดังนี้

1. สามารถลดความซ้ำซ้อนของข้อมูลได้
การเก็บข้อมูลชนิดเดียวกันไว้หลาย ๆ ที่ ทำให้เกิดความซ้ำซ้อน (Redundancy) ดังนั้นการนำข้อมูลมารวมเก็บไว้ในฐานข้อมูล จะชาวยลดปัญหาการเกิดความซ้ำซ้อนของข้อมูลได้ โดยระบบจัดการฐานข้อมูล (Database Management System : DBMS) จะช่วยควบคุมความซ้ำซ้อนได้ เนื่องจากระบบจัดการฐานข้อมูลจะทราบได้ตลอดเวลาว่ามีข้อมูลซ้ำซ้อนกันอยู่ที่ใดบ้าง

2. หลีกเลี่ยงความขัดแย้งของข้อมูลได้
หากมีการเก็บข้อมูลชนิดเดียวกันไว้หลาย ๆ ที่และมีการปรับปรุงข้อมูลเดียวกันนี้ แต่ปรับปรุงไม่ครบทุกที่ที่มีข้อมูลเก็บอยู่ก็จะทำให้เกิดปัญหาข้อมูลชนิดเดียวกัน อาจมีค่าไม่เหมือนกันในแต่ละที่ที่เก็บข้อมูลอยู่ จึงก่อใให้เกิดความขัดแย้งของข้อมูลขึ้น (Inconsistency)
3. สามารถใช้ข้อมูลร่วมกันได้

ฐานข้อมูลจะเป็นการจัดเก็บข้อมูลรวมไว้ด้วยกัน ดังนั้นหากผู้ใช้ต้องการใช้ข้อมูลในฐานข้อมูลที่มาจากแฟ้มข้อมูลต่างๆ ก็จะทำได้โดยง่าย

4. สามารถรักษาความถูกต้องเชื่อถือได้ของข้อมูล
บางครั้งพบว่าการจัดเก็บข้อมูลในฐานข้อมูลอาจมีข้อผิดพลาดเกิดขึ้น เช่น จากการที่ผู้ป้อนข้อมูลป้อนข้อมูลผิดพลาดคือป้อนจากตัวเลขหนึ่งไปเป็นอีกตัวเลขหนึ่ง โดยเฉพาะกรณีมีผู้ใช้หลายคนต้องใช้ข้อมูลจากฐานข้อมูลร่วมกัน หากผู้ใช้คนใดคนหนึ่งแก้ไขข้อมูลผิดพลาดก็ทำให้ผู้อื่นได้รับผลกระทบตามไปด้วย ในระบบจัดการฐานข้อมูล (DBMS) จะสามารถใส่กฎเกณฑ์เพื่อควบคุมความผิดพลาดที่เกดขึ้น

5. สามารถกำหนดความป็นมาตรฐานเดียวกันของข้อมูลได้
การเก็บข้อมูลร่วมกันไว้ในฐานข้อมูลจะทำให้สามารถกำหนดมาตรฐานของข้อมูลได้รวมทั้งมาตรฐานต่าง ๆ ในการจัดเก็บข้อมูลให้เป็นไปในลักษณะเดียวกันได้ เช่นการกำหนดรูปแบบการเขียนวันที่ ในลักษณะ วัน/เดือน/ปี หรือ ปี/เดือน/วัน ทั้งนี้จะมีผู้ที่คอยบริหารฐานข้อมูลที่เราเรียกว่า ผู้บริหารฐานข้อมูล (Database Administrator : DBA) เป็นผู้กำหนดมาตรฐานต่างๆ

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

7. เกิดความเป็นอิสระของข้อมูล
ในระบบฐานข้อมูลจะมีตัวจัดการฐานข้อมูลที่ทำหน้าที่เป็นตัวเชื่อมโยงกับฐานข้อมูล โปรแกรมต่าง ๆ อาจไม่จำเป็นต้องมีโครงสร้างข้อมูลทุกครั้ง ดังนั้นการแก้ไขข้อมูลบางครั้ง จึงอาจกระทำเฉพาะกับโปรแกรมที่เรียกใช้ข้อมูลที่เปลี่ยนแปลงเท่านั้น ส่วนโปรแกรมที่ไม่ได้เรียกใช้ข้อมูลดังกล่าว ก็จะเป็นอิสระจากการเปลี่ยนแปลง

วันพฤหัสบดีที่ 5 ธันวาคม พ.ศ. 2562

ฐานข้อมูลและระบบสารสนเทศ





ฐานข้อมูลและระบบสารสนเทศ

ฐานข้อมูล
     คือระบบที่รวบรวมข้อมูลไว้ในที่เดียวกัน ซึ่งประกอบไปด้วยแฟ้มข้อมูล (File) ระเบียน (Record) และ เขตข้อมูล (Field) และถูกจัดการด้วยระบบเดียวกัน โปรแกรมคอมพิวเตอร์จะเข้าไปดึงข้อมูลที่ต้องการได้ อย่างรวดเร็ว ซึ่งอาจเปรียบฐานข้อมูลเสมือนเป็น electronic filing system

ระบบสารสนเทศ

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

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

ลำดับชั้นของข้อมูล




ลำดับชั้นของการจัดการข้อมูล

ในการจัดการข้อมูลจะมีการแบ่งข้อมูลออกเป็นลำดับชั้นเพื่อง่ายต่อการเรียกใช้และประมวลผล ลำดับชั้นข้อมูลพื้นฐานที่ควรทราบมีดังต่อไปนี้

บิต (Bit = Binary Digit)
เป็นลำดับชั้นของหน่วยข้อมูลที่เล็กที่สุด

ไบต์ (Byte) 



     เมื่อนำบิตมารวมกันหลายๆบิต จะได้หน่วยข้อมูลกลุ่มใหม่ที่เรียกว่า ไบต์ (Byte)

ประกอบด้วยกลุ่มของตัวอักษรหรือไบต์ตั้งแต่ 1 ตัวขึ้นไปมาประกอบกันเป็นหน่วยข้อมูลที่ใหญ่ขึ้นแล้วแสดงลักษณะหรือความหมายอย่างใดอย่างหนึ่ง
เป็นกลุ่มของเขตข้อมูลหรือฟีลด์ที่มีความสัมพันธ์กัน
ไฟล์ หรือแฟ้มข้อมูล เป็นการนำเอาข้อมูลทั้งหมดหลายๆเรคคอร์ดที่ต้องการจัดเก็บมาเรียงอยู่ในรูแปบของแฟ้มตารางข้อมูลเดียวกัน
เกิดจากการรวบรวมเอาแฟ้มตารางข้อมูลหลายๆแฟ้มที่มีความสัมพันธ์กันมาเก็บรวมกันไว้ที่เดียว


ฟีลด์ หรือเขตของข้อมูล (Field)
    ประกอบด้วยกลุ่มของตัวอักษรหรือไบต์ตั้งแต่ 1 ตัวขึ้นไปมาประกอบกันเป็นหน่วยข้อมูลที่ใหญ่ขึ้นแล้วแสดงลักษณะหรือความหมายอย่างใดอย่างหนึ่ง ยกตัวอย่างเขตข้อมูลเกี่ยวกับพนักงาน เช่น รหัสพนักงาน ชื่อ นามสกุล เงินเดือน ตำแหน่ง
เรคคอร์ด (Record)
   เป็นกลุ่มของเขตข้อมูลหรือฟีลด์ที่มีความสัมพันธ์กัน และนำมาจัดเก็บรวมกันเป็นหน่วยใหม่ที่ใหญ่ขึ้นเพียงหน่วยเดียว ปกติในการจัดการข้อมูลใดมักประกอบด้วยเรคคอร์ด ทั้งนี้ขึ้นอยู่กับขนาดของข้อมูลเป็นหลัก

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