0

私はいくつかのサーバーを監査しており、いくつかのフィールドを持つ「サーバー」というテーブルがあります。

これらの 1 つは、「ユーザー」と呼ばれるフィールドです。

各ユーザーに関する情報を保持する「users」という別のテーブルがあります。もちろん、多くの「ルート」ユーザー (サーバーごとに 1 人) が存在するため、ユーザー用の単一のテーブルがこれに適しているかどうかはわかりません。

ユーザーに関する情報には、SSH キー、ユーザー名、ホーム ディレクトリなどがあります。データベースを設計する最良の方法と、この情報を簡単に入力するためのフォームは何ですか?

4

1 に答える 1

1

はい、すべてのユーザーに対して単一のテーブルが適切です

usersテーブルのフィールドのことは忘れてくださいservers。これは、リレーショナル データベースでのリレーションシップのしくみではありません。

テーブルには、「サーバー」の主キーと外部キー関係を持つusersフィールド (おそらく と呼ばれる) が必要です。server_id

2 つのテーブルを設定したら、フォーム ウィザードを使用して for を持つフォームを作成し、それをserversレイアウトする際にほとんどの作業を行うことができます。あなたのために)subformuserslibreofficesubformserver_idsubform

sub-formユーザーは複数のテーブルを持つことができるため、ssh キーを別のテーブルに分割し、さらにネストすることを検討することもできます。


このソリューションは完全には正規化されていないことに注意してください。ユーザーが複数のサーバーにアカウントを持っている場合は常に、重複の可能性があります。ただし、監査用に完全に正規化されたデータベースを設計するのはやり過ぎのようで、libreofficebase の操作がはるかに難しくなります。

于 2012-08-15T15:52:08.860 に答える