Hãy thực hiện khảo sát – phân tích về xử lý – thiết kế CSDL LOGIC để quản lý bệnh nhân tại một phòng khám
Trang 1BÀI TẬP LỚN MÔN HỌCPHÂN TÍCH THIẾT KẾ HỆ THỐNG
Tên đề tài:HÃY THỰC HIỆN KHẢO SÁT – PHÂN TÍCH VỀ
XỬ LÝ – THIẾT KẾ CSDL LOGIC ĐỂ QUẢN LÝ BỆNH NHÂN TẠI MỘT PHÒNG KHÁM.
Giáo viên hướng dẫn: Trương Tiến Tùng
Nhóm sinh viên thực hiện: Nhóm 12
Hà Nội , tháng 8 năn 2013
Trang 2Contents 2
Phần I: Khảo sát hệ thống 4
Phần II: PHÂN TÍCH HỆ THỐNG VỀ XỬ LÝ 5
2: Phiếu khám bệnh 13
II: Phân tích cơ sở dữ liệu logic 13
1: Xây dựng tập thuộc tính: 13
2: Tập phụ thuộc hàm: 14
3: Tìm khóa của lược đồ 15
4: Chuẩn hóa α: 16
5: Vẽ sơ đồ 18
Phần IV: Thiết kế giao diện 20
1.Phân tích các thành phần: 20
1.1 Bảng đọc: + Bệnh nhân {Ma BN, Tên BN, NS, GT, ĐC, ĐT} 20
1.2 Bảng ghi: 20
1.3 Thành phần: 20
2.Vẽ giao diện 21
Mô tả hoạt động: 21
3.Mô tả hoạt động: 22
Trang 3NHẬN XÉT CỦA GIÁO VIÊN
………
………
………
………
………
………
………
………
………
………
………
3
Trang 4………
Phần I: Khảo sát hệ thống
Phòng khám đa khoa Định Công chuyên khám chữa bệnh cho mọi người, mọi lứa tuổi và các bệnh khác nhau Khi có bệnh nhân đến yêu cầu khám bệnh, nhận viên lễ tân sẽ ghi lại thông tin bệnh nhân, và yêu cầu của bệnh nhân Nhân viên sẽ chyển đến phòng khám Mỗi bệnh nhân sẽ được cấp một mã bệnh nhận (số thứ tự) và các thông tin của bệnh nhân sẽ được lưu vào sổ y bạ Đến lượt bệnh nhân nào vào khám sẽ được gọị theo mã bệnh nhân và ghi lại kết quả khám vào phiếu khám Sổ y bạ và phiếu khám đều được phòng khám lưu lại Cuối ngày ban giám đốc phòng khám yêu cầu
Trang 5- Sổ y bạ { mã bệnh nhân, tên bệnh nhân, NS, GT, ĐC, ĐT }
- Phiếu khám { Mã phiếu khám, mã bệnh nhân, khám, kết quả, ngay tkq}
- Lập phiếu khám
- Sửa phiếu khám3: Báo cáo
- Báo cáo số lương bệnh nhân
- Báo cáo kết quả khám bệnh
b Sơ đồ phân cấp chức năng:
2.2 Sửa phiếu khám
3 Báo cáo
3.1 Báo cáo số bệnh nhân
3.2 Báo cáo kết quả khám
Trang 62 Biểu đồ luồng dữ liệu (BLD).
2.1 Biểu đồ luồng dữ liệu mức ngữ cảnh:
Phân tích:
- Tác nhân ngoài: Bệnh nhân, Quản lý
- Chức năng: Quản lý bệnh nhân (QLBN)
- Luồng dữ liệu:
+ Bệnh nhân -> QLBN : Thông tin cá nhân
+ Bệnh nhân -> QLBN: Thông tin cần sửa
+ Bệnh nhân -> QLBN: Yêu cầu khám
+ Bệnh nhân ->QLBN: Thông tin sửa
+ QLBN -> Bệnh nhân: Kết quả khám
+ Quản lý ->QLBN: yêu cầu báo cáo
+ QLBN -> Quản lý: Gửi báo cáo
Biểu đồ luồng dữ liệu mức ngữ cảnh:
Trang 7
2.2 Biểu đồ luồng dữ liệu mức đỉnh:
a Phân tích:
- Tác nhân ngoài: Bệnh nhân, Quản lý
- Chức năng: quản lý đăng ký (QL đăng ký), quản lý khám (QL Khám), Báo cáo
- Kho dữ liệu: Sổ y bạ, phiếu khám
- Luồng dữ liệu:
1: Bênh nhân -> QL đăng ký: thông tin cá nhân2: QL đăng ký -> Sổ y bạ : thông tin cá nhân vào sổ y bạ3: Bệnh nhân -> QL đăng ký: thông tin cần sửa
4: Bệnh nhân -> QL khám: Yêu cầu khám5: Sổ y bạ -> QL khám: kiểm tra bệnh nhân đã đăng ký chưa6: QL khám -> Phiếu khám: yều cầu khám vào phiếu khám7: Bệnh nhân -> QL khám: thông tin sửa
8: QL khám -> Bệnh nhân: trả kết quả khám9: QL -> Báo cáo: yêu cầu báo cáo số lượng bệnh nhân10: Sổ y bạ -> Báo cáo: Số lượng bệnh nhân
11: Báo cáo -> QL: báo cáo12: QL -> Báo cáo: yêu cầu báo cáo kết quả khám13: Phiếu khám -> Báo cáo: Kết quả khám bênh
14: Báo cáo ->QL : Báo cáo
b Biểu đồ:
7
Trang 82.3 Biểu đồ luồng dữ liệu mức dưới đỉnh:
a Biểu đồ luồng dữ liệu mức dưới đỉnh cho nhóm chức năng “QLđăng ký”
4: Sửa sổ y bạ -> Sổ y bạ : câp nhật thông tin cá nhân vào sổ y bạ
• Sơ đồ:
Trang 9b Biểu đồ luồng dữ liệu mức dưới đỉnh cho nhóm chức năng “QLKhám”
• Phân tính:
- Tác nhân ngoài: Bệnh nhân
- Chức năng: + Lập phiếu khám
+ Sửa phiếu khám
- Tác nhân trong: Không
- Kho dữ liệu: Sổ y bạ, phiếu khám
- Luồng dữ liệu:
1:Bệnh nhân -> lập phiếu khám: Yêu cầu khám
2: Sổ y bạ -> lâp phiếu khám: kiểm tra bệnh nhân đã đăng ký chưa
3: Lập phiếu khám -> Phiếu khám: yêu cầu khám vào phiếu khám
4: Bệnh nhân -> Sửa phiếu khám: thông tin sửa
5 : Sửa phiếu khám -> Phiếu khám: cập nhận thông tin sửa vào phiếu khám
6: Sửa phiếu khám -> Bệnh nhân: trả kết quả khám
9
Trang 10- Chức năng: + Báo cáo số lượng bệnh nhân (bc sl bệnh nhân)
+ Báo cáo kết quả khám (bc kq khám)
- Tác nhân trong: Không
- Kho dữ liệu: Sổ y bạ, phiếu khám
- Luồng dữ liệu:
1: QL -> Báo cáo số lượng bệnh nhân: yêu cầu báo cáo số lượng bênh nhân
2: Sổ y bạ -> Báo cáo số lượng bệnh nhân: Số lượng bênh nhân
3: Báo cáo số lượng bệnh nhân -> QL: báo cáo
4: QL -> Báo cáo kết quả khám: yếu cầu báo cáo kết quả khám
5: Phiếu khám -> Báo cáo kết quả khám: Kết quả khám bênh
Trang 11• Sơ đồ:
11
Trang 12Phần III: Phân tích và thiết kế cơ sở logic
I: Tài liệu nguồn:
1: Sổ y bạ.
Sổ y bạ
Mã bệnh nhân:………
Tên bệnh nhân:………
Ngày sinh:………/……… /……….
Giới tính:……….
Địa chỉ:……….
Điện thoại:………
Ngày tháng năm
Trang 14Loại bỏ các thuộc tính: STT, Mã bệnh nhân, sổ y bạ, phiếu khám
Thêm thuộc tính: Số sổ y bạ (So SYB)
Ta có tập thuộc tính:
U= {So SYB, Ma BN, Tên BN, NS, GT, ĐC, ĐT, Ngày, Ma PK, Khám, Kết quả, Ngày tkq}
Trang 15F = { Ma PK, Ngày tkq} không chứa “Khám, Kết quả”
=> Không có thuộc tính dư thừa vế trái
- Vế phải kiểm tra trùng: không trùng
Trang 16Chuẩn hóa ở 3NF :
Trang 17+ F1 = {Ma BN-> Tên BN, NS, GT, ĐC, ĐT}
+ K α1 = Ma BN
- α2 : + U2 = {So SYB, Ma BN, Ngày}
+ F2 = {So SYB ->Ma BN, Ngày}
+ K α2 = so SYB
- α3: + U3 = {Ma PK, Ngày tkq}
+ F3 = {Ma PK -> Ngày tkq}
+K α3 =Ma PK
- α4: + U4 = {Ma BN, Ma PK, Khám, Kết quả}
+ F4 = {Ma BN, Ma PK -> Khám, Kết quả}
+ K α4 = Ma BN, Ma PK
17
Trang 19* Ràng buộc khóa chính:
Bệnh nhân Ma BN
Sổ y bạ Số SYBKết quả [Ma BN, Ma PK]
Phiếu khám Ma PK
* Ràng buộc quan hệ:
Sổ y bạ Ma BN là tập con Bệnh nhân.MaBNKết quả Ma BN là tập con Bệnh nhân.MaBNKết quả Ma PK là tập con Phiếu khám Ma PK
19
Trang 201 Phân tích các thành phần:
1.1 Bảng đọc: + Bệnh nhân {Ma BN, Tên BN, NS, GT, ĐC, ĐT}
+ Phiếu khám {Ma PK, Ngày tkq}
1.2 Bảng ghi:
Sổ y bạ {Ma SYB, Ma BN, Ngày}
Kết quả {Ma BN, Ma PK, Khám, Kết quả}
1.3 Thành phần:
- Nhãn: [Khám bệnh], [ Mã bệnh nhân], [Tên bệnh nhân], [Ngày sinh], [Giới tính], [Địa chỉ], [Điện thoại], [Số sổ y bạ], [Ngày], [Mã phiếu khám], [Ngày trả kết quả], [Khám], [ Kết quả]
- Hộp nhập liệu: < Số sổ y bạ>, <ngày>, <khám>, <kết quả>
- Ô chọn: Bệnh nhân.<Ma BN>; Phiếu khám.<Ma PK>
- Nút chọn: [Nữ ], [Nam]
- Lưới dữ liệu: {Mã bệnh nhâ, Số sổ y bạ, Mã phiếu khám, Khám, Kết quả}
- Nút lệnh: “kiểm tra”: Kiểm tra các thông tin vừa nhập
“ Cập nhật”: ghi lại các thông tin vừa nhập vào cơ sở dữ liệu
“ Thoát” : Thoát khỏi chương trình
Trang 22+ Kích hoạt tất cả
+ Ngần định: Ngày= <ngày> = Date()
+ Con trỏ: là nới đầu tiên nhập dữ liệu <Ma BN>
- Chế độ động:
+ Bệnh nhân<Ma BN>: được chọn thì các Label [Tên bệnh nhân: ]; [Ngày sing: ]; [Địa chỉ: ]; [Điện thoại: ] hiện lên thông tin bệnh nhântương ứng với mã bệnh nhân đã chọn
+ Phiếu khám<Ma PK>: được chọn sẽ hiện lên ngày trả kết quả trong
<ngày trả kết quả>
+ <Số SYB>: được chọn thì <ngày> tự động ngầm định
+ <Giới tính>: Chọn là <Nam> hoặc <Nữ>
- Nút “Kiểm tra”:
+ Kiểm tra các thông tin có bị bỏ trống
+ Nạp các thông tin xuống lưới hiện thị {Ma BN, So SYB, Ma PK,
Kham, Kết quả}
+ Xóa trắng các trường: {Ma BN, Giới tính, So SYB, Ma PK, Kham, Kếtquả}