appoint
診察の予約を保存するテーブル。1 件の予約が 1 行になり、どの予約枠(appoint_time)に誰が予約したかを記録します。
カラム
| カラム |
型 |
説明 |
appoint_id |
int |
予約 ID(主キー、自動採番) |
appoint_time_id |
int |
どの予約枠かを表す(appoint_time を参照。NULL 可) |
patient_name |
text |
予約者の氏名 |
patient_id |
int |
患者 ID(patient を参照。未登録の患者では 0) |
memo |
text |
予約に関するメモ |
インデックス
| キー |
対象カラム |
用途 |
appoint_time_id |
appoint_time_id |
予約枠ごとの予約の取得 |
備考
appoint_time_id は appoint_time への外部キーです(appoint_ibfk_1)。
- 患者番号がまだ無い新規予約でも氏名だけで登録できるよう、氏名(
patient_name)を独立して保持します。
スキーマ
CREATE TABLE `appoint` (
`appoint_id` int NOT NULL AUTO_INCREMENT,
`appoint_time_id` int DEFAULT NULL,
`patient_name` text NOT NULL,
`patient_id` int NOT NULL,
`memo` text NOT NULL,
PRIMARY KEY (`appoint_id`),
KEY `appoint_time_id` (`appoint_time_id`),
CONSTRAINT `appoint_ibfk_1` FOREIGN KEY (`appoint_time_id`) REFERENCES `appoint_time` (`appoint_time_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;