จัดทำเอกสารเว็บยักษ์ใหญ่ของขั้นตอนการจัดเก็บที่เกี่ยวข้องระหว่างกันในฐานข้อมูล MS SQL: เครื่องมือหรือรูปแบบใด


11

ฉันหวังว่านี่เป็นคำถามที่มีคำตอบสั้นกว่า "อ่านหนังสือ 1,000 หน้า" แต่ถ้าเป็นสถานการณ์จริงให้ฉันตอบด้วย

ฉันไม่ใช่ DBA จริงฉันเป็นนักพัฒนาซอฟต์แวร์ที่รู้ตัวว่าเราต้องการ DBA และร้านค้าที่ฉันทำงานมี DBA เป็นศูนย์ อย่างไรก็ตามการออกแบบฐานข้อมูล MS SQL ของเรารวมถึงขั้นตอนการจัดเก็บหลักหลายอย่างนั้นเป็นเรื่องที่ยุ่งยาก ขั้นตอนการจัดเก็บนั้นช้าเราสงสัยว่ามีข้อบกพร่อง แต่เราไม่รู้ด้วยซ้ำว่าพวกมันคาดหวังว่าจะทำงานอย่างไรเราจึงไม่รู้วิธีแก้ไข

เป็นการเริ่มต้นฉันตัดสินใจว่าเราจะบันทึกว่ามันควรจะทำงานอย่างไรทั้งหมดจากนั้นเราจะเริ่มการทดสอบหน่วยและสร้างชุดการทดสอบหน่วยที่ช่วยพิสูจน์ว่าขั้นตอนการจัดเก็บใช้งานได้จริง ตรรกะที่พวกเขาดำเนินการเป็นส่วนสำคัญของแอปพลิเคชันของเราคุณสามารถพูดได้ว่ามันเป็น "มงกุฎเพชร" ของผลิตภัณฑ์หลักของ บริษัท ของเราและวิธีการทำงานนั้นไม่มีเอกสารอย่างสมบูรณ์

ฉันกำลังมองหาเอกสารทางเทคนิคเฉพาะที่ DBA มืออาชีพอาจคาดหวังว่าจะมีอยู่หรืออาจเขียนด้วยตัวเองหากพวกเขาต้องเข้าใจเว็บยักษ์ของขั้นตอนการจัดเก็บที่เรียกกัน

  1. รูปแบบปกติสำหรับการบันทึกขั้นตอนการจัดเก็บขนาดใหญ่คืออะไร คำอธิบายของค่าที่คาดไว้สำหรับ In พารามิเตอร์แต่ละตัว (เช่น "preconditions", "postconditions" เช่นสำหรับพารามิเตอร์บูลีนจะมีการเปลี่ยนแปลงอย่างไรเมื่อคุณเปิดหรือปิด ฯลฯ )

  2. โดยทั่วไปแล้วเอกสารจะมีวิธีการอย่างไร? ความคิดเห็น SQL เท่านั้น? การขับรถภายนอกที่เฉพาะเจาะจงกับวัตถุประสงค์? "เอกสาร" ภายนอกหรือไม่ เราไม่มีเครื่องมือ SQL นอกเหนือจากสตูดิโอการจัดการ MS SQL แต่เราสงสัยว่ามีเครื่องมือที่จะทำให้เข้าใจจัดทำเอกสารและทดสอบสภาพแวดล้อมของเราดีขึ้นหรือไม่ อาจเป็นวิธีที่ดีกว่าในการถามคำถามของฉัน ฉันต้องใช้เครื่องมืออะไรในการแก้ไขความยุ่งเหยิงของเรา?

เป้าหมายของเราคือ:

A. ใช้เอกสารที่เราสร้างขึ้นหรือเครื่องมือใด ๆ ก็ตามที่เราเพิ่มเข้าไปในสภาพแวดล้อมของเราเพื่อช่วยให้เข้าใจว่ากระบวนการทำงานอย่างไรดังนั้นเราจึงสามารถดำเนินการต่อเพื่อสร้างการครอบคลุมการทดสอบหน่วยสำหรับขั้นตอนการจัดเก็บ

B. แสดงให้ผู้พัฒนาแอปไคลเอนต์ทราบวิธีเรียกขั้นตอนการจัดเก็บที่ซับซ้อนเหล่านี้อย่างถูกต้อง

C. หน่วยทดสอบขั้นตอนการจัดเก็บของเรา

คำตอบ:


4

สิ่งที่สำคัญที่สุดเกี่ยวกับเอกสารก็คือเหมาะสมกับคุณ ไม่มีวิธีมาตรฐานในการทำเช่นนี้จริงๆ

หากคุณมีกระบวนงานที่เก็บไว้มากมายที่ทุกคนเชื่อมต่อซึ่งกันและกันเริ่มต้นด้วย Visio diagram พร้อมกับวัตถุหนึ่งชิ้นสำหรับแต่ละขั้นตอนจากนั้นเชื่อมโยงระหว่างพวกเขาเพื่อให้คุณสามารถติดตามว่าสิ่งต่าง ๆ จากกระบวนงานไปสู่กระบวนงานนั้นเป็นจุดเริ่มต้นที่ค่อนข้างดี


4

RedGate SQL พึ่งพาติดตามเครื่องมือที่อาจจะเป็นประโยชน์ มันสามารถแสดงให้คุณเห็นกราฟิกวัตถุฐานข้อมูล (SP's / views / tables) ขึ้นอยู่กับแต่ละอื่น ๆ ฉันใช้มันในขณะที่ทำงานกับตารางบางอย่างที่ฉันไม่คุ้นเคยเพื่อกำหนดลำดับการปิดใช้งานข้อ จำกัด

ฉันก็วิ่งไปที่ฐานข้อมูลทั้งหมดเพื่อความสนุกและมันก็เป็นแบบ TMI หากคุณสามารถมุ่งเน้นไปยังพื้นที่เฉพาะของฐานข้อมูลที่ไม่พึ่งพาซึ่งกันและกันอย่างบ้าคลั่งมันอาจเป็นประโยชน์ แผนผังการพึ่งพามีตัวเลือกในการจัดระเบียบตัวเองโดยใช้อัลกอริธึมที่แตกต่างกัน

การติดตาม อีกทางเลือกหนึ่งคือการเขียนบรรทัดบันทึกที่จุดเริ่มต้นและจุดสิ้นสุดของกระบวนงานที่เก็บไว้ที่สำคัญ แต่ละแถวสามารถมีวันที่ "ระดับรายละเอียด", "บริบท", "subcontext", ชื่อ proc ที่ดีที่สุด และ rowcounts อาจเป็นระเบียบ (คิดว่าบันทึกเหตุการณ์ windows) แต่อาจมีประโยชน์ในบางส่วน หากใช้ SP เพื่อทำบันทึกจริงแล้วสามารถเปิด / ปิดได้อย่างง่ายดายโดยไม่ต้องโหลดเพิ่มเติม (ymmv)

หมายเหตุด้านข้างฉันเคยโหลดเครื่องพิมพ์ด้วยกระดาษ cool 11 x 17 พบแบบอักษรเล็ก ๆ ที่ดีและการเยื้องเชิงตรรกะเพื่อสรุปการไหลของข้อมูล / SP ที่ซับซ้อนลงใน ~ 5 หน้าของหลอก SQL บางส่วน ฉันค่อนข้างแน่ใจว่าฉันจบลงด้วยการอ้างถึงเพียงไม่กี่ครั้งและไม่มีใครกล้าเข้าไปใกล้มันเพราะมันไม่ได้มาตรฐานและมันยากที่จะเชื่อใจบางสิ่งที่ไม่ได้บูรณาการและล้าสมัย กระบวนการเอกสารไม่บังคับให้คุ้นเคยกับรหัสแม้ว่า!


ฉันประเมินสิ่งนี้และเครื่องมืออื่น ๆ จนถึงตอนนี้ฉันยังคงทำมันด้วยมือ ดังนั้นฉันจึงยอมรับคำตอบที่สะท้อนถึงสิ่งที่ฉันทำ แต่นี่มันเท่ห์ดี
Warren P

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.