เพื่อตอบคำถามของคุณไม่ใช่นั่นไม่ใช่เรื่องปกติในกระบวนการเปรียว
ที่ซึ่งมันอาจดูเหมือนว่ามาจากทัศนคติแบบเปรียวมาจากวงจรการออกแบบ / พัฒนา / ทดสอบการย้ำระยะสั้นของ Agile และการเน้นของ Agile ในการแก้ปัญหาน้ำหนักเบาที่ตอบสนองความต้องการที่รู้จัก แต่มีโครงสร้างที่ดีเพื่อให้สามารถตอบสนองความต้องการใหม่ ๆ การเปลี่ยนแปลงน้อยที่สุด จากสองสิ่งนี้คุณอาจบอกว่านักพัฒนาซอฟต์แวร์ไม่ทราบว่าอะไรจะเกิดขึ้น แต่การรู้ว่าการเปลี่ยนแปลงของเขาไม่ควรส่งผลกระทบต่อ DB ในวิธีที่ไม่สามารถยกเลิกได้เพียงแค่ทำการเปลี่ยนแปลงที่จำเป็นกับสคีมาใน วิธี "เบาที่สุด" ที่เป็นไปได้และจากนั้นในช่วงเวลาการเปลี่ยนแปลง "แสง" หลายชุดจะได้รับการปรับโครงสร้างใหม่เป็นสิ่งที่ถาวรและมั่นคงยิ่งขึ้น
ต้องบอกว่าฉันยังไม่ได้ทำงานกับนักพัฒนาที่สมัครสมาชิกทฤษฎี Agile และวิธีการและยังคิดว่าการสร้างและการลบตารางในสคีมาเป็นสิ่งจำเป็นด้วยเหตุผลใดก็ตาม Agile ไม่ได้หมายถึง slap-dash หรือ bolt-on ถ้าคุณได้รับเรื่องที่ต้องเพิ่มเขตข้อมูลใหม่ที่เป็นของระเบียนเฉพาะคุณเพิ่มเขตข้อมูลลงในตาราง ถ้าการเปลี่ยนแปลงนั้นทำลายบางสิ่งคุณคิดว่าทำไมและทำการเปลี่ยนแปลงอื่น ๆ ตามที่จำเป็น (ฉันสามารถนึกถึงสิ่งเล็ก ๆ น้อย ๆ ที่จะทำลายโดยการเพิ่มคอลัมน์ในฐานข้อมูลที่ถูกสอบถามถ้ามันเป็นการเปลี่ยนแปลงที่คุณทำแบบนี้ มีปัญหาใหญ่กว่า) การรีฟอร์เรชั่น จำกัด ตามรหัส การเปลี่ยนสคีมามักจะเป็นกระบวนการที่เกี่ยวข้องมากกว่าการเปลี่ยนรหัสและดังนั้นเมื่อการเปลี่ยนแปลงสคีมาต้องเกิดขึ้นพวกเขามักจะทำด้วยความระมัดระวังมากขึ้น และอย่างน้อยก็ให้ความสนใจกับความรู้เกี่ยวกับทิศทางในอนาคตของโครงการ ต้องปรับโครงสร้างฐานข้อมูลบางส่วนหรือทั้งหมดบ่งชี้ถึงความล้มเหลวพื้นฐานของการออกแบบ การมีความคล่องตัวไม่ได้หมายความว่าไม่มี "แผนแม่บท" ของสถาปัตยกรรมพื้นฐานและกฎการออกแบบที่ต้องปฏิบัติตามในขณะที่สร้างโปรแกรมและโครงสร้างข้อมูลแบบอินทรีย์
ตอนนี้มีหลายกรณีใน Agile ที่สิ่งที่คุณ "รู้" ตอนนี้จะขัดแย้งกับสิ่งที่คุณจะเรียนรู้ในภายหลัง สมมติว่าคุณมีข้อกำหนดที่ระบบของคุณต้องมีที่อยู่สำหรับทุกคน เนื่องจากนี่เป็นความสัมพันธ์แบบ 1: 1 และข้อมูลจะต้องการในกรณีส่วนใหญ่คุณเพียงเพิ่มเขตข้อมูลที่อยู่ลงในตารางบุคคล หนึ่งสัปดาห์ต่อมาคุณจะได้รับข้อกำหนดว่าบุคคลสามารถมีที่อยู่ได้มากกว่าหนึ่งแห่ง ตอนนี้มันเป็นความสัมพันธ์แบบ 1: N และในการสร้างแบบจำลองอย่างถูกต้องคุณจะต้องยกเลิกการเปลี่ยนแปลงก่อนหน้าโดยแยกฟิลด์ออกเป็นตารางที่อยู่ใหม่ นี่ไม่ใช่กิจวัตรโดยเฉพาะในหมู่นักพัฒนาอาวุโส นักพัฒนาที่มีประสบการณ์จะเห็นว่าบุคคลนั้นมีที่อยู่ให้พิจารณาสิ่งเหล่านี้เป็นแนวคิดแยกจากกันและสร้างตารางบุคคลและตารางที่อยู่เชื่อมโยงบุคคลกับที่อยู่ด้วยการอ้างอิง FK ไปยัง AddressID สคีมาเช่นนี้ง่ายต่อการเปลี่ยนแปลงหากธรรมชาติของความสัมพันธ์เปลี่ยนไป โดยไม่ต้องสร้างหรือลบตารางข้อมูล "กว้าง" ทั้งหมดความสัมพันธ์ระหว่างบุคคลและที่อยู่สามารถปรับเปลี่ยนได้อย่างง่ายดายตั้งแต่ 1: 1 ถึง 1: N ถึง N: N