2

私はここ数ヶ月ウェブアプリに取り組んできました。これは、オブジェクトを相互に関連付けるPHPおよびMySQL駆動のデータベースアプリです。

誰かがそれを使用するために登録し、月額サブスクリプションを設定できるように機能を追加したいと思います。彼らがログインすると、アプリは自分のデータベースからのデータを入力するだけです。

私はオンラインでいくつかの精査を行いましたが、この種の機能を追加するための開始点を見つけるのに苦労しています。

このアプリは、データベース内の5ダースのテーブルに依存しています。したがって、ユーザーごとに個別のデータベースを作成することが実用的かどうかもわかりません。

4

1 に答える 1

3

ユーザーごとにデータベースを作成する方法はめったにありません。複雑であり、多くの欠点がある利点はほとんどありません(たとえば、ほとんどのライブラリは単一のDbにしか接続しないため、複数の同時Db接続を維持します)。本当に必要なのは、userテーブルを作成してから、さまざまなレコードに。をタグ付けすることUserIdです。

ユーザーが登録したら、新しいUserレコードを作成してから、そのIDをすべて参照する他のテーブルに新しいエントリを作成します。(実際には、各リレーショナルオブジェクトの「ルート」のみが必要です。UserIdたとえばOrder、テーブルOrderItemsのみが必要な場合)OrderUserId

詳細がなければ、これ以上支援することは不可能です。

ちなみに、db-per-userを検討する必要があるのは、各ユーザーが一意のテーブルを必要とする場合(この場合、アプリが実際にデータを使用するには非常に複雑である必要があります)、またはデータを一緒に保存することに関するセキュリティ上の懸念がある場合のみです(複数のユーザーよりも複数のクライアントの場合が多い)。

于 2012-06-17T23:14:16.490 に答える