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
VIỆN ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN MÔN HỌC PHÂ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 năn 2013 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống Mục Lục Contents Contents Phần I: Khảo sát hệ thống Phần II: PHÂN TÍCH HỆ THỐNG VỀ XỬ LÝ 2: Phiếu khám bệnh 13 II: Phân tích sở 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 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 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 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống NHẬN XÉT CỦA GIÁO VIÊN ……………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… …………………………………………………………………………………… Phần I: Khảo sát hệ thống Mô tả hoạt động hệ thống Phòng khám đa khoa Định Công chuyên khám chữa bệnh cho người, lứa tuổi bệnh khác Khi có bệnh nhân đến yêu cầu khám bệnh, nhận viên lễ tân ghi lại thông tin bệnh nhân, yêu cầu bệnh nhân Nhân viên chyển đến phòng khám Mỗi bệnh nhân cấp mã bệnh nhận (số thứ tự) thông tin bệnh nhân lưu vào sổ y bạ Đến lượt bệnh nhân vào khám gọị theo mã bệnh nhân ghi lại kết khám vào phiếu khám Sổ y bạ phiếu khám phòng khám lưu lại Cuối ngày ban giám đốc phòng khám yêu cầu báo cáo việc khám chữa bệnh , nhân viện làm báo cáo số lượng bệnh nhân khám ngày gửi lại ban giám đốc Tập tài liệu mà hệ thống sử dụng: Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống - 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ả, tkq} Phần II: PHÂN TÍCH HỆ THỐNG VỀ XỬ LÝ Biểu đồ phân cấp chức năng: a Các thành phần tham gia: 1: Quản lý đăng ký - Lập sổ y bạ - Sửa sổ y bạ 2: Quản lý khám - Lập phiếu khám - Sửa phiếu khám QLBN 3: Báo cáo - Báo cáo số lương bệnh nhân - Báo cáo kết khám bệnh b Sơ đồ phân cấp chức năng: QL Khám QL đăng ký 1.1 Lập sổ y bạ 1.2 Sửa sổ y bạ 2.1 Lập phiếu khám Báo cáo 2.2 Sửa phiếu khám 3.1 Báo cáo số bệnh nhân 3.2 Báo cáo kết khám Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống Biểu đồ luồng liệu (BLD) 2.1 Biểu đồ luồng 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 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 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 liệu mức ngữ cảnh: Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống 2.2 Biểu đồ luồng 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 liệu: Sổ y bạ, phiếu khám - Luồng liệu: 1: Bênh nhân -> QL đăng ký: thông tin cá nhân 2: 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ám 5: Sổ y bạ -> QL khám: kiểm tra bệnh nhân đăng ký chưa 6: QL khám -> Phiếu khám: yều cầu khám vào phiếu khám 7: Bệnh nhân -> QL khám: thông tin sửa 8: QL khám -> Bệnh nhân: trả kết khám 9: QL -> Báo cáo: yêu cầu báo cáo số lượng bệnh nhân 10: Sổ y bạ -> Báo cáo: Số lượng bệnh nhân 11: Báo cáo -> QL: báo cáo 12: QL -> Báo cáo: yêu cầu báo cáo kết khám 13: Phiếu khám -> Báo cáo: Kết khám bênh 14: Báo cáo ->QL : Báo cáo b Biểu đồ: Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống 2.3 Biểu đồ luồng liệu mức đỉnh: a Biểu đồ luồng liệu mức đỉnh cho nhóm chức “QL - đăng ký” • Phân tính: Tác nhân ngoài: Bệnh nhân Chức năng: + Lập sổ y bạ + Sửa sổ y bạ Tác nhân trong: Không Kho liệu: Sổ y bạ Luồng liệu: 1: Bệnh nhân -> Lập sổ y bạ: thông tin cá nhân 2: Lập sổ y bạ -> Sổ y bạ : thông tin cá nhân vào sổ y bạ 3: Bệnh nhân -> Sửa sổ y bạ: thông tin cần sửa 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ơ đồ: Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống b Biểu đồ luồng liệu mức đỉnh cho nhóm chức “QL - Khá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 liệu: Sổ y bạ, phiếu khám Luồng 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 : 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 khám Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống • Sơ đồ: c Biểu đồ luồng liệu mức đỉnh cho nhóm chức - “QL” • Phân tính: Tác nhân ngoài: QL 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 khám (bc kq khám) Tác nhân trong: Không Kho liệu: Sổ y bạ, phiếu khám Luồng 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 khám: yếu cầu báo cáo kết khám 5: Phiếu khám -> Báo cáo kết khám: Kết khám bênh 6: Báo cáo kết khám ->Ql: Báo cáo 10 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống • Sơ đồ: 11 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống Phần III: Phân tích thiết kế 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 12 tháng năm Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống 2: Phiếu khám bệnh PHIẾU KHÁM BỆNH Mã phiếu khám:………………………………… Mã bệnh nhân:…………………………………… Stt Khám Kết Ngày … tháng … năm… II: Phân tích sở liệu logic 1: Xây dựng tập thuộc tính: Tên thuộc tính Viết tắt Sổ y bạ Sổ y bạ 13 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống Mã bệnh nhân Ma BN Tên bệnh nhân Tên BN Ngày sinh NS Giới tính GT Địa ĐC Điện thoại ĐT Ngày Ngày Phiếu khám Phiếu khám Mã phiếu khám Ma PK Mã bệnh nhân Ma BN STT STT Khám Khám Kết Kết Ngày trả kết Ngày tkq Loại bỏ 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} 2: Tập phụ thuộc hàm: F= { Ma BN-> Tên BN, NS, GT, ĐC, ĐT; 14 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống So SYB -> Ma BN, Ngày; Ma PK -> Ngày tkq; Ma BN, Ma PK -> Khám, Kết quả} Rút gọn tập phụ thuộc hàm: - Xét phụ thuộc hàm: Ma BN, Ma PK ->Khám, kết + (Ma BN)+F = { Ma BN, NS, GT, ĐC, ĐT } không chứa “Khám, Kết quả” + (Ma PK)+F = { 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 Ftt = { Ma BN-> Tên BN, NS, GT, ĐC, ĐT; So SYB -> Ma BN, Ngày; Ma PK -> Ngày tkq; Ma BN, Ma PK -> Khám, Kết quả} 3: Tìm khóa lược đồ α = (U, Ftt) Ta có : U= {So SYB, Ma BN, Tên BN, NS, GT, ĐC, ĐT, Ngày, Ma PK, Khám, Kết quả, Ngày tkq} Ftt = { Ma BN-> Tên BN, NS, GT, ĐC, ĐT; So SYB -> Ma BN, Ngày; 15 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống Ma PK -> Ngày tkq; Ma BN, Ma PK -> Khám, Kết quả} => Kα = {Ma BN, Ma PK, So SYB} Vì: + (Ma BN)+F = { Ma BN, Tên BN, NS, GT, ĐC, ĐT } + (Ma PK)+F = { Ma PK, Ngày tkq} + (So SYB)+F = {So SYB, Ma BN, Ngày} + (Ma BN, Ma PK)+F = { Ma BN, Ma PK, Khám, Kết quả} =U 4: Chuẩn hóa α: Ta xét: f1 = Ma BN-> Tên BN, NS, GT, ĐC, ĐT K= {Ma BN, Ma PK, So SYB} (Ma BN)+F = { Ma BN, Tên BN, NS, GT, ĐC, ĐT } ≠ U Vế phải: R= { Ma BN, Tên BN, NS, GT, ĐC, ĐT } tập K Vậy f1 vi phạm điều kiện 3NF hay lược đồ quan hệ bệnh nhân 3NF Chuẩn hóa 3NF : Ta tách α = {α1, α2, α3, α4} (Bệnh nhân, Sổ Y bạ, Phiếu khám, kết quả) - α1 : + U1 = { Ma BN, Tên BN, NS, GT, ĐC, ĐT} 16 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống + 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 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống 5: Vẽ sơ đồ 18 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống * Ràng buộc khóa chính: Bệnh nhân Ma BN Sổ y bạ Số SYB Kết [Ma BN, Ma PK] Phiếu khám Ma PK * Ràng buộc quan hệ: Sổ y bạ Ma BN tập Bệnh nhân.MaBN Kết Ma BN tập Bệnh nhân.MaBN Kết Ma PK tập Phiếu khám Ma PK 19 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống Phần IV: Thiết kế giao diện Phân tích 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 {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ạ>, , , - Ô chọn: Bệnh nhân.; Phiếu khám. - Nút chọn: [Nữ ], [Nam] - Lưới 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 thông tin vừa nhập “ Cập nhật”: ghi lại thông tin vừa nhập vào sở liệu “ Thoát” : Thoát khỏi chương trình 20 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống Vẽ giao diện Hồ sơ bệnh nhân [Khám bệnh] [ Mã bệnh nhân] nha sinh: … [Tên bệnh nhân: … ] Ma benh [Ngày [Giới tính]: Nữ ][Địa chỉ: ] [Điện thoại: … ] Nam [Số sổ y bạ]: [Ngày]: [Mã phiếu khám]: [Ngày trả kết quả]: [Khám] : [ Kết quả]: Ma phieu kham quả> Mã Bênh nhânSố sổ y bạMã phiếu[...]... Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống 2: Phiếu khám bệnh PHIẾU KHÁM BỆNH Mã phiếu khám: ………………………………… Mã bệnh nhân: …………………………………… Stt Khám Kết quả Ngày … tháng … năm… II: Phân tích cơ sở dữ liệu logic 1: Xây dựng tập thuộc tính: Tên thuộc tính Viết tắt Sổ y bạ Sổ y bạ 13 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống Mã bệnh nhân Ma BN Tên bệnh nhân Tên BN... Thiết Kế Hệ Thống 2 Vẽ giao diện Hồ sơ bệnh nhân [Khám bệnh] [ Mã bệnh nhân] nha sinh: … [Tên bệnh nhân: … ] Ma benh [Ngày [Giới tính]: Nữ ][Địa chỉ: ] [Điện thoại: … ] Nam [Số sổ y bạ]: [Ngày]: [Mã phiếu khám] : [Ngày trả kết quả]: [Khám] : [ Kết quả]: Ma phieu kham quả> Mã Bênh nhânSố sổ y bạMã phiếu, , , - Ô chọn: Bệnh nhân. ; Phiếu khám. - 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 20 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết... Ma PK, Khám, Kết quả} =U 4: Chuẩn hóa α: Ta xét: f1 = Ma BN-> Tên BN, NS, GT, ĐC, ĐT K= {Ma BN, Ma PK, So SYB} (Ma BN)+F = { Ma BN, Tên BN, NS, GT, ĐC, ĐT } ≠ U Vế phải: R= { Ma BN, Tên BN, NS, GT, ĐC, ĐT } không phải là tập con của K Vậy f1 vi phạm điều kiện của 3NF hay lược đồ quan hệ bệnh nhân không phải là 3NF Chuẩn hóa ở 3NF : Ta tách α = {α1, α2, α3, α4} (Bệnh nhân, Sổ Y bạ, Phiếu khám, kết... ĐT; 14 Khoa CNTT - Viện Đại Học Mở Hà Nội BTL: Phân Tích Thiết Kế Hệ Thống So SYB -> Ma BN, Ngày; Ma PK -> Ngày tkq; Ma BN, Ma PK -> Khám, Kết quả} Rút gọn tập phụ thuộc hàm: - Xét phụ thuộc hàm: Ma BN, Ma PK - >Khám, kết quả + (Ma BN)+F = { Ma BN, NS, GT, ĐC, ĐT } không chứa Khám, Kết quả” + (Ma PK)+F = { 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