Để trả lời câu hỏi của bạn, không, điều đó không bình thường trong quy trình Agile.
Trường hợp dường như xuất phát từ thái độ Agile là từ chu trình thiết kế / phát triển / thử nghiệm ngắn của Agile và nhấn mạnh vào các giải pháp nhẹ đáp ứng các yêu cầu đã biết của Agile, nhưng được cấu trúc tốt để có thể đáp ứng các yêu cầu mới với thay đổi tối thiểu. Với hai điều này, bạn có thể nói rằng một nhà phát triển, không biết điều gì có thể xảy ra nhưng biết thay đổi của anh ta không nên tác động đến DB theo cách không thể hoàn tác, chỉ cần thực hiện các thay đổi cần thiết cho lược đồ trong Cách "nhẹ nhất" có thể, và sau đó, một vài bộ thay đổi "ánh sáng" sẽ được tái cấu trúc thành một thứ gì đó lâu dài và ổn định hơn.
Có nói rằng, tôi chưa làm việc với một nhà phát triển đã đăng ký lý thuyết và phương pháp Agile, và cũng nghĩ rằng việc tạo và xóa các bảng trong lược đồ là cần thiết vì bất kỳ lý do nào. Agile không có nghĩa là slap-dash hoặc bolt-on. Nếu bạn được cung cấp một câu chuyện yêu cầu thêm một trường dữ liệu mới thuộc về một bản ghi cụ thể, bạn thêm trường vào bảng. Nếu sự thay đổi đó phá vỡ điều gì đó, bạn sẽ hiểu tại sao và thực hiện các thay đổi khác là cần thiết (tôi có thể nghĩ ra rất ít điều sẽ phá vỡ bằng cách thêm một cột vào DB được truy vấn; nếu nó phá vỡ với loại thay đổi này bạn có vấn đề lớn hơn). Tái cấu trúc thường được giới hạn trong mã; thay đổi lược đồ thường là một quá trình liên quan nhiều hơn thay đổi mã, và vì vậy khi thay đổi lược đồ phải xảy ra, chúng thường được thực hiện cẩn thận hơn, và ít nhất một số chú ý đến kiến thức về định hướng tương lai của dự án. Phải cấu trúc lại một số hoặc tất cả các cơ sở dữ liệu cho thấy sự thất bại cơ bản của thiết kế; Là Agile không có nghĩa là không có "kế hoạch tổng thể" về các quy tắc thiết kế và kiến trúc cơ bản để tuân theo trong khi xây dựng một cách hữu cơ chương trình và cấu trúc dữ liệu.
Bây giờ, có những trường hợp trong Agile nơi mà những gì bạn "biết" bây giờ sẽ bị mâu thuẫn bởi những gì bạn sẽ học sau này. Giả sử bạn có một yêu cầu rằng hệ thống của bạn phải có Địa chỉ cho mỗi người. Vì đây là mối quan hệ 1: 1 và dữ liệu sẽ cần trong phần lớn các trường hợp, bạn chỉ cần thêm các trường Địa chỉ vào bảng Person. Một tuần sau, bạn nhận được yêu cầu một Người có thể có nhiều Địa chỉ. Bây giờ, đó là mối quan hệ 1: N và để mô hình hóa chính xác, bạn phải hoàn tác các thay đổi trước đó của mình, tách các trường ra thành một bảng Địa chỉ mới. Đây không phải là thường lệ, đặc biệt là trong số các nhà phát triển cao cấp. Nhà phát triển có kinh nghiệm sẽ thấy rằng một Người có Địa chỉ, coi những người này là riêng biệt về mặt khái niệm và tạo bảng Người và bảng Địa chỉ, liên kết Người với Địa chỉ với tham chiếu FK với Địa chỉ. Một lược đồ như thế này dễ thay đổi hơn nên bản chất của mối quan hệ thay đổi; mà không tạo hoặc xóa toàn bộ bảng dữ liệu "rộng", mối quan hệ giữa Người và Địa chỉ có thể được sửa đổi khá dễ dàng từ 1: 1 thành 1: N thành N: N.