วันอาทิตย์ที่ 28 มกราคม พ.ศ. 2561

เพิ่ม Transcript Data ลงใน Database

     หลังจากที่ได้ import ไฟล์ .csv และนำมาคำนวณเกรดแล้ว จากนั้นจึงได้ทำการเพิ่มข้อมูลที่ได้จาก .csv มาใส่ไว้ในฐานข้อมูล และนำข้อมูลที่อยู่ในฐานข้อมูลนั้น มาคำนวณ เพิ่มที่สามารถคำนวณได้ไวมากขึ้น เพราะไม่ต้องเปิดไฟล์ .csv มาอ่านเหมือนทุกครั้ง

สามารถดูโค้ดได้ที่นี้ > https://github.com/peepraeza/Database2-2560

เริ่มจากการ Export ไฟล์ .csv จาก google spreadsheet ที่ได้ทำไว้
google spreadsheet

เมื่อ Export ออกมาแล้วจะได้ลักษณะดังรูป
grade.csv

หลังจากนั้นจะทำการ import ไฟล์ .csv เข้ามาและทำการนำข้อมูลจาก csv เข้าไปยังฐานข้อมูล โดยใช้ method create_table เพื่อสร้างตารางฐานข้อมูล 

เมื่อสร้างตารางเสร็จ ผลลัพธ์จะออกมาเป็นดังรูป

จากนั้นจะทำการ Insert Data เข้าไปในตารางฐานข้อมูลที่ได้สร้างไว้ โดยใช้ method insert_data

เมื่อนำเข้าข้อมูลจาก csv เรียบร้อยแล้ว เมื่อมาตรวจสอบในฐานข้อมูล ก็จะพบว่ามีข้อมูลถูกนำเข้าเรียบร้อยแล้ว

สามารถ Query Data ตามที่ต้องการจะดูได้ เช่น ต้องการดูว่าจากฐานข้อมูลทั้งหมด มีวิชาไหนบ้างที่ได้เกรด A ก็จะใช้ method show_data ในการเลือกดูข้อมูล

วิธีการเรียกใช้ จะใส่ parameter ไปว่า "Grade = 'A'" คือต้องการจะดูข้อมูลทั้งหมด ที่ได้ Grade = 'A' 

เมื่อรันโปรแกกรมออกมา ก็จะได้ผลลัพธ์ดังนี้

มีการสร้าง method เพิ่มเติม คือสามารถคำนวณเกรดที่ได้ โดยจะดึงข้อมูลมาจาก ฐานข้อมูลที่ได้นำเข้าไปแล้ว มาใช้คำนวณ โดยใช้ method show_grade จะแสดงผลการเรียนของทุกเทอม

เมื่อรันออกมา จะแสดงผลลัพธ์ดังนี้

ได้เรียนรู้อะไรบ้าง:
  • ได้เรียนรู้การใช้ lib ในการติดต่อระหว่าง python กับ MySQL โดยใช้ pymysql 
  • สามารถ create table เพื่อสร้างตารางและ insert data เข้าไปยังตารางที่สร้างไว้ได้
  • สามารถ query ข้อมูลที่ต้องการจะดูได้ 
ปัญหาและการแก้ไข:
  • ปัญหา ติดตั้ง pymysql ได้ยาก ไม่รู้ว่าจะติดตั้งยังไง
    • แก้ไข หาวิธีการติดตั้งจาก Youtube
  • ปัญหา เมื่อทำงานเป็นกลุ่ม จึงยากต่อการสื่อสาร ไม่เข้าใจสิ่งที่ต้องการจะให้ทำ จึงทำให้ดำเนินการช้า
    • แก้ไข สอบถามกลุ่มอื่นๆว่าทำงานกันยังไงบ้าง และคุยกับกลุ่มกันเอง ว่าจะเอายังไง
การตัดสินใจ:
  • ใช้ format ของ .csv เป็นรูปแบบเดียวกันทั้งกลุ่ม เพื่อที่ง่ายต่อการดึงข้อมูลในอนาคต
  • ใช้ DBMS คือ MySQL กันทั้งกลุ่ม เพื่อที่สามารถอธิบายกันได้ เมื่อมีคนไม่เข้าใจ
แหล่งข้อมูลอ้างอิง:

ไม่มีความคิดเห็น:

แสดงความคิดเห็น