MySQL テーブル設計の実践: 写真管理テーブルとフォト アルバム テーブルの作成
実際のアプリケーションでは、写真管理とフォト アルバム管理が一般的な要件です。この記事では、MySQL を使用して写真管理テーブルとフォト アルバム テーブルを設計および作成する方法を説明します。
まずは画像管理テーブルを作成しましょう。このテーブルには、画像の ID、名前、説明、アップロード時間など、画像に関連する情報が保存されます。
CREATE TABLE photos
(
id
INT AUTO_INCREMENT PRIMARY KEY,
name
VARCHAR(255) NOT NULL,
description
TEXT,
upload_time
TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
上記の例では、自動インクリメント属性の ID を次のように使用します。主キー。イメージの名前は、NULL 非許容の VARCHAR 型です。説明では、長いテキスト コンテンツを保存できる TEXT タイプを使用します。アップロード時刻には TIMESTAMP 型が使用され、デフォルト値は現在時刻に設定されます。
次に、アルバムテーブルを作成しましょう。アルバム テーブルは、さまざまなピクチャー アルバムを管理するために使用されます。アルバムには複数の写真を含めることができます。
CREATE TABLE albums
(
id
INT AUTO_INCREMENT PRIMARY KEY,
name
VARCHAR(255) NOT NULL,
description
TEXT,
created_time
TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
上記の例では、自動インクリメント属性の ID も使用します。を主キーとして使用します。アルバムの名前は、NULL 非許容の VARCHAR 型です。アルバムの説明にも TEXT タイプが使用されます。作成時刻も TIMESTAMP 型を使用し、デフォルト値は現在時刻に設定されます。
次に、アルバムと写真の関係を確立するための中間テーブルを作成する必要があります。このテーブルにはアルバムと写真の ID が保存され、複数の写真を 1 つのアルバムに関連付けるために使用されます。
テーブルの作成 album_photos
(
album_id
INT,
photo_id
INT,
主キー (album_id
, photo_id
),
外部キー (album_id
) 参照 albums
(id
) ON DELETE CASCADE,
FOREIGN KEY (photo_id
) REFERENCES photos
(id
) ON DELETE CASCADE
);
上記の例では、次のように使用します。アルバム ID とピクチャ ID が共通の主キーとして使用されます。外部キー制約により、アルバムまたは写真が削除されると、関連する関連データも確実に削除されます。
これで、写真管理テーブルとアルバムテーブルが作成され、アルバムと写真の関連付けが完了しました。実際のアプリケーションでは、必要に応じてこれらのテーブルを追加、削除、変更、クエリして、写真やフォト アルバムの管理機能を実装できます。
たとえば、すべての写真のリストを取得したい場合は、次の SQL クエリを使用できます:
SELECT * FROM photos
;
If アルバム内のすべての写真を取得したい場合は、次の SQL クエリを使用できます:
SELECT photos
.* FROM photos
JOIN album_photos
ON photos
.id
= album_photos
.photo_id
WHERE album_photos
.album_id
= アルバム ID;
もちろん、追加、削除、変更、確認という基本的な操作に加えて、実際のニーズに応じて機能を追加することもできます。たとえば、画像タグやビューなどの他のフィールドを追加したり、アルバム カバー画像などのフィールドを追加したりできます。
概要:
MySQL を使用して画像管理テーブルとアルバム テーブルを設計および作成すると、画像リソースの管理と整理が容易になります。適切なテーブル設計と関連付け関係により、写真やアルバムの管理機能を簡単に実装できます。この記事が実際のテーブル設計に役立つことを願っています。
以上がMySQL テーブル設計の実践: 写真管理テーブルとフォト アルバム テーブルを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。