Tình hình hoạt động tại Bệnh viện đa khoa tỉnh Hải Dương

LỜI NÓI ĐẦU 1

CHƯƠNG I: GIỚI THIỆU NỘI DUNG ĐỀ TÀI 2

I. GIỚI THIỆU HỆ THỐNG 2

 1. Nhiệm vụ của hệ thống quản lý bệnh viện 2

 2. Tổ chức của bệnh viện đa khoa tỉnh Hải Dương 2

3. Những yêu cầu cần giải quyết 3

4. Hướng phát triển của hệ thống quản lý bệnh nhân hiện nay. 4

 II HƯỚNG THỰC THI ĐỀ TÀI . 4

CHƯƠNG II. GIỚI THIỆU NGÔN NGỮ CÀI ĐẶT HỆ THỐNG 6

I. GIỚI THIỆU CHUNG VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU VÀ SQL SERVER 2000 6

I.1 Hệ quản trị cơ sở dữ liệu là gì? 6

I.2 Giới thiệu chung về SQL Server 2000 6

1. Các thành phần của SQL Server 2000. 7

2. Các đối tượng cơ sở dữ liệu 8

 

3. Giới thiệu một số đối tượng cơ sở dữ liệu SQL Server 9

4. Kiểu dữ liệu - Data Type 10

5. Một số phát biểu cơ bản của T-SQL 11

6. Khái niệm về đối tượng trong SQL và cách tạo đối tượng

trong SQL Server 2000 12

II. GIỚI THIỆU VỀ VISUAL BASIC 6.0 VÀ CƠ SỞ DỮ LIỆU TRONG VISUAL BASIC 6.0. 16

II.1 Giới thiệu chung về Visua Basic 16

II.2 ADO là gì ? 16

II.3 Các thuộc tính đặc biệt của đối tượng ADO 17

CHƯƠNG III. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 18

I. PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG 18

I.1Biểu đồ phân cấp chức năng 18

1. Biểu đồ phân cấp chức năng là gì ? 18

2. Đặc điểm của biểu đồ phân cấp chức năng: 18

I.2 Biểu đồ luồng dữ liệu 19

1. Biểu đồ luồng dữ liệu là gì ? 19

2. Kỹ thuật phân mức 19

II. PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU 23

II.1 Mô hình thực thể/liên kết 23

1. Khái niêm mô hình thực thể/liên kết 23

2. Các loại mô hình E/A 23

II.2. Mô hình quan hệ 26

1. Khái niệm 26

2. Các dạng chuẩn của lược đồ quan hệ 26

 

doc48 trang | Chia sẻ: huong.duong | Lượt xem: 1596 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Tình hình hoạt động tại Bệnh viện đa khoa tỉnh Hải Dương, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
dữ liệu (Data type): Khi xây dựng cơ sở dữ liệu tất cả các trường trong bảng cần phải có kiểu dữ liệu cụ thể. Vấn đề là chọn dữ liệu nào cho phù hợp với dữ liệu mà người dùng sẽ nhập vào. Giá trị mặc nhiên (Default): Gán giá trị mặc nhiên cho những cột không có giá trị. IDENTITY: Đây là giá trị cực kỳ quan trọng trong SQL Server. Khi chúng ta muốn một cột có giá trị tự động tăng. NULL | NOT NULL: Là trạng thái của một cột có cho phép null hay không. Ràng buộc (Column constrain): Kiểm tra dữ liệu khi dữ liệu mới được đưa vào cột hoặc dữ liệu bị thay đổi. Ràng buộc bảng dữ liệu (TABLE CONSTRAINTS): Ràng buộc bảng cũng giống như ràng buộc cột trong bảng, là kiểm tra dữ liệu nhập vào bảng theo một quy luật đã định sẵn. Song cũng có thể tạo bảng bằng giao diện đồ họa như tạo cơ sở dữ liệu. Trong khi xây dựng bảng dữ liệu cần chú ý đến các trường khóa. c. Tạo view View là bảng ảo và cũng như với bảng view cũng có thể tạo được bằng mã lệnh cũng như giao diện đồ họa View cho phép kết nối nhiều bảng với nhau để hiển thi thông tin. d. Tạo thủ tục lưu trữ (Stored Procedure hay sp) Stored Procedure là một phần cực kỳ quan trọng trong cơ sở dữ liệu SQL Server. Nếu biết SQL Server mà không biết Stored Procedure là một thiếu sót rất lớn. Cú pháp để tạo một Stored Procedure như sau: CREATE PROCEDURE | PRO [ [VARYING] [=][OUT PUT], [ [VARYING] [=][OUT PUT][, ............ ............ [WITH RECOMPILE | ENCRIPTION | RECOMPILE, ENCRIPTION] [FOR REPLICATION] AS GO Đó là cú pháp đầy đủ để tạo một Stored Procedure song ta có thể tạo Stored Procedure bằng giao diện đồ họa Ví dụ tạo một Stored Procedure đơn giản USE dbBENHNHAN GO Create proc Sp_NhapXa @MaXa nchar(9), @TenXa char(30), @MaHuyen nchar(6) AS Insert Into tblXa ( MaXa, TenXa,MaHuyen ) Values ( @MaXa,@TenXa,@MaHuyen ) --------------------------------------------------- GO Trên đây ta trình bày một Stored Procedure dùng để nhập một xã vào bảng tblXa. e. Tạo hàm (Function) Tương tự như Stored Procedure hàm cũng có thể tạo bằng giao diện đề họa cũng như mã lệnh, song với hàm giá trị trả về là đa dạng hơn và giá trị trả về này có thể là một bảng. Ví dụ tạo hàm thống kê bệnh nhân theo tỉnh, hàm này trả về một bảng chứa thông tin về các bệnh nhân trong tỉnh CREATE FUNCTION udf_ThongKeBenhNhanTheoTinh (@TenTinh Char(30)) RETURNS Table ------------------------------------- AS --------------------- Return Select * From tblBenhNhan Where tblBenhNhan.MaXa in -- thuoc xa (Select MaXa From tblXa Where tblXa.MaHuyen in --thuoc huyen (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh in -- thuoc tinh ( Select MaTinh From tblTinh Where tblTinh.TenTinh=@TenTinh))) ---------------------------------------------- II. giới thiệu về Visual Basic 6.0 và cơ sở dữ liệu trong Visual Basic 6.0. II.1 Giới thiệu chung về Visua Basic Visua Basic là một trong những ngôn ngữ lập trình bậc cao thông dụng nhất hiện nay, là một sản phẩm của Microsoft. Nó cũng giống như hầu hết các ngôn ngữ lập trình bậc cao khác, trong Visua Basic chứa đầy đủ các câu lệnh cần thiết, các hàm xây dựng sẵn,… Ngoài ra Visual Basic chứa một số phương tiện giúp cho việc áp dụng kỹ thuật hướng đối tượng trong việc truy cập dữ liệu. Trong Visual Basic có rất nhiều phương pháp truy cũng như các đối tượng truy cập dữ liệu như: ADO, ADODB, DAO, ... nói chung các đối tượng này có những thuộc tính tương đối giống nhau. Trong luận văn này em chủ yếu đi sâu vào đối tượng ADO. Vì ADO là một công cụ truy cập dữ liệu rất hữu hiệu và ADO cũng được cài đặt trong chương trình. II.2 ADO là gì ? ADO (Activex Data Object hay đối tượng dữ liệu ActiveX). Ta có thể hình dung rằng ADO là một mô hình làm giảm kích thước của mô hình RDO (Đối tượng dữ liệu từ xa). Mô hình đối tượng dữ liệu ActiveX rất gọn. Nó được thiết kế để cho phép lập trình viên lấy được một tập các Record từ nguồn dữ liệu một cách nhanh nhất nếu có thể. Tốc độ và tính đơn giản là một trong những mục tiêu cốt lõi của ADO, mô hình này được thiết kế để cho phép tạo ra một đối tượng Recordset mà không cần phải di chuyển qua các đối tượng trung gian khác trong quá trình lập trình. Thực tế chỉ có ba đối tượng chính trong mô hình: Connection: Đại diện kết nối thực sự. Command: Được sử dụng để thực thi các query dựa vào kết nối dữ liệu. Recordset: Đại diện cho một tập các Record được chọn query thông qua đối tượng Command. Đối tượng Connection chứa một tập các đối tượng còn gọi là các đối tượng Errors đối tượng này giữ lại bất kỳ một thông tin lỗi nào có liên quan đến kết nối. Đối tượng Command có một tập các đối tượng con là Paramenters để giữ bất cứ tham số nào có thể thay thế cho query. Recordset cũng có một tập các đối tượng con Properties để lưu các thông tin chi tiết về đối tượng. Connection Command Parameter Recorset Fields Error Sơ đồ mô hình ActiveX Data Object II.3 Các thuộc tính đặc biệt của đối tượng ADO Mô hình ADO có một số thuộc tính mà các mô hình cơ sở dữ liệu khác như DAO và RDO không có. Các thuộc tính này điều khiển cách thức tạo ra Dataset và quyền hạn truy cập trong một kết nối dữ liệu, có bảy thuộc tính như sau: Connection String (Chuỗi kết nối) Command Texxt (Văn bản câu lệnh) Command Type (Kiểu câu lệnh) Cursor Location (Định vị con trỏ) Cursor Type (Kiểu con trỏ) Look Type (Kiểu khóa) Mode Type (Kiểu chế độ làm việc) Ví dụ: Để tạo kết nối đến cơ sở dữ liệu SQL Server với tên cơ sở dữ liệu dbBenhNhan ta có mã lệnh như sau: Public Sub OpenConnection() ' Tạo kết nối đến nguồn dữ liệu Set cn = New ADODB.Connection cn.Provider = "SQLOLEDB.1;" cn.ConnectionString = " Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=dbBenhNhan" cn.Open End Sub Ngoài ra trong Visual Basic còn chứa một số kiểu dữ liệu thông dụng khác cũng như Visual Basic cho phép lập trình viên tự định nghĩa kiểu và cũng như hầu hết các ngôn ngữ lập trình khác, ngoài ra Visual Basic còn có các câu lệnh chuẩn khác, ... Chương III. Phân Tích Và Thiết Kế Hệ Thống I. Phân tích hệ thống về chức năng I.1 Biểu đồ phân cấp chức năng 1. Biểu đồ phân cấp chức năng là gì ? Là một loại biểu đồ diễn tả sự phân rã dần dần các chức năng từ đại thể đến chi tiết. Mỗi nút trong biểu đồ là một chức năng, và quan hệ duy nhất giữa các chức năng, diễn tả bởi các cung nối liền các nút, là quan hệ bao hàm. như vậy biểu đồ phân cấp chức năng tạo thành một cấu trúc cây Sau khi tìm hiểu và phân tích hệ thông quản Lý bệnh nhân tại bệnh viện tỉnh Khánh Hòa em đã đưa ra được biểu đồ phân cấp chức năng như sau: Quản lý bệnh nhân 0 Cấp số 1 Khám bệnh 2 Thu viên phí 3 Thu tạm ứng BN 3.1 Thanh toán với BHYT 3.2 Cấp thuốc 2.1 Tiếp nhận BN 2.2 Cung cấp DV 2.3 Lập bệnh án 2.4 2. Đặc điểm của biểu đồ phân cấp chức năng: Cho một cách nhìn khái quát, dễ hiểu, từ đại thể đến chi tiết về các chức năng, nhiệm vụ cần thực hiện (thường ở mức diễn tả logic) Rất dễ thành lập, bằng cách phân rã dần các chức năng từ trên xuống Có tính chất tĩnh, bởi chúng chỉ cho thấy các chức năng mà không cho thấy trình tự xử lý. Thiếu vắng sự trao đổi thông tin giữa các chức năng. Vì những lý do trên nên biểu đồ phân cấp chức năng thường được sử dụng làm mô hình chức năng trong bước đầu phân tích, hoặc cho các hệ thống đơn giản. Nếu hệ thống phức tạp thì biểu đồ phân cấp chức năng là quá sơ lược và còn thiếu sót nêu trên nên không thể châm trước được. Khi đó chúng ta thường dùng biểu đồ luồng dữ liệu I.2 Biểu đồ luồng dữ liệu 1. Biểu đồ luồng dữ liệu là gì ? Biểu đồ luồng dữ liệu là một loại biểu đồ nhằm mục đích diễn tả một quá trình xử lý thông tin với các yêu cầu sau: Sự diễn tả ở mức logic, nghĩa là nhằm trả lời câu hỏi “Làm gì”, mà bỏ qua câu hỏi “làm như thế nào ?”. Chỉ rõ các chức năng (con) phải thực hiện để hoàn tất quá trình xử lý cần mô tả Chỉ rõ các thông tin được chuyển giao giữa các chức năng đó, và qua đó phần nào thấy được trình tự thực hiện của chúng. 2. Kỹ thuật phân mức Kỹ thuật này còn được gọi là “Phân tích từ trên xuống” (top-down analysis) tiến hành phân tích chức năng của hệ thống bằng cách đi dần từ một mô tả đại thể đến những mô tả chi tiết thông qua nhiều mức. Sự chuyển dịch từ một mức tới mức tiếp theo thực chất là phân ra một chức năng thành một số chức năng con ở mức dưới. Với biểu đồ luồng dữ liệu thì quá trình phân tích trên xuống lại là quá trình thành lập dần dần các biểu đồ luồng dữ liệu diễn tả các chức năng của hệ thống theo từng mức. Mỗi mức là một tập hợp các biểu đồ luồng dữ liệu. Mức 0, hay mức bối cảnh chỉ gồm biểu đồ luồng dữ liệu, trong đó chỉ có một chức năng duy nhất, trao đổi các luồng thông tin với các đối tác. Mức 1, còn gọi là mức đỉnh, cũng chỉ dùng một biểu đồ luồng dữ liệu, và mức 2, 3, ..., mỗi mức gồm nhiều hơn 1 biểu đồ luồng dữ liệu được thành lập như sau: - Cứ mỗi chức năng ở mức trên, ta thành lập một biểu đồ luồng dữ liệu, ở mức dưới, gọi là biểu đồ luồng dữ liệu định nghĩa chức năng đó theo cách sau: + Phân rã chức năng đó thành nhiều chức năng con. + Vẽ lại luồng dữ liệu vào và ra chức năng trên, nhưng nay phải vào hay ra chức năng con thích hợp. + Nghiên cứu các quan hệ về dữ liệu giữa các chức năng con, nhờ đó bổ sung các luồng dữ liệu nội bộ hoặc các kho dữ liệu nội bộ. - Các chức năng được đánh số theo ký pháp chấm, cho phép theo dõi vệt triển khai trên xuống Thông qua tìm hiểu hệ thống quản lý bệnh nhân tại bệnh viện tỉnh Khánh Hòa ta có biểu đồ luồng dữ liệu của hệ thống như sau: Biểu đồ luồng dữ liệu mức bối cảnh: Trong biểu đồ luồng dữ liệu mức bối cảnh chỉ có một chức năng 0 (chức năng quản lý bệnh nhân), các tác nhân của hệ thống gồm: Bệnh nhân, khoa điều trị và phòng tài chính. bệnh nhân Quản lí bệnh nhân 0 Yêu cầu KB Kết quả Chi phí khám chữa bệnh Biểu đồ luồng dữ liệu mức bối cảnh Phòng tài chính Khoa điều trị Chi phí của BN Danh sách BN điều trị Bệnh án Kết quả Danh sách BN nhập viện Biểu đồ luồng dữ liệu mức đỉnh: Chức năng quản lý bệnh nhân được phân ra thành các chức năng cấp số, khám bệnh, thanh toán viện phí. Ngoài ra ở đây trong biểu đồ còn xuất hiện thêm các tác nhân như khoa điều trị, phòng tài chính và toàn bộ kết quả khám bệnh của bệnh nhân được lưu vào một tệp có tên là hồ sơ bệnh nhân tất cả những thông tin về bệnh nhân được lưu trữ tại đây. Thông qua tệp này phòng tài chính sẽ gửi giấy thanh toán viện phí đến cho bệnh nhân và bảo hiểm y tế . bệnh nhân Cấp số 1 Yêu cầu KB Vị trí KB Khám bệnh 2 Y/C KB tại vị trí bệnh nhân Kết quả Phòng Tài Chính Thanh toán V/P 3 Xác nhận TT Đóng tạm ứng Danh sách BN điều trị Khoa Điều Trị Kết quả Kết quả Hồ sơ bệnh nhân Danh sách BN đã đóng T.Ư Biểu đồ luồng dữ liệu mức đỉnh Danh sách BN nhập viện Bệnh án Biểu đồ luồng dữ liệu biểu diễn chức năng khám bệnh: Lúc này chức năng khám bệnh được phân rã thành bốn chức năng: Cấp thuốc, cung cấp dịch vụ, tiếp nhận bệnh nhân nhập viện, lập bệnh án. lú này bệnh nhân đã có được kết quả khám bệnh. Trong biểu đồ trên hầu hết các chức năng được thực hiện một cách thủ công và được lưu lại trong tệp Hồ Sơ bệnh nhân như vậy khi bệnh nhân mua thuốc thì tại phòng cấp thuốc sẽ lưu lại đơn thuốc của bệnh nhân đã mua và tương tự như vậy khi bệnh nhân dùng dịch vụ cũng được lưu lại thông tin đó để phục vụ việc lưu trữ và thanh toán tạm ứng sau này. Song khi bệnh nhân phải nhập viện thì tại khoa điều trị sẽ lập bệnh án cho bệnh nhân đó và cũng được lưu lại trong bệnh án ghi đầy đủ thông tin về bệnh nhân quá trình điều trị tại bệnh viện. Hồ sơ Bênh Nhân Bệnh nhân Cấp thuốc 2.1 Đơn thuốc Thuốc cấp Khoa điểu trị Cung cấp dịch vụ 2.3 Yêu cầu Dịc vụ dùng Lập bệnh án 2.4 D/SBN nhập viện Bệnh án Tiếp nhận BN N/V 2.2 Giấy NV Tiếp nhận Biểu đồ luồng dữ liệu biểu diễn chức năng khám bệnh Giấy NV Biểu đồ luồng dữ liệu phân cấp chức năng thanh toán viện phí: Tương tự chức năng khám bệnh với chức năng thanh toán tạm ứng viện phí của bệnh nhân được phân ra thành hai chức năng là: thu tạm ứng, và thanh toán với bảo hiểm y tế . Theo quy định của bệnh viện cứ ba ngày bệnh viện lại yêu cầu bệnh nhân thanh toán tạm ứng viện phí một lần và theo chu kỳ mỗi tháng bệnh viện lại in danh sách bệnh nhân có bảo hiểm y tế đã điều trị tại bệnh viện trong tháng để thanh toán với bảo hiểm y tế. Đối với bệnh nhân có bảo hiểm y tế cũng phải đóng một phần viện phí theo quy định phần trăm trên bảo hiểm y tế. Cả hai chức năng này đều được thực hiện một cách tự động. bệnh nhân Thu tạm ứng 3.1 Thanh toán viện phí Phiếu thanh toán Hồ sơ Bênh Nhân Phòng tài chính Thanh toán với BHYT 3.2 Danh sách BN điều trị có BHYT Danh sách bệnh nhân điều trị Xác nhận thanh toán Danh sách BN đã đóng T.Ư Biểu đồ luồng dữ liệu biểu diễn chức năng thanh toán viện phí II. Phân tích hệ thống về dữ liệu II.1 Mô hình thực thể/liên kết 1. Khái niêm mô hình thực thể/liên kết Mô hình thực thể/ liên kết (Entity/Association Model) là mô hình dữ liệu do P.P. Chen đưa ra năm 1976 và sau đó được dùng khá phổ biến trên thế giới. Nó có đặc điểm khá đơn giản và gần với tư duy khách quan. Khi xem xét các thông tin, người ta thường gom cụm chúng xung quanh các vật thể Các loại mô hình E/A Mô hình E/A kinh điển Mô hình E/A kinh điển xuất phát từ ba khái niệm cơ bản: thực thể, liên kết và thuộc tính. + Các thực thể: Là một vật thể cụ thể hay trừu tượng, tồn tại thực sự và khá ổn định trong thế giới thực, mà ta muốn phản ánh nó trong hệ thống thông tin. + Các thuộc tính: Thuộc tính (Property hay attribute) là một giá trị dùng để mô tả khía cạnh nào đó của thực thể. + Các liên Kết: Một liên kết (association) là một sự gom nhóm các thực thể trong đó mỗi thực thể có một vai trò nhất định. - Mô hình thực thể/ Liên kết mở rộng. Đối với những hệ thống phức tạp khi phân tích và thiết kế người ta thương dùng đến mô hình E/A mở rộng. Do các điểm mở rộng này chịu ảnh hưởng từ xu hướng hiện đại của mô hình hóa hướng đối tượng, cũng như các hệ quản trị cơ sở dữ liệu hướng đối tượng. Các đặc điểm của mô hình E/A mở rộng + Các kiểu thuộc tính đa trị: Cho phép nhận giá trị có thể là một tập các giá trị. + Các kiểu thuộc tính phức hợp: Cho phép sử dụng các kiểu thuộc tính là tổ hợp. + Các kiểu thực thể con: xuất hiện bởi yêu cầu chuyên biệt hóa và khái quát hóa khi cần phân cấp các sự vật - Mô hình E/A hạn chế Mô hình E/A hạn chế tuy bị hạn chế nhiều về các hình thức diễn tả (khó vận dụng), nhưng lại rất gần với mô hình quan hệ do đó lại dễ dàng chuyển sang cài đặt với hệ quản trị cơ sở dữ liệu quan hệ hơn. Các đặc điểm của mô hình E/A hạn chế. + Trong mô hình E/A hạn chế chỉ có kiểu liên kết 1-nhiều và được biểu diễn như sau: A B + Trong mô hình E/A hạn chế các kiểu liên kết 0/1-nhiều được coi là trường hợp đặc biệt của 1-nhiều Trong báo cáo này Em chi sử dụng mô hình E/A hạn chế. Vì bất cứ mô hình E/A kinh điển hay E/A mở rộng nào cũng có thể biến đổi thành mô hình E/A hạn chế được, hơn nữa mô hình E/A hạn chế là mô hình gần với mô hình cơ sở dữ liệu quan hệ nhất. Sau khi phân tích hệ thống em đã đưa ra mô hình E/A hạn chế của bài toán như sau (trang sau): Tỉnh Mã tỉnh Tên tỉnh Huyện Mã huyện Tên huyện Mã tỉnh Xã Mã xã Tên xã Mã huyện Khoa Mã khoa Tên khoa Chuyên môn Mã CM Tên CM Chức vụ Mã CV Tên CV Bệnh Mã bệnh Tên bệnh Nhân viên Mã Nhân viên Họ tên NV Ngày sinh NV Giới tính NV Số nhà NV Điện thoại NV Mã xã Mã khoa Mã CM Mã CV Vị Trí Mã vị trí Tên vị trí Dòng khám bệnh Mã khám bệnh Mã nhân viên Mã bệnh nhân Mã bệnh Mã vị trí Ngày KB Nội dung KB Chi phí KB Bệnh nhân Mã bênh nhân Họ bệnh nhân Tên bệnh nhân Ngày sinh BN Giới tính BN Mã xã bảo hiểm y tế Mã bệnh nhân Số thẻ BHYT Ngày bắt đầu Ngày kết thúc Phần trăm Cán bộ Mã bệnh nhân Mã cơ quan Cơ quan Mã cơ quan Tên cơ quan Điện thoại CQ Fax CQ Tạm ứng Mã tạm ứng Lần tạm ứng Số tiền Ngày tạm ứng Mã bệnh nhân Bệnh án Mã khám bệnh Mã nhân viên Mã bệnh nhân Mã bệnh Mã vị trí Mã nơi Đ.T Ngày vào Ngày ra Tình trạng ra Nơi điều trị Mã nơi Đ.T Tên nơi Đ.T Đơn giá Thuốc dùng Mã khám bệnh Mã nhân viên Mã bệnh nhân Mã bệnh Mã vị trí Mã thuốc Số lượng Liều dùng Thuốc Mã thuốc Tên thuốc Đơn giá Dịch Vụ Dùng Mã khám bệnh Mã nhân viên Mã bệnh nhân Mã bệnh Mã vị trí Mã nơi Đ.T Mã dịch Vụ Lần dùng Dịch vụ Mã dịch vụ Tên dịch vụ Đơn giá II.2 Mô hình quan hệ 1. Khái niệm Mô hình quan hệ do Codd đề xuất năm 1970, với ưu điểm như sau: + Đơn giản: các dữ liệu được biểu diễn dưới một dạng duy nhất, là quan hệ, tức là các bảng giá trị, khá tự nhiên và dễ hiểu đối với người dùng không chuyên tin học. + Chặt chẽ: các khái niệm được hình thức hóa cao, cho phép áp dụng các công cụ toán học, các thuật toán. + Trừu tượng hóa cao: mô hình chỉ dừng ở mức quan niệm, nghĩa là độc lập với mức vật lý, với sự cài đặt, với các thiết bị. Nhờ đó làm cho tính độc lập giữa dữ liệu và chương trình cao. + Cung cấp ngôn ngữ truy nhập dữ liệu ở mức cao, dễ sử dụng và trở thành chuẩn. 2. Các dạng chuẩn của lược đồ quan hệ Một lược đồ quan hệ R là ở dạng chuẩn 1 (1NF) nếu các miền thuộc tính của nó đều là các miền đơn (nghĩa là không cấu thành từ nhiều miền khác). Một lược đồ quan hệ R là ở dạng chuẩn 2 (2NF) nếu nó là 1NF và các phụ thuộc hàm giữa khóa và mỗi thuộc tính ngoài khóa đều là phụ thuộc hàm sơ đẳng. Nói cách khác, mọi thuộc tính ngoài khóa đều không phụ thuộc bộ phận vào khóa. Một lược đồ quan hệ R là ở dạng chuẩn 3 (3NF) nếu nó là 2NF và các phụ thuộc hàm giữa khóa và mỗi thuộc tính ngoài khóa đều là phụ thuộc hàm trực tiếp. Nói cách khác là không tồn tại phụ thuộc hàm giữa các thuộc tính ngoài khóa. Các lược đồ quan hệ của hệ thống Từ mô hình thực thể liên kết (mô hình E/A hạn chế ở trên) ta chuyển sang các lược đồ quan hệ như sau: Tỉnh (Mã tỉnh, Tên tỉnh) Huyện (Mã huyện, Tên huyện, Mã tỉnh) Xã (Mã xã, Tên xã, Mã huyện) Khoa (Mã khoa, Tên khoa) Chuyên môn (Mã chuyên môn, Tên chuyên môn) Chức Vụ (Mã chức vụ, Tên chức vụ) Bệnh (Mã bệnh, Tên bệnh) Vị trí (Mã vị trí, Tên vị trí) Nhân viên (Mã NV, Họ tên NV, Ngày sinh NV, Giới tính NV, Số nhà NV, Điện thoại NV, Mã xã, Mã khoa, Mã CM, Mã CV) Dòng khám bệnh (Mã khám bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã vị trí, Ngày KB, Nội dung KB, Chi phí KB) Bệnh nhân (Mã bệnh nhân, Họ bệnh nhân, Tên bệnh nhân, Ngày sinh BN, Giới tính BN, Mã xã) Bảo hiểm y tế (Mã bệnh nhân, Số thẻ BHYT, Ngày bắt đầu, Ngày kết thúc, Phần trăm) Cơ quan (Mã cơ quan, Tên cơ quan, Điện thoại CQ, Fax cơ quan) Cán bộ (Mã bệnh nhân, Mã cơ quan) Tạm ứng (Mã T.ứng, Lần T.ứng, Số tiền, Ngày T.ứng, Mã bệnh nhân) Bệnh án (Mã khám bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã vị trí, Mã nơi Đ.T, Ngày vào, Ngày ra, Tình trạng ra) Nơi Điều Trị (Mã nơi Đ.T, Tên nơi Đ.T, Đơn giá) Dịch Vụ Dùng (Mã khám Bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã vị trí, Mã nơi Đ.T, Mã dịch Vụ, Lần dùng) Dịch Vụ (Mã dịch vụ, Tên dịch vụ, Đơn giá D.V) Thuốc Dùng (Mã khám Bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã vị trí, Mã thuốc, Số lượng, Liều dùng) Thuốc (Mã thuốc, Tên thuốc, Đơn giá) Danh Sách Các Bảng Bảng Tỉnh Tỉnh (Mã tỉnh, Tên tỉnh) Tên trường Loại dữ liệu Mô tả Kích thước Mã tỉnh Char Mã tỉnh Len()=2 Tên tỉnh Char Tên tỉnh 30 Giải Thích + Bảng tỉnh lưu trữ thông tin về tỉnh mà bệnh nhân và Nhân Viên đang sống Bảng Huyện Huyện (Mã Huyện, Tên Huyện, Mã Tỉnh) Tên trường Loại dữ liệu Mô tả Kích thước Mã huyện Char Mã huyện Len()=4 Tên huyện Char Tên huyện 30 Mã tỉnh Char Mã tỉnh Len()=2 Giải Thích + Bảng huyện lưu trữ thông tin về huyện mà bệnh nhân và Nhân Viên đang sống Trường mã huyện gồm có 4 ký tự 2 ký tự đầu là mã tỉnh mà huyện đó trực thuộc hai ký tự tiếp theo là thứ tự huyện trong tỉnh. Trường mã tỉnh là khóa ngoài của bảng huyện trường này nhận thông mã tỉnh từ bảng tỉnh 4.3 Bảng Xã Xã (Mã xã, Tên xã, Mã huyện) Tên trường Loại dữ liệu Mô tả Kích thước Mã xã Char Mã xã Len()=6 Tên xã Char Tên xã 30 Mã huyện Char Mã huyện Len()=4 Giải thích + Bảng xã cùng với bảng huyện và bảng tỉnh lưu trữ thông tin địa chỉ của bệnh nhân cũng như nhân viên Trường mã xã gồm có 6 ký tự 4 ký tự đầu là mã huyện mà xã trực thuộc còn hai ký tự sau là thứ tự xã trong huyện. Trường mã huyện là khóa ngoài của bảng xã, trường này nhận thông tin từ trường mã huyện của bảng huyện 4.4 Bảng KHOA KHOA(Mã khoa, Tên khoa) Tên trường Loại dữ liệu Mô tả Kích thước Mã khoa Char Mã khoa Len()=2 Tên khoa Char Tên khoa 30 Giải thích + Bảng Khoa lưu trữ thông tin về khoa mà nhân viên (Bác sĩ) đang làm việc 4.5 Bảng CHUYÊN MÔN CHUYÊN MÔN (Mã chuyên môn, Tên chuyên môn) Tên trường Loại dữ liệu Mô tả Kích thước Mã chuyên môn Char Mã chuyên môn Len()=2 Tên chuyên môn Char Tên chuyên môn 30 Giải thích + Bảng chuyên môn lưu trữ thông tin về chuyên môn của nhân viên 4.6. Bảng Chức Vụ Chức Vụ (Mã chức vụ, Tên chức vụ) Tên trường Loại dữ liệu Mô tả Kích thước Mã choc vụ Char Mã chức vụ Len()=2 Tên chức vụ Char Tên chức vụ 30 Giải thích + Bảng chức vụ lưu trữ thông tin về chức vụ của Nhân Viên 4.7. Bảng Bệnh Bệnh (Mã bệnh, Tên bệnh) Tên trường Loại dữ liệu Mô tả Kích thước Mã bệnh Char Mã bệnh Len()=4 Tên bệnh Char Tên bệnh 30 Giải thích + Bảng này lưu trữ tất cả các bệnh hiện có 4.8. Bảng Vị Trí Vị Trí (Mã vị trí, Tên vị trí) Tên trường Loại dữ liệu Mô tả Kích thước Mã vị trí Char Mã vị trí Len()=2 Tên vị trí Char Tên vị trí 30 Giải Thích + Bảng này lưu trữ thông tin về vị trí mà bệnh nhân được khám bệnh 4.9. Bảng Nhân Viên Nhân Viên (Mã NV, Họ Tên NV, Ngày Sinh NV, Giới Tính NV, Số Nhà NV, Điện Thoại NV, Mã Xã, Mã Khoa, Mã CM, Mã CV) Tên Trường Loại Dữ Liệu Mô Tả Kích Thước Mã NV Char Mã nhân viên Len()=5 Họ Tên NV Char Họ tên nhân viên 30 Ngày Sinh NV Date Ngày sing nhân viên Giới Tính NV Boolear Giới tính nhân viên Số Nhà NV Char Số nhà nhân viên 30 Điện Thoại NV Char Điện thoại nhân viên 15 Mã Xã Char Mã xã Len()=6 Mã Khoa Char Mã khoa Len()=2 Mã CM Char Mã chuyên môn Len()=2 Mã CV Char Mã chức vụ Len()=2 Giải thích + Bảng nhân viên lưu trữ tất cả thông tin về nhân viên (Bác sĩ) Trường ngày sinh Nhân Viên nhận dữ liệu sao cho tuổi của nhân viên không được lớn hơn 65 và không được nhỏ hơn 18 Trường giới tính nhân viên nhận kiểu dữ liệu Boolear (True tương ứng với nam, False tương ứng với nữ). Trường số nhà nhân viên để xác định chỗ ở của nhân viên. Bảng Nhân Viên nhận Mã Xã, Mã Khoa, Mã CM, Mã CV làm khóa ngoài các trường này nhận giá trị tương ứng từ các bảng Xã, Khoa, Chuyên môn, Chức vụ. 4.10. Bảng Dòng Khám Bệnh Dòng Khám Bệnh (Mã Khám Bệnh, Mã Nhân Viên, Mã bệnh nhân, Mã Bệnh, Mã Vị trí, Ngày KB, Nội Dung KB, Chi Phí KB) Tên trường Loại dữ liệu Mô tả Kích thước Mã khám bệnh Char Mã khám bệnh Len()=9 Mã nhân viên Char Mã nhân viên Len()=5 Mã bệnh nhân Char Mã bệnh nhân Len()=9 Mã bệnh Char Mã bệnh Len()=5 Mã Vị Trí Char Mã vị trí Len()=2 Ngày KB Date Ngày khám bệnh Nội dung KB Char Nội dung khám bệnh 50 Chi phí KB Money Chi phí khám bệnh >0 Giải thích + Bảng dòng khám bệnh là mối kết hợp giữa các thực thể nhân viên, bệnh nhân, bệnh, vị trí nên nó nhận tất cả các khóa của các theca thể tham gia vào mối kết hợp làm khóa chính, các giá trị của các trường này được lấy tương ứng từ các bảng tương ứng. Ngoài ra nó còn có khóa riêng là Mã khám bệnh Ngày KB không được sau ngày hiện tại Chi phí KB là khoản tiền mà bệnh nhân phải trả sau khi khám bệnh khoản này không được nhỏ hơn 0. 4.11. Bảng bệnh nhân bệnh nhân (Mã Bênh Nhân, Họ bệnh nhân, Tên bệnh nhân, Ngày Sinh BN, Giới Tính BN, Mã Xã) Tên trường Loại dữ liệu Mô tả Kích thước Mã bệnh nhân Char Mã bệnh nhân Len()=9 Họ bệnh nhân Char Họ bệnh nhân 20 Tên bệnh nhân Char Tên bệnh nhân 10 Ngày sinh BN Date Ngày sinh bệnh nhân Giới tính BN Boolear Giới tính bệnh nhân Mã xã Char Mã xã Len()=6 Giải thích + Bảng bệnh nhân lưu trữ tất cả các thông tin về bệnh nhân Mã bệnh nhân gồm 9 ký tự 4 ký tự đầu là năm mà bệnh nhân đó khám, còn lại 5 ký tự sau là thứ tự bệnh nhân đó đến khám trong năm Ngày sinh bệnh nhân không được sau ngày hiện tại và tuổi bệnh nhân không được lớn hơn 150 Giới tính bệnh nhân là True tương ứng với Nam, False tương ứng với Nữ Bảng bệnh nhân nhận mã xã làm khóa ngoài, trường này nhận giá trị từ bảng Xã 4.12 Bảng bảo hiểm y Tế bảo hiểm y tế (Mã bệnh nhân, Số thẻ BHYT, Ngày bắt đầu, Ngày kết thúc, Phần trăm) Tên trường Loại dữ liệu Mô tả Kích thước Mã bệnh nhân Char Mã bệnh nhân Len()=9 Số thẻ BHYT Char Số thẻ bảo hiểm y tế Len()=9 Ngày bắt đầu Date Ngày bắt đầu Ngày kết thúc Date Ngày kết thúc Phần trăm Int Phần trăm Giải thích + Bảng Bảo hiểm y tế lưu thông tin về BHYT của các bệnh nhân có thẻ BHYT Thực thể bảo hiểm y tế là thực thể chuyên biệt hóa của thực thể bệnh nhân nên nhận khóa của thực thể bệnh

Các file đính kèm theo tài liệu này:

  • docBC838.doc
Tài liệu liên quan