TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC BỘ MÔN: CƠ SỞ DỮ LIỆU ĐỀ TÀI: HEALTHCARE GV hướng dẫn: TS.. Khoa học phát triển với sự gia tăng 25% / năm đã thu hút một bộ p
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC
BỘ MÔN: CƠ SỞ DỮ LIỆU
ĐỀ TÀI: HEALTHCARE
GV hướng dẫn: TS Nguyễn Thị Thanh Huyền
Nhóm 12
Trang 2LỜI MỞ ĐẦU Cuộc cách mạng khoa học kỹ thuật phát triển như vũ bão ngày nay là cuộc cách mạng công nghệ Khoa học phát triển với sự gia tăng 25% / năm đã thu hút một bộ phận lớn nhân lực vào lĩnh vực này làm cho đội ngũ những người làm khoa học gia tăng nhanh chóng Lực lượng những người làm khoa học tăng lên theo cấp số cộng kéo theo tài liệu khoa học và những sản phẩm nghiên cứu của họ tăng lên theo cấp số nhân Tất cả đã tạo nên một khối lượng thông tin khổng lồ và không ngừng phát triển, dẫn đến bùng nổ thông tin
Nhà quản lý, các nhà nghiên cứu, các nhà công nghệ, các nhà giáo dục, các nhà sản xuất kinh doanh không chỉ là người dùng tin mà còn là những người sản xuất ra thông tin mới Sự gia tăng nhanh chóng khối lượng tri thức khoa học tác động mạnh mẽ tới các hoạt động của các cơ quan thông tin – thư viện như cơ cấu của kho tài liệu, làm cho số lượng và chủng loại tài liệu tăng lên gấp bội
Thêm vào đó, nhu cầu đòi hỏi rút ngắn đáng kể thời gian hữu ích của tài liệu làm cho các nhà quản lý phải thường xuyên bổ sung vốn tài liệu và không ngừng phải xử lý chúng, hoặc bằng thủ công, hoặc bằng tự động hóa Chính vì vậy càng khiến cho sự cần thiết phải xây dựng và sử dụng thành thạo một công cụ có khả năng thực hiện các thao tác quản lý, kiểm soát lưu lượng dữ liệu khổng lồ trở thành mối quan tâm hàng đầu của thời đại Qua đó để thấy được tầm quan trọng to lớn của việc truyền đạt kiến thức về cơ sở dữ liệu cho những nhân lực chất lượng cao trong tương lai, đào tạo những kỹ sư tin học với kiến thức và kỹ năng tốt để xử lý những khối dữ liệu phức tạp
Mục lục
Trang 31 Phần I: Đề tài nhóm
1.1 Tổng quan về cơ sở dữ liệu
- Bài toán thực tiễn:
Về lĩnh vực y tế, chăm sóc sức khỏe cũng như điều trị, chuẩn đoán các căn bệnh ở người, vì vậy lượng thông tin, dữ liệu của bệnh nhân, của bác sĩ, của bệnh viện là rất lớn nên việc quản lý, thao tác và lưu trữ là rất cần thiết Nhóm thiết kế một cơ sở dữ liệu mô phỏng cơ cấu hoạt động của một trung tâm y tế
1.2 Thông tin về cơ sở dữ liệu
Sơ đồ phân rã chức năng:
Mô hình thực thể liên kết:
Trang 4Do không biểu diễn được hết các mối liên kết giữa các kiểu thực thể nên chúng em bổ sung thêm vào bảng bên dưới:
Ánh xạ từ mô hình thực thể liên kết sang mô hình dữ liệu quan hệ:
doctor(DoctorID, Name, Position, SSN)
medication(MedicationID, Name, Brand, Description)
nurse(EmployeeID, Name, Position, SSN)
treatment(TreatmentID, Name, Cost) block(BlockFloor,
BlockCode)
trained_in(DoctorID, TreatmentID, CertificationDate, CertificationExpires)
department(DepartmentID, Name, Dean)
Trang 5on_call(NurseID, BlockFloor, BlockCode, OnCallStart, OnCallEnd)
affiliated_with(DoctorID, DepartmentID)
appointment(AppointmentID,PatientID, PrepNurseID, DoctorID, Start, End, ExaminationRoom)
prescribes(DoctorID, PatientID, MedicationID, Date, AppointmentID, Dose)
room(RoomNumber, RoomType,BlockFloor, BlockCode, Unavailable) stay(StayID,
PatientID, RoomID, StayStart, StayEnd)
undergoes(PatientID, TreatmentID, StayID, DateUndergoes,Physician,
AssistingNurse)
Thiết lập quan hệ dữ liệu:
Tạo lập các bảng:
Tạo bảng doctor:
Tạo bảng nurse:
Trang 6Tạo bảng medication:
Tạo bảng treatment:
Tạo bảng block:
Tạo bảng department:
Tạo bảng patient:
Trang 7Tạo bảng room:
Tạo bảng appointment:
Tạo bảng trained_in:
Trang 8Tạo bảng on_call:
Tạo bảng affiliated _with:
Tạo bảng prescribes:
Tạo bảng stay:
Tạo bảng undergoes:
Trang 92 Phần II: Thực hiện truy vấn bằng đại số quan hệ
1 Đưa ra ID và Tên bệnh nhân và số phòng ở của bệnhnhân đã ở lại bệnh viện điều trị từ ngày 5/11/20019 đến ngày 20/11/2019:
R1 =ΠΠpatientID,RoomID (σ StayStart=Π′5/11/2019′∧StayEnd=Π′20/11/2019′(Stay))
R2 =ΠΠpatientID,Name (Patient)
R3 =ΠΠRoomNumber (Room)
Answer= ΠpatientID,Name,RoomNumber (R1 ▷◁ R R2 ▷◁ R R3)
2 Đưa ra thời gian và địa điểm bác sĩ có tên ‘Jonny Sins Hieu’sẽ gặp bệnh nhân mà không ở lại bệnh viện điều trị:
R1 =ΠΠDoctorID (σ Name=Π′JohnnySinsHieu′(Doctor))
R2 =ΠΠPatientID (Patient)− π PatientID (Stay)
Answer=ΠStart,End,ExaminationRoom (R1 ▷◁ R Appointment ▷◁ R R3)
3 Đưa ra tên tất cả các bệnh nhân được kê thuốc bao gồm cả
2 loại thuốc là ‘paracetamol’ và ‘sorbitol’:
R1 =ΠΠpatientID,Name (medication ▷◁ R prescribes)
R2 =ΠΠName (σ Name=Π′paracetamol′∨Name=Π′Sorbitol′(Medication))
Trang 10R3 =Π R1 ÷ R2
Answer =ΠName (R3 ▷◁ R patient)
4 Đưa ra tên và ID y tá trực phòng bệnh khu vực 2 có tên phòng là cấp cứu
mà đang không trong giờ trực lúc 8h:
R1 =Π σ RoomType=Π′CapCuu′∧blockfloor=Π2 (Room)
R2 =ΠΠNurseID (σ OnCallStart<=Π8∧OnCallEnd>=Π8 (R1 ▷◁ R on _call))
R3 =ΠΠNurseID (R1 ▷◁ R on _call)
R4 =Π R3 − R2
Answer =ΠNurseID,Name (R4 ▷◁ R Nurse)
5.Đưa ra tên bác sĩ và tên nơi đào tạo cùng thời gian đào tạo của bác sĩ phụ trách phòng bệnh ở khu vực 3 và có tên ‘Điều dưỡng’
R1 =Π σ RoomType=Π′DieuDuong′∧blockfloor=Π3 (Room)
Answer =ΠName,CertificationDate (R2 ▷◁ R Trained _in ▷◁ R treatment)
6.Đưa ra tên, ID của bác sĩ là trưởng khoa 1 khoa nào đó và phụ trách chữa bệnh cho 1 bệnh nhân trong phòng 401:
R1 =Π ΠdoctorID (doctor ▷◁ R doctorID=Πdean Department)
R2 =Π ΠdoctorID (σ RoomID=Π401 (stay ▷◁ R undergoes ▷◁ R doctor)
Answer= ΠdoctorID,Name (R1 ▷◁ R doctor ▷◁ R R2)
Trang 117.Đưa ra tên bênh nhân và số người điều trị của căn bệnh có mức phí điều trị cao nhất
R1 =Π γ TreatmentID,Name,Max(cost)→Max (treatment)
Answer = γ Name,COUNT(PatientID)→SL (R1 ▷◁ R R2)
8 Đếm số bệnh nhân điều trị ở phòng cao cấp và được kê đơnthuốc kháng sinh:
R1 =Π ΠMedicationID (σ Name=Π”Antibiotics” (medication))
R2 =Π ΠPatientID (R1 ▷◁ R prescribes)
R3 =Π ΠRoomNumber (σ RoomType=Π”DeluxeRoom” (room))
R4 =Π ΠPatientID (R3 ▷◁ R RoomNumber=ΠRoomID stay)
Answer = γ COUNT (ParienID) (R2 ∩ R4)
9 Đưa ra tên các bác sĩ trong khoa chấn thương chỉnh hình vàđếm số bệnh nhân mỗi người phụ trách:
R1 =ΠdoctorID,patientID (doctor ▷◁ R Stay ▷◁ R undergoes)
R2 =ΠdoctorID,patientID (doctor ▷◁ R doctorID=ΠPCP patient)
R3 =γ doctorID,COUNT(patientID)→S (R1 ▷◁ R R2)
Answer =ΠName,SL (R3 ▷◁ R doctor)
10.Chỉ ra tên của trưởng khoa thuộc chuyên ngành có số lượng nhiều hơn
200 bác sĩ:
R1 =Π γ Position,COUNT(DoctorID)→SL (doctor)
Trang 12R2 =Π ΠPosition (σ SL>=Π200 (R1))
R3 =Π ΠName,Position (department ▷◁ R Dean=ΠDoctorID doctor)
Answer =ΠName (R2 ▷◁ R R3)
Trang 13LỜI CẢM ƠN Đầu tiên, em xin gửi lời cảm ơn chân thành đến Trường Đại học Bách Khoa
Hà Nội đã đưa môn học Cơ sở dữ liệu vào trương trình giảng dạy Đặc biệt,
em xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn - cô Nguyễn Thị Thanh Huyền đã dạy dỗ, truyền đạt những kiến thức quý báu cho em trong suốt thời gian học tập vừa qua Trong thời gian tham gia lớp học Kỹ năng giao tiếp của thầy/cô, em đã có thêm cho mình nhiều kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc Đây chắc chắn sẽ là những kiến thức quý báu, là hành trang để em có thể vững bước sau này
Bộ môn Cơ sở dữ liệu là môn học thú vị, vô cùng bổ ích và có tính thực tế cao Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ Mặc dù em đã cố gắng hết sức nhưng chắc chắn bài tiểu luận khó có thể tránh khỏi những thiếu sót và nhiều chỗ còn chưa chính xác, kính mong thầy/cô xem xét và góp ý để bài tiểu luận của
em được hoàn thiện hơn