# exercise-02. プログラム・DB調査編 ________________________________________ ## 1. 途中参加したプロジェクトを理解せよ ________________________________________ ### 課題 状況 ```text 既にリリース済みのシステムが存在し、追加開発担当となった 既存の担当者に聞いても、ドキュメントは不足している ``` ### 問題 ```text 1-1. まずはDBの理解するとして、既存の担当者に聞いてみてもDBを見ろの一点張りだ どのようなアプローチをとったらよいか ``` ### 解答例1-1 ```text まずは、DDLを出力したり、ER図を出力するところからだろう 適当なツールを使用してER図を出力する 次に、ER図の中のPK、FK、Unique、複合Unique(自然キーUnique)、NOT NULLの情報を重点的に確認し、各テーブルを理解していく 少なくともすでに稼働しているため、よほどのことがない限り致命傷な設計にはなっていないはずだ (ただし意味不明な日次バッチがあったり、定期保守があったり、どう聞いても意図と実装が全く異なることはよくある) 適切に正規化されたRDBスキーマを目指した設計ならば、必ず適切なPK、FK、Unique、複合Unique(自然キーUnique)、NOT NULLになっている 適切に正規化されたRDBスキーマを目指すことと、PK、FK、Unique、複合Unique(自然キーUnique)、NOT NULLを突き詰めることは同義である ```