สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

Tutorial JAVA

01 install Eclipse 02 intro to programming Eclipse 03 condition 04.loop 05.array 05 2 array cont 06 01 function 06 02 function cont 07 object 08 string 09 constructor 10 01 oop 10 02 oop2 11 exception 12 reading file 13 thread 14 generic 15 01 GUI 15 02 GUI2 15 03.GUI3 16 using WindowBuilder 17 event 18 database management system 19 ER diagram 20 Relational 21 Xampp 22 JDBC 23 MVC 24 SQL

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

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

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)

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

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

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



บทความนี้อาจจะมีที่ผิด กรุณาตรวจสอบก่อนใช้

หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

C Article


C++ Article


Java Article


C#.NET Article


VB.NET Article


Python Article


Golang Article


JavaScript Article


Perl Article


Lua Article


Rust Article


Article


Python


Python Numpy


Python Machine Learning



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

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา