| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | drscan_db | |||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||
3 | 테이블 정의서 | |||||||||||||||||||||||||
4 | 프로젝트명 : | Dr.Scan | ||||||||||||||||||||||||
5 | 시스템명 : | Dr-Scan-server | ||||||||||||||||||||||||
6 | 데이터베이스명: | Dr-Scan_db | ||||||||||||||||||||||||
7 | 작성일자 : | 2025.02.17 | ||||||||||||||||||||||||
8 | 작성자 : | |||||||||||||||||||||||||
9 | ||||||||||||||||||||||||||
10 | 테이블명 : | users | ||||||||||||||||||||||||
11 | 테이블정의 : | 가입한 회원의 정보 | ||||||||||||||||||||||||
12 | No | 컬럼명 | 한글명 | 타입 | 길이 | NULL | UK | PK | FK | 참조테이블 | 참조컬럼 | 비고 | ||||||||||||||
13 | 1 | user_code | 회원 고유번호 | INT | Y | AUTO_INCREMENT=1001 | ||||||||||||||||||||
14 | 2 | account_type | 계정 유형 | ENUM | ENUM('admin', 'user','temporary') / DEFAULT 'temporary' | |||||||||||||||||||||
15 | 3 | username | 아이디 | VARCHAR | 20 | Y | CHECK(username REGEXP '^[a-zA-Z0-9-_]{6,20}$') | |||||||||||||||||||
16 | 4 | password | 비밀번호 | VARCHAR | 255 | CHECK(password REGEXP '^(?=.*[!@#$%^&*])[A-Za-z0-9!@#$%^&*]{8,16}$') | ||||||||||||||||||||
17 | 5 | hospital_name | 병원명 | VARCHAR | 40 | Y | ||||||||||||||||||||
18 | 6 | department | 진료과 | VARCHAR | 20 | Y | ||||||||||||||||||||
19 | 7 | name | 이름 | VARCHAR | 10 | CHECK(name REGEXP '^[가-힣]{2,5}$') | ||||||||||||||||||||
20 | 8 | 이메일 | VARCHAR | 40 | Y | CHECK(email REGEXP '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$') | ||||||||||||||||||||
21 | 9 | phone | 전화번호 | CHAR | 13 | Y | ||||||||||||||||||||
22 | 10 | otp_key | OTP 키 | VARCHAR | 255 | Y | ||||||||||||||||||||
23 | 11 | status | 계정 상태 | ENUM | ENUM('active', 'pending','suspended') / DEFAULT 'pending' | |||||||||||||||||||||
24 | 12 | fail_count | 로그인 실패 횟수 | TINYINT | DEFAULT 0 | |||||||||||||||||||||
25 | 13 | reg_date | 등록일시 | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | |||||||||||||||||||||
26 | 14 | mod_date | 수정일시 | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP | |||||||||||||||||||||
27 | ||||||||||||||||||||||||||
28 | 테이블명 : | permissions | ||||||||||||||||||||||||
29 | 테이블정의 : | 권한 | ||||||||||||||||||||||||
30 | No | 컬럼명 | 한글명 | 타입 | 길이 | NULL | UK | PK | FK | 참조테이블 | 참조컬럼 | 비고 | ||||||||||||||
31 | 1 | permission_code | 권한 고유번호 | INT | Y | AUTO_INCREMENT=1001 | ||||||||||||||||||||
32 | 2 | user_code | 회원코드 | INT | Y | Y | users | user_code | ON DELETE CASCADE | |||||||||||||||||
33 | 3 | permission | 권한 | ENUM | ENUM('admin', 'user','temporary') / DEFAULT 'temporary' | |||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | 테이블명 : | logs | ||||||||||||||||||||||||
36 | 테이블정의 : | 로그 기록 | ||||||||||||||||||||||||
37 | No | 컬럼명 | 한글명 | 타입 | 길이 | NULL | UK | PK | FK | 참조테이블 | 참조컬럼 | 비고 | ||||||||||||||
38 | 1 | code | 고유번호 | INT | Y | AUTO_INCREMENT START WITH 1 | ||||||||||||||||||||
39 | 2 | user_code | 회원코드 | INT | Y | users | user_code | ON DELETE CASCADE | ||||||||||||||||||
40 | 3 | clinic_code | 진료코드 | INT | Y | Y | clinic | clinic_code | ON DELETE SET NULL | |||||||||||||||||
41 | 4 | report_code | 판독코드 | INT | Y | Y | radiologist_reports | report_code | ON DELETE SET NULL | |||||||||||||||||
42 | 5 | event | 사건 | VARCHAR | 400 | |||||||||||||||||||||
43 | 6 | event_date | 발생일시 | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | |||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | 테이블명 : | radiologist_reports | ||||||||||||||||||||||||
46 | 테이블정의 : | 판독 | ||||||||||||||||||||||||
47 | No | 컬럼명 | 한글명 | 타입 | 길이 | NULL | UK | PK | FK | 참조테이블 | 참조컬럼 | 비고 | ||||||||||||||
48 | 1 | report_code | 판독코드 | INT | Y | AUTO_INCREMENT START WITH 1 | ||||||||||||||||||||
49 | 2 | series_ins_uid | DICOM Series UID | VARCHAR | 100 | |||||||||||||||||||||
50 | 3 | patient_id | 환자 ID | VARCHAR | 6 | |||||||||||||||||||||
51 | 4 | user_code | 판독 의사 ID | INT | Y | users | user_code | ON DELETE SET NULL | ||||||||||||||||||
52 | 5 | approve_user_code | 승인 의사 ID | INT | Y | users | user_code | ON DELETE SET NULL | ||||||||||||||||||
53 | 6 | study_date | 검사 날짜 | DATETIME | DEFAULT CURRENT_TIMESTAMP | |||||||||||||||||||||
54 | 7 | approve_study_date | 판독 승인 날짜 | DATETIME | DEFAULT CURRENT_TIMESTAMP | |||||||||||||||||||||
55 | 8 | study_name | 검사 이름 | VARCHAR | 50 | |||||||||||||||||||||
56 | 9 | modality | 검사 장비 | VARCHAR | 20 | |||||||||||||||||||||
57 | 10 | body_part | 검사 부위 | VARCHAR | 50 | |||||||||||||||||||||
58 | 11 | patient_name | 환자 이름 | VARCHAR | 100 | |||||||||||||||||||||
59 | 12 | patient_sex | 환자 성별 | ENUM | 'M', 'F' | |||||||||||||||||||||
60 | 13 | patient_birth_date | 환자 생년월일 | DATETIME | ||||||||||||||||||||||
61 | 14 | patient_age | 환자 나이 | CHAR | 4 | |||||||||||||||||||||
62 | 15 | severity_level | 중증도 레벨 | ENUM | '1', '2', '3', '4', '5' | |||||||||||||||||||||
63 | 16 | report_status | 보고서 상태 | ENUM | 'Draft', 'Finalized', 'Needs Revsion' | |||||||||||||||||||||
64 | 17 | report_text | 보고서 내용 | VARCHAR | 255 | |||||||||||||||||||||
65 | 18 | reg_date | 등록일시 | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | |||||||||||||||||||||
66 | 19 | mod_date | 수정일시 | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP | |||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | 테이블명 : | clinic | ||||||||||||||||||||||||
69 | 테이블정의 : | 진료기록 | ||||||||||||||||||||||||
70 | No | 컬럼명 | 한글명 | 타입 | 길이 | NULL | UK | PK | FK | 참조테이블 | 참조컬럼 | 비고 | ||||||||||||||
71 | 1 | clinic_code | 고유번호 | INT | Y | AUTO_INCREMENT=10001 | ||||||||||||||||||||
72 | 2 | patient_code | 환자코드 | VARCHAR | 6 | patienttab | pid | |||||||||||||||||||
73 | 3 | user_code | 회원코드 | INT | Y | users | user_code | ON DELETE SET NULL | ||||||||||||||||||
74 | 4 | clinic_date | 진료날짜 | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | |||||||||||||||||||||
75 | 5 | context | 진료 내용 | VARCHAR | 200 | |||||||||||||||||||||
76 | 6 | reg_date | 등록일시 | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | |||||||||||||||||||||
77 | 7 | mod_date | 수정일시 | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP | |||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 | ||||||||||||||||||||||||||