1

C# アプリの認証システムに取り組んでいます。認証システムは PHP です。それにはユーザーがいて、私のような一人の人にとっては今のところ完璧に機能しています。自分の顧客を追加したり、権限を設定したり、プログラムを更新したり、さらに多くのことを行うことができます。

しかし...

ユーザーが自分の顧客を制御できる開発者アカウントでサインアップできるように機能させたい. しかし問題は、私のアカウントだけで既に 3 つのテーブルがあることです。(顧客、ファイル、およびグローバル)

では、顧客ごとにまったく新しいテーブルを作成する必要がありますか? または、親開発者の ID を示す列を使用して、1 つの巨大なテーブルにすべてを押し込む必要があります。

これが十分に明確であることを本当に願っています...

まだ混乱している場合は、役立つ写真をいくつか示します (これは、私の開発者アカウントに必要な 3 つのテーブルです)。



(これらは私の実際のユーザーのパスワードではないことを心配しないでください...私はまだウェブサイトに取り組んでいます。現在はすべて例です)

4

2 に答える 2

3

それらすべてを、親/保存する必要のあるその他の情報にリンクするIDを使用して1つのテーブルに配置する必要があります。

区別する必要がある場合は、顧客タイプの列を作成することもできます。

いずれにせよ、ユーザーごとに新しいテーブルを用意するのは正しい方法ではありません。

編集:あなたがテーブルのサイズについて心配しているなら、そうしないでください。正しいインデックスを実装している限り、この情報へのアクセスは問題になりません。MySQLは、テーブル内の何百万ものレコードを処理できます。

于 2013-02-12T08:25:06.653 に答える
2

「ユーザーが自分の顧客を制御できる開発者アカウントでサインアップできるように機能させたい.」

したがって、1対多の関係があります。

ユーザーのテーブル...

そして、ユーザーを参照する外部キーを持つ顧客のテーブル。

それは2つのテーブルです。ユーザーごとに新しいテーブルを作成する必要があると考えている場合、または同様の考えを持っている場合、ほぼ間違いなく間違っています。

于 2013-02-12T08:25:18.897 に答える