※ ChatGPTを利用し、要約された質問です(原文:データベースの設計方法について)
データベースの設計方法について
このQ&Aのポイント
初心者が学ぶデータベースの設計方法とは?インスタンス内に複数のデータベースを作成し、機能ごとに分ける設計もあります。
データベースの設計方法は一つのデータベースに全てのテーブルを用意する設計と、機能ごとにデータベースを分ける設計の2つがあります。
データベースの設計方法はプログラムの設計にも似ています。一つのデータベースに全てのテーブルを用意するか、機能ごとにデータベースを分けるかは目的や要件によります。
全くの初心者で、いろいろな書籍を参考に販売・在庫管理データベースをつくりたいと勉強しています。
環境はMicrosoft SQL Server 2008 R2 EE をサーバーにインストールして、別のクライアントパソコンから SQL Server Management Studio でデータを作成しています。
データベースとは閉じた空間で、1つのデータベース内で必要なテーブルを全て用意するものと思っていました(参考にした書籍もそうなっていました)。
しかし、ネットでいろいろ調べるとインスタンス内に複数のデータベースを作成し、それらデータベース内のテーブルは相互接続可能出来るみたいでした。
となると、データベースを設計する際
<販売管理データベース>
・顧客情報テーブル
・商品情報テーブル
・在庫テーブル
・単価テーブル
・請求データテーブル
・伝票テーブル
・etc.
と1つのデータベースに全てのテーブルを用意する設計では無く
<販売管理データベース>
・伝票テーブル
・請求データ
・etc.
<顧客情報データベース>
・顧客情報テーブル
・単価テーブル
・etc.
<商品情報データベース>
・商品情報テーブル
・在庫テーブル
・etc.
みたいに、機能ごとにデータベースを分けて、インスタンス単位で1機能(もしくは複数機能の実装)の設計でも良いのでしょうか?
プログラム言語の、プロジェクト=インスタンス、クラス=データベースみたいな考え方が出来ればと思っています。
この方法が正しいのか誤りなのか、そもそも理解に誤りがあるのか全く見当が付きません。
一般的にはどのようにするものなのでしょうか?
お礼
早速の回答有り難うございます。 なるほど!アクセス権を考慮する必要があるのですね。 初めての設計なので、自分一人の事しか考えていなかったのですが、実際に運用する際はいろいろな人が使うことが前提なので、アクセス権の振り分けは必要ですね。 非常に参考になりました。 有り難うございます。