ตัวอย่างโปรเจ็กต์ เช็คผลสอบ ตอนที่ 2 (ระบบฐานข้อมูล)

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

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

 

ในบทความนี้เราจะเริ่มต้นด้วยการออกแบบฐานข้อมูลก่อนค่ะ ในชีวิตจริงคือการที่เราไปเก็บความต้องการของลูกค้า และนำมาออกแบบเป็นตารางต่าง ๆ ที่จะใช้ในการเก็บข้อมูล ที่เตรียมไว้สำหรับการนำข้อมูล (Data) ไปประมวลผลให้กลายเป็นสารสนเทศ (Information) ต่อไป

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-01

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

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-02

เราจะอ่านได้ว่า ข้อมูลคนที่ 1 รหัสนักศึกษา 2559001 ชื่อ สมหญิง ได้คะแนน 90 คะแนน

 

ข้อมูลต่อมา

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-03

เราจะอ่านได้ว่า ข้อมูลคนที่ 2 รหัสนักศึกษา 2559002 ชื่อ สมชาย ได้คะแนน 82 คะแนน

คนต่อไปก็อ่านไปเรื่อย ๆ แบบนี้ เป็นต้น

สมมติว่า มีนักศึกษาทั้งหมด 4 คนก็จะมีข้อมูลทั้งหมดดังนี้

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-04

ในการออกแบบตารางเก็บข้อมูล (ของ MySQL) เราจะคำนึงถึง “ประเภท” ของข้อมูลที่จะนำมาเก็บไว้ เช่น

id เราจะใช้เป็น PK (Primary Key) คือคีย์หลักที่สามารถเพิ่มข้อมูลลงไปเองได้และนับค่าเพิ่มขึ้นเรื่อย ๆ ตามจำนวนของข้อมูล
code เราจะใช้เก็บรหัสนักศึกษา ในเมื่อไม่ได้นำไปคำนวณ ประเภทที่เก็บก็จะเป็น vachar ขนาด 7 ตัวอักษร
name จะใช้เก็บชื่อนักศึกษา เป็นประเภท vachar เช่นกัน ขนาดสัก 50 ก็พอ
score จะใช้เก็บคะแนน เราจะนำไปคำนวนให้กลายเป็นเกรด การเก็บเป็นชนิดตัวเลขจะสะดวกกว่า เราก็เลือกเก็บแบบ int ขนาดเท่ากับ 3

 

สรุปแล้วเราจะได้โครงสร้างตารางดังต่อไปนี้

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-05

การสร้างฐานข้อมูล

ในโปรแกรม phpMyAdmin หลังจาก Login เข้ามาแล้วคลิกที่เมนู “Database”  ด้านบนจะปรากฏหน้าจอให้สร้างฐานข้อมูลดังต่อไปนี้

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-06

กรอกชื่อฐานข้อมูลตามต้องการ และกำหนดการเข้ารหัสเป็น “utf8_general_ci” หลังจากนั้นคลิกที่ปุ่ม “Create”

เราก็จะได้ฐานข้อมูลเปล่า ๆ ขึ้นมา คลิกเข้าไปในฐานข้อมูลที่สร้างขึ้นมาใหม่ ต่อไปเราจะสร้างตารางเก็บข้อมูลเอาไวในฐานข้อมูลนี้

 

การสร้างตาราง

เมื่อเข้ามาในฐานข้อมูลที่สร้างขึ้นมาแล้ว ในส่วนของ “Create table” ให้ตั้งชื่อตารางว่า “Students”  มี 4 คอลัมน์ (columns) และคลิกที่ปุ่ม “Go

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-07

จะปรากฏหน้าจอให้กำหนดค่าต่าง ๆ ของตาราง ในคอลัมน์แรก เป็นการตั้งชื่อรายการคอลัมน์ของตาราง “Students” กรอกข้อมูลลงไปดังนี้

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-08

ต่อมาส่วนของประเภท (Type) และ ขนาดหรือค่าของข้อมูลให้กำหนดดังภาพด้านล่าง

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-09

เลื่อนขวามาเรื่อย ๆ จนเจอหัวข้อ “Index” และ “A_I” เรากำหนดให้ id เป็น Primary Key และ รันตัวเลขอัตโนมัติ “A_I” (Auto Increment)

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-10

ก่อนจะกดปุ่ม “Save” เลื่อนลงไปด้านล่าง กำหนด Collation เป็น ““utf8_general_ci””

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-11

หลังจากำหนดข้อมูลเรียบร้องแล้วคลิกปุ่ม “Save” เราก็จะได้ตาราง “Students” เปล่า ๆ ขึ้นมา ถ้าคลิกเข้าไปก็จะไม่พบข้อมูลใด ๆ ต่อไปเราจะกรอกข้อมูลลงไปในตารางค่ะ

 

การกรอกข้อมูล

มองไปที่เมนูด้านบน คลิกที่ “Insert” จะพบหน้าจอให้กรอกข้อมูล เราสามารถกรอกได้ทีละ 2 รายการค่ะ

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-12

ในส่วนของ id เราจะปล่อยว่าง ๆ ไว้นะคะเพราะเรากำหนดให้มันนับเลขอัตโนมัติอยู่แล้ว ด้านล่างข้อมูลที่ 2 จะกรอกได้ดังนี้

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-13

กรอกเสร็จแล้วคลิกที่ปุ่ม “Go” ข้อมูลสามารถสมมติขึ้นมาเองได้ตามใจชอบนะคะ เผื่อไม่ชอบชื่อขึ้นต้นด้วย ส. เสือ ^^ เมื่อกรอกข้อมูลเรียบร้อยแล้วคลิกที่เมนู “Browse” ตอนนี้เรามีข้อมูลดังต่อไปนี่ จะกรอกให้มากกว่านี้ก็ได้นะคะ ไม่มีผลต่อขั้นตอนต่อไปค่ะ ^^

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x2-04

สรุป

ในบทความนี้เราได้ทำความรู้จักกับฐานข้อมูล (Database) และตาราง (Table) เราได้เรียนรู้แล้วว่าฐานข้อมูลคือที่เก็บตาราง ภายในฐานข้อมูลอาจจะมีตารางหลาย ๆ ตาราง ตามที่เราต้องการ (แต่ตอนนี้เราแค่มี 1 ตาราง) และตารางของเราก็มีข้อมูลพร้อมสำหรับการทำงานในขั้นตอนต่อไปแล้ว ในตอนต่อไปเราจะเขียนโปรแกรมเพื่อเชื่อมต่อฐานข้อมูลกันค่ะ แล้วพบกันนะคะ 🙂


เรื่องที่เกี่ยวข้อง

NetBeans: วิธีสร้าง JFrame

NetBeans: ทำความรู้จัก Label กับ TextField

NetBeans: ทำความรู้จักกับ Button

ตัวอย่างโปรเจ็กต์: เช็คผลสอบ

ตอนที่ 1 (ภาพรวมของระบบ)

ตอนที่ 2 (ระบบฐานข้อมูล)

ตอนที่ 3 (เชื่อมต่อ Java กับ Database)

ตอนที่ 4 (สร้างออบเจ็กต์เก็บข้อมูล)

ตอนที่ 5 (ประมวลผลข้อมูล)

ตอนที่ 6 (ดึงข้อมูลจากตาราง)

ตอนที่ 7 (นำข้อมูลไปแสดงผลจริง)


 

ธมนวรรณ มณีจันทร์

ธมนวรรณ มณีจันทร์

|:- เราเชื่อมั่นว่าการเสียสละและการแบ่งปันจะทำให้โลกใบนี้สวยงามมากขึ้น ทุกๆ จุดเริ่มต้นของการเรียนรู้ นำไปสู่การเรียนรู้ถัดไป เว็บไซต์แห่งนี้ขอเป็นส่วนหนึ่งของการแบ่งปันความรู้ที่ไม่มีที่สิ้นสุด มาร่วมกันผลักดันโลกของเราให้หมุนไปพร้อมกับพลังแห่งความรักด้วยกันนะคะ :) >>> |:- About Me! -:|