ユーザ側と呼ばれる立場に居るようです。
データベースの修正?変更?は手間だと聞きますが、具体的には何が手間なのでしょうか。
具体的に開発会社が行う作業が掲載されているサイトがあるようであればURLもお願いします。
例えば、画面からデータを受け取り、DBに格納し、そのデータを日次、月次で帳票出力する単純なシステムを想定します。
この場合、DBに修正(例えばカラム追加)が必要ということは
そのデータは何処からか入力され、何処かに出力する要件が存在することになります
ということはDBの項目追加だけではなく画面表示を行うプログラムの修正と
帳票出力をするプログラムも修正する必要があります
画面レイアウトの修正や、帳票レイアウトの修正の場合、
そのプログラムのみを確認するだけでよいですがDBを修正する場合
そのDBにアクセス(参照/追加/更新/削除)しているプログラム全てに修正が入る可能性があります
上記の例は単純なシステムですが、一般的なシステムになると
多くのプログラムが1つのテーブルに対してアクセスします
例えば10のプログラムが修正が必要なテーブルに対してアクセスしている場合、
たとえ数個のプログラムだけが修正が必要であったとしても、
以下の作業が必要になります
・10のプログラム全てに対して、テーブル修正による影響がないかどうかの洗い出し
・数個のプログラムの修正/確認
・残りのプログラムがテーブル修正による影響が無いことの確認(デグレード確認)
つまり、修正が入るテーブルに対してはそのテーブルにアクセスしている
全プログラムに対して影響の有無の調査、デグレード確認が必要です
これはシステムの規模が大きければ大きいほど複雑になり、かなり規模が大きくなると
・テーブルにアクセスしているプログラムの調査
・テーブル修正による影響がないことの確認
を「全プログラム」に対して行う必要も出てくる可能性があります
最後に、既存のデータを変換する可能性もあるかもしれません
これもデータ量やテーブルの修正量が多くなると手間になります
例えば、画面からデータを受け取り、DBに格納し、そのデータを日次、月次で帳票出力する単純なシステムを想定します。
この場合、DBに修正(例えばカラム追加)が必要ということは
そのデータは何処からか入力され、何処かに出力する要件が存在することになります
ということはDBの項目追加だけではなく画面表示を行うプログラムの修正と
帳票出力をするプログラムも修正する必要があります
画面レイアウトの修正や、帳票レイアウトの修正の場合、
そのプログラムのみを確認するだけでよいですがDBを修正する場合
そのDBにアクセス(参照/追加/更新/削除)しているプログラム全てに修正が入る可能性があります
上記の例は単純なシステムですが、一般的なシステムになると
多くのプログラムが1つのテーブルに対してアクセスします
例えば10のプログラムが修正が必要なテーブルに対してアクセスしている場合、
たとえ数個のプログラムだけが修正が必要であったとしても、
以下の作業が必要になります
・10のプログラム全てに対して、テーブル修正による影響がないかどうかの洗い出し
・数個のプログラムの修正/確認
・残りのプログラムがテーブル修正による影響が無いことの確認(デグレード確認)
つまり、修正が入るテーブルに対してはそのテーブルにアクセスしている
全プログラムに対して影響の有無の調査、デグレード確認が必要です
これはシステムの規模が大きければ大きいほど複雑になり、かなり規模が大きくなると
・テーブルにアクセスしているプログラムの調査
・テーブル修正による影響がないことの確認
を「全プログラム」に対して行う必要も出てくる可能性があります
最後に、既存のデータを変換する可能性もあるかもしれません
これもデータ量やテーブルの修正量が多くなると手間になります
dev_zer0 さま
とてもわかりやすい説明ありがとうございました。
開発の方はこんな作業をされてるんですね…。
仕様はもっときっちりとかためていこうと思います。
id:chorobe さん、こんにちは。
http://www.jsys.co.jp/modeling/vol05.html 左記URLより引用
上記ページの一番下の方の「拡大する」で画像をご覧いただくと、データベースの設計・管理・運用の工程例が確認できるかと思います。
データモデルは、エンティティ(データのまとまり)とエンティティの関連を示すリレーションシップ、そしてエンティティを識別するデータ項目とエンティティで管理されるデータ項目で表現されます。
参考までに、上記も引用しました。
以上、参考になれば幸いです。
hrkt0115311さま
参考になるURLありがとうございました。
勉強の為にブックマークしようと思います。
dev_zer0 さま
とてもわかりやすい説明ありがとうございました。
開発の方はこんな作業をされてるんですね…。
仕様はもっときっちりとかためていこうと思います。