CakePHP4で簡易ブログサイトを作ってみるコーナーです。
316 views
本章では、ブログのデータベースについて説明する。
以下は、ブログのデータベースに関するE-R図である。
各テーブルの定義について説明する。
ユーザ管理テーブル (users)
カラム名 | データ型 | 説明 |
---|---|---|
id | INTEGER | 主キー、一意のユーザ識別子 |
username | VARCHAR(255) | ユーザ名、一意である必要があります |
VARCHAR(255) | ユーザのメールアドレス、一意である必要があります | |
password | VARCHAR(255) | ユーザのパスワードのハッシュ値 |
display_name | VARCHAR(255) | ユーザの表示名 |
bio | TEXT | ユーザの自己紹介文 |
profile_image | VARCHAR(255) | ユーザのプロフィール画像のURLまたはファイル名 |
created_at | TIMESTAMP | ユーザが作成された日時 |
updated_at | TIMESTAMP | ユーザ情報が最後に更新された日時 |
last_login | TIMESTAMP | ユーザが最後にログインした日時 |
記事テーブル (posts)
カラム名 | データ型 | 説明 |
---|---|---|
id | INTEGER | 主キー、一意の記事識別子 |
user_id | INTEGER | 外部キー、記事を作成したユーザのID |
title | VARCHAR(255) | 記事のタイトル |
content | TEXT | 記事の本文 |
slug | VARCHAR(255) | 記事のURLスラッグ |
created_at | TIMESTAMP | 記事が作成された日時 |
updated_at | TIMESTAMP | 記事が最後に更新された日時 |
published_at | TIMESTAMP | 記事が公開された日時(下書きの場合はNULL) |
status | VARCHAR(255) | 記事の状態(例: 下書き、公開、非公開) |
カテゴリテーブル (categories)
カラム名 | データ型 | 説明 |
---|---|---|
id | INTEGER | 主キー、一意のカテゴリ識別子 |
name | VARCHAR(255) | カテゴリ名 |
slug | VARCHAR(255) | カテゴリのURLスラッグ |
created_at | TIMESTAMP | カテゴリが作成された日時 |
updated_at | TIMESTAMP | カテゴリが最後に更新された日時 |
記事とカテゴリの関連テーブル (post_categories)
カラム名 | データ型 | 説明 |
---|---|---|
id | INTEGER | 主キー、一意の関連識別子 |
post_id | INTEGER | 外部キー、関連する記事のID |
category_id | INTEGER | 外部キー、関連するカテゴリのID |
コメントテーブル (comments)
カラム名 | データ型 | 説明 |
---|---|---|
id | INTEGER | 主キー、一意のコメント識別子 |
user_id | INTEGER | 外部キー、コメントを投稿したユーザのID |
post_id | INTEGER | 外部キー、コメント対象の記事のID |
content | TEXT | コメントの本文 |
created_at | TIMESTAMP | コメントが投稿された日時 |
updated_at | TIMESTAMP | コメントが最後に更新された日時 |
status | VARCHAR(255) | コメントの状態(例: 承認待ち、承認済み、削除済み) |
タグテーブル (tags)
カラム名 | データ型 | 説明 |
---|---|---|
id | INTEGER | 主キー、一意のタグ識別子 |
name | VARCHAR(255) | タグ名 |
slug | VARCHAR(255) | タグのURLスラッグ |
記事とタグ関連テーブル (post_tags)
カラム名 | データ型 | 説明 |
---|---|---|
id | INTEGER | 主キー、一意の関連識別子 |
post_id | INTEGER | 外部キー、関連する記事のID |
tag_id | INTEGER | 外部キー、関連するタグのID |
Page 10 of 15.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/