あなたの質問に答えるために、いや、それはアジャイルプロセスでは普通ではありません。
アジャイルの態度に起因すると思われる場合は、アジャイルの短期反復設計/開発/テストサイクル、および既知の要件を満たすが、新しい要件を満たすことができるように適切に構成された軽量ソリューションにアジャイルが重点を置くことによる最小限の変更。これら2つのことを考えると、開発者は、何が起こるかを知らず、彼の変更を元に戻すことのできない方法でDBに影響を与えるべきではなく、単にスキーマに必要な変更を加えると言うかもしれません可能な限り「最も軽い」方法であり、その後、いくつかの「軽い」変更のセットが、より永続的で安定したものにリファクタリングされます。
そうは言っても、アジャイルの理論と方法論を購読している開発者とはまだ仕事をしておらず、何らかの理由でスキーマ内のテーブルを定期的に作成および削除する必要があると考えました。アジャイルは、平手打ちやボルトオンを意味するものではありません。特定のレコードに属するデータの新しいフィールドを追加する必要があるストーリーが与えられた場合、テーブルにフィールドを追加します。その変更が何かを壊す場合、あなたは理由を理解し、必要に応じて他の変更を行います(クエリされるDBに列を追加することで、壊されることはほとんどありません;この種の変更で壊れる場合より大きな問題がある)。通常、リファクタリングはコードに制限されています。スキーマの変更は通常、コードの変更よりも複雑なプロセスです。したがって、スキーマの変更が必要な場合、通常は慎重に行われます。プロジェクトの将来の方向性に関する知識に少なくともある程度の注意が払われました。データベースの一部またはすべてを再構築する必要があることは、設計の根本的な失敗を示しています。アジャイルであることは、プログラムとデータ構造を有機的に構築するときに従うべき基本的なアーキテクチャと設計ルールの「マスタープラン」がないことを意味しません。
今、アジャイルには、あなたが今「知っている」ことと後で学ぶこととが矛盾する場合があります。システムにすべての人のアドレスが必要であるという要件があるとします。これは1対1の関係であり、ほとんどの場合データが必要になるため、PersonテーブルにAddressフィールドを追加するだけです。1週間後、個人が複数の住所を持つことができるという要件を受け取ります。これで1:Nの関係になり、適切にモデル化するには、以前の変更を元に戻して、フィールドを新しいAddressテーブルに分割する必要があります。これは、特に上級開発者の間では日常的ではありません。経験豊富な開発者は、PersonにAddressがあることを確認し、これらを概念的に分離し、PersonテーブルとAddressテーブルを作成し、PersonをAddressIDへのFK参照でリンクします。このようなスキーマは、関係の性質が変化した場合に変更が容易です。「ワイド」データテーブル全体を作成または削除することなく、PersonとAddressの関係を1:1から1:NからN:Nに簡単に変更できます。