1

私の友人は、大規模な mySQL データベースと、複数のテーブルにわたる非常に多数の繰り返し列に問題を抱えています。

問題をよりよく説明すると、データベースは FTP、Postfix、Web メールなどの複数のサービスを提供し、一般的な Linux サーバーで実行するほとんどすべての一般的なサービスを提供し、これらすべてのサービスがこのデータベースを使用しています。問題は、ほとんどのサービスが複数のテーブルから読み取る方法を知らないため、ユーザー名、パスワードなどの複数のテーブル エントリを使用する場合、それらのサービス固有のテーブルでスイッチを繰り返す必要があることです。興例 UserProfile テーブルには、すべてのユーザー関連データが含まれます。(ユーザー名、パスワード) ACL テーブルには、アクセス関連のデータが含まれています (AccountEnabled、FTPEnabled、AccessType) FTP テーブルには、FTP 関連のデータ (クォータ、ディレクトリなど) が含まれています。 UserProfile テーブル、ACL テーブル、FTP テーブルですが、複数のテーブルから読み取ることができないため、

現在、彼らはこれらすべてのサービスを管理するアプリケーションを作成しようとしていますが、これはこれまで手作業で行われており、サーバーは数百人以上のユーザーにサービスを提供していると想像できます。そのため、現在、これらすべてのテーブルを管理する管理インターフェイスを作成しようとしています。問題は、書き込まなければならないデータの 30% が重複データであることです。元。ユーザー名とパスワードは、異なるテーブルに 6 回書き込む必要があります。

「シンボリックリンク」などでテーブルを作成する可能性はありますか? そのため、すべてのサービスにアクセスでき、動的に更新される 1 つの一時テーブルにすべてのデータが格納されます。または、これをすべて簡単にするために考えられる他の「スマートな」方法はありますか?

お時間をいただきありがとうございます。

4

2 に答える 2

3

探しているものはVIEWと呼ばれます。

そうすれば、すべての情報を含む中央のテーブルを、適切な構造を持つアプリごとに 1 つのビューにすることができます。

于 2009-01-15T16:34:55.647 に答える
0

サービスが複数のテーブルにアクセスできないのはなぜですか?

テーブルを本当に「シンボリックリンク」したい場合は、ビューを調べてください。

于 2009-01-15T16:34:46.223 に答える