เอสซีดีประเภทที่ 5
เอสซีดีประเภททที่ 5 มีชื่อเรียกอีกอย่างว่า “เพิ่มไดเมนชันเล็กและส่วนเสริม” หรือ “Add Mini-Dimension and Outrigger” หลักการทำงานเหมือนเอสซีดีประเภทที่ 4 ทุกประการ แต่เพิ่มเทเบิ้ลขึ้นมาอีกหนึ่งตัวที่เรียกว่าส่วนเสริม ถูกใช้บอกถึงข้อมูลปัจจุบันของไดเมนชันเล็กที่เชื่อมกับข้อมูลของไดเมนชันหลักแต่ละตัว เพื่อให้ข้อมูลไดเมนชันมีความสมบูรณ์
ตัวอย่าง
ข้อมูลก่อนการเปลี่ยนแปลง
ถ้าให้ข้อมูลดั้งเดิมเป็นดังข้อมูลข้างล่าง ให้เลขข้อมูลลูกค้า และ รหัสลูกค้า ในเทเบิ้ลลูกค้าเป็นเซอโรเกตคีย์และเนเชอรัลคีย์ตามลำดับ และให้เทเบิ้ลลูกค้าใช้หลักเอสซีดีประเภทที่ 5
การออกแบบทุกอย่างจะเหมือนเอสซีดีประเภทที่ 4 ต่างกันที่ไดเมนชันหลักหรือข้อมูลก่อน2_1 มีการอ้างอิงลูกค้าเล็กปัจจุบันและมีการเพิ่มเทเบิ้ลส่วนเสริมหรือข้อมูลก่อน2_3
| ข้อมูลการขาย (ข้อมูลก่อน1) | |||||
|---|---|---|---|---|---|
| รหัสการขาย | วันเวลาซื้อขาย | เลขข้อมูลลูกค้า | เลขข้อมูลลูกค้าเล็ก | เลขข้อมูลสินค้า | จำนวนสินค้าที่ซื้อ |
| O001 | 20220701 | 1 | 1 | 1 | 2 |
| O002 | 20220702 | 2 | 1 | 2 | 5 |
| O003 | 20220703 | 1 | 1 | 2 | 3 |
| ลูกค้า (ไดเมนชันหลัก) (ข้อมูลก่อน2_1) | |||
|---|---|---|---|
| เลขข้อมูลลูกค้า SK | รหัสลูกค้า NK | ชื่อลูกค้า | เลขข้อมูลลูกค้าเล็กปัจจุบัน |
| 1 | C001 | ทองดี แน่นะ | 1 |
| 2 | C002 | เงินทอง ของจริง | 1 |
| ลูกค้าเล็ก (ไดเมนชันเล็ก) (ข้อมูลก่อน2_2) | |
|---|---|
| เลขข้อมูลลูกค้าเล็ก SK | ชื่อจังหวัด |
| 1 | กรุงเทพ |
| ลูกค้าเล็กปัจจุบัน (ส่วนเสริม) (ข้อมูลก่อน2_3) | |
|---|---|
| เลขข้อมูลลูกค้าเล็กปัจจุบัน SK | ชื่อจังหวัด |
| 1 | กรุงเทพ |
รายงานของข้อมูลก่อนการเปลี่ยนแปลง
สมมติว่าต้องออกรายงานสองรายงาน ได้แก่ ยอดรวมจำนวนสินค้าต่อจังหวัดของลูกค้า และยอดรวมจำนวนสินค้าต่อชื่อลูกค้า ได้รายงานดังด้านล่าง
| รายงานยอดรวมจำนวนสินค้าต่อจังหวัดของลูกค้า (รายงานก่อน1) | |
|---|---|
| จังหวัดลูกค้า | ยอดรวมจำนวนสินค้า |
| กรุงเทพ | 10 |
| รายงานยอดรวมจำนวนสินค้าต่อชื่อลูกค้า (รายงานก่อน2) | |
|---|---|
| ชื่อลูกค้า | ยอดรวมจำนวนสินค้า |
| ทองดี แน่นะ | 5 |
| เงินทอง ของจริง | 5 |
ข้อมูลหลังการเปลี่ยนแปลง
วันที่ 1 มกราคม 2023 นายทองดี แน่นะ ย้ายจังหวัดจากกรุงเทพไปเชียงรายและได้เปลี่ยนชื่อจากทองดี แน่นะ เป็นทองดี แน่นอน ผลที่ได้จะเป็นดังข้างล่าง
การเปลี่ยนชื่อทำให้ข้อมูลหลัง2_1ซึ่งเป็นไดเมนชันหลัก การเปลี่ยนแปลงจะเป็นการเขียนทับ ส่งผลให้คอลัมน์ “ชื่อลูกค้า” เปลี่ยนจาก ทองดี แน่นะ กลายเป็น ทองดี แน่นอน
การเปลี่ยนจังหวัดของทองดีไม่ได้ทำให้ข้อมูลหลัง2_2 เพิ่มขึ้น เพราะข้อมูลหลัง2_2 ถูกอ้างอิงจากข้อมูลการขายหรือข้อมูลหลัง1 เหตุที่ไม่มีข้อมูลเพราะยังไม่มีการซื้อขายเกิดขึ้น สิ่งที่เพิ่มขึ้นคือข้อมูลลูกค้าเล็กปัจจุบันหรือข้อมูลหลัง2_3 ซึ่งถูกอ้างอิงโดยข้อมูลลูกค้าหรือข้อมูลหลัง2_1 ซึ่งมีการย้ายจังหวัดของทองดี
| ข้อมูลการขาย (ข้อมูลหลัง1) | |||||
|---|---|---|---|---|---|
| รหัสการขาย | วันเวลาซื้อขาย | เลขข้อมูลลูกค้า | เลขข้อมูลลูกค้าเล็ก | เลขข้อมูลสินค้า | จำนวนสินค้าที่ซื้อ |
| O001 | 20220701 | 1 | 1 | 1 | 2 |
| O002 | 20220702 | 2 | 1 | 2 | 5 |
| O003 | 20220703 | 1 | 1 | 2 | 3 |
| ลูกค้า (ไดเมนชันหลัก) (ข้อมูลหลัง2_1) | |||
|---|---|---|---|
| เลขข้อมูลลูกค้า SK | รหัสลูกค้า NK | ชื่อลูกค้า | เลขข้อมูลลูกค้าเล็กปัจจุบัน |
| 1 | C001 | ทองดี แน่นอน | 2 |
| 2 | C002 | เงินทอง ของจริง | 1 |
| ลูกค้า (ไดเมนชันเล็ก) (ข้อมูลหลัง2_2) | |
|---|---|
| เลขข้อมูลลูกค้าเล็ก SK | ชื่อจังหวัด |
| 1 | กรุงเทพ |
| ลูกค้าเล็กปัจจุบัน (ส่วนเสริม) (ข้อมูลหลัง2_3) | |
|---|---|
| เลขข้อมูลลูกค้าเล็กปัจจุบัน SK | ชื่อจังหวัด |
| 1 | กรุงเทพ |
| 2 | เชียงราย |
รายงานของข้อมูลหลังการเปลี่ยนแปลง
สมมติว่าต้องออกรายงานสองรายงาน ได้แก่ ยอดรวมจำนวนสินค้าต่อจังหวัดของลูกค้า และยอดรวมจำนวนสินค้าต่อชื่อลูกค้า ผลที่ได้จะเป็นไปด้านล่าง
ข้อดีที่เห็นได้ชัดจากเอสซีดีประเภทที่ 4 คือยอดของรายงานไม่มีการเปลี่ยนแปลง ซึ่งเป็นสิ่งที่ถูกต้องเพราะสิ่งที่เปลี่ยนแปลงคือข้อมูลลูกค้า ไม่ใช่ข้อมูลการซื้อขาย ยอดทุกอย่างควรอยู่เหมือนเดิม
| รายงานยอดรวมจำนวนสินค้าต่อจังหวัดของลูกค้า (รายงานหลัง1) | |
|---|---|
| จังหวัดลูกค้า | ยอดรวมจำนวนสินค้า |
| กรุงเทพ | 10 |
| รายงานยอดรวมจำนวนสินค้าต่อชื่อลูกค้า (รายงานหลัง2) | |
|---|---|
| ชื่อลูกค้า | ยอดรวมจำนวนสินค้า |
| ทองดี แน่นอน | 5 |
| เงินทอง ของจริง | 5 |
การซื้อขายหลังการเปลี่ยนแปลง
วันที่ 5 มกราคม 2023 นายทองดี ได้เข้าไปซื้อของ ผลที่ได้จะเป็นไปดังข้อมูลด้านล่าง
เมื่อทองดีมีการซื้อขายหลังจากเปลี่ยนชื่อและที่อยู่ ก็จะส่งผลให้ข้อมูลหลังซื้อขาย2_2 มีข้อมูลเชียงรายเพิ่มขึ้นมา
| ข้อมูลการขาย (ข้อมูลหลังซื้อขาย1) | |||||
|---|---|---|---|---|---|
| รหัสการขาย | วันเวลาซื้อขาย | เลขข้อมูลลูกค้า | เลขข้อมูลลูกค้าเล็ก | เลขข้อมูลสินค้า | จำนวนสินค้าที่ซื้อ |
| O001 | 20220701 | 1 | 1 | 1 | 2 |
| O002 | 20220702 | 2 | 1 | 2 | 5 |
| O003 | 20220703 | 1 | 1 | 2 | 3 |
| O004 | 20230105 | 1 | 2 | 1 | 2 |
| ลูกค้า (ไดเมนชันหลัก) (ข้อมูลหลังซื้อขาย2_1) | |||
|---|---|---|---|
| เลขข้อมูลลูกค้า SK | รหัสลูกค้า NK | ชื่อลูกค้า | เลขข้อมูลลูกค้าเล็กปัจจุบัน |
| 1 | C001 | ทองดี แน่นอน | 2 |
| 2 | C002 | เงินทอง ของจริง | 1 |
| ลูกค้า (ไดเมนชันเล็ก) (ข้อมูลหลังซื้อขาย2_2) | |
|---|---|
| เลขข้อมูลลูกค้าเล็ก SK | ชื่อจังหวัด |
| 1 | กรุงเทพ |
| 2 | เชียงราย |
| ลูกค้าเล็กปัจจุบัน (ส่วนเสริม) (ข้อมูลหลังซื้อขาย2_3) | |
|---|---|
| เลขข้อมูลลูกค้าเล็กปัจจุบัน SK | ชื่อจังหวัด |
| 1 | กรุงเทพ |
| 2 | เชียงราย |
รายงานของข้อมูลหลังการซื้อขาย
สมมติว่าต้องออกรายงานสองรายงาน ได้แก่ ยอดรวมจำนวนสินค้าต่อจังหวัดของลูกค้า และยอดรวมจำนวนสินค้าต่อชื่อลูกค้า ผลที่ได้จะเป็นไปด้านล่าง
| รายงานยอดรวมจำนวนสินค้าต่อจังหวัดของลูกค้า (รายงานหลังซื้อขาย1) | |
|---|---|
| จังหวัดลูกค้า | ยอดรวมจำนวนสินค้า |
| กรุงเทพ | 10 |
| เชียงราย | 2 |
| รายงานยอดรวมจำนวนสินค้าต่อชื่อลูกค้า (รายงานหลังซื้อขาย2) | |
|---|---|
| ชื่อลูกค้า | ยอดรวมจำนวนสินค้า |
| ทองดี แน่นอน | 7 |
| เงินทอง ของจริง | 5 |
ข้อดี
1. การเปลี่ยนแปลงไดเมนชัน ไม่ส่งผลต่อยอดรายงาน
2. ไดเมนชันมีขนาดเล็ก
3. ปรับเปลี่ยนได้ไม่จำกัดจำนวนครั้ง
4. ข้อมูลไดเมนชันครบถ้วน
ข้อเสีย
1. มีความซับซ้อนในการออกแบบและการนำไปใช้
เหมาะกับไดเมนชันแบบใด
จาการสังเกตของผู้เขียน เหมาะสำหรับไดเมนชันทุกรูปแบบ
