Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

TRƯỜ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

Họ và tên MSSV
Phạm Hữu Chiến 20216802
Bùi Quang Hưng 20216837
Nguyễn Bá Hùng 20216835
Nguyễn Đăng Khoa 20210485
Trần Anh Minh 20216856
LỜ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
1 Phần I: Đề tài nhóm 2
1.1 Tổng quan về cơ sở dữ liệu 2
1.2 Thông tin về cơ sở dữ liệu 2
2 Phần II: Thực hiện truy vấn bằng đại số quan hệ 8

1
1 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:

2
Do 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)

3
on_call(NurseID, BlockFloor, BlockCode, OnCallStart, OnCallEnd)
affiliated_with(DoctorID, DepartmentID)
patient(PatientID, Name, Address, Phone, InsuranceID, PCP)
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:

4
Tạo bảng medication:

Tạo bảng treatment:

Tạo bảng block:

Tạo bảng department:

Tạo bảng patient:

5
Tạo bảng room:

Tạo bảng appointment:

Tạo bảng trained_in:

6
Tạ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:

7
2 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 ▷◁ R2 ▷◁ 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 ▷◁ Appointment ▷◁ 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 ▷◁ prescribes)

R2 =ΠName(σName=′paracetamol′∨Name=′Sorbitol′(Medication))

8
R3 = R1 ÷ R2

Answer =ΠName(R3 ▷◁ 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 ▷◁ on_call))

R3 =ΠNurseID(R1 ▷◁ on_call)

R4 = R3 − R2

Answer =ΠNurseID,Name(R4 ▷◁ 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)

R2 =ΠPhysician(R1 ▷◁ Stay ▷◁ undergoes)

Answer =ΠName,CertificationDate(R2 ▷◁ Trained_in ▷◁ 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 ▷◁doctorID=dean Department)

R2 = ΠdoctorID(σRoomID=401(stay ▷◁ undergoes ▷◁ doctor)

Answer= ΠdoctorID,Name(R1 ▷◁ doctor ▷◁ R2)

9
7.Đư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)

R2 = ΠPatientID,TreatmentID(undergoes)

Answer = γName,COUNT(PatientID)→SL(R1 ▷◁ 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 ▷◁ prescribes)

R3 = ΠRoomNumber(σRoomType=”DeluxeRoom”(room))

R4 = ΠPatientID(R3 ▷◁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 ▷◁ Stay ▷◁ undergoes)

R2 =ΠdoctorID,patientID(doctor ▷◁doctorID=PCP patient)

R3 =γdoctorID,COUNT(patientID)→S(R1 ▷◁ R2)

Answer =ΠName,SL(R3 ▷◁ 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)

10
R2 = ΠPosition(σSL>=200(R1))

R3 = ΠName,Position(department ▷◁Dean=DoctorID doctor)

Answer =ΠName(R2 ▷◁ R3)

11
LỜ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.

12

You might also like