final_project_database 是一個基於 Python 的專案,旨在高效地管理資料庫操作。專案包含用於處理特定實體(如醫生、病人、預約等)的模組。db 模組作為主要介面,負責資料庫操作的抽象化,包括連線、執行查詢以及管理交易等常見任務。
- 資料庫管理:集中化操作,用於連接、查詢和管理 PostgreSQL 資料庫。
- 實體模組:專用的 Python 類,用於處理不同實體(例如醫生、病人、預約等)。
- 可擴展設計:模組化結構,易於擴展和維護。
- 安全的查詢執行:參數化查詢以防止 SQL 注入。
- 錯誤處理:全面的例外處理,確保穩定性。
final_project_database/
│
├── db/ # 核心資料庫操作和實體模組
│ ├── DB.py # 主資料庫操作處理(連接、執行、交易)
│ ├── doctor.py # 醫生實體操作
│ ├── appointment.py # 預約實體操作
│ ├── patient.py # 病人實體操作
│ ├── __init__.py # 標記為 Python 模組
│
├── main.py # 測試和示範入口程式
├── requirements.txt # Python 相依套件
└── README.md # 專案說明文件
- Python 3.8+
- PostgreSQL 12+
- 必要的 Python 套件:
psycopg2(PostgreSQL 的適配器)
透過以下指令安裝相依的 Python 套件:
pip install -r requirements.txt-
複製此專案:
git clone https://github.com/your_username/final_project_database.git cd final_project_database -
設置 PostgreSQL 資料庫:
- 建立資料庫和表格(請參考您的資料庫結構)。
- 在
main.py中更新資料庫連接資訊。
-
初始化資料庫連接 (
DB.py): 在db_config字典中更新您的資料庫憑證:db_config = { "dbname": "your_database_name", "user": "your_user", "password": "your_password", "host": "localhost", "port": 5432 }
執行 main.py 以測試資料庫操作:
python main.py以下為創建與查詢預約的範例:
from db.DB import DB
from db.appointment import Appointment
# 初始化資料庫連接
db_config = {
"dbname": "mydatabase",
"user": "myuser",
"password": "mypassword",
"host": "localhost",
"port": 5432
}
DB.init_connection(db_config)
# 創建預約
Appointment.create_appointment([
1, # patient_id
2, # doctor_id
3, # nurse_id
"2024-12-29 14:00:00", # appointment_time
"scheduled", # status
"Routine checkup", # diagnosis
"phone", # appointment_type
"first_visit", # visit_type
"morning", # session
False, # is_emergency
None # follow_up_to
])
# 查詢預約
appointment = Appointment.get_appointment(1)
print("Appointment Info:", appointment)
# 關閉資料庫連接
DB.close_connection()- 處理資料庫連接管理和交易操作。
- 提供執行查詢的輔助方法。
- 負責對醫生實體的 CRUD 操作。
- 負責預約的 CRUD 操作,包括排程和更新狀態。
- 負責病人資料的 CRUD 操作。
-
複製此專案:
git fork https://github.com/your_username/final_project_database.git
-
創建您的功能分支:
git checkout -b feature/YourFeature
-
提交您的更改:
git commit -m "新增 YourFeature" -
推送到分支:
git push origin feature/YourFeature
-
提交 Pull Request。
此專案使用 MIT 許可證。詳細信息請參考 LICENSE 文件。
如果您有任何問題,歡迎聯絡:
- 電子郵件:your_email@example.com
- GitHub:your_username
請根據實際需求替換 your_username 和 your_email@example.com 等占位符。如果有其他需求,請隨時告訴我!