หน้าแรก > ไม่มีหมวดหมู่ > ตัวอย่างใบสั่งซื้อ [ตอนที่1]

ตัวอย่างใบสั่งซื้อ [ตอนที่1]

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

จากรูปจะเห็นว่าเราจะต้องแบ่งส่วนของการทำงานออกเป็นสองส่วนคือ ส่วนของข้อมูลที่เราจะต้องเก็บรายละเอียดใน Master ซึ่งก็คือตารางหลักนั้นล่ะครับ ส่วนอีกส่วนหนึ่งที่ Weak Entity ซึ่งก็คือตารางเก็บรายละเอียดครับ(จากความคิดเห็นส่วนของของผู้เขียน) โดยทั่วไปรหัสของใบสั่งซื้อจะเป็นการรัน Auto เช่น PO2008050001 ซึ่งก็ไม่ได้ซับซ้อนอันใด รหัสนี้ขึ้นอยู่กับว่าองค์กรแต่ละองค์กรเค้าจะให้มีรูปแบบเป็นอย่างไร จากตัวอย่าง PO = PurchaseOrder ,2008 = ปีที่ทำการออก, 05 = เดือน, 0001 = รหัส Auto ที่เราจะต้องทำการ Run ซึ่งเราอาจมีการเพิ่มเป็นวันที่เข้าไปด้วยก็ได้ ขึ้นอยู่กับรูปแบบที่เราจะกำหนด แต่อย่าลืม เมื่อกำหนดแล้วที่ Table จะต้องรองรับด้วยนะครับ ไม่อย่างนั้น Error แน่ๆ

 

 

 

การทำงาน
เมื่อ Formload ครั้งแรกจะต้องไม่ให้ User นั้นสามารถใช้งานได้ นั้นแสดงว่าจะต้องจะต้องกดปุ่ม AddNew เท่านั้น(ในตัวอย่างป่มเครื่องบวก) และเมื่อกดแล้วจะต้องเป็นอย่างไร ก็ต้อง Auto รหัส Enable กลุ่มคอนโทรลให้สามารถใช้งานได้ อย่าลืม Disable ตัวเองด้วยเพื่อป้องกันข้อผิดพลาดจากการคลิกของผู้ใช้ เมื่อมีการกรอกค่าใดๆลงไปในคอนโทรลจะต้องมีการ Validate ด้วย เช่น ตรวจสอบจำนวนว่าเป็นตัวเลขหรือเปล่า ถูกต้องตามที่กำหนดหรือไม่ จุดนี้จะต้องตรวจสอบให้ดี เพื่อป้องกันข้อผิดพลาดเมื่อผู้ใช้กรอกค่าผิดที่จะส่งให้ระบบของเราเกิดข้อผิดพลาดได้ แล้วเมื่อกดปุ่ม Save จะต้องบันทึกลงไปที่ตารางไหนบ้าง ต้องทำอย่างไร นั้นไม่ช่ายปัญหา อยู่ที่ระบบของเราที่เราได้ทำการออกแบบไว้ในแต่ส่วนว่ามีความสัมพันธ์กันอย่างไร เช่น การสั่งซื้อต้องผ่านการ Apporve ก่อนว่าสามารถสั่งซื้อได้กี่ชิ้นจากทั้งหมดที่เสนอไป นั้นล่ะครับ เราจะต้องดึงความสัมพันธ์ตรงนี้มาใช้ (ถ้าระบบของเราออกแบบมาได้ไม่ดีหรือไม่ถูกต้อง เจอปัญหาเรื่องข้อมูลไม่ถูกต้องแน่นอนครับ) แล้วเราจะเชื่อมหรือดูความสัมพันนั้นอย่างไร มาทางนี้เลยครับ จะพาไปดูให้เห็นว่าจะทำอย่างไร แล้วจะเชื่อมความสัมพันอย่างไรถึงจะถูก จากตัวอย่างที่ผมยกให้เป็นตัวอย่างเป็นเพียงตัวอย่างแบบหยาบๆไม่ได้ละเอียดมาก จุดประสงค์เพื่อต้องการให้เห็นภาพว่าทำอย่างไร เท่านั้นเองครับ
Relationจากรูปตัวอย่าง คงไม่ต้องอธิบายมาในเรื่องของความสัมพันธ์ต่างๆ ว่าคืออะไร เช่น 1:N คืออะไร เส้นเดี่ยวคืออะไร เส้นคู่คืออะไร มึความสัมพันธ์กันแบบไหน ถ้าไม่เข้าใจ สามารถหาอ่านในหนังสือทั่วไปเกี่ยวกับฐานข้อมูล หากเป็นเพื่อนๆที่เรียนมหานครอยู่ วิชา Database Management อ.ปูสอน ก็มากพออยู่แล้วครับ ส่วนเพื่อนๆที่ไม่ตั้งใจขณะเรียน คงช่วยต้องหาเอกสารมาประกอบครับเพื่เพิ่มความเข้าใจในตัวอย่างให้มากขึ้น(ต้องลงมือปฏิบัติจริง ถึงจะเข้าใจว่าเรายังขาดตรงไหน ต้องเพิ่มส่วนไหน เพื่อให้สามารถเรียนรู้ได้เร็วและเข้าใจได้ดี) ถึงคำถามที่สอง แล้วจะเชื่อมความสัมพันกันอย่างไร เพื่อให้ได้ข้อมูลที่ถูกต้อง ตามมาดูกันเลยดีกว่าว่าเราจะเชื่อมความสัมพันธ์อย่างไรใน SQLExpress 2005 (ในบทความก่อนหน้าเรื่อง คู่มือการใช้งาน SQLExpress 2005 เบื่องต้นก็ได้อธิบายไปแล้ว สามารถย้อนกลับไปศึกษากันได้ครับ)
 Database Diagram

ที่ Database ของเราคลิกเลือก Database Diagrams ถ้ายังหากไม่มีเหมือนตัวอย่างก็ไม่เป็นไร สร้างใหม่ได้ โดยคลิกขวาเลือก New Database Diagram จากนั้นก็จะได้หน้าต่างว่างๆมาหนึ่งหน้าต่างๆให้คลิกขวาเลือก Add Table เพื่อทำการเพิ่ม Table ลงไปเพื่อสร้างความสัมพันกัน เมื่อเลือกตารางที่เราต้องการสร้างความสัมพันธ์กันเรียบร้อย ก็ให้คลิกเลือกฟิลด์ที่เป็นคีย์นอกเชื่อมกับตารางที่ต้องการที่มีความสัมพันธ์กัน จะได้ดังรูปต่อไปครับ

 

Relationship

คอลัมน์บนสุดแสดงชื่อความสัมพันธ์ คอลัมน์ทางซ้ายเป็นชื่อคือคีย์ที่มีอยู่ในตาราง ส่วนคอลัมน์ทางขวาแสดงคีย์ร่วมที่มี ที่จะต้องสร้างความสัมพันธ์ มีคีย์ร่วมกี่ตัวก็ต้องเลือกให้มีความสัมพันธ์ทั้งหมด เพื่อความถูกต้องของข้อมูล เมื่อได้ตามต้องการให้คลิก OK จะกลับมายังหน้าต่างเดิมเมื่อเราเข้ามาครั้งแรกสังเกตุเห็นว่า ตารางนั้นได้เชื่อมข้อมูลไว้เรียบร้อย มาถึงตรงนี้ น่าจะมีความเข้าใจได้ดีมากขึ้น แล้วจะ Coding ยังไง ติดตามตัวอย่างใบสั่งซื้อ [ตอนที่2] ต่อไปครับ วันนี้พอแค่นี้ก่อน พอเป็นกระไสเรียกน้ำย่อยเล็กๆน้อย ให้ตื่นเต้นเล่นๆกัน

 

 

พร้อมและยินดีที่ได้เป็นส่วนหนึ่งในความสำเร็จ….ครับ

About these ads
  1. ยังไม่มีความเห็น
  1. No trackbacks yet.

กรุณา Comment สักหน่อยเถอะ จะได้ปรับปรุ่งให้ดีขึ้น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

ติดตาม

Get every new post delivered to your Inbox.

%d bloggers like this: