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