GengKung
วันอาทิตย์ที่ 5 กุมภาพันธ์ พ.ศ. 2555
ฐานข้อมูลคอมพิวเตอร์ คืออะไร
ฐานข้อมูล คือ ชุดของสารสนเทศที่มีโครงสร้างสม่ำเสมอ ชุดของสารสนเทศใด ๆ ก็อาจเรียกว่าเป็นฐานข้อมูลได้ถึงกระนั้น คำว่าฐานข้อมูลนี้มักใช้อ้างถึงข้อมูลที่ประมวลผลด้วยคอมพิวเตอร์และถูกใช้ส่วนใหญ่เฉพาะในวิชาการคอมพิวเตอร์ บางครั้งคำนี้ก็ถูกใช้เพื่ออ้างถึงข้อมูลที่ยังมิได้ประมวลผลด้วยคอมพิวเตอร์เช่นกันในแง่ของการวางแผนให้ข้อมูลดังกล่าวสามารถประมวลผลด้วยคอมพิวเตอร์ได้ |
ประวัติ |
ฐานข้อมูลในลักษณะที่คล้ายกับฐานข้อมูลสมัยใหม่ถูกพัฒนาเป็นครั้งแรกในทศวรรษ 1960 ซึ่งผู้บุกเบิกในสาขานี้คือ ชาลส์ บากแมน แบบจำลองข้อมูลสำคัญสองแบบเกิดขึ้นในช่วงเวลานี้ ซึ่งเริ่มต้นด้วยแบบจำลองข่ายงาน(พัฒนาโดย CODASYL) และตามด้วยแบบจำลองเชิงลำดับชั้น (นำไปปฏิบัติใน IMS) แบบจำลองทั้งสองแบบนี้ ในภายหลังถูกแทนที่ด้วย แบบจำลองเชิงสัมพันธ์ ซึ่งอยู่ร่วมสมัยกับแบบจำลองอีกสองแบบ แบบจำลองแบบแรกเรียกกันว่า แบบจำลองแบนราบ ซึ่งออกแบบสำหรับงานที่มีขนาดเล็กมาก ๆ แบบจำลองร่วมสมัยกับแบบจำลองเชิงสัมพันธ์อีกแบบ คือ ฐานข้อมูลเชิงวัตถุ หรือ โอโอดีบี3 (OODB) |
ในขณะที่แบบจำลองเชิงสัมพันธ์ มีพื้นฐานมาจากทฤษฎีเซตได้มีการเสนอแบบจำลองดัดแปลงซึ่งใช้ทฤษฎีเซตคลุมเครือ (ซึ่งมีพื้นฐานมาจากตรรกะคลุมเครือ) ขึ้นเป็นอีกทางเลือกหนึ่ง |
ปัจจุบันมีการกล่าวถึงมาตรฐานโครงสร้างฐานข้อมูลเพื่อให้สามารถเชื่อมโยงฐานข้อมูลต่างระบบให้สืบค้นรวมกันเสมือนเป็นฐานข้อมูลเดียวกันและการสืบค้นต้องแสดงผลตรงตามคำถามมาตรฐานดังกล่าวได้แก่ XML RDF Dublin Core Metadata เป็นต้น และสิ่งสำคัญอีกประการหนึ่งที่จะช่วยให้การแลกเปลี่ยนข้อมูลรหว่างต่างหน่วยงานได้ดี คือการใช้ Taxonomy และ อรรถาภิธาน ซึ่งเป็นเครื่องมือสำหรับจัดการความรู้ในลักษณะศัพท์ควบคุมเพื่อจำกัดความหมายของคำที่ใช้ได้หลายคำในความหมายเดียวกันระบบจัดการฐานข้อมูล |
ซอฟต์แวร์สำหรับจัดการฐานข้อมูลนั้นโดยทั่วไปเรียกว่า ระบบจัดการฐานข้อมูล หรือ ดีบีเอ็มเอส (DBMS - Database Management System) สถาปัตยกรรมซอฟต์แวร์ของดีบีเอ็มเอสอาจมีได้หลายแบบ เช่น สำหรับฐานข้อมูลขนาดเล็กที่มีผู้ใช้คนเดียว บ่อยครั้งที่หน้าที่ทั้งหมดจะจัดการด้วยโปรแกรมเพียงโปรแกรมเดียว ส่วนฐานข้อมูลขนาดใหญ่ที่มีผู้ใช้จำนวนมากนั้นปกติจะประกอบด้วยโปรแกรมหลายโปรแกรมด้วยกันและโดยทั่วไปส่วนใหญ่จะใช้สถาปัตยกรรมแบบรับ-ให้บริการ (client-server) |
โปรแกรมส่วนหน้า (front-end) ของดีบีเอ็มเอส (ได้แก่ โปรแกรมรับบริการ) จะเกี่ยวข้องเฉพาะการนำเข้าข้อมูล, การตรวจสอบ, และการรายงานผลเป็นสำคัญในขณะที่โปรแกรมส่วนหลัง (back-end) ซึ่งได้แก่ โปรแกรมให้บริการจะเป็นชุดของโปรแกรมที่ดำเนินการเกี่ยวกับการควบคุม, การเก็บข้อมูล, และการตอบสนองการร้องขอจากโปรแกรมส่วนหน้า โดยปกติแล้วการค้นหาและการเรียงลำดับ จะดำเนินการโดยโปรแกรมให้บริการ รูปแบบของระบบฐานข้อมูล มีหลากหลายรูปแบบด้วยกัน นับตั้งแต่การใช้ตารางอย่างง่ายที่เก็บในแฟ้มข้อมูลแฟ้มเดียวไปจนกระทั่งฐานข้อมูลขนาดใหญ่มากที่มีระเบียนหลายล้านระเบียนซึ่งเก็บในห้องที่เต็มไปด้วยดิสก์ไดรฟ์หรืออุปกรณ์หน่วยเก็บข้อมูลอิเล็กทรอนิกส์รอบข้าง (peripheral) อื่น ๆ |
การออกแบบฐานข้อมูล |
การออกแบบฐานข้อมูล (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 เพื่อเป็นการรับประกันว่าข้อมูลมีความซ้ำซ้อนกันน้อยที่สุด |
หน่วยความจำเสมือน virtual Memory คือ ??
มาทำความเข้าใจกันก่อนว่า Virtual Memory คืออะไร ขออธิบายแบบง่าย ๆ ลองนึกภาพว่าหากเรามีหน่วยความจำหรือ RAM ใส่อยู่ในครื่องคอมพิวเตอร์จำนวนหนึ่ง เช่น 32MB. เมื่อใช้งาน Windows จริง ๆ แล้วการทำงานองWindows หรือระบบซอฟต์แวร์จะต้องทำการโหลดข้อมูลทุก ๆ อย่างไปเก็บไว้ในหน่วยความจำหรือ RAM ก่อนแล้วซีพียูจึงจะทำการประมวลผลจากข้อมูลเหล่านั้น ซึ่งโดยปกติแล้วเฉพาะ Windows อย่างเดียวก็กินพื้นที่ของ RAM ไปมากพอแล้ว นอกจากนั้นยังต้องมีพื้นที่สำหรับการเก็บข้อมูลและรับโปรแกรมหรือซอฟต์แวร์อื่น ๆ อีกมากมาย ดังนั้นRAM ขนาด 32MB. ย่อมไม่พอใช้งานแน่นอนแต่ใน Windows ก็มีระบบการจัดการกับ RAM ที่มีจำนวนน้อยนิดนี้ได้โดยจะทำการเขียนข้อมูลต่าง ๆ ที่ยังไม่จำเป็นต้องใช้งานในขณะนั้นลงเก็บไว้ในฮาร์ดดิสก์ชั่วคราวก่อน เมื่อต้องการใช้งานข้อมูลในส่วนนี้จึงจะทำการอ่านขึ้นมาใช้งานโดยจะทำการอ่านและเขียนแบบนี้สลับกันไปตามความต้องการใช้งานของข้อมูลเราเรียกการทำงานแบบนี้ว่าการทำ Swap File ซึ่งจะทำให้เราสามารถรันซอฟต์แวร์ที่มีขนาดใหญ่ ๆ หรือรันซอฟต์แวร์พร้อม ๆ กันหลาย ๆ ตัวได้ |
ในระบบ Windows ที่ทำการติดตั้งแบบมาตราฐานทั่ว ๆ ไป การตั้งค่าจำนวนของฮาร์ดดิสก์ที่จะสำรองไว้สำหรับทำ Swap File นี้จะถูกจัดการโดย Windows ซึ่งจะทำการปรับเปลี่ยนขนาดของ Swap File อัตโนมัติตามขนาดของหน่วยความจำหรือจำนวนพื้นที่ที่ต้องการรันซอฟต์แวร์ในขณะนั้น นอกจากนี้เรายังสามารถทำการกำหนดขนาดของ Swap File ที่ว่านี้ให้มีขนาดคงที่จำนวนหนึ่งได้ด้วยโดยหากทำการกำหนดขนาดของ Swap File ให้คงที่แล้ว Windows ก็จะใช้งานไฟล์ในขนาดที่ได้ทำการกำหนดไว้แล้วเท่านั้น |
ข้อเปรียบเทียบการกำหนด Swap File ทั้ง 2 แบบ |
การกำหนด Swap File โดยอัตโนมัติจาก Windows |
1. ไฟล์จะมีขนาดเปลี่ยนไปได้เรื่อย ๆ ทำให้ Windows สามารถใช้งานพื้นที่ทั้งหมดของฮาร์ดดิสก์มาเป็นSwap File ได้ |
2. เมื่อไฟล์มีการปรับเปลี่ยนขนาดอยู่ตลอดเวลาจะทำให้การจัดเรียงข้อมูลของไฟล์บนฮาร์ดดิสก์กระจัดกระจายไม่ต่อเนื่อง |
3. การอ่านและเขียนข้อมูลของ Swap File จะทำได้ช้าลงเพราะไฟล์มีการกระจายมากขึ้น |
การกำหนด Swap File ให้มีค่าคงที่ |
1. ไฟล์จะมีขนาดคงที่ ทำให้เรากำหนดและคำนวนการใช้งานฮาร์ดดิสก์ที่เหลือได้ |
2. ข้อมูลของไฟล์จะไม่กระจายมากนัก เพราะจะใช้พื้นที่เดิม ๆ ที่ได้กำหนดขนาดไว้แล้วในการเก็บข้อมูล |
3. การอ่านและเขียนข้อมูลของ Swap File จะเร็วขึ้นเพราะไฟล์มีการกระจายน้อยลง |
วิธีการตั้ง Swap File หรือ Virtual Memory |
วิธีการตั้งการใช้งาน Virtual Memory ทำได้โดย เริ่มต้นจากการเรียก Control Panel โดยกดเลือกที่ Start menu >> Settings และเลือกที่ Control Panel เลือกที่เมนูของ System คลิกที่ป้าย Performance เลือกที่ Virtual Memory จะได้หน้าตาดังรูปที่เมนูของ Virtual Memory มีความหมายดังนี้ |
- Let Windows manage... เลือกตรงนี้ถ้าต้องการให้ Windows จัดการ virtual memory อัตโนมัติ |
- Let me specify my own... เลือกที่นี่ ถ้าต้องการกำหนดขนาดของ virtual memory เป็นค่าคงที่เอง |
- Harddisk เลือกฮาร์ดดิสก์ที่ต้องการทำ Virtual Memory หรือ Swap File |
- Mimimun กำหนดขนาดต่ำสุดของ Swap File |
- Maximum กำหนดขนาดสูงสุดของ Swap File |
- Disable virtual memory คือการกำหนดให้ไม่ใช้ virtual memory (จะใช้ RAM จริง ๆ เท่านั้น) |
หลักการกำหนดขนาดของ virtual memory ควรจะกำหนดให้ minimum และ maximum มีขนาดเท่ากันเพื่อให้ Swap File มีขนาดคงที่ไม่มีการเปลี่ยนแปลงโดยขนาดที่แนะนำให้ใช้คือ ถ้าเครื่องมีแรมอยู่น้อยกว่า 64M ควรใส่เป็น 128 แต่ถ้าเครื่องมีแรม 128M หรือมากกว่านี้ควรใส่เป็น 256 โดยประมาณและนอกจากนี้ ควรเลือกฮาร์ดดิสก์ตัวที่มีความเร็วมากที่สุดสำหรับทำ Swap File เพื่อเพิ่มความเร็วในการใช้งาน Windows หลังจากที่ใส่ค่าตามต้องการแล้วก็กด OK จะมีเมนูยืนยันการเลือกอีกครั้งก็กด Yes และเมื่อปิดหน้าจอของการเลือก Windows จะต้องทำการRestart ใหม่ครั้งหนึ่ง การตั้งค่าต่าง ๆ จึงจะมีผล |
เราสามารถดูขนาดของ Swap File ได้โดยที่เมื่อกำหนดแล้วโดยจะเห็นเป็นไฟล์ในฮาร์ดดิสก์ชื่อ Win386.swpซึ่งหากลบทิ้งไป Windows ก็จะทำการสร้างขึ้นมาใหม่โดยอัตโนมัติ |
ข้อแนะนำเพิ่มเติมของการทำ Virtual Memory |
การตั้ง Virtual Memory คือการจำลองพื้นที่ของฮาร์ดดิสก์มาใช้งานแทน RAM ดังนั้นถ้าจะให้ได้ผลดีที่สุดจะต้องหาทางทำให้พื้นที่ที่กำหนดให้เป็น Swap File เป็นพื้นที่ที่อยู่ในฮาร์ดดิสก์ตัวที่มีการอ่านเขียนข้อมูลได้เร็วที่สุดมาดูหลักการต่าง ๆ ของการกำหนดใช้ virtual memory ที่ถูกต้องว่ามีอะไรบ้าง |
พื้นที่ส่วนไหนของฮาร์ดดิสก์ที่มีการอ่านเขียนได้เร็วที่สุด |
ลองนึกภาพฮาร์ดดิสก์ 1 ตัวที่มีจานดิสก์เป็นรูปวงกลมหมุนอยู่ด้วยความเร็วสูงและมีหัวอ่านที่เคลี่อนย้ายไปมาเพื่ออ่านหรือเขียนข้อมูล จะเห็นได้ว่าในการหมุนของจานดิสก์ 1 รอบ พื้นที่ข้อมูลที่อยู่รอบนอกสุดจะสามารถอ่านได้จำนวนมากกว่าพื้นที่ที่อยู่ด้านในของจานฮาร์ดดิสก์ ดังนั้นหากเราสามารถกำหนดให้ Swap File อยู่ในส่วนของพื้นที่นอกสุดได้มากเท่าไรอัตราการอ่านเขียนข้อมูลก็จะทำได้เร็วมากขึ้นในการแบ่งฮาร์ดดิสก์ให้มีหลาย ๆ พาร์ติชัน การใช้งานพื้นที่ของพาร์ติชันแรกจะอยู่นอกสุดและพาร์ติชันถัดไป จะใช้พื้นที่ส่วนที่อยู่รอบในถัดเข้ามาเรื่อย ๆ |
กรณีที่มีฮาร์ดดิสก์ 2 ตัว |
หากใครมีฮาร์ดดิสก์ต่ออยู่ 2 ตัว ก็เป็นไปได้ที่จะกำหนดให้ใช้พื้นที่ส่วนนอกสุดของฮาร์ดดิสก์ตัวที่ 2 มาทำเป็นVirtual Memory เพราะว่าจะเป็นส่วนสามารถอ่านเขียนข้อมูลที่เร็วที่สุดทั้งนี้จะใช้ได้ในกรณีที่ฮาร์ดดิสก์ทั้ง 2 ตัวมีความเร็วพอ ๆ กันด้วย ถ้าหากฮาร์ดดิสก์ตัวที่ 2 เป็นฮาร์ดดิสก์เก่าหรือมีความเร็วช้ากว่าตัวแรกก็แนะนำให้ไปทำในฮาร์ดดิสก์ตัวแรกดีกว่า |
จะแบ่งพาร์ติชัน สำหรับทำ virtual memory ต่างหากไปเลย |
บางคนบอกว่าถ้าอย่างนั้นจัดการแบ่งพาร์ติชันของฮาร์ดดิสก์ให้เป็นหลาย ๆ พาร์ติชันและตั้งให้ทำ Virtual Memory หรือ Swap File ในพาร์ติชันที่แบ่งไว้โดยเฉพาะไปเลยจะดีไหม ก่อนอื่นต้องมาดูกันก่อนว่าการแบ่งพาร์ติชันนั้น ในพาร์ติชันแรกจะใช้พื้นที่นอกสุดของฮาร์ดดิสก์และพาร์ติชันถัดไปก็จะใช้พื้นที่ในส่วนรอบในของจานฮาร์ดดิสก์เข้าไปเรื่อย ๆ ดังนั้นสรุปว่าพาร์ติชันแรกสุดของฮาร์ดดิสก์จะมีอัตราการอ่านเขียนข้อมูลได้เร็วที่สุดหากจะแบ่งพาร์ติชันสำหรับทำ Swap File ในพาร์ติชันแรกก็เป็นการกระทำที่ถูกต้อง แต่ถ้าหากคิดจะแบ่งพาร์ติชันและเก็บการทำSwap File ไปไว้ในพาร์ติชันถัดไปอันนี้ไม่ใช่ทางเลือกที่ดีนักเพราะความเร็วการอ่านเขียนข้อมูลของพาร์ติชันถัดไปนี้จะช้ากว่าการอ่านเขียนข้อมูลของพาร์ติชันแรกในเรื่องนี้ ขอแนะนำว่าไม่มีความจำเป็นถึงขนาดนั้นเพียงแต่ว่าถ้าหากมีฮาร์ดดิสก์แค่ตัวเดียวก็ให้ทำ Swap File ไว้ในพาร์ติชันแรกของฮาร์ดดิสก์ตัวนั้นก็เพียงพอแล้ว |
การใช้โปรแกรมบางประเภท ทำการย้าย Swap File มาไว้ส่วนแรกสุดของฮาร์ดดิสก์ |
จะมีซอฟต์แวร์บางตัวเช่น Norton Speed Disk มีความสามารถในการย้ายส่วนของ Swap File มาไว้ในส่วนแรกสุดของฮาร์ดดิสก์เพื่อการเข้าถึงข้อมูลได้เร็วขึ้นอันนี้ก็เป็นอีกวิธีหนึ่งที่ช่วยเพิ่มประสิทธิภาพของการทำ Virtual Memory ได้ ซึ่งเท่าที่ทราบมาโปรแกรม Defrag ของ Windows ไม่มีความสามารถในส่วนนี้ |
สมัครสมาชิก:
บทความ (Atom)