Tag SQL

[Internship@True]วันที่ 19

วันนี้ก็มาสายประมาณ 9.15 แต่ก็ยังใช้คอมไม่ได้ เพราะยังต้องรอตาม Help Desk remote เข้ามาเพื่อที่จะมาจัดการกับ Oracle ให้เรียบร้อย แต่พอมาลองใช้จริงก็ต่อ Database ไม่ได้ ต้องให้พี่ในแผนกมาดูและก็พบว่าค่าที่ทาง Help Desk ให้มานั้นเป็นค่า default ของบริษัท จึงต้องตั้งค่าtnsnames.ora และ sqlnet.ora อีกครั้ง และลองใช้ TOAD ดู ซึ่งกว่าจะเสร็จก็ปาไปเกือบเที่ยงแล้ว ลงไปกินข้าวเหนียว ส้มตำแทนเลย 😛 ช่วงบ่ายนั่งตรวจเว็บครั้งสุดท้าย และก็ช่วยเพื่อนที่ฝึกงานแก้ปัญหาเรื่องเว็บ เป็นพวก php กับ graph โดยในเว็บหน้าที่ 2 ก็จะเป็นการแสดงข้อมูลไล่ตามเดือน และมีสถิติพื้นฐานต่างๆ…

[Internship@True]วันที่ 18

วันนี้ก็มาแต่ประมาน 9 โมงเช้า และสักพักพี่ก็บอกว่าจะมีการเปลี่ยนคอมใหม่ตามอายุการใข้งาน และก็ให้ Backup ข้อมูลไว้พวกโปรแกรม และ Source Code ต่างๆ จากนั้นก็รอทางทีม IT เข้ามาเปลี่ยนคอมตัวใหม่ ซึ่งแรงกว่าตัวเก่ามาก และก็นั่งไล่ลงโปรแกรมที่จำเป็นใหม่ไปจนถึงช่วงบ่ายเท่าที่ทำได้ก่อน เพราะเดี๋ยววันพรุ่งนี้ทาง Help Desk (งานด้านคอมอีกแขนง คือ จะช่วย Support User / แก้ปัญหาขั้นต้นให้) จะเข้ามา Remote เพื่อจะมาลงตัว Oracle Client เวอร์ชั้น 8 เพื่อที่จะให้สามารถที่จะติดต่อกับฐานข้อมูลภายในแผนกได้

[Internship@True]วันที่ 17

วันนี้ก็มาแต่เช้า เพื่อที่จะลอง Test JavaScript ของเว็บที่ได้ทำขึ้นกับ 3 browser หลักที่พี่ๆในแผนกเค้าใช้ ได้แก่ ส่วนแต่ละคนจะใช้ค่ายไหนนั้น ก็ต้องมาศึกษาข้อมูลเพิ่มเติมของ Browser, Tools ที่ช่วย และที่สำคัญก็ คือ document ของแต่ละภาษาด้วย ^__^ ปัญหาที่พบในการทำงานวันนี้ จบการทำงานในวันนี้ไปด้วยดี และก็รีบไปกินข้าวหน้าเป็ด+กินยาที่ Terminal 21

[Internship@True]วันที่ 16

วันนี้ผมก็นั่งทำในส่วนหน้าที่ 2 ต่อไป และศึกษาเพิ่มเติมในส่วนของ iBatis framework ซึ่งก็เป็น framework ที่ทำหน้าที่ในการจัดการฐานข้อมูล ซึ่งในตอนแรกๆผมก็ลืมบอกไป ฮ่าๆ โดยเมื่อเรา config ค่าต่างๆแล้วเราก็จะมา mapping กับ sql โดยการเขียนในรูปแบบภาษา xml ซึ่งเท่าที่อ่านดู xml จะเป็นตัวล่ามระหว่าง Class ของตาราง ซึ่ง 1 ตารางก็จะมี 1 Class เท่านั้น และตารางจริงๆในฐานข้อมูล โดยจะเก็บในส่วน Tag resultMap

[Internship@True]วันที่ 15

วันนี้มาเช้าเลย 8.30 มาเปิด office พร้อมกับแม่บ้าน นั่งกินขนมปัง+ชาเลม่อน และก็เริ่มงานในการปั่นหน้าแรกแสดงข้อมูลตามช่วงเวลาที่กำหนดต่อ คือ การให้ javaScript เรียกในส่วน frontend ไปเรียกในส่วน business ส่งงานไปให้ส่วน dataaccess เพื่อจัดการ Query ข้อมูลออกมาแล้ว ส่งข้อมูลกลับมาในรูปแบบ json เพื่อที่จะมาทำกราฟ ปัญหาที่พบในการทำงานวันนี้

[Internship@True]วันที่ 14

หลังจากลองไล่ Framework ดูก็จะพบว่ามันดูซับซ้อน คือ อาจจะมองว่าไม่เป็นระเบียบก็ได้ เพราะการวางไฟล์ในนั้น จะแต่ต่างกับใน cakephp หรือ codeigniter ที่จะมีโพลเดอร์ model ,view และ control แยกไว้เลย และก็เพิ่งได้ความรู้ใหม่ คือ เราสามารถที่จะใช้ javaScript มาเรียกการทำงานของฟังค์ชั่นใน java ได้เลย โดยจะมีการส่งข้อมูลในรูปแบบ json (คือ array) โดยที่ตัว Framework จะไป mapping จาก javascript ไปเป็น java ให้เอง แต่แบบกว่าจะเข้าใจก็มืนอยู่สักพักใหญ่ๆ

ปัญหาของ Group by

ดูโครงสร้างตารางกันก่อนมีตาราง CONSISTS (เก็บข้อมูลการสั่งไอศครีม แต่ละถ้วย) กับ STOCKS (เก็บข้อมูลของสินค้า) ลองสร้างโจทย์เล่นๆ กัน คือ หายอดขายของไอศครีม แต่ละชิ้นว่ามีการสั่งไปจำนวนกี่ครั้ง โดยจะต้องแสดงไอศครีมที่ยังไม่ได้ถูกสั่งด้วย มาดูโจทย์ทีละส่วน หายอดขายของไอศครีม แต่ละชิ้นว่ามีการสั่งไปจำนวนกี่ครั้ง แสดงว่าต้องมีการ join ตาราง CONSISTS กับ STOCKS เพื่อให้ได้ข้อมูลของไอศครีมแต่ละชนิดออกมา โดยจะใช้ RIGHT OUTER JOIN เพื่อให้ได้ข้อมูลไอศครีมที่ไม่ถูกสั่งออกมา ซึ่งจะเป็นค่า NULL จะต้องแสดงไอศครีมที่ยังไม่ได้ถูกสั่งด้วย มันจะได้เป็นค่า null โดยเราจะใช้ฟังค์ชั่น NVL ของ Oracle ในการเปลี่ยน NULL เป็น 0  วิธีการใช้…

แนวข้อสอบเกี่ยวกับการ Recovery

จากภาพกำหนดใน T1, T2, T3, T4 และ T5 หมายถึง Transaction ต่างๆ ในระบบ Tc และ Tf ซึ่งหมายถึงเวลาที่ระบบ DBMS ทำการตรวจสอบสถานภาพการทำงานของ Transaction ต่างๆ สมมติว่าระบบเกิดความขัดข้อง(System failure) ณ เวลาที่ Tfและมีจุดตรวจสอบ(Check Point)ครั้งสุดท้าย กระทำขึ้น ณ เวลา Tc จงตอบคำถามต่อไปนี้ โดยอาศัยข้อมูลต่างๆของแต่ละ Transaction ประกอบดังนี้ T1 คือ นาย ก ดูยอดเงินของตัวเอง พบว่ามีเงินอยู่ 1200 บาท T2 คือ นาย ก ถอนเงินออกจากบัญชี 1000…