หน้าเว็บ

วันอาทิตย์ที่ 2 พฤศจิกายน พ.ศ. 2557

ฐานข้อมูล

        ฐานข้อมูล

                  ฐานข้อมูลประกอบด้วยกลุ่มการจัดการข้อมูลสำหรับผู้ใช้หนึ่งคนหรือหลายๆ คน โดยทั่วไปมักอยู่ในรูปแบบดิจิทัล วิธีการแบ่งชนิดของฐานข้อมูลได้รูปแบบหนึ่งคือแบ่งตามชนิดของเนื้อหา เช่น บรรณานุกรม, เอกสารตัวอักษร, สถิติ โดยฐานข้อมูลดิจิทัลจะถูกจัดการโดยใช้ระบบจัดการฐานข้อมูลซึ่งเก็บเนื้อหาฐานข้อมูล โดยอนุญาตให้สร้าง, ดูแลรักษา, ค้นหา และการเข้าถึงในรูปแบบอื่นๆ
                   ฐานข้อมูลในลักษณะที่คล้ายกับฐานข้อมูลสมัยใหม่ ถูกพัฒนาเป็นครั้งแรกในทศวรรษ 1960 ซึ่งผู้บุกเบิกในสาขานี้คือ ชาลส์ บากแมน แบบจำลองข้อมูลสำคัญสองแบบเกิดขึ้นในช่วงเวลานี้ ซึ่งเริ่มต้นด้วย แบบจำลองข่ายงาน (พัฒนาโดย CODASYL) และตามด้วยแบบจำลองเชิงลำดับชั้น (นำไปปฏิบัติใน IMS) แบบจำลองทั้งสองแบบนี้ ในภายหลังถูกแทนที่ด้วย แบบจำลองเชิงสัมพันธ์ ซึ่งอยู่ร่วมสมัยกับแบบจำลองอีกสองแบบ แบบจำลองแบบแรกเรียกกันว่า แบบจำลองแบนราบ ซึ่งออกแบบสำหรับงานที่มีขนาดเล็กมาก ๆ แบบจำลองร่วมสมัยกับแบบจำลองเชิงสัมพันธ์อีกแบบ คือ ฐานข้อมูลเชิงวัตถุ หรือ โอโอดีบี3 (OODB)
ในขณะที่แบบจำลองเชิงสัมพันธ์ มีพื้นฐานมาจากทฤษฎีเซต ได้มีการเสนอแบบจำลองดัดแปลงซึ่งใช้ทฤษฎีเซตคลุมเครือ (ซึ่งมีพื้นฐานมาจากตรรกะคลุมเครือ) ขึ้นเป็นอีกทางเลือกหนึ่งปัจจุบันมีการกล่าวถึงมาตรฐานโครงสร้างฐานข้อมูล เพื่อให้สามารถเชื่อมโยงฐานข้อมูลต่างระบบ ให้สืบค้นรวมกันเสมือนเป็นฐานข้อมูลเดียวกัน และการสืบค้นต้องแสดงผลตรงตามคำถาม มาตรฐานดังกล่าวได้แก่ XML RDF Dublin Core Metadata เป็นต้น และสิ่งสำคัญอีกประการหนึ่งที่จะช่วยให้การแลกเปลี่ยนข้อมูลรหว่างต่างหน่วยงานได้ดี คือการใช้ Taxonomy และ อรรถาภิธาน ซึ่งเป็นเครื่องมือสำหรับจัดการความรู้ในลักษณะศัพท์ควบคุม เพื่อจำกัดความหมายของคำที่ใช้ได้หลายคำในความหมายเดียวกัน

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

ระบบจัดการฐานข้อมูล
               ระบบจัดการฐานข้อมูล (DBMS) ประกอบด้วยซอฟต์แวร์ที่ใช้ในการจัดการฐานข้อมูล, จัดเตรียมพื้นที่ในการเก็บ, การเข้าถึง, ระบบรักษาความปลอดภัย, สำรองข้อมูล และสิ่งอำนวยความสะดวกอื่นๆ ระบบจัดการฐานข้อมูลสามารถแบ่งหมวดหมู่ได้ตามแบบจำลองฐานข้อมูลที่สนับสนุน อาทิเช่น เชิงสัมพันธ์ หรือ XML เป็นต้น แบ่งตามประเภทของคอมพิวเตอร์ที่สนับสนุน อาทิเช่น server cluster หรือ โทรศัพท์พกพา เป็นต้น แบ่งตามประภทของภาษาสอบถามที่ใช้ในการเข้าถึงฐานข้อมูล อาทิเช่น ภาษาสอบถามเชิงโครงสร้าง หรือ XQuery แบ่งตามประสิทธิภาพในการ trade-offs อาทิเช่น ขนาดที่ใหญ่ที่สุด หรือ ความเร็วสูงสุด หรือ อื่นๆ เป็นต้น ในบาง DBMS จะครอบคลุมมากกว่าหนึ่งหมวดหมู่ เช่น สนับสนุนภาษาสอบถามได้หลายๆ ภาษา ยกตัวอย่างเช่น ใน DBMS ที่นิยมใช้การอย่างแพร่หลาย MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker,Oracle,Sybase, dBASE, Clipper,FoxPro อื่นๆ ในทุกๆ ซอฟต์แวร์ฐานข้อมูลจะมี Open Database Connectivity (ODBC) driver มาให้ด้วย เพื่ออนุญาตให้ฐานข้อมูลสามารถทำงานร่วมกับฐานข้อมูลแบบอื่นๆ ได้

การออกแบบฐานข้อมูล
     การออกแบบฐานข้อมูล (Designing Databases) มีความสำคัญต่อการจัดการระบบฐานข้อมูล (DBMS) ทั้งนี้เนื่องจากข้อมูลที่อยู่ภายในฐานข้อมูลจะต้องศึกษาถึงความสัมพันธ์ของข้อมูล โครงสร้างของข้อมูลการเข้าถึงข้อมูลและกระบวนการที่โปรแกรมประยุกต์จะเรียกใช้ฐานข้อมูล ดังนั้น เราจึงสามารถแบ่งวิธีการสร้างฐานข้อมูลได้ 3 ประเภท
1. รูปแบบข้อมูลแบบลำดับขั้น หรือโครงสร้างแบบลำดับขั้น (Hierarchical data model) วิธีการสร้างฐาน ข้อมูลแบบลำดับขั้นถูกพัฒนาโดยบริษัท ไอบีเอ็ม จำกัด ในปี 1980 ได้รับความนิยมมาก ในการพัฒนาฐานข้อมูลบนเครื่องคอมพิวเตอร์ขนาดใหญ่และขนาดกลาง โดยที่โครงสร้างข้อมูลจะสร้างรูปแบบเหมือนต้นไม้ โดยความสัมพันธ์เป็นแบบหนึ่งต่อหลาย (One- to -Many)
2. รูปแบบข้อมูลแบบเครือข่าย (Network data Model) ฐานข้อมูลแบบเครือข่ายมีความคล้ายคลึงกับฐาน ข้อมูลแบบลำดับชั้น ต่างกันที่โครงสร้างแบบเครือข่าย อาจจะมีการติดต่อหลายต่อหนึ่ง (Many-to-one) หรือ หลายต่อหลาย (Many-to-many) กล่าวคือลูก (Child) อาจมีพ่อแม่ (Parent) มากกว่าหนึ่ง สำหรับตัวอย่างฐานข้อมูลแบบเครือข่ายให้ลองพิจารณาการจัดการข้อมูลของห้องสมุด ซึ่งรายการจะประกอบด้วย ชื่อเรื่อง ผู้แต่ง สำนักพิมพ์ ที่อยู่ ประเภท
3. รูปแบบความสัมพันธ์ข้อมูล (Relation data model) เป็นลักษณะการออกแบบฐานข้อมูลโดยจัดข้อมูลให้อยู่ในรูปของตารางที่มีระบบคล้ายแฟ้ม โดยที่ข้อมูลแต่ละแถว (Row) ของตารางจะแทนเรคอร์ด (Record) ส่วน ข้อมูลนแนวดิ่งจะแทนคอลัมน์ (Column) ซึ่งเป็นขอบเขตของข้อมูล (Field) โดยที่ตารางแต่ละตารางที่สร้างขึ้นจะเป็นอิสระ ดังนั้นผู้ออกแบบฐานข้อมูลจะต้องมีการวางแผนถึงตารางข้อมูลที่จำเป็นต้องใช้ เช่นระบบฐานข้อมูลบริษัทแห่งหนึ่ง ประกอบด้วย ตารางประวัติพนักงาน ตารางแผนกและตารางข้อมูลโครงการ แสดงประวัติพนักงาน ตารางแผนก และตารางข้อมูลโครงการ


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

การออกแบบฐานข้อมูลในระดับตรรกะ
     การออกแบบฐานข้อมูลในระดับตรรกะ หรือในระดับแนวความคิด เป็นขั้นตอนการออกแบบความสัมพันธ์ระหว่างข้อมูลในระบบโดยใช้แบบจำลองข้อมูลเชิงสัมพันธ์ ซึ่งอธิบายโดยใช้แผนภาพแสดงความสัมพันธ์ระหว่างข้อมูล (E-R Diagram) จากแผนภาพ E-R Diagram นำมาสร้างเป็นตารางข้อมูล (Mapping E-R Diagram to Relation) และใช้ทฤษฏีการ Normalization เพื่อเป็นการรับประกันว่าข้อมูลมีความซ้ำซ้อนกันน้อยที่สุด ซึ่งการออกแบบเชิงตรรกะนี้จะบอกถึงรายละเอียดของ Relation , Attribute และ Entity





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

 ตัวอย่างการใช้ระบบจัดการฐานข้อมูลแทนระบบจัดกระทำแฟ้มข้อมูล
  


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


               

                                                 


               

(ก)        การจัดเก็บข้อมูลในฐานข้อมูลมีการเรียงลำดับตามเขตข้อมูลกุญแจ
          
                                        


 (ข) แสดงความสามารถของระบบจัดการฐานข้อมูลในการเชื่อมโยงข้อมูลจาก 2 แฟ้มข้อมูลได้


                                     

   (ค) ระบบจัดการฐานข้อมูลสามารถสร้างรายงานที่มีรูปแบบสวยงาม
และง่ายต่อความตีความพื่อการตัดสินใจ
                                    


(ง) การใช้ระบบจัดการฐานข้อมูลในการสืบค้นข้อมูลตามต้องการและนำข้อมูลมาแสดงผล


           
 

       (จ) ระบบจัดการฐานข้อมูลสามารถสร้างรายงานที่มีรูปแบบสวยงาม
และง่ายต่อความตีความพื่อการตัดสินใจ








cr.http://it.benchama.ac.th/ebook/files/lesson2_44.htm


.