วันอังคารที่ 27 กุมภาพันธ์ พ.ศ. 2561

Week 6

What you have done/learned

  • ทดลองการ Insert ค่าจำนวณมากเข้าไปในฐานข้อมูล MySQL Workbench
  • นำเสนอเกี่ยวกับ Project ที่มีความเกี่ยงข้องกับการใช้ฐานข้อมูลเพื่อเลือกในการนำไปศึกษาและปฏิบัติจริง โดยที่เสนอไปในสัปดาห์นี้คือ ฐานข้อมูลของคลินิกทันตกรรมหรือร้านหมอฟัน และฐานข้อมูลการจราจร

Problem/Solution

  • การ Import ข้อมูลขนาดใหญ่เข้าไปใน MySQL Workbench นั้นส่งผลให้โปรแกรมทำงานหนักเกินไปทำให้เกินการ crash หรือค้างไปทำให้ต้องปิดการใช้งาน ทำการแก้ไขโดยการ generate ข้อมูลและ Insert เข้าไปทีละตัว ซึ่งช่วยแก้ปัญหาได้จริง
  • การ Insert และ Commit ทุกครั้งนั้นทำให้การดำเนินการช้าเกินกว่าที่ควรจะเป็นอย่างมาก แก้ไขโดยการกำหนดช่วงของ loop ในการ Commit เพื่อลดปัญหาความล่าช้าของการ Insert
  • การ Insert ที่มีปริมาณข้อมูลจำนวนมากๆทำให้เป็นภาระของคอมพิวเตอร์อย่างมาก คอมพิวเตอร์ของบางคนเกิดการกระตุกและค้าง หรือบางกรณีคือต้อง Restart เนื่องจากไม่สามารถทำงานได้แก้ไขโดยการให้เพื่อนที่คอมพิวเตอร์มีประสิทธิภาพสูงทำการสร้างข้อมูลให้
  • การสื่อสารในกลุ่มค่อนข้างล้าช้าและมีปัญหา แก้ไขโดยการระบุรายละเอียดและสิ่งที่จะชี้แจงให้ละเอียดมากขึ้นเพื่อลดปัญหาการเข้าใจไม่ตรงกัน

Decision

  • เนื่องจากข้อจำกัดของคอมพิวเตอร์จึงได้ทดลองจำลองการสร้างข้อมูลที่มีขนาดไม่ใหญ่มากเพื่อลดภาระในการ Insert
  • เลือกการใช้ Select * เพื่อทดสอบการแสดงข้อมูลทั้งหมด แต่เป็นการกระทำที่ไม่เหมาะสม ดังนั้นจะมีการปรับปรุงเรื่องการเลือกใช้คำสั่ง Select ให้สื่อความหมายมากขึ้น

Related Info/Link/Reference

  • โค้ดที่ใช้ในการ Generate และ Insert ข้อมูล

    
    
  • ข้อมูลและแหล่งอ้างอิงการใช้ MySQLdb ใน PyCharm
    https://www.youtube.com/watch?v=ryLsp6m1PnY
    https://www.youtube.com/watch?v=HJ9bTO5yYw0

วันจันทร์ที่ 19 กุมภาพันธ์ พ.ศ. 2561

Week 5

What you have done/learned

  • เป็นผู้ดูแลและช่วยวิเคราะห์แผนภาพ ER ของคลินิคแห่งหนึ่ง

  • อธิบายถึงความสัมพันธ์ของแต่ละ Entity รวมไปถึงรายละเอียดของ Attributes ต่างๆ
  • เพิ่มเติมแผนภาพ ER เกม MMORPG เพื่อเสริมข้อมูลของ Participation Constraint ซึ่งในแผนภาพ ER ของคลินิคนั้นไม่มีระบุไว้
  • ได้รู้ถึงความสัมพันธ์ระหว่าง Entity และรูปแบบลักษณะของ ER Diagram ที่แตกต่างกัน

Problem/Solution

  • ปัญหาแรกที่พบคือแผนภาพที่ไปค้นหามานั้นมีลักษณะของความสัมพันธ์ที่แตกต่างกัน

    แก้ไขโดยทำการเลือกรูปแบบของแผนภาพ ER Diagram เป็นแบบ Chen
  • บางแผนภาพมีความสัมพันธ์ไม่ครบ แกไขได้โดยเพิ่มแผนภาพที่ใช้ในการอธิบายเพิ่มเติม

Decision

  • ทำการเลือกใช้ ER Diagram แบบ Chen เนื่องจากเป็นแผนภาพที่คุ้นเคยกันมากกว่าแบบอื่นๆแต่หากใช้ในการนำเสนอหรือทำงานใหญ่การใช้ Crow Foot จะเหมาะสมกว่าหรือเลือกตามที่ผู้ว่าจ้างต้องการ
  • เลือกใช้ ER Diagram ของคลินิคเนื่องจากความสัมพันธ์ไม่ซับซ้อน สามารถเข้าใจได้ง่ายเนื่องจากผู้คนคุ้นเคยกับระบบการทำงานของคลินิคในระดับหนึ่งอยู่แล้ว

Related Info/Link/Reference

  • แผนภาพ ER ของคลินิค : https://books.google.co.th/books?id=9PH74cVVjUoC&lpg=PP1&dq=functional%20and%20object%20oriented&hl=th&pg=PP1#v=onepage&q&f=false
  • คำอธิบายแผนภาพ :
    http://blog.vzmart.com/er-model-entity-relationship-model/
    http://moo-mieng.freetzi.com/page%208(6).html
  • แผนภาพ ER ของเกม MMORPG https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model#/media/File:ER_Diagram_MMORPG.png

วันอังคารที่ 6 กุมภาพันธ์ พ.ศ. 2561

Week 4

What you have done/learned

  • เป็นผู้ดูแลส่วนการจัดการข้อมูลและรูปแบบไฟล์ CSV ของกลุ่มเพื่อให้อยู่ใน Pattern เดียวกันและง่ายต่อการใช้งาน


รูปแบบการเรียงคือ รหัสนักศึกษา, รหัสวิชา, ปีการศึกษา, ภาคเรียน, เกรด และ ระดับคะแนนตามลำดับ
  • ทดลอง Import ข้อมูลของกลุ่มเข้าไปในฐานข้อมูลและ query เพื่อนำข้อมูลมาแสดง
  • ได้ทำการศึกษาเกี่ยวกับโลกาภิวัฒน์โดยเป็นผลมาจาก Internet และ Social media ซึ่งได้ผลว่ามีทั้งข้อดีคือ ทำให้การติดต่อสื่อสารนั้นไปได้ทั่วถึงมากขึ้นการเข้าถึงข้อมูลมากขึ้นส่งผลให้ผู้คนมีความสนใจมากขึ้น มีทางเลือกในการตัดสินใจมากขึ้น ทางด้านเศรษฐกิจและอุตสาหกรรมเพื่อให้ก้าวทันโลกก็ได้พัฒนาให้มีการทำธุรกิจบนโลก Internet หรือ Online Shopping เพิ่มมากขึ้น แต่ก็มีข้อเสียคือเนื่องจากข้อมูลข่าวสารต่างๆนั้นไม่สามารถยืนยันความถูกต้องได้ 100% และมีอัตราการแพร่กระจายข้อมูลที่เร็ว ดังนั้นผู้ใช้ต้องมีวิจารณญาณในการเสพข่าวหรือข้อมูลด้วย
  • ข้อมูลการทำงานและรายละเอียดต่างๆสามารถอ่านได้จากสไลด์นี้
    https://docs.google.com/presentation/d/1KdCOrstuNWe23VNU3-OAkpWpGA8NnA5K5F1JC0CzEEQ/edit#slide=id.g3095ef1418_4_0

Problem/Solution

  • ใน MySQL Workbench ไม่สามารถปรับการใส่ของข้อมูลจากการ Import ได้เช่น หากต้องการเพิ่มข้อมูลที่มีการเก็บ Primary Key นั้นไม่สามารถทำได้ แก้ไขโดยการนำ Primary Key ออกเนื่องจากข้อมูลในตารางมี Foreign Key ช่วยตรวจสอบและมีโอกาสในการซ้ำกันยากขึ้นเพราะแยกตารางการเก็บข้อมูลอย่างชัดเจนมากขึ้น

    การจัดรูปแบบของ table ในการเก็บข้อมูล

Decision

  • การทำ Primary Key จากการการ Import นั้นทำได้ยากจึงตัดสินใจลบ Primary Key ออกจาก table
  • ทำการแยก table ของข้อมูลออกเป็น 3 ตารางเพื่อให้ง่ายต่อการจัดการข้อมูล
  • เลือกใช้ dbms หลักเป็น MySQL Workbench เพื่อทดสอบการทำงานว่ายากง่ายกว่า dbms ตัวอื่นหรือไม่

Related Info/Link/Reference

  • ข้อมูลของโลกาภิวัฒน์ : 
    https://th.wikipedia.org/wiki/โลกาภิวัตน์
  • Link สำหรับอ่านสไลด์ : https://docs.google.com/presentation/d/1KdCOrstuNWe23VNU3-OAkpWpGA8NnA5K5F1JC0CzEEQ/edit#slide=id.g3095ef1418_4_0

Database Project

ผลงานทั้งหมดจากกลุ่มที่ 3 ลิ้งวิดิโออธิบายส่วน ER-Diagram https://www.youtube.com/watch?v=N3VQIO56_kM ลิ้งวิดิโอส่วน web applica...