私は最初のWebアプリケーションを書いています。スキーマは重要だが、実際に良いものを書く方法を知るには不十分であることを知るためのデータベースについて十分に知っています。Webアプリケーションの各ユーザーに新しいテーブルを作成する必要がありますか?
各ユーザーアカウントに格納されている情報を処理するための標準プロトコルはありますか?私の本能は、ユーザーのキーとログイン情報を格納する1つのテーブルと、そのテーブルのハンドル(おそらくはキー)を持って、各ユーザーごとに1つのテーブルを持つことです。
しかし、各ユーザーのためのテーブルを持っているか、それが非常にばかげているように見える場合は、パフォーマンス上の問題があるのだろうかと思います。基本的にすべてのWebアプリケーションにユーザーアカウントがあるので、これは "解決された問題"のように思われますが、検索で何かを見つけることができませんでした。さまざまな種類のWebデータを格納するための「解決済み」スキーマを持つリソースはありますか?
これはちょっと古いと知っていますが、私はセキュリティ上の理由から同じ方法を考えていました。例えば、他のユーザが自分以外のテーブルに到達するのを防ぐ。 –
@SalemFそうですね、このようにセキュリティ上の問題が発生する可能性がありますが、別のテーブルを持つセキュリティの問題がさらに深刻化しています。 簡単に言えば、あなたのウェブアプリケーションが今までにテーブルを作成することは望ましくありません。テーブル内のデータの追加または削除のみが必要です。表の追加および作成は、行の追加および削除よりも高いレベルの権限です。また、Webアプリケーションにテーブルの作成や削除の権限を持たせたくありません。これにより、データベース全体がハッカーによって削除またはコピーされることになります。他にも理由がありますが、それがセキュリティの理由です。 – araneae
@aranesaあなたは権限レベルについて、ユーザーが他のテーブルにアクセスできる他の生のものにアクセスできる場合には、枯れてしまいます。そのアイデアは自分のテーブルにユーザーを置いておき、新しいテーブルを削除または作成する権限を与えないというものでした。どのようにハッカーの利得をDBに制御する彼は彼が望むことをやろうとします –