今天要分享的是資料表轉SQL語句以及資料插入!
首先先展示實體關聯圖轉SQL的程式碼以及命令檔輸出...
1. 實體關聯圖轉SQL的程式碼
CREATE TABLE AllergyRecords (
" AllergyID " NUMBER (15) NOT NULL ,
" PatientID " NUMBER (15) NOT NULL ,
" Allergen " VARCHAR2 (50) ,
" ReactionSymptoms " VARCHAR2 (100) ,
" OccurrenceDate " DATE ,
" Severity " VARCHAR2 (20) ,
" AllergyNotes " VARCHAR2 (150) ) ;
CREATE TABLE Appointments (
" AppointmentID " NUMBER (15) NOT NULL ,
" PatientID " NUMBER (15) NOT NULL ,
" DepartmentID " NUMBER (15) NOT NULL ,
" StaffID " NUMBER (15) NOT NULL ,
" AppointmentTime " DATE ,
" AppointmentStatus " VARCHAR2 (20) ,
" ChiefComplaint " VARCHAR2 (50) ,
" VisitDate " DATE ,
" VisitStatus " VARCHAR2 (20) ) ;
CREATE TABLE Departments (
" DepartmentID " NUMBER (15) NOT NULL ,
" DepartmentName " VARCHAR2 (20) ,
" DepartmentDescription " VARCHAR2 (100) ) ;
CREATE TABLE Diagnoses (
" DiagnosisID " NUMBER (15) NOT NULL ,
" RecordID " NUMBER (15) NOT NULL ,
" StaffID " NUMBER (15) NOT NULL ,
" RecordType " VARCHAR2 (10) ,
" DiagnosisDate " DATE ,
" Subjective " VARCHAR2 (50) ,
" Objective " VARCHAR2 (50) ,
" Assessment " VARCHAR2 (100) ,
" Plan " VARCHAR2 (100) ,
" ICDCode " VARCHAR2 (20) ,
" DiagnosisNotes " VARCHAR2 (100) ) ;
CREATE TABLE HospitalizationRecords (
" HospitalizationID " NUMBER (15) NOT NULL ,
" AppointmentID " NUMBER (15) NOT NULL ,
" DepartmentID " NUMBER (15) NOT NULL ,
" StaffID " NUMBER (15) NOT NULL ,
" AdmissionDate " DATE ,
" LengthOfStay " INTEGER ,
" ExpectedDischargeDate " DATE ,
" ActualDischargeDate " DATE ,
" WardArea " VARCHAR2 (20) ,
" RoomNum " VARCHAR2 (10) ,
" BedNum " VARCHAR2 (20) ,
" AdmissionDiagnosis " VARCHAR2 (100) ,
" DischargeDiagnosis " VARCHAR2 (100) ,
" HospitalizationStatus " VARCHAR2 (20) ,
" CreateTime " DATE ,
" DischargeSummary " VARCHAR2 (100) ,
" HospitalizationNotes " VARCHAR2 (100) ) ;
CREATE TABLE InsuranceBilling (
" BillingID " NUMBER (15) NOT NULL ,
" PatientID " NUMBER (15) NOT NULL ,
" AppointmentID " NUMBER (15) NOT NULL ,
" BillingDate " DATE ,
" ItemDescription " VARCHAR2 (100) ,
" Amount " NUMBER (10,2) ,
" NHI " CHAR (1) ,
" NHIAmount " NUMBER (10,2) ,
" PatientPay " NUMBER (10,2) ) ;
CREATE TABLE MedicalResourceUsage (
" UsageID " NUMBER (15) NOT NULL ,
" PatientID " NUMBER (15) NOT NULL ,
" StaffID " NUMBER (15) NOT NULL ,
" DepartmentID " NUMBER (15) NOT NULL ,
" ResourceType " VARCHAR2 (50) ,
" ResourceName " VARCHAR2 (50) ,
" UsageDate " DATE ,
" UsageDuration " VARCHAR2 (15) ,
" UsageNotes " VARCHAR2 (100) ) ;
CREATE TABLE Patients (
" PatientID " NUMBER (15) NOT NULL ,
" PatientName " VARCHAR2 (25) ,
" PatientGender " CHAR (10) ,
" PatientBirth " DATE ,
" BloodType " VARCHAR2 (10) ,
" PatientPhone " VARCHAR2 (20) ,
" PatientAddress " VARCHAR2 (50) ,
" PatientIdentityNumber " VARCHAR2 (15) ,
" EmergencyRelation " VARCHAR2 (10) ,
" EmergencyName " VARCHAR2 (10) ,
" EmergencyPhone " VARCHAR2 (20) ) ;
CREATE TABLE Prescriptions (
" PrescriptionID " NUMBER (15) NOT NULL ,
" DiagnosisID " NUMBER (15) NOT NULL ,
" MedicationName " VARCHAR2 (50) ,
" MedicationInstruction " VARCHAR2 (20) ,
" MedicationDays " INTEGER ,
" MedicationCode " VARCHAR2 (20) ,
" MedicationType " VARCHAR2 (20) ,
" MedicationStatus " CHAR (1) ) ;
CREATE TABLE Records (
" RecordID " NUMBER (15) NOT NULL ,
" PatientID " NUMBER (15) NOT NULL ,
" AppointmentID " NUMBER (15) NOT NULL ,
" StaffID " NUMBER (15) NOT NULL ,
" FamilyHistory " VARCHAR2 (50) ,
" Habits " VARCHAR2 (50) ,
" SurgicalHistory " VARCHAR2 (100) ,
" HospitalHistory " VARCHAR2 (100) ,
" AllergyHistory " VARCHAR2 (100) ,
" VaccinationRecord " VARCHAR2 (50) ,
" CreateDate " DATE ,
" UpdatedDate " DATE ) ;
CREATE TABLE SatisfactionSurveys (
" SurveyID " NUMBER (15) NOT NULL ,
" AppointmentID " NUMBER (15) NOT NULL ,
" SurveyDate " DATE ,
" TargetRole " VARCHAR2 (20) ,
" Rating " INTEGER ,
" Comments " VARCHAR2 (150) ) ;
CREATE TABLE Schedules (
" ScheduleID " NUMBER (15) NOT NULL ,
" StaffID " NUMBER (15) NOT NULL ,
" ScheduleDate " DATE ,
" DepartmentID " NUMBER (15) NOT NULL ,
" TimeSlot " VARCHAR2 (10) ) ;
CREATE TABLE Staff (
" StaffID " NUMBER (15) NOT NULL ,
" DepartmentID " NUMBER (15) NOT NULL ,
" StaffName " VARCHAR2 (20) ,
" StaffGender " VARCHAR2 (20) ,
" StaffRole " VARCHAR2 (20) ,
" StaffLicneseNum " VARCHAR2 (30) ,
" StaffPhone " VARCHAR2 (20) ,
" YearsOfExperience " INTEGER ) ;
CREATE TABLE SurgeryRecords (
" SurgeryID " NUMBER (15) NOT NULL ,
" AppointmentID " NUMBER (15) NOT NULL ,
" StaffID " NUMBER (15) NOT NULL ,
" SurgeryDate " DATE ,
" SurgeryName " VARCHAR2 (50) ,
" SurgerySite " VARCHAR2 (20) ,
" SurgeryType " VARCHAR2 (20) ,
" AnesthesiaType " VARCHAR2 (20) ,
" DurationMinutes " INTEGER ,
" Complications " VARCHAR2 (150) ,
" PostOperativeInstructions " VARCHAR2 (150) ,
" StaffNotes " VARCHAR2 (100) ) ;
CREATE TABLE Tests (
" TestID " NUMBER (15) NOT NULL ,
" AppointmentID " NUMBER (15) NOT NULL ,
" StaffID " NUMBER (15) NOT NULL ,
" TestName " VARCHAR2 (50) ,
" TestCode " VARCHAR2 (20) ,
" TestDate " DATE ,
" TestResult " VARCHAR2 (100) ,
" TestStatus " VARCHAR2 (20) ,
" TestNotes " VARCHAR2 (100) ) ;
CREATE TABLE VaccinationRecords (
" VaccinationID " NUMBER (15) NOT NULL ,
" PatientID " NUMBER (15) NOT NULL ,
" StaffID " NUMBER (15) NOT NULL ,
" VaccineName " VARCHAR2 (50) ,
" DoseNum " INTEGER ,
" VaccinationDate " DATE ,
" VaccinationLocation " VARCHAR2 (50) ,
" HasPostVaccinationSymptoms " CHAR (1) ,
" PostVaccinationReaction " VARCHAR2 (150) ) ;
ALTER TABLE AllergyRecords ADD CONSTRAINT AllergyRecords_PK PRIMARY KEY ( AllergyID ) ;
ALTER TABLE Appointments ADD CONSTRAINT Appointments_PK PRIMARY KEY ( AppointmentID ) ;
ALTER TABLE Departments ADD CONSTRAINT Departments_PK PRIMARY KEY ( DepartmentID ) ;
ALTER TABLE Diagnoses ADD CONSTRAINT Diagnoses_PK PRIMARY KEY ( DiagnosisID ) ;
ALTER TABLE HospitalizationRecords ADD CONSTRAINT HospitalizationRecords_PK PRIMARY KEY ( HospitalizationID ) ;
ALTER TABLE InsuranceBilling ADD CONSTRAINT InsuranceBilling_PK PRIMARY KEY ( BillingID ) ;
ALTER TABLE MedicalResourceUsage ADD CONSTRAINT MedicalResourceUsage_PK PRIMARY KEY ( UsageID ) ;
ALTER TABLE Patients ADD CONSTRAINT Patients_PK PRIMARY KEY ( PatientID ) ;
ALTER TABLE Prescriptions ADD CONSTRAINT Prescriptions_PK PRIMARY KEY ( PrescriptionID ) ;
ALTER TABLE Records ADD CONSTRAINT Records_PK PRIMARY KEY ( RecordID ) ;
ALTER TABLE SatisfactionSurveys ADD CONSTRAINT SatisfactionSurveys_PK PRIMARY KEY ( SurveyID ) ;
ALTER TABLE Schedules ADD CONSTRAINT Schedule_PK PRIMARY KEY ( ScheduleID ) ;
ALTER TABLE Staff ADD CONSTRAINT Staff_PK PRIMARY KEY ( StaffID ) ;
ALTER TABLE SurgeryRecords ADD CONSTRAINT SurgeryRecords_PK PRIMARY KEY ( SurgeryID ) ;
ALTER TABLE Tests ADD CONSTRAINT Tests_PK PRIMARY KEY ( TestID ) ;
ALTER TABLE VaccinationRecords ADD CONSTRAINT VaccinationRecords_PK PRIMARY KEY ( VaccinationID ) ;
ALTER TABLE AllergyRecords
ADD CONSTRAINT AllergyRecords_Patients_FK FOREIGN KEY
(PatientID) REFERENCES Patients (PatientID) ;
ALTER TABLE Appointments
ADD CONSTRAINT Appointments_Departments_FK FOREIGN KEY
(DepartmentID) REFERENCES Departments (DepartmentID) ;
ALTER TABLE Appointments
ADD CONSTRAINT Appointments_Patients_FK FOREIGN KEY
(PatientID) REFERENCES Patients (PatientID) ;
ALTER TABLE Appointments
ADD CONSTRAINT Appointments_Staff_FK FOREIGN KEY
(StaffID) REFERENCES Staff (StaffID) ;
ALTER TABLE Diagnoses
ADD CONSTRAINT Diagnoses_Records_FK FOREIGN KEY
(RecordID) REFERENCES Records (RecordID) ;
ALTER TABLE Diagnoses
ADD CONSTRAINT Diagnoses_Staff_FK FOREIGN KEY
(StaffID) REFERENCES Staff (StaffID) ;
ALTER TABLE HospitalizationRecords
ADD CONSTRAINT HospitalRecord_Appointments_FK FOREIGN KEY
(AppointmentID) REFERENCES Appointments (AppointmentID) ;
ALTER TABLE HospitalizationRecords
ADD CONSTRAINT HospitalRecord_Departments_FK FOREIGN KEY
(DepartmentID) REFERENCES Departments (DepartmentID) ;
ALTER TABLE HospitalizationRecords
ADD CONSTRAINT HospitalRecord_Staff_FK FOREIGN KEY
(StaffID) REFERENCES Staff (StaffID) ;
ALTER TABLE InsuranceBilling
ADD CONSTRAINT InsuranceBilling_Patients_FK FOREIGN KEY
(PatientID) REFERENCES Patients (PatientID) ;
ALTER TABLE InsuranceBilling
ADD CONSTRAINT InsureBill_Appointments_FK FOREIGN KEY
(AppointmentID) REFERENCES Appointments (AppointmentID) ;
ALTER TABLE MedicalResourceUsage
ADD CONSTRAINT MRU_Departments_FK FOREIGN KEY
(DepartmentID) REFERENCES Departments (DepartmentID) ;
ALTER TABLE MedicalResourceUsage
ADD CONSTRAINT MRU_Patients_FK FOREIGN KEY
(PatientID) REFERENCES Patients (PatientID) ;
ALTER TABLE MedicalResourceUsage
ADD CONSTRAINT MRU_Staff_FK FOREIGN KEY
(StaffID) REFERENCES Staff (StaffID) ;
ALTER TABLE Prescriptions
ADD CONSTRAINT Prescriptions_Diagnoses_FK FOREIGN KEY
(DiagnosisID) REFERENCES Diagnoses (DiagnosisID) ;
ALTER TABLE Records
ADD CONSTRAINT Records_Appointments_FK FOREIGN KEY
(AppointmentID) REFERENCES Appointments (AppointmentID) ;
ALTER TABLE Records
ADD CONSTRAINT Records_Patients_FK FOREIGN KEY
(PatientID) REFERENCES Patients (PatientID) ;
ALTER TABLE Records
ADD CONSTRAINT Records_Staff_FK FOREIGN KEY
(StaffID) REFERENCES Staff (StaffID) ;
ALTER TABLE SatisfactionSurveys
ADD CONSTRAINT SatisfySurvey_Appointments_FK FOREIGN KEY
(AppointmentID) REFERENCES Appointments (AppointmentID) ;
ALTER TABLE Schedules
ADD CONSTRAINT Schedules_Departments_FK FOREIGN KEY
(DepartmentID) REFERENCES Departments (DepartmentID) ;
ALTER TABLE Schedules
ADD CONSTRAINT Schedules_Staff_FK FOREIGN KEY
(StaffID) REFERENCES Staff (StaffID) ;
ALTER TABLE Staff
ADD CONSTRAINT Staff_Departments_FK FOREIGN KEY
(DepartmentID) REFERENCES Departments (DepartmentID) ;
ALTER TABLE SurgeryRecords
ADD CONSTRAINT SurgeryRecords_Appointments_FK FOREIGN KEY
(AppointmentID) REFERENCES Appointments (AppointmentID) ;
ALTER TABLE SurgeryRecords
ADD CONSTRAINT SurgeryRecords_Staff_FK FOREIGN KEY
(StaffID) REFERENCES Staff (StaffID) ;
ALTER TABLE Tests
ADD CONSTRAINT Tests_Appointments_FK FOREIGN KEY
(AppointmentID) REFERENCES Appointments (AppointmentID) ;
ALTER TABLE Tests
ADD CONSTRAINT Tests_Staff_FK FOREIGN KEY
(StaffID) REFERENCES Staff (StaffID) ;
ALTER TABLE VaccinationRecords
ADD CONSTRAINT VaccinationRecords_Patients_FK FOREIGN KEY
(PatientID) REFERENCES Patients (PatientID) ;
ALTER TABLE VaccinationRecords
ADD CONSTRAINT VaccinationRecords_Staff_FK FOREIGN KEY
(StaffID) REFERENCES Staff (StaffID) ;
2.命令檔輸出
再來要分享的是資料蒐集、輸入的部分!
(目前正在趕工中,怕時間來不及所以先上傳)
以上是我今天的分享,明天還會繼續進行資料輸入(每個資料表要有太多欄位了><),希望大家喜歡我今天的分享 ~ 謝謝大家的觀看!