0

ユーザーがファイルを添付できるブログなどのメールを作成しています。技術的には、彼が追加できるファイルの数に制限はありません(今のところ可能性を忘れてください)。ユーザーが10個の添付ファイルを追加した場合、それらの添付ファイルのURLパスを格納するためにテーブルをどのように管理する必要がありますか。添付ファイルのURLパスを保存するためにテーブルに20列を作成する必要がありますか?ユーザーが20を超えるファイルを添付したい場合はどうなりますか?私はmysqlデータベースを使用しています。

4

3 に答える 3

1

添付ファイルのテーブルを作成します-添付ファイルごとに1行。列は明白である必要があります。

このテーブルから「ブログ」テーブルに戻る外部キーを用意します。

于 2012-09-20T23:59:48.483 に答える
0

テーブルは次のように設計できます>>

表1--->>>tlbUser

UserId(PK)| ユーザー名| パスワード

表2---->>> tlbUserLinks

LinkId(Pk)| UserId(FK)[tlbUserからのID] | LinkURL

このように、リンクを追加するユーザーに制限はありません(カウント)

このテーブル構造を介して、どのユーザーがどのリンクを投稿したかを取得することもできます...

于 2012-09-21T03:55:10.553 に答える
0

これは古典的な「1対多」の関係です。「多くの」部分を別のテーブルで表します。これは、親エンドポイントが「メイン」テーブルである外部キーの子エンドポイントになります。

このようなもの:

CREATE TABLE EMAIL (
    EMAIL_ID INT PRIMARY KEY
    -- Other fields...
);

CREATE TABLE ATTACHMENT (
    ATTACHMENT_ID INT PRIMARY KEY,
    EMAIL_ID INT NOT NULL,
    -- ATTACHMENT_URL and other fields... 
    FOREIGN KEY (EMAIL_ID) REFERENCES EMAIL (EMAIL_ID)
);

これで、すべてがEMAILから同じ行を参照する複数の行をATTACHMENTに簡単に挿入できます。

外部キーを使用すると、存在しない電子メールの添付ファイルを挿入したり、電子メールを削除して添付ファイルを「宙に浮いたまま」にしたりすることができなくなります。

于 2012-09-21T10:15:07.343 に答える