後へ
Topへ
次へ
Rails8 で WEB アプリを作成。開発入門
データベース定義
アプリ名は、book_mgmt とします。
各テーブル定義は、以下の通りです。
User: ユーザー
| カラム名 |
型 |
初期値 |
必須 |
唯一性 |
説明 |
| enabled |
boolean |
true |
true |
false |
レコードが有効か? |
| email |
string |
NULL |
true |
true |
メールアドレス (*1) |
| encrypted_password |
string |
NULL |
true |
false |
暗号化されたパスワード (*1) |
| reset_password_token |
string |
NULL |
false |
false |
パスワード再設定用の一時トークン(今回は使用しない) (*1) |
| reset_password_sent_at |
datetime |
NULL |
false |
false |
パスワード再設定メールを送った時間(今回は使用しない) (*1) |
| remember_created_at |
datetime |
NULL |
false |
false |
ログイン状態を保持する(今回は使用しない) (*1) |
| name |
string |
NULL |
true |
false |
名前 (漢字のフルネーム) |
| is_admin |
boolean |
false |
true |
false |
アドミンか? (WEB上で全ての操作が可能) |
| is_librarian |
boolean |
false |
true |
false |
司書か? (WEB上で「貸出・返却」の権限を持つ) |
*1: GEM Devise 側で生成される。別章
Floor: 階層 (入居ビルでの物理的な階)
| カラム名 |
型 |
初期値 |
必須 |
唯一性 |
説明 |
| enabled |
boolean |
true |
true |
false |
レコードが有効か? |
| name |
string |
NULL |
true |
true |
名称 (e.g. 1F) |
Cabinet: 棚 (本の保管場所)
| カラム名 |
型 |
初期値 |
必須 |
唯一性 |
説明 |
| enabled |
boolean |
true |
true |
false |
レコードが有効か? |
| name |
string |
NULL |
true |
false |
名称 (e.g. C101) |
| floor_id |
references |
NULL |
true |
false |
棚が属する階層のID |
Step: 段 (棚のどこにあるか)
| カラム名 |
型 |
初期値 |
必須 |
唯一性 |
説明 |
| enabled |
boolean |
true |
true |
false |
レコードが有効か? |
| name |
string |
NULL |
true |
false |
名称 (e.g. S01) |
| cabinet_id |
references |
NULL |
true |
false |
段が属する棚のID |
Category: 本の種類
| カラム名 |
型 |
初期値 |
必須 |
唯一性 |
説明 |
| enabled |
boolean |
true |
true |
false |
レコードが有効か? |
| name |
string |
NULL |
true |
true |
種類の名前 |
Book: 本 (管理対象物)
| カラム名 |
型 |
初期値 |
必須 |
唯一性 |
説明 |
| enabled |
boolean |
true |
true |
false |
レコードが有効か? |
| name |
string |
NULL |
true |
false |
書名 |
| isbn |
string |
NULL |
true |
true |
ISBN。全蔵書内でユニークであること。 |
| category_id |
references |
NULL |
true |
false |
本の種類ID |
| step_id |
references |
NULL |
true |
false |
段ID |
| memo |
string |
NULL |
false |
false |
本の説明など。自由記述 |
Status: ステータス (本の状態を表す)
データベースではなく、コードで持つ。
- id:1 → 利用可
- id:2 → 貸出中
- id:3 → 廃棄済
Log: ログ (本の状態の履歴を覚えておく)
| カラム名 |
型 |
初期値 |
必須 |
唯一性 |
説明 |
| status |
integer |
NULL |
true |
false |
ステータスID |
| book_id |
references |
NULL |
true |
false |
本ID |
| user_id |
references |
NULL |
true |
false |
借用・返却したユーザーID |
後へ
Topへ
次へ
Rails8 で WEB アプリを作成。開発入門