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