18. การจัดการข้อมูลด้วยระบบฐานข้อมูล

___________________

รับสอนเขียนJAVA , C# , VB.net

โทร 0853507540

___________________

18. การจัดการข้อมูลด้วยระบบฐานข้อมูล

            บทนี้จะเป็นการพูดถึงภาพรวมของระบบฐานข้อมูลซึ่งใช้สำหรับจัดเก็บข้อมูลอย่างมีประสิทธิภาพ

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)

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

ข้อดี-ข้อเสียของฐานข้อมูล

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

 

แผนผังการเรียนเขียนโปรแกรม

 

___________________

รับสอนเขียนJAVA , C# , VB.net

โทร 0853507540

___________________

 

ใส่ความเห็น