บทนี้จะเป็นการพูดถึงภาพรวมของระบบฐานข้อมูลซึ่งใช้สำหรับจัดเก็บข้อมูลอย่างมีประสิทธิภาพ
Software Process
การบวนการทำซอฟท์แวร์มีด้วยการทั้งหมด 5 ส่วน
1.การเก็บข้อมูลตรวจสอบความต้องการ (Requirement)
เป็นการเก็บและวิเคราะห์ข้อมูลสำหรับโปรแกรมที่กำลังจะทำ ซึ่งประกอบไปด้วย
- Function
เป็นการเก็บข้อมูลเกี่ยวลักษณะการทำงานของโปรแกรม เพื่อให้รู้ต้องการโปรแกรมที่มีฟังก์ชันอย่างไร ใช้กี่คนต้องมีการเข้ารหัสไหม มีใครใช้งานบ้าง ใครจะเข้าถึงโปรแกรมไหนได้บ้าง จะเก็บอินพุตแบบไหน ต้องการให้เอาท์พุตเป็นตัวหนังสือ ตัวเลขหรือกราฟและการกำหนดขอบเขตของโปรแกรมเป็นต้น
- Non-function
เช่น ความสวยงาม ความเร็วของการทำงานเป็นต้น
2. การออกแบบ(Design)
ออกแบบระบบฐานข้อมูล ออกแบบรูปลักษณ์และการออกแบบแนวทางของโปรแกรม
3.การเขียนจริงจากการออกแบบ(Implement)
นำสิ่งที่ออกแบบมาเขียนเป็นโค๊ด
4.การทดสอบประเมินผล(Test and Evaluation)
หลังจากเขียนเสร็จต้องมีการทดสอบอย่างถี่ถ้วนเพื่อไม่ให้เกิดหรือเกิดข้อผิดพลาดน้อยที่สุด
5.การใช้งานและการรักษา(Deployment and Maintenance)
นำไปติดตั้งในเครื่องของลูกค้าและดูแลรักษาหากเกิดข้อผิดพลาด
ทำไมต้องเป็นฐานข้อมูล
ระบบฐานข้อมูลช่วยลดปัญหาเรื่องการเก็บข้อมูลได้ดีเมื่อเทียบวิธีการการเก็บข้อมูลที่มีมาก่อนหน้าเช่น การเก็บด้วยบัตรค้นหาเช่นในห้องสมุดสมัยก่อน การการเก็บด้วยแฟ้มข้อมูลที่ทำให้เกิดปัญหาความซ้ำซ้อนของข้อมูลและความไม่คล่องตัวของการใช้ข้อมูล กล่าวคือการเก็บด้วยแฟ้มข้อมูลจะแบ่งแยกกันเก็บเป็นฝ่ายๆ เช่นฝ่ายลูกค้าเก็บชื่อลูกค้า ฝ่ายบุคคลเก็บรายชื่อพนักงาน แต่หากฝ่ายพนักงานอยากดูว่ามีพนักที่เป็นลูกค้าด้วยหรือไม่ก็ต้องไปขอรายชื่อจากฝ่ายลูกค้า นอกจากนี้นึกถึงแฟ้มที่มีคนกำลังค้นหาอะไรบางอย่างนี้ ผู้อื่นก็จะไม่สามารถเข้าไปค้นหาของในแฟ้มนั้นได้ด้วย ซึ่งจะเห็นว่าเป็นเรื่องที่ไม่ควรจะทำให้เป็นอย่างนั้นมันเสียเวลาการทำงาน จึงมีระบบฐานข้อมูล
เพื่อแก้ปัญหาดังกล่าว ระบบฐานข้อมูลจึงเป็นระบบที่เก็บข้อมูลไว้ภายในแหล่งเดียวกัน โดยนำข้อมูลมาจัดระเบียบให้อยู่ร่วมกันแบบมีการจัดหมวดหมู่และมีความสัมพันธ์ ซึ่งหากมีคนต้องการใช้ข้อมูลก็สามารถเข้าถึงแหล่งกลางนี้ได้
การจัดการฐานข้อมูลจะมีสิ่งที่เรียกว่า DBMS หรือ Database Management Systems ที่จะมาช่วยในการเป็นเครื่องมือสำหรับตอบโต้ระหว่างฐานข้อมูลกับผู้ใช้ และมีภาษา SQL(Structured Query Language) ที่ช่วยให้ผู้ใช้สามารถเพิ่มเติม เปลี่ยนแปลงหรือลบข้อมูลได้การติดต่อกับ DBMS จะทำโดยตรงหรือทำผ่านโปรแกรมที่เขียนขึ้นมาก็ได้(พวกโปรแกรมที่เขียนจาก JAVA VB เป็นต้น)
รูป1-1
เซอร์เวอร์ของฐานข้อมูล
MySql Database Server
โปรแกรมทางด้านฐานข้อมูลใช้ในการจัดเก็บข้อมูลต่าง ๆ ตามที่ต้องการ เป็น Freeware สามารถเข้าไปดาวน์โหลดและนำมาใช้ฟรี ๆ โดยไม่ต้องเสียงเงินเพื่อซื้อลิขสิทธิ์ในการใช้งานโปรแกรมแต่อย่างใด MySQL เป็นที่นิยมใช้กันมากกับฐานข้อมูลบนอินเตอร์เน็ต
Oracle หรือ Object – Relational Database Management System (ORDBMS)
มีความสามารถทำงานได้ทั้งในรูปแบบ Rational และบางคุณสมบัติของ Object Oriented เป็นผลิตภัณฑ์จากบริษัทออราเคิล ออราเคิลเซิร์ฟเวอร์ มีความสามารถโดดเด่นในด้านการจัดการฐานข้อมูล มีความน่าเชื่อถือสูง ด้วยเทคโนโลยี Rollback Segment ซึ่งเป็นลิขสิทธิ์ของบริษัทออราเคิล โดยปกติ Log file หรือไฟล์ที่เก็บ Transaction ของระบบ
ซึ่งทั้งสองแบบดังกล่าวเป็นการสร้างฐานข้อมูลแบบเชิงความสัมพันธ์
แบบจำลองข้อมูล
ในส่วนนี้จะพูดถึงคำศัพท์พื้นฐานที่สำคัญต่อการสร้างแบบจำลองฐานข้อมูล
แบบจำลองฐานข้อมูล
มีทั้ง 5 แบบจำลองได้แก่
1.แบบจำลองฐานข้อมูลลำดับชั้น (Hierarchical Database Model)
เป็นการสร้างฐานข้อมูลแบบ Top-Down คล้ายกับโครงสร้างของต้นไม้ในโครงสร้างข้อมูล
2.แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational Database Model) ***
การสร้างฐานข้อมูลเป็นตาราง ได้รับความนิยมเพราะใช้ง่ายเวลาสร้างแล้วมาดูจะไม่งงเท่าแบบอื่นๆ
3.แบบจำลองฐานข้อมูลเครือข่าย (Network Database Model)
คล้ายกับ แบบจำลองฐานข้อมูลลำดับชั้น แต่ว่าแต่ละโหนดสามารถมีความสัมพันธ์กับโหนดอื่นและแต่ละโหนดก็สามารถมีหลายพ่อได้
4.แบบจำลองฐานข้อมูลเชิงวัตถุ (Object-Oriented Database Model)
เป็นการออกแบบฐานข้อมูลโดยใช้แนวคิด OOP
5.แบบจำลองฐานข้อมูลแบบมัลติไดเมนชัน(Multidimensional Database Model)
เป็นการเก็บข้อมูลด้วยตารางหลายมิติเหมาะกับงานคลังข้อมูล
- Entities คือสิ่งที่เกี่ยวข้องกับข้อมูลที่ต้องการจะเก็บ เช่น คน สิ่งของ สถานที่ เช่น entities พนักงาน entities หนังสือ
- Attributes คือคุณลักษณะของ entities กล่าวคือเมื่อพูดถึงโทรทัศน์ก็จะต้องมีคุณลักษณะคือมีขนาดหน้าจอ มีปุ่มกด สำหรับ entities พนักงานก็ต้องมีชื่อ นามสกุล ที่อยู่ อีเมล เป็นต้น
- ความสัมพันธ์(relationships) จะเป็นความสัมพันธ์ระหว่าง entities เช่นในร้านหนังสือต้องมี entitiesผู้ยืม และ entitiesหนังสือ ก็ต้องกำหนดความสัมพันธ์ว่า ผู้ยืมสามารถยืมได้ 1 เล่ม หรือหลายเล่มเป็นต้น โดยความสัมพันธ์จะมีอยู่ 3 ความสัมพันธ์ ได้แก่ความสัมพันธ์แบบหนึ่งต่อหนึ่ง(one-to-one) ความสัมพันธ์แบบหนึ่งต่อหลาย(one-to-many) ความสัมพันธ์แบบหลายต่อหลาย(many-to-many) เขียนย่อได้เป็น 1:1, 1:M, M:N
- คีย์(Key) ในการสร้างฐานข้อมูลแบบสัมพันธ์ (Relational Database) จะมีการเก็บข้อมูลในรูปแบบตารางซึ่งประกอบไปด้วยแถวแนวตั้งและแถวแนวนอน จะมีการคีย์ลงไปด้วยเพื่อสร้างความแตกต่างของ attribute ที่มีคีย์และเพื่อกำหนดความสัมพันธ์ตามที่ต้องการ
-คีย์หลัก (Primary Key)
เป็นคีย์ที่ใช้ในการอ้างอิง โดยจะต้องไม่เก็บข้อมูลว่าง
-คีย์นอก (Foreign Key)
เป็นคีย์หลักที่มีอยู่ในอีกความสัมพันธ์หนึ่ง ดังนั้นจึงถือเป็นคีย์ที่ใช้ในการเชื่อมตารางได้ เช่น มีตารางหนึ่งเก็บข้อมูลว่าสาขาของร้านหนังสืออยู่ที่ไหนโดยให้รหัสร้านเป็นคีย์หลัก แต่ในตารางของพนักงานประจำร้านก็มีการระบุถึงสาขาด้วยว่าพนักงานคนนั้นอยู่สาขาไหน จะเห็นได้ว่าคีย์ในตารางแรกมาปรากฏในตารางที่สองด้วย จึงเป็นคีย์นอก
ข้อดี-ข้อเสียของฐานข้อมูล
ข้อดีของฐานข้อมูลคือลดความซ้ำซ้อนของข้อมูลและทำให้ข้อมูลมีความถูกต้องเหมือนกันหากเกิดการเปลี่ยนแปลงก็จะเห็นได้ทั่ว ทำให้การใช้ข้อมูลสามารถใช้งานร่วมกันได้ แต่ข้อเสียก็คือใช้พื้นจัดเก็บมากและต้องมีการออกแบบที่ซับซ้อนและถ้าที่เก็บฐานข้อมูลเสียหายก็เสียหายหมดเพราะจะไม่มีใครสามารถใช้งานฐานข้อมูลได้ แต่อย่างไรก็ตามข้อเสียมันน้อยมากกว่าเมื่อเทียบกับข้อดี
Tag ที่น่าสนใจ: ฐานข้อมูล การจัดการข้อมูล ระบบฐานข้อมูล ฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลเชิงวัตถุ ฐานข้อมูลลำดับชั้น ฐานข้อมูลเครือข่าย การเก็บข้อมูล การจัดการฐานข้อมูล database_management_systems sql ออราเคิล โปรแกรม_mysql แบบจำลองฐานข้อมูล entities attributes ความสัมพันธ์
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM