- 締切済み
データベース設計
今まで、サンプルデータを元にselect文の使い方を主に勉強していたのですが、突然データベース設計のレポートを出題されました。 同時に、自分で設計したレポートで意味のあるいろいろなselect文を実行してみる。と言うのも課題なのですが、こちらは何とかなるとおもうのですが、設計がよく分かりません。 課題の内容は以下の通りです。 1.1 ER図 1.2 スキーマ定義とドメイン制約 1.3 想定表における関数従属性、多値従属性、結合従属性 1.4 想定表における候補キーの算出 1.5 想定表における第3正規形判定と分解 1.6 外部キーの説明 具体的にどのように設計していけばよいか、各項目でなにをしなければいけないのか等、参考になるコトを教えてください。 授業の配付資料を読み直してみたのですが、ER図やスキーマ・ドメインなど、出てきてないようです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nda23
- ベストアンサー率54% (777/1415)
先ず、データモデルを考えるところから始めます。 例えば、問屋さんの管理システムだとすると、以下のような感じです。 (1)顧客(取引先)マスタ (2)商品マスタ (3)入荷データ (4)出荷データ まあ、この外にもあるでしょうけど、課題なので簡略化します。 次に、各テーブルにどのような項目が必要かを考えます。 入荷データの例ですと、以下のようなものです。 (1)伝票番号 (2)商品コード (3)入荷年、入荷月、入荷日 (4)単価、数量 入荷月は1~12に決まっているので、他のテーブルとは関係なく 値の制限を決めることができます。(ドメイン制約) 伝票番号だけでデータを特定出来るなら、これが主キーとなるでしょう。 また、商品コードは商品マスタに登録されているものだけが許可 されるというルールを適用しますと、主従関係が出来るわけです。 実際に未定義な商品コードを登録できないよう、商品マスタと、 入荷データの間に外部キーを設けます。 といった具合に設計して行きます。この中で、顧客、年月別の仕入高、 商品別在庫数などの集計(要求される機能)が実現できるかどうかを 検討し、同じ情報が別々に記録されるようなムダがないかを調べます。 「機能が実現でき、無駄が無い」となれば正規化も終了です。 参考になったでしょうか?