Tuesday, February 27, 2018

INSERT Data To DBMS

           ผมได้รับมอบหมาย จากเพื่อให้ลองใช้ Database Management System (DBMS) คือ MySQL กับการทดสอบในครั้งนี้

Image result for mysql


           ผมได้ลองการ Query  โดยการ INSERT ข้อมูลจำนวนมาก ตอนแรกช้ามากเลยใช้ การ LOAD
คือ 
   LOAD DATA LOCAL INFILE 'loaction file' INTO TABLE table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' ; 


            ลองกลับไปแก้โค้ด แก้ในส่วน commit โดยปกติโค้ดจะต้องเข้า function และสร้าง object connect mysql ที่เป็นแบบ local variable เพื่อติดต่อกับ DMBS เลยแก้ให้ สร้าง object connect mysql  เป็นแบบ global variable แทนเพราะจะทำการ commit ในตอนจบ ครั้งเดียว

รูป โค้ด INSERT แบบเก่า

รูป โค้ด INSERT แบบใหม่

100 row
1k row
10k row
Old insert
7.3 s
87.2 s
> 30 min
New insert
0.23 s
2.62 s
59.82 s
รูป ตารางเปรียบเทียบโค้ด

Problem/Solution

             การ INSERT ช้ามาก

Decision

แก้โค้ดโดยการสร้าง object connect mysql  เป็นแบบ global variable เพื่อ commit ตอนจบโปรแกรม ครั้งเดียว

Wednesday, February 14, 2018



Entity Relationship Diagram (ERD)

          ได้ลองศึกษาการออกแบบ Entity Relationship Diagram โดยดูจากตัวอย่าง
ในตัวอย่างจะอธิบายการใช้ สัญลักษณ์ ในการวาด และ ยกตัวอย่างความสัมพันธ์ของ
entity 

รูปภาพ สัญลักษณ์ ในการวาด Diagram

Problem/Solution

- ไม่รู้ว่าสัญลักษณ์ ERD มีอะไรบ้าง แก้ปัญหาโดยศึกษาจากเว็บต่างๆ

            - ไม่มีเครื่องมือวาด ERD   แก้ปัญหาโดยใช้ google slide หรือ www.draw.io

Decision

- ใช้ docs oracle ในการศึกษา ERD และได้ใช้ตัวอย่างมานำเสนอ

รูปภาพ ERD Purchase Order

            ในรูปภาพจะเห็น ความสัมพันธ์ ต่างๆ เช่น Customer มีความสัมพันธ์แบบ one to many กับ Purchase Order (ลูกค้า 1 คน สามารถสั่งใบสังซื้อสินค้าได้หลายครั้ง ทางกลับกับ 1 ใบสังซื้อสินค้า
สามารถมีลูกค้าได้เพียง 1 คนเท่านั้น จึงมีความสัมพันธ์แบบ one to many)

Related Info/link/reference





Tuesday, February 6, 2018

USE  DBMS MySQL

Image result for mysql

ทดลองใช้ DBMS MySQL ในการสร้าง database และ table ในการเก็บข้อมูล
และใช้ MySQL Workbench ในการ INSERT,SELECT,DELETE,UPDATE

Image result for mysql workbench

MySQL Workbench เป็นโปรแกรมคล้าย GUI สำหรับ จัดการ MySQL เพื่อให้
ง่ายต่อการจัดการข้อมูล



Problem/Solution

- ในการใช้ Python ติดต่อกับ MySQL ต้องทำการติดตั้งโมดูล แก้ปัญหาโดยต้อง
ดาวโหลดโดยใช้ pip ของ Python
- การใส่ code SQL ผ่าน Python จะไม่มีการ update ใน MySQL Workbench
แก้ปัญหาโดยใช้ คำสัง commit() ใน Python ด้วย

Decision

- ใช้ Python ในการ INSERT,SELECT,DELETE,UPDATE ข้อมูลลง MySQL
และใช้ MySQL Workbench ในการตรวจสอบความถูกต้อง

Related Info/link/reference

MySQL : https://www.mysql.com/

AUTO SEND TO EMAIL ** จะใช้ได้เมื่อเป็น USER ที่สมัครสมาชิกเท่านั้น **          ได้ใช้ CronJob ในการจับเวลา ทุกๆ 5 นาทีจะทำการเช็ค ...