こんにちはあるいはこんばんは
勤怠管理テーブルの設計をChatGPTにお願いしてみました
今回はチェーンプロンプトを用います
0.チェーンプロンプトとは
一つのプロンプトで回答を導くのではなく対話形式で回答を導く方法です
1.ベースとなる設計を指示
2.不足項目の追加を指示
3.不足項目の追加を指示
最終的に作成されたDDL
```sql
CREATE TABLE ATTENDANCE (
EMPLOYEE_ID NUMBER(10) NOT NULL,
ATTENDANCE_DATE DATE NOT NULL,
START_TIME TIMESTAMP,
END_TIME TIMESTAMP,
WORKING_HOURS NUMBER(5, 2),
STATUS VARCHAR2(20),
WORK_LOCATION VARCHAR2(100),
NOTES VARCHAR2(255),
CREATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
CREATED_BY NUMBER(10) NOT NULL,
UPDATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UPDATED_BY NUMBER(10),
CONSTRAINT PK_ATTENDANCE PRIMARY KEY (EMPLOYEE_ID, ATTENDANCE_DATE),
CONSTRAINT FK_EMPLOYEE FOREIGN KEY (EMPLOYEE_ID) REFERENCES EMPLOYEES(EMPLOYEE_ID),
CONSTRAINT FK_CREATED_BY FOREIGN KEY (CREATED_BY) REFERENCES USERS(USER_ID),
CONSTRAINT FK_UPDATED_BY FOREIGN KEY (UPDATED_BY) REFERENCES USERS(USER_ID)
);
設計する上で必要な項目を指示していくと、テーブル設計が完成します
もちろん作成されたものは確認が必要です
物理名や桁数、型の見直しなど
ですが先にある程度、命名規則や型について指定して例を示しておけばいいと思います
おまけ
テーブル定義を表形式で作成したり、HTML形式で出力できます
また、論理名を付与するためのCOMMENT ON COLUMNの作成も可能です