Saturday, December 8, 2012

ตอนนี้เราจะมาเริ่มสร้างความสัมพันธ์กันในแต่ละ table แล้วนะครับ เตรียมตัว เตรียมใจไว้ให้ดี ..

ดูนี่ก่อน

001

รูปที่เห็นด้านบนนั้น คือการเชื่อมความสัมพันธ์กันระหว่าง tables ซึ่งในแต่ละความสัมพันธ์นั้น สิ่งที่ท่านต้องรู้จักก็คือ Key Field หรือ Filed หลัก ที่ใช้เป็นตัวเชื่อมเข้ากับ table อื่น

อย่างแรกเรามาดูความสัมพันธ์ของ table ชื่อ order ซึ่งเป็น table หลักที่เราจะใช้ในการออกใบเสนอราคา กับ table ชื่อ Order items ครับ

003

รูปด้านบน เราก็สามารถอ่านความสัมพันธ์ได้ว่า table ทั้ง 2 tables ใช้ key field ที่ชื่อ order number เป็นตัวเชื่อมความสัมพันธ์ แต่มันสััมพันธ์กันอย่างไรหล่ะ อันนี้ขอให้ดูตอนต่อไป .. เพราะอธิบายด้วยตัวหนังสือตรงนี้ มัน งง งง งง หน่ะ บอกได้แค่ว่า table order items จะเก็บรายละเอียดของสินค้าที่ทำการเลือกจาก table order

รูปที่เหลือด้านล่าง ก็คือ ความสัมพันธ์กันของแต่ละ table โปรดดู key field ที่ใช้เชื่อมกันนะครับ จะเห็นได้ว่า ในแต่ละ table ผมจะมี key filed ที่ชื่อเดียวกัน อยู่ด้วย และโปรดสังเกตุอย่างแรง ตรงที่ table ด้านล่าง ไม่มีการ check ตรง allow creation ... กับ delete related ... นะครับ เพราะเหตุว่า table ด้านล่าง เป็นความสัมพันธ์แบบ อ่านเอามาแสดงอย่างเดียวครับ ไม่ต้องมีการเขียนข้อมูลเพิ่มลงไป

004

รูปด้านบน เป็น table Order items จะทำการเรียกข้อมูลจาก table items มาทำการแสดงนะครับ โดยใช้ key field ชื่อ item name เป็น key หลัก หากชื่อนี้ตรงกันทั้ง 2 ฝ่าย ข้อมูลอื่น ก็จะถูกดึงไปแสดงโดยอัตโนมัติครับ

005

รูปนี้ order เรียกใช้ ข้อมูลจาก table customer เพื่อดึงเอารายละเอียดของลูกค้าไปแสดง หากชื่อ ใน field customer name ตรงกัน

006

รูปนี้ order จะไปดึงเอารูปลายเซ็นที่ถูกต้องมาแสดง โดยขึ้นอยู่กับว่า signature นั้น ถูกเลือกเป็นชื่อใคร

2 ความคิดเห็น:

  1. ขณะนี้กำลัง ทำงานกับไฟล์เมกเกอร์ อยู่ สงสัยอะไรบางอย่าง คือ หากทำงานกับตารางเดียว ขนาดใหญ่ แล้วจัดการดึงข้อมูลที่ต้องการออกมาด้วย การจัดการเลย์เอ้าท์ กับ การจัด การแบ่งข้อมูลออกเป็นตารางขนาดเล็ก แล้ว จัดการความสัมพันธ์ของแต่ละตาราง มันจะมีความแตกต่าง ข้อดีข้อเสีย อย่างไรบ้างคะ

    ReplyDelete
  2. โอ้ .. คำถามชวนให้ งง ดีแท้ .. ตอบอย่านี้ก็แล้วกัน file maker จะทำงานได้ช้า หากต้องเก็บข้อมูลที่เป็น รูป เสียง หรือ movie นะครับ ข้อมูลทั้งหมดนี้ หากไม่ได้ย่อ แล้ว บันทึกลง file maker มันจะต้องเสียเวลาประมวลผลแต่ละ record ค่อนข้างช้ามาก ... จนบางที ถ้ามากเกินไป มันจะน๊อคไปเลย ... ดังนั้น รูป เสียง หรือ หนัง ต้องย่อขนาดให้มีมีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้นะครับ ไม่งั้น มันต้องการเครื่องที่แรงและเร็วมาก ในการทำงาน

    ดังนั้น table หรือ หลาย table ก็ไม่เป็นปัญหา เพราะความช้าเร็วมันขึ้นกับลักษณะของข้อมูล ส่วนการทำงานของโปรแกรมจะดีหรือไม่นั้น อยู่ที่เราออกแบบฐานข้อมูลนะครับ

    ReplyDelete

บทความอื่นๆ