SQL เวอร์ชันที่ใหม่กว่า (2005+) ดูดีขึ้นเมื่อปรับการใช้มุมมองให้เหมาะสมที่สุด มุมมองที่ดีที่สุดสำหรับการรวมกฎธุรกิจ EG: ฉันทำงานที่ไหนเรามีฐานข้อมูลผลิตภัณฑ์โทรคมนาคม แต่ละผลิตภัณฑ์ถูกกำหนดให้กับ rateplan และ rateplan นั้นสามารถสลับออกได้และอัตราของ rateplan สามารถเปิดใช้งาน / ปิดการใช้งานได้เนื่องจากอัตราจะเพิ่มขึ้นหรือปรับเปลี่ยน
เพื่อให้ง่ายเราสามารถสร้างมุมมองแบบซ้อน มุมมองที่ 1 เป็นเพียงการรวมแผนเข้ากับอัตราของพวกเขาโดยใช้ตารางใดก็ตามที่จำเป็นและส่งคืนข้อมูลที่จำเป็นใด ๆ ในมุมมองระดับต่อไปที่ต้องการ มุมมองที่ 2 สามารถแยกเฉพาะแผนอัตราการใช้งานและอัตราการใช้งานของพวกเขา หรือเพียงแค่อัตราลูกค้า หรืออัตราพนักงาน (สำหรับส่วนลดพนักงาน) หรืออัตราธุรกิจกับที่อยู่อาศัยของลูกค้า (แผนอัตราอาจซับซ้อน) ประเด็นคือมุมมองพื้นฐานทำให้มั่นใจว่าตรรกะทางธุรกิจโดยรวมของเราสำหรับแผนและอัตรารวมเข้าด้วยกันอย่างถูกต้องในที่เดียว เลเยอร์ถัดไปของมุมมองให้เรามุ่งเน้นที่เฉพาะเจาะจงในแผนอัตรา (ประเภทที่ใช้งาน / ไม่ได้ใช้งาน ฯลฯ )
ฉันยอมรับว่ามุมมองสามารถทำการดีบักยุ่งถ้าคุณกำลังสร้างคิวรีและมุมมองในเวลาเดียวกัน แต่ถ้าคุณใช้มุมมองที่ลองใช้แล้วเชื่อถือได้จะทำให้การดีบักง่ายขึ้น คุณรู้ว่ามุมมองนั้นผ่านตัวสั่นดังนั้นคุณรู้ว่ามันไม่น่าจะทำให้เกิดปัญหา
อย่างไรก็ตามปัญหาอาจเกิดขึ้นกับมุมมองของคุณ "จะเกิดอะไรขึ้นถ้าผลิตภัณฑ์เชื่อมโยงกับแผนอัตราที่ไม่ได้ใช้งานเท่านั้น" หรือ "จะเกิดอะไรขึ้นถ้าแผนอัตรามีอัตราที่ไม่ได้ใช้งานอยู่" ดีที่สามารถติดที่ระดับหน้าด้วยตรรกะที่จับข้อผิดพลาดของผู้ใช้ "ข้อผิดพลาดผลิตภัณฑ์อยู่ในแผนงานที่ไม่ได้ใช้งาน ... โปรดแก้ไขให้ถูกต้อง" นอกจากนี้เรายังสามารถเรียกใช้การตรวจสอบแบบสอบถามเพื่อตรวจสอบอีกครั้งก่อนดำเนินการเรียกเก็บเงิน (เลือกแผนทั้งหมดและออกจากการเข้าร่วมไปยังมุมมอง Rateplan ที่ใช้งานอยู่จะคืนเฉพาะแผนที่ไม่ได้รับแผนอัตราการใช้งานเป็นปัญหาที่ต้องได้รับการแก้ไข)
สิ่งที่ดีเกี่ยวกับเรื่องนี้คือมุมมองที่ช่วยให้คุณลดการค้นหารายงานการเรียกเก็บเงินและอื่น ๆ คุณสามารถมีมุมมองบัญชีลูกค้าจากนั้นเป็นมุมมองระดับที่ 2 ของลูกค้าที่ใช้งานอยู่ ทีมที่มีมุมมองที่อยู่ลูกค้า ทีมที่มีมุมมองของผลิตภัณฑ์ (เข้าร่วมกับสิ่งที่ลูกค้ามี) ทีมที่จะดูแผนอัตราสินค้า ทีมที่มีมุมมองคุณลักษณะของผลิตภัณฑ์ ดู, ดู, ดู, แต่ละการทดลอง -n-errored เพื่อความสมบูรณ์ ข้อความค้นหาปลายทางของคุณที่ใช้มุมมองนั้นเล็กมาก
แก้ไข:
เป็นตัวอย่างของวิธีการที่มุมมองจะดีกว่าเพียงแบบสอบถามแบบแบนของตาราง ... เรามีผู้รับเหมาชั่วคราวเข้ามาเพื่อทำการเปลี่ยนแปลงบางอย่าง พวกเขาบอกเขาว่ามีทัศนะหลายประการ แต่เขาตัดสินใจที่จะตอบคำถามทั้งหมด การเรียกเก็บเงินกำลังทำงานอยู่นอกการสืบค้นของเขา พวกเขายังคงได้รับแผนหลายอัตราและอัตราในสิ่งที่ ปรากฎว่าข้อความค้นหาของเขาไม่มีเกณฑ์ที่จะอนุญาตให้เรียกเก็บเงินได้เฉพาะในกรณีที่อยู่ระหว่างวันที่เริ่มต้นและสิ้นสุดที่แผนอัตราควรใช้ / อัตราเหล่านั้นในระหว่างนั้น อุ่ย หากเขาใช้มุมมองมันจะต้องคำนึงถึงตรรกะนั้นแล้ว
โดยทั่วไปคุณจะต้องชั่งน้ำหนักประสิทธิภาพเทียบกับสติ บางทีคุณสามารถทำสิ่งแฟนซีทุกชนิดเพื่อเพิ่มประสิทธิภาพของฐานข้อมูล แต่ถ้ามันหมายความว่ามันเป็นฝันร้ายสำหรับคนใหม่ที่จะครอบครอง / ดูแลรักษามันคุ้มค่าจริง ๆ ไหม? มันคุ้มกับคนที่แต่งตัวประหลาดคนใหม่ที่ต้องเล่น whack-a-mole หรือไม่เพื่อค้นหาข้อความค้นหาทั้งหมดที่จำเป็นต้องเปลี่ยนตรรกะของพวกเขา (และเสี่ยงที่เขาจะลืม / อ้วน - นิ้ว) พวกเขา b / c ตัดสินใจว่ามุมมอง "แย่" และ ไม่รวมตรรกะทางธุรกิจหลักบางอย่างเป็นสิ่งที่สามารถใช้ในการค้นหาอื่น ๆ ได้ 100 รายการใช่หรือไม่ มันขึ้นอยู่กับธุรกิจของคุณและทีม IT / IS / DB ของคุณ แต่ฉันต้องการความชัดเจนและการรวมแหล่งเดียวมากกว่าประสิทธิภาพ