ค้นหาบล็อกนี้

การกำหนดความสัมพันธ์ของตารางข้อมูล

ความสัมพันธ์ระหว่างตาราง (Table Data Relationships)
เรียกอีกอย่างหนึ่งว่า "การเชื่อมโยงตารางข้อมูล" การกำหนดความสัมพันธ์ให้กับตารางแต่ละตารางในฐานข้อมูลนี้ มีความสำคัญมากทีเดียว คือเป็นการรวบรวมตารางที่มีความสัมพันธ์กันเข้ามาใว้ด้วยกัน กล่าวคือถ้าเรากำหนดความสัมพันธ์ของตารางข้อมูลตั้งแต่เริ่มต้นสร้างฐานข้อมูล เวลาที่เราจะดึงตารางมาประมวลผลก็จะทำให้มีความสะดวกรวดเร็วขึ้น ทำให้เราไม่สับสนเรื่องการนำตารางข้อมูลมาใช้ในภายหลัง เพราะการเขียนโปรแกรมไม่ได้ทำเสร็จในวันเดียว ต้องใช้เวลหลายวัน หรือหลายเดือน การที่เรามาทำงานเขียนโปรแกรมอาจทำให้เราหลงลืมบ้าง การกำหนดคาวสัมพันธ์เช่นนี้ จะช่วยลดปัญหาตรงนี้ได้

ภาพที่ 1 ความสัมพันธ์ระหว่างตารางข้อมูล

การกำหนดความสัมพันธ์ (Relationships)
จากลักษณะที่เราออกแบบตารางข้อมูลในหัวข้อที่แล้ว มาถึงหัวข้อมนี้จะเป็นการกำหนดความสัมพันธ์ ให้กับตารางข้อมูลที่เราออกแบบใว้แล้ว

จากการที่เราสร้างตารางใว้แล้ว จะเห็นว่าในทุกๆตารางจะมะการกำหนด รหัส ของรายการของแต่ละตารางใว้แล้ว ฟิลด์ (Field) รหัสคือขึ้นต้นด้วย ID เสมอเพื่อจะได้เข้าใจตรงกัน แล้วเมื่อเรากำหนด Field ของรหัสข้อมูล ให้เราทำเป็น คีย์หลักด้วย (Primary Key) เพื่อใช้เป็นตัวแทนของตารางนี้ในการ เชื่อมโยงตารางข้อมูล (คำศัพพ์เกี่ยวกับตารางจะอธิบายในหัวข้อต่อไป) กับตารางอื่นๆ ต่อไป

จากภาพที่ 1 จะเห็นได้ว่าตารางรายการสั่งซื้อสินค้า (ตาราง orderproduct) ในส่วนของการเก็บข้อมูลลงในตารางจะเป็นการเก็บข้อมูลที่เป็นรหัส เป็นส่วนใหญ่ การที่เราเก็บรหัสนี้เท่ากับเป็นตัวแทนของแต่ละตารางในการค้นหาข้อมูลในตารางนั้นๆมาแสดง คือเมื่อลูกค้ามาสั่งของ เราก็ลงแค่รหัสลูกค้าเท่านั้น รหัสลูกค้านี้ก็จะไปค้นหารายละเอียดของลูกค้าเองอัตโนมัติ เช่นเดียวกันรายการสินค้าที่ลูกค้าสั่งเราก็ลงแค่รหัสของสินค้า รหัสสินค้านี้ก็จะเชื่อมโยงไปที่รายละเอียดของสินค้าเองอัตโนมัติ ซึ่งการแสดงคุณสมบัติเช่นนี้ จะหมายถึงแต่ละตารางมีความสัมพันธ์กัน โดยที่ตารางการสั่งซื้อ (orderproduct) จะเป็นศูนย์กลางในการคอยเชื่อมต่อระหว่างตาราง

ชนิดของความสัมพันธ์ (Relationships)
ใน หัวข้อนี้จะขออธิบายชนิดของความสัมพันธ์แต่ละแบบ ของตารางฐานข้อมูลเพียงคร่าวๆ เท่านั้นนะครับ เพื่อให้ท่านผู้อ่านเพียงแต่ทราบเ่ท่านั้น ท่านอย่างพึ่งไปงงกับมันนะครับถ้าท่านอ่านแล้วยังไม่เข้าใจ หรือยังนึกภาพไม่ออก ขอให้ท่านทำการเขียนโปรแกรมไปตามขั้นตอนตาม website นี้ แล้วท่านจะค่อยๆ เข้าใจไปเอง และทำเป็นในที่สุด แล้วสิ่งที่ท่านยังไม่เข้าใจ เมื่อทำโปรแกรม หรือผลงานสำเร็จ ท่านก็จะร้อง "อ้อ" เองเชื่อผมครับ ผมมั่นใจว่าประสบการที่ผมเขียนโปรแกรมด้วย Microsoft Access มามากว่า 5 ปี จะสามารถถ่ายทอดประสบการณ์และความรู้ที่ผมมีให้ท่านประสบผลสำเร็จได้

ความสัมพันธ์แบบ One-To-Many
คือ ความสัมพันธ์ แบบหนึ่งเรคคอร์ด (Record) ในตารางหนึ่ง สัมพันธ์กับหลาย เรคคอร์ดในอีกตารางหนึ่งเช่น จากตารางข้อมูลลูกค้า(Customer) ฟิลด์ (Field) รหัสลูกค้า (Id) ไปสัมพันธ์กับ ตารางข้อมูลรายการสั่งซื้อสินค้า (Orderproduct) ฟิลด์ (Field) รหัสลูกค้า (Idcustomer) อธิบายได้ว่า ในการสั่งซื้อสินค้าครั้งหนึ่งๆ ลูกค้าจะสามารถสั่งซื้อสินค้าได้หลายตัวในหนึ่งใบสั่งซื้อ

ส่วนใหญ่ เราจะใช้ความสัมพันธ์นี้ในการเขียนโปรแกรมเป็นส่วนมาก

ความสัมพันธ์แบบ One-To-One
คือ ความสัมพันธ์ แบบหนึ่งเรคคอร์ด (Record) ในตารางหนึ่ง สัมพันธ์หนึ่งเรคคอร์ดในอีกตารางหนึ่ง ความสัมพันธ์แบบนี้ จะไม่ค่อยนิยมใช้ เพราะส่วนมากข้อมูลจะรวมอยู่ในตารางเดียวกันอยู่แล้ว จะใช้ในกรณีที่ต้องแยกตารางข้อมูลเพื่อทำรายงานผลบางอย่างเท่านั้น

ความสัมพันธ์แบบ Many-To-Many
เป็น ความสัมพันธ์ที่ค่อนข้างแสดงให้เห็นได้ยาก และไม่ค่อยนิยมใช้กันเท่าไหร่ ความสัมพันธ์ แบบหลายเรคคอร์ด (Record) ในตารางหนึ่ง สัมพันธ์หลายเรคคอร์ดในอีกตารางหนึ่ง เช่นในหนึ่งใบสั่งซื้อสินค้า จะสามารถมีสินค้าได้หลายรายการ และสินค้านั้นอาจมีได้อีกในใบสั่งซื้ออีกใบหนึ่ง

ไม่มีความคิดเห็น: