自作ミニブログ計画のデータベース構造案
(公開日:)
自作ミニブログをSQLiteで作成中です。そのデータベースのテーブル名や項目をメモしています。
- 属性としてのタグの扱い
- メインのpostテーブルにどこまで含めるか(hideとか)
この辺りはまだまだ悩み中です。アドバイスあったら下のお問い合わせ等でアドバイス下さい。
テーブル:post:ページデータ
各ページ(記事)およびトップページ、404ページ、サイドバー部分のデータを格納。
項目 | カラム | データ型 | 備考 |
---|---|---|---|
ID | pid | INTEGER PRIMARY KEY | 管理及び一部表示用 |
タイトル | title | TEXT | 短文の場合省略可能 |
スラッグ | slug | TEXT | 任意URLアクセス用 |
本文 | content | TEXT | 省略不可 |
公開日 | date_pub | TEXT | 手動で変更可能 |
更新日 | date_mod | TEXT | 手動で変更可能 |
概要 | description | TEXT | metaやOGP用 |
画像 | image | TEXT | ファイルとセットで管理 |
テーブル:relation:postとtagの組み合わせ
各ページとタグのリレーション情報を格納。
項目 | カラム | データ型 | 備考 |
---|---|---|---|
ID | rid | INTEGER PRIMARY KEY | 管理用 |
ページID | pid | INTEGER | ページ側のID |
タグID | tid | INTEGER | タグ側のID |
テーブル:tag:属性全般
ページの各種属性の情報を格納。
項目 | カラム | データ型 | 備考 |
---|---|---|---|
ID | tid | INTEGER PRIMARY KEY | 管理用 |
ラベル | label | TEXT | 表示名 |
スラッグ | slug | TEXT | 一覧ページのURLアクセス用 |
概要 | description | TEXT | 一覧ページのmetaやOGP用 |
タグ属性 | type | TEXT | 一覧等での扱い用 |
タグ属性
- (指定なし)
- ページ分類用のタグ
- hide
- タグとしての表示や一覧ページ生成をさせないタグ
格納予定のタグ
- 雑記、Web便利帳 etc
- 今まで使っていた各種分類
- hide
- ページを非表示として扱う
- system
- ページをシステム用として扱う(サイドバーなど)
テーブル:option:全体オプション
システム全体のオプションを格納。
項目 | カラム | データ型 | 備考 |
---|---|---|---|
ID | sid | INTEGER PRIMARY KEY | 管理用 |
ラベル | label | TEXT | 管理用 |
スラッグ | slug | TEXT | コード内アクセス用 |
内容 | content | TEXT | 実際に引用される部分 |
格納予定のオプション
- サイト名
- indexとして使うページID
- 404として使うページID
- サイドバーとして使うページID