Ứng dụng việc quản lí bằng tin học vào trong việc quản lí bệnh nhân của Bệnh viện đa khoa tỉnh Khánh Hòa - Nguyễn Văn Hưng
Bạn đang xem 20 trang mẫu của tài liệu "Ứng dụng việc quản lí bằng tin học vào trong việc quản lí bệnh nhân của Bệnh viện đa khoa tỉnh Khánh Hòa - Nguyễn Văn Hưng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- ung_dung_viec_quan_li_bang_tin_hoc_vao_trong_viec_quan_li_be.pdf
Nội dung text: Ứng dụng việc quản lí bằng tin học vào trong việc quản lí bệnh nhân của Bệnh viện đa khoa tỉnh Khánh Hòa - Nguyễn Văn Hưng
- Đồ án tốt nghiệp Trang 1 LLUẬNN VĂN TỐỐT NNGGHIIỆỆPP KHHOAA CÔNNGG NNGHHỆỆ TTHHÔÔNNGG TIINN Đề tài: ứng dụng việc quản lý bằng tin học vào trong việc quản lý Bệnh nhân của Bệnh viện đa khoa tỉnh Khánh Hoà SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 2 LỜI NÓI ĐẦU Ngày nay, với sự phát triển vượt bậc của khoa học kỹ thuật. Công nghệ thông tin là một lĩnh vực nhiều ứng dụng thiết thực nhất trong mọi lĩnh vực của cuộc sống và x hội chng ta, đặc biệt nó là công cụ hỗ trợ đắc lực không thể thiếu trong cơng tc quản lý. Dễ dng thấy rằng cơ sở dữ liệu là một trong ứng dụng quan trọng của công tác tin học hoá trong quản lý kinh doanh của cc doanh nghiệp. Nhờ vo cơng tc tin học hố m cơng tc quản lý, điều hành của các doanh nghiệp tỏ ra có hiệu quả, nhanh chóng, chính xác, lưu trữ gọn, bảo mật cao và dễ dàng. Chính vì lẽ đó mà cơ sở dữ liệu như là một giải pháp hữu hiệu nhất cho các doanh nghiệp có thể tồn tại và phát triển một cách nhanh chóng. Bệnh viện đa khoa tỉnh Khánh Hoà là một trong những trung tâm khám chữa bệnh lớn nhất của tỉnh Khánh Hoà. Do đó, nhu cầu ứng dụng việc quản lý bằng tin học vo trong việc quản lý Bệnh nhn của bệnh viện l một nhu cầu tất yếu. Chính vì lý do ny m em chọn đề tài này. Hiện nay, có rất nhiều phần mềm hệ quản trị cơ sơ khác nhau. Tuy nhiên, căn cứ vào tình hình quản lý bệnh nhn v nhn vin thực tế của bệnh viện m em chọn hệ quản trị cơ sở dữ liệu quan hệ là SQL Server 2000 và ngôn ngữ hỗ trợ cài đặt là Visual Basic 6.0. Mặc dù, đ cĩ nhiều cố gắng nhưng do thời gian thực tập có hạn nên không thể tránh khỏi sai lầm và thiếu sót. Rất mong được sự đóng góp và chỉ bảo của quý thầy cơ cng bạn đọc. Cuối cùng, em xin chân thành cảm ơn sự hướng dẫn và chỉ bảo tận tình của thầy hướng dẫn Nguyễn Hữu Trọng, cng với sự hướng dẫn, giúp đỡ nhiệt tình của kỹ sư Văn Hội (Phịng kế hoạch tổng hợp của bệnh viện tỉnh Khnh Hồ) đ gip em hồn thnh đồ án tốt nghiệp này. Sinh Vin Thực Hiện Nguyễn Văn Hưng SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 3 GIỚI THIỆU CHUNG VỀ NHIỆM VỤ 1. Nội dung đề tài : Phân tích và cài đặt chương trình quản lý bệnh nhân tại bệnh viện Khánh Hoà. Yêu cầu : TTTN: - Tìm hiểu ngôn ngữ lập trình CSDL : SQL Server 2000. - Phân tích tìm hiểu nghiệp vụ quản lý. - Phân tích và thiết kế chi tiết cho toàn hệ thống . - Viết chương trình demo đơn giản . LVTN: · Hiện thực chương trình trên mô hình máy đơn sử dụng ngôn ngữ Visual Basic 6.0. Yêu cầu chung : Đi tìm hiểu thực tế nghiệp vụ quản lý bệnh nhân tại bệnh viện Khánh Hoà. 2. Các bước tiến hành thực hiện đề tài : Với nội dung yêu cầu đã trình bày ở trên, quá trình thực hiện đề tài được tiến hành qua các bước như sau : + Tìm hiểu ngôn ngữ lập trình CSDL : SQL Server 2000. + Tìm hiểu một cách sơ lược công tác quản lý bệnh nhân tại bệnh viện Khánh Hoà. Tiến hành thiết lập hệ thống câu hỏi phỏng vấn và trình hệ thống câu hỏi này cho những người có liên quan để tham khảo chuẩn bị. + Tiến hành phỏng vấn và thu thập các dữ liệu cần thiết. Sau đó viết lại nội dung đã được phỏng vấn, trình để bộ phận được phỏng vấn xem lại để đóng góp ý kiến, bổ sung các thiếu sót, cung cấp thêm thông tin cần thiết. Trình Giáo viên hướng dẫn các nội dung thông tin đã thu thập được để lấy ý kiến bổ sung. Quá trình này có thể phải tiến hành nhiều lần, bởi lẽ dữ liệu cần thu thập khá lớn lại liên quan rất nhiều thông tin đòi hỏi cần có thời gian nghiên cứu, xem xét và sắp xếp thông tin một cách hợp lý. + Phân tích các báo cáo có liên quan để làm cơ sở xây dựng cơ sở dữ liệu (CSDL) cho hệ thống. Trình Giáo viên hướng dẫn CSDL đã được thiết kế để lấy ý kiến bổ sung. + Tiến hành nhập các số liệu cần thiết. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 4 + Tiến hành xây dựng các giao diện cho chương trình quản lý bệnh nhân bằng Visual Basic 6.0. Trình Giáo viên hướng dẫn xem qua các giao diện đã được xây dựng để lấy ý kiến bổ sung, sửa chữa. + Tiến hành kiểm tra công việc đã thực hiện trên CSDL thử đã có. Sau đó, hoàn thiện đề tài. Trên đây, là các bước thực hiện được đề ra trong quá trình tiến hành đề tài. Tuy nhiên, trong quá trình làm có sự linh động thực hiện thích hợp giữa các bước tùy theo tình hình thực tế diễn ra nhằm giảm thiểu thời gian bị mất do chờ đợi. 3.Kết quả đạt được : Chương trình sử dụng ngôn ngữ cơ sở dữ liệu Microsoft Visual Basic 6.0 và trao đổi được với cơ sở dữ liệu SQL Server 2000 trên cùng một máy đơn. Vì vậy có sự bảo mật và an toàn dữ liệu cao. Ngoài ra việc tạo cơ sở dữ liệu, xóa hay backup, cũng được thực hiện dễ dàng. Chương trình quản lý bệnh nhân tại bệnh viện sẽ giúp bệnh viện đa khoa tỉnh Khánh Hoà quản lý bệnh nhân của mình một cách hiệu quả. Nắm bắt được những biến động về bệnh nhân để có kế hoạch phục vu chữa trị cho bệnh nhân một cách tốt hơn. Chương trình cho phép tìm kiếm bệnh nhân theo trật tự nào đó giúp bác sĩ cũng như người nhà bệnh nhân tìm kiếm thông tin bệnh nhân một cách dễ dàng . Chương trình còn cho phép quản lý hồ sơ bệnh nhân một cách linh động theo thời gian. Do vừa tìm hiểu vừa làm và kinh nghiệm xây dựng còn hạn chế nên mức độ tiện dụng đối với người sử dụng chưa cao. Màn hình giao diện, báo biểu ở mức độ chấp nhận. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 5 PHẦN I TỔNG QUAN VỀ NGÔN NGỮ CÀI ĐẶT. Chương I GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DƯ LIỆU VÀ SQL SERVER 2000 I. KHÁI NIỆM CƠ BẢN VỀ CÁC LOẠI CƠ SỞ DỮ LIỆU. Một hệ quản trị cơ sở dữ liệu là hệ thống các chương trình hỗ trợ cc tc vụ quản lý, khai thc dữ liệu theo mơ hình cơ sở dữ liệu quan hệ. SQLserver l một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBOMS) hay cịn được gọi là Relational Database Mannagement system. Cơ sở dữ liệu quan hệ là cơ sở dữ liệu mà dữ liệu bên trong nó được tổ chức thành các bảng. Các bảng được tổ chức bằng cách nhóm dữ liệu theo cùng chủ đề và có chứa các cột và các hàng thông tin. Sau đó các bảng này được liên kết với nhau bởi bộ Database Engine khi có yêu cầu. cơ sở dữ liệu quan hệ là một trong những mơ hình cơ sở dữ liệu thông dụng nhất hiện nay. II. GIỚI THIỆU CHUNG VỀ SQL SERVER 2000 SQL (Structured Query Language ) là ngôn ngữ dùng để truy vấn cho phép lấy thông tin về từ các bảng dữ liệu. SQL Server 2000 tối ưu hơn nhiều so với cơ sở dữ liệu quan hệ. Chúng phát triển để sử dụng trên nhiều ấn bản như CE, Personal, Desktop Engine, standand SQL Server 2000 hỗ trợ kiểm tra khĩa chính, phụ thuộc tồn tại, miền gi trị, . của dữ liệu bn trong cc bảng một cch chặt chẽ. SQL Server 2000 hỗ trợ khám phá mạnh cho cơ sở dữ liệu đa truy cập. tức cơ sở dữ liệu mạng. Những thnh phần chính trong SQL Server 2000 bao gồm: SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 6 Hệ thống Diễn giải Ấn bản SQL Đây là thành phần chính của hệ thống là Desktop Engine Server trung tâm điều hành những thành phần thực personal 2000 thi khc. Với Desktop Engine bạn sẽ tìm standard thấy cc dịch vụ trong hệ thống như SQL Desktop Server Agent, SQL Server Profiler . Và Enterprise một số công cụ khác. Full-text Đây là phần tự chọn trong lúc cài đặt, nếu Personal sarch bạn muốn chức năng tìm kiếm thì nn chọn Standard hệ thống ny vì chng khơng l phần mặc Developer nhin. Full-text Sarch cung cấp chức năng enterprise tìm kiếm từ rất mạnh, nếu sử dụng internet để tìm kiếm thì đây là một giải pháp tuyệt vời. Nếu ban muốn tìm kiếm một chuỗi con trong một đoạn văn bản thì đây là một công cụ thích hợp English English Query cho phép người sử dụng Personal Query không có kỹ thuật về SQL Server, bằng Standard cách đặt câu hỏi bằng chuỗi English sau đó được dịch ra Query mà có thể thực thi trên SQL Server. Nhưng công cụ này được cài Developer đặt tách biệt SQL Server. Enterprise Analysis Phần này không bao gồm mặc định trong Personal Services phần cài đặt, chúng là dạng sản phẩm tự Standand chọn, và là công cụ phân tích OLAP Developer (Online Analytical Proces), sử dụng cho cơ sở dữ liệu lớn. Enterprise Replication Những phiên bản có OLAP đầy đủ chức Desktop Engine năng là Enterprise và Developer, nhưng trong ấn bản Personal cung có một số chức năng chính của OLAP. Chức năng này cho Personal phép tái tạo một bản sao đến SQL Server khác, hệ thống này thường dùng cho các hệ SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 7 thống server từ xa hay trong network, nhằm để làm giảm trao đổi dữ liệu giữa các SQL Standard Server với nhau. Developer enterprise Data Data Transformatuion Service (DTS) được Desktop Engine Transform mở rộng trong phiên bản SQL Server 2000, atuion bao gồm những chức năng trao đổi dữ liệu Service và giao tiếp giữa các cơ sở dữ liệu khác với Presonal nhau, đây là những giải pháp lập trình trn standard Visual Basic. Developer enterprice Symmetric Multiprocessing (SMP): Dịch vụ này được hỗ trợ trong SQL Server 2000, dịch vụ này phân phối công việc xử lý trn hệ thống cĩ nhiều bộ vi xử lý để làm cân bằng tiến trình trn mỗi CPU. Clustering support: chỉ cĩ trong ấn bản Enterprise v Developer, Clustering cho php hệ thống cn bằng khi cĩ một Server bị dừng thì những hệ thống khc sẽ tiếp nhận v xử lý. hiện tại chỉ thực hiện chức năng này trên hai server đó là Windows 2000 Enterprise và Windows 2000 Datacenter. 1. Cc thnh phần của SQL Server 2000 RDBMS cũng như SQL Server 2000 chứa đựng nhiều đối tượng bao gồm: Da tabase: Cơ sở dữ liệu SQL Server. Tập tin log: tập tin lưu trữ những chuyển tác của SQL. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 8 Tables: Bảng dữ liệu. Filegroiups: Tập tin nhĩm. Diagrams: Cơ sở quan hệ. Views: Khung nhìn. số liệu dựa trn bảng. Stored Procedure: Thủ tục v hm nội. Users: Người sử dụng cơ sở dữ liệu Roles: các quy định và vai trị của SQL Server. Rules: Cc gi trị mặc nhin. Full-text catalogs: Tập phn loại dữ liệu text. User-defined data types: Kiểu dữ liệu do người dùng định nghĩa. 2. Đối tượng cơ sở dữ liệu. Cơ sở dữ liệu là đối tượng có ảnh hưởng cao nhất khi bạn làm việc với SQL Server, tuy nhiên những đối tượng con của cơ sở dữ liệu mới là thành phần cơ sở dữ liệu. Bản thân SQL Server là một cơ sở dữ liệu, chúng bao gồm các đối tượng như: Database, table, View, stored procedure nêu trên cùng một số cơ sở dữ liệu khác. Cơ sở dữ liệu SQL Server là một cơ sở dữ liệu đa người dùng, với mỗi server bạn chỉ có một hệ quản trị cơ sở dữ liệu. nếu muốn có nhiều hệ quản trị cơ sở dữ liệu bạn cần có nhiều server. Khi cài đặt xong bạn có 6 cơ sở dữ liệu mặc định. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 9 Master. Model. Msdb. Pubs. Northwind. Master: Đây là cơ sở dữ liệu chính để chạy SQL Server. Cơ sở dữ liệu này chứa một con trỏ chỉ đến file dữ liệu cơ sở về các cơ sở dữ liệu và được cài đặt trên hệ thống, cũng như thông tin dịch vụ chính. Các thông tin dịch vụ bao gổm các mục như các thông báo lỗi hệ thống, các thông tin được cập nhật vào, các thủ tục được lưu trữ của hệ thống, và các máy chủ được kết nối hay liên kết. Cơ sở dữ liệu Master chỉ có thể truy cập lại khi gặp tình huống tai hoạ nhờ cc kỹ thuật đặc biệt. Cơ sở dữ liệu Model: Đây là cơ sở dữ liệu mẫu. mỗi khi bạn tạo một cơ sở dữ liệu mới, cơ sở dữ liệu Model sẽ được sao chép, sau đó các yêu cầu của bạn về kích thước và các thay đổi khác vể cơ sở dữ liệu được áp dụng. Do đó, mọi đối tượng có trong cơ sở dữ liệu này sẽ được sao chép vào cơ sở dữ liệu mới như là nó được tạo mới ở đó. Ví dụ bạn có thể đặt bảng hoặc tên người sử dụng vào cơ sở dữ liệu này ngay khi cài đặt SQL Server. Mỗi khi có một cơ sở dữ liệu tạo ngay sau đó, bảng và tên người sử dụng sẽ xuất hiện trong mọi cơ sở dữ liệu. Cơ sở dữ liệu Model có kích thước 1,5 MB sau khi cài đặt. Vì cơ sở dữ liệu được sao chép để tạo dựng cơ sở dữ liệu mới nên không có cơ sở dữ liệu nào nhỏ hơn cơ sở dữ liệu Model. Cơ sở dữ liệu Msdb : Như ta đ nu, chng ta cĩ hai cơ sở dữ liệu hệ thống Master và Model, nếu xoá một trong hai cơ sở dữ liệu này thì hệ thống SQL Server sẽ bị lỗi , nhưng vớI cơ sở dữ liệu Msdb thì khc. Msdb chính l SQL Agent lưu trữ tất cả các tác vụ xảy ra trong SQL Server. Cơ sở dữ liệu Tempdb: Cơ sở dữ liệu Tempdb là một trong những cơ sở dữ liệu chính trong SQL Server. Cơ sở dữ liệu cho phép người sử dụng tạo những ứng dụng tham khảo hay thực tập trước khi bạn bắt đầu với cơ sở dữ liệu thật. Cơ sở dữ liệu Tempdb là nơi các sắp xếp, kết nối và các hoạt động khác địi hỏi vị trí tạm thời được thực hiện. cơ sở dữ liệu này có kích thước 2,5 MB. Nhưng SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 10 nó có thể tăng thêm khi bạn cần thêm khoảng trống. Nó sẽ được khởi tạo lại mỗi khí SQL Server được khởi động lại. Cơ sở dữ liệu Pubs: Cơ sở dữ liệu Pubs chứa hầu hết nội dung hướng dẫn, trợ giúp và cả sách tham khảo về SQL Server, hầu hết các tính năng cơ sở dữ liệu đều được nêu bật qua việc cài đặt chúng vào cơ sở dữ liệu Pubs. Cơ sở dữ liệu có kích thước 2MB sau khi cài đặt. Bạn có thể xoá cơ sở dữ liệu này mà không cần xác nhận với SQL Server. Cơ sở dữ liệu Northwind:Cũng giống cơ sở dữ liệu Pubs đây cung là một cơ sở dữ liệu mẫu cho người dùng tham khảo, hoặc các lập trình Visual Basic hay Access dng để truy cập SQL Server. Cơ sở dữ liệu này được cài đặt như một phần của SQL Server, nếu cần dùng cấu trúc của hai cơ sở dữ liệu này bạn có thể sử dụng hai file kịch bản Script mang tn Inspubs.sql v insnwnd.sql. Tập tin chuyển tc log :chứa những hoạt độnghay cả những chuyển tác của cơ sở dữ liệu theo thời gian. Thông thường khi tìm sự cố xẩy ra với cơ sở dữ liệu, người dùng chỉ cần tham khảo tập tin log sẽ biết được nguyên nhân. III. GIỚI THIỆU VỀ ĐỐI TƯỢNG CỦA CƠ SỞ DỮ LIỆU. 1. Bảng – Table. Trong cơ sở dữ liệu, bảng (Table) là thành phần chính của chúng. Do đó bảng là đối tượng lưu trữ dữ liệu thực, khi cần giao tiếp với cơ sở dữ liệu khác, bảng là đối tượng căn bản nhất trong bất kỳ loại cơ sở dữ liệu nào, chúng được coi như một miền dữ liệu. Bảng dùng để lưu trữ tất cả dữ liệu và được tổ chức thành nhiều hàng và nhiều cột. Mỗi cột trong bảng có thể lưu một loại thông tin nhất định gọi là kiểu dữ liệu, dữ liệu nhập vào có thể chấp nhận hoặc từ chối tuỳ thuộc vào nguyên tắc ràng buộc dữ liệu hoặc dữ liệu tương thích do hệ thống hay người dùng định nghĩa. Khi định nghĩa cơ sở dữ liệu ta cần quan tâm đến các thông số sau: Key: Trường đó có khoá hay khơng. ID: Trường có thuộc tính Indentity hay không. Culumn Name: Tên của trường. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 11 Data type: Loại dữ liệu cho trường tương ứng. Size: Kích thước trường dữ liệu. Allow null: Cho phép giá trị rỗng lưu trong trường hay không. Default: Gi trị mặc nhin cho trường. Identity: Nếu bạn cần sử dụng một trường có giá trị tự động như Autonumber trong access, trường này Not null và indentity: Yes (On) Identity Seed: Nếu trường (cột) này là identity, cần số bắt đầu số 1 hoặc 2, Identity Increament : Số nhảy cho mỗi lần tăng 2. Chỉ mục – Indexs. Index hay cịn gọi l đối tượng chỉ mục, đối tượng này chỉ tồn tại trong bảng hay khung nhìn (view). Đối tượng chỉ mục này có ảnh hưởng tới tốc độ truy cập số liệu, nhất là khi cần tìm kiếm thơng tin trn bảng. chỉ mục gip tăng tốc độ cho việc tìm kiếm. Clustered: Ứng với mỗi chỉ mục này một bảng chỉ có một chỉ mục, và số liệu được sắp xếp theo trang. Non-clustered: Ứng với chỉ mục này một bảng có thể có nhiều chỉ mục và dữ liệu được sắp xếp theo trường dữ liệu mà bạn chỏ tới. 3. Bẫy lỗi- Triggers: Nếu đối tượng chỉ tồn tại trong bảng, cụ thể là một doạn m, v tự động thực thi khi có một hành động nào đó xảy ra đối với dữ liệu trong bảng như: Insert, Update, Delete. Trigger có thể sử dụng để bẫy rất nhiều tình huống như copy dữ liệu, xoá dữ liệu, cập nhật dữ liệu, kiểm tra dữ liệu theo tiêu chuẩn nào đó. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 12 Trong SQL Server 2000 có kỹ thuật mới gọi là INSTEAD OF trigger, kỹ thuật này cho phep bạn thực hiện những hành động khác nhau tuỳ theo cách mà người dùng tương tác. 4. Rng buộc – Constaints: Là một đối tượng, nó là một phần nhỏ trong bảng, chúng ràng buộc dữ liệu trong bảng hoặc các bảng khác phải tuân theo một quy tắc nào đó. 5. Diagram (lược đồ quan hệ): Khi xây dựng cơ sở dữ liệu cho ứng dụng hay thương mại điện tử, thường phải dựa trên trình phn tích thiết kế hệ thống. Sau những bước phân tích và thiết kế, bạn sẽ thiết lập quan hệ dữ liệu giữa các thực thể ERD (Entrity Relationship Diagram) 6. Khung nhìn (View): L khung nhìn hay một bảng ảo của bảng. Cũng giống như bảng nhưng View không thể chứa dữ liệu, bản thân View có thể tạo thêm trường mới dựa vào những phép toán, biểu thức của SQL Server. Bên cạnh đó View có thể kết nối nhiều bảng lại với nhau theo quan hệ nhất định cùng với những tiêu chuẩn, nhằm tạo ra một bảng theo nhu cầu của người dùng. Mục đích của View là kiểm soát tất cả những gì m người sử dụng muốn thấy, nó bao gồm hai ảnh hưởng chính đó là bảo mật và dễ sử dụng. 7. Thủ tục nội (stored Procedure): Thủ tục nội hay cịn gọi l Spocs, tiếp tục pht triển như một phần lập trình SQL trên cơ sở dữ liệu . Stored Procedure cho phép khai báo biến, nhận tham số cũng như thực thi các phát biểu có điều kiện. Stored Procedure có các ưu điển sau: Kế thừa tất cả các phát triển của SQL, và là một đối tượng xử lý số liệu hiệu quả nhất khi dng SQL Server. Tiết kiệm thời gian thực thi trn dữ liệu. Cĩ thể gọi những Stored Procedure theo cch gọi của thủ tục hay hm trong cc ngơn ngữ lập trình truyền thống, đồng thời sử dụng lại khi có yêu cầu. 8. Sử dụng kiểu dữ liệu Cursor: khi dùng cơ sở dữ liệu SQL Server, nếu cĩ tính tốn trn bảng số liệu, chuyển tc thực hiện trn từng mẩu tin bạn hy nghĩ đến kiểu dữ liệu mang tên Cursor. IV. KIỂU DỮ LIỆU (DATA TYPE) SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 13 Bất kỳ trường nào trong bảng của cơ sở dữ liệu đều phải có kiểu dữ liệu. Một số kiểu dữ liệu SQL Server cho phép định nghĩa chiều dài của kiểu trong khi một số khác thì khơng. SQL Server kế thừa những kiểu dữ liệu của SQL Server 7.0 v cung cấp thm một số kiểu dữ liệu mới. Các kiểu dữ liệu của SQL Server có thể được phân thành các nhóm sau: String (chuỗi), chuỗi Unicode binary (nhị phân), Integer (số nguyên ), approximate numeric (số gần đúng), data and time (ngày giờ), Money (tiền tệ), Ngồi ra SQL Server cịn cho chuyển đổi qua lại giữa các kiểu dữ liệu, tuy nhiên điều này cũng có một số hạn chế đốivới một số kiểu dữ liệu. Ví dụ : kiểu Binary không cho phép chuyển đổi sang kiểu dữ liệu số Float hay real. V. CC CƠNG CỤ CHÍNH CỦA SQL SERVER 2000. 1. Trợ gip trực tuyến (Books online): Là một công cụ trợ giúp trực tuyến, giúp cho người làm việc trn SQL truy tìm những vấn đề có liên quan đến cơ sở dữ liệu SQL Server. Trong một trừng mực nào đó, người lập trình khơng thể nhớ hết cc c php, hm hay cc php tốn cũng như các thủ tục SQL, chính vì thế m Books Online l cơng cụ trợ gip trực tuyến tốt nhất. 2. Tiện ích Mạng Client/ Server: Đây là công việc do người quản trị mạng đảm nhận. Để các máy PC khác có thể kết nối và sử dụng cơ sở dữ liệu SQL Server trong hệ thống mạng bạn cần các tiện ích trên máy trạm giống như cấu hình của Server. SQL Server cung cấp một thư viện Net-libraries hay cịn gọi l NetLibs, thư viện này bao gồm nhiều nghi thức kết nối cho phép các máy trạm có thể truy cập cơ sở dữ liệu vào SQL Server: Named Pipes. TCP/IP. Multiprotocol. Nwlink IPX/SPX. AppleTalk. Banyan VINES. Shared Memory. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 14 VIA. 3. Trình Enterprise Managar: l mn hình điều khiển khi quản trị SQL Server. Enterprise Managar cung cấp cho người quản trị nhiều chức năng để quản lý SQL Server bằng giao diện đồ hoạ, chức năng của Enterprise Managar bao gồm: Tạo, cập nhật, xoá cơ sở dữ liệu và đối tượng của chúng. Tạo, cập nhật, xố cc gĩi Data transformation Packages. Quản lý lịch trình Backup. Quản lý người dùng đang truy cập SQL Server và cơ sở dữ liệu. Cấu hình Job Management. Cập nhật, tạo, xố, quyền Login User. Thiết lập v quản lý Mail Server. Tạo v quản lý tìm kiếm. Cấu hình cho Server. Tạo v cấu hình cho Replication. Ngồi ra Enterprise Managar cịn cĩ một số chức năng khác như đăng ký nhiều Server khc. 4. Trình Query Analyzer: Cơng cụ ny gip cho bạn pht triển hay gỡ rối trong SQL Server, Query Analyzer l cơng cụ cung cấp bởi SQL Server, l trình soạn thảo v thực thi cu lệnh SQL hay Stored Procedure. VI. CÁC PHÁT BIỂU CƠ BẢN CỦA T-SQL 1. Pht biểu Select: SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 15 Pht biểu Select l một trong những pht biểu yu cầu SQL Server l gì đó trên cơ sở dữ liệu. Select dùng để đọc thông tin từ cơ sở dữ liệu theo những trường quy định, hay những biểu thức cho trường đó. FROM để chỉ ra nơi chứa dữ liệu (hay bảng cần truy vấn), WHERE chỉ ra điều kiện lấy dữ liệu . ORDER BY dng để hiển thị kết quả truy vấn theo tiêu chuẩn của người dùng. Nếu thiếu tham số này thì việc sắp xếp sẽ theo thứ tự ALPHABET. C php của pht biểu Select: SELECT [ FROM ] [ WHERE ] [ GROUP BY ] [ HAVING ] [ ORDER BY ] Những pht biểu nằm trong dấu [ ] thì cĩ thể cĩ hoặc cĩ thể khơng cĩ. Dấu * cho phép lọc bảng tin với tất cả các trường trong bảng. Vi dụ: Để lấy tất cả các tỉnh trong bảng tblTinh ta dùng phát biểu sau: SELECT * FROM tblTinh. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 16 Nếu muốn chỉ d những trường nào cần lọc bạn cần nêu tên của những trường đó. SELECT * FROM tblBenhnhan WHERE tblBenhNhan.TenbenhNhan= ‘ Nguyễn văn Hưng ‘ Ngồi những cu lệnh truy vấn trn, Trong SQL cịn cung cấp một số hm cũng như một số biểu thức toán học. 2. Nhập dữ liệu bằng pht biểu INSERT. Khi thêm mẩu tin vào trong SQL Server 2000, có nhiều cách để thực hiện công việc này. Trong Visual Basic có những phát biểu thêm mẩu tin vào bảng SQL Server, tuy nhiên để tối ưu về tốc độ hay tính chuyên nghiệp trong SQL Server, bạn cần sử dụng phát biểu INSERT. Cĩ thể sử dụng pht biểu ny trn ứng dụng kết nối với SQL Server 2000 hay cĩ thể tạo ra một Stored Procedure với mục đích INSERT dữ liệu vào bảng chỉ định. Cú pháp của phát biểu INSERT như sau: INSERT INTO (Danh sch cột) VALUES Ví dụ: để chèn dữ liệu vào bảng tblChucvu ta có câu lệnh truy vấn sau: INSERT INTO tblChucvu(MaCV, TenCV) VALUES(‘01’,’Trưởng Phịng) 3. Pht biểu cập nhật (UPDATE) SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 17 Phát biểu UPDATE dùng để cập nhật dữ liệu đ cĩ trong bảng. Khi cập nhật dữ liệu cho một mảu tin no đó thường UPDATE sử dụng chung với mệnh đề WHERE. Cú pháp của mệnh đề UPDATE như sau: UPDATE FROM SET = WHERE Ví dụ muốn thaqy đổi tên tỉnh có m số (‘01’) thnh Hải Dương ta dùng câu truy vấn như sau: UPDATE FROM tblTinh SET tblTinh.Tentinh = ‘Hải Dương’ WHERE tblTinh.MaTinh = ‘01’ 4. Pht biểu xĩa (DELETE) Khi thực hiện xóa mẩu tin trong bảng chúng ta chỉ cần quan tâm đến tên bảng và mệnh đề WHERE để mọc mẩu tin nếu có. C php: DELETE FROM WHERE Ví dụ : Để xóa tên tỉnh có tên là Hải Dương ta là như sau: DELETE FROM tblTinh SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 18 WHERE tblTinh.TenTinh = ‘Hải Dương’ Trong trường hợp có ràng buộc về quan hệ dữ liệu, thì xố mẩu tin phải tun thủ theo nguyn tắc: Xĩa mẩu tin con trước rồi mới xóa mẩu tin cha. Ngồi ra trong SQL Server cịn cĩ những pht biểu cho php kết nối nhiều bảng với nhau như: JOIN, INNER JOIN, LEFT IOIN, RIGHT JOIN, FULL JOIN CROSS JOIN. Vis dụ: Để xác định địa chỉ của nhân viên ta cần xác định Tỉnh, huyện, X để là được điều đó ta thực hiện câu truy vấn sau: CREATE VIEW dbo.vwDiachi AS SELECT dbo.tblTinh.TenTinh,dbo.tblHuyen,dbo.tblXA.TenXa, dbo.tblXa.Maxa FROM dbo.tblHUYEN INNER JOIN Dbo.tblTINH ON dbo.tblHUYEN.MaTinh = dbo.tblTINH.MaTinh INNER JOIN Dbo.tblXA ON dblHUYEN.MaHuyen = dbo.tblXA.MaHuyen. Khi đ cĩ VIEW địa chỉ rồi ta chỉ cần gọi câu truy vấn sau là sẽ có thông tin về địa chỉ của nhân viên. SELECT TenTinh, TenHuyen, TenXa FROM vwDiachi WHERE MaXa = @MaXa @MaXa là một biến được đưa vào để chọn ra X cần tìm. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 19 VII. KHÁI NIỆM VỀ ĐỐI TƯỢNG TRONG SQL VÀ CÁCH TẠO CÁC ĐỐI TƯỢNG TRONG SQL SERVER. 1. Tạo cơ sở dữ liệu (CREATE DATABASE) Khi xây dựng cơ sở dữ liệu bạn bắt đầu từ mô hình cơ sở dữ liệu ERD, hay từ một giai đoạn nào đó trong quá trình phn tích thiết kế. Để tạo cơ sở dữ liệu trên SQL Server ta dùng một trong ba phương pht sau: Database Creation Wizard. SQL Server Enterprise Manager. Cu Lệnh CREATE DATABASE. Cú Pháp của câu lệnh CREATE DATE như sau: CREATE DATABASE [ON [ PRIMARY] ([ Name = ,] [ , SIZE = ] [ , MAXSIZE = ] [, FILEGROWTH = ] )] [ LOG ON ( [ name = , ] FileName = SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 20 [ , SIZE = ] [ , MAXSIZE = ] [ , FILEGROWTH = ] ) ] [ COLLATE ] [ For load Ð For Attch ] Trong đó: ON: Định nghĩa nơi chứa dữ liệu và không gian chứa tập tin Log. NAME: Định nghĩa tên cơ sở dữ liệu. FILENAME: Tên tập tin cơ sở dữ liệu trên đĩa cứng. SIZE: Cho biết dung lượng của cơ sở dữ liệu khi tạo chúng. MAXSIZE: Dung lượng lớn nhất, khi dung lượng cơ sở dữ liệu tăng đến mức Maxsize thì dừng lại. Nếu khi dung lượng bằng Maxsize, các chuyển tác có thể bị huỷ bỏ hay trả về lỗi không thể thực hiện được. Để tránh điều này, người quản trị phải thường xuyên theo gii qu trình tăng dung lượng cơ sở dữ liệu theo thời gian. FILEGROWTH: Dung lượng khởi tạo cùng dung lượng tối đa cho phép tăng trong quá trình thm dữ liệu vo cơ sở dữ liệu. LOG ON: Cho php bạn quản lý những chuyển tc xảy ra trong qu trình sử dụng cơ sở dữ liệu của SQL Serve Dùng SQL Server Enterprise Managar để tạo một cơ sở dữ liệu mới, thực hiện các bước như sau: SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 21 Khởi động SQL Server Enterprise Managar. Kết nối với SQL Server. Mở rộng thư mục Database như sau: Nhấn nút chuột phải vào thư mục Database hoặc vào khoảng trắng ở khung bên phải rồi chọn New Database từ menu ngữ cảnh. Đặt tên cơ sở dữ liệu. Nhấn OK để hoàn thành công việc 2. Tạo bảng (Table) Như với hầu hết với mọi đối tượng trong SQL Server, có hai cách để tạo bảng. Có thể dùng SQL Server Enterprise Managar hoặc có thể dùng câu lệnh SQL trực tiếp: SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 22 Tạo bảng bằng SQL Server Enterprise Managar bao gồm những bước sau: Kết nối SQL Server của bạn, mở Folder cơ sở dữ liệu , rồi mở cơ sở dữ liệu muốn làm việc. Sau đó chọn Folder Tables như : Nhấn chuột phải vo khung bn phải v chọn New Table. Bạn sẽ được yêu cầu nhập tên bảng. Nhập thông tin vào các trường: Column Name, Datatype, Length, Precision . Lưu lại công việc đ lm. Dng cu lệnh SQL Server trực tiếp. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 23 CRETE TABLE[ Database_Name.[ owner ].Table_ name ( [[DEFAULT ] | [ IDENTITY (seed, increament) [ NOTFOR REPLICTION ] ] ] ] [ ROWGUIDCOL ] [ NULL/ NOTNULL ] [ ] [ ] ) ON { / DEFAULT} ) ] Tên cột (Column Name): Đặt tên cột cũng giống như dặt tên bảng, nhưng tên cột tuân thủ một số quy tắc sau: Tên cột bắt đầu bằng trữ hoa, cịn lại bằng trữ thường. Tên cột phải ngắn gọn và đầy đủ ý nghĩa. Không nên đặt tên cột có khoảng trắng. Không nên đặt tên cột trùng với những từ khóa. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 24 Nên đặt tên cột cùng tên những cột có quan hệ với bảng khác trong cơ sở dữ liệu. Kiểu dữ liệu (Data type): Kiểu dữ liệu dùng để xác định kiểu thông tin và cần bao nhiêu không gian để chứa thông tin trong cột. Giá trị mặc nhiên (Default): Thông thường khi tạo ra một cột trong bảng đôi khi chúng ta áp dụng giá trị mặc nhiên. IDENTITY: L khi niệm cực kỳ quan trong trong SQL Server. Khi bạn muốn một cột có giá trị tăng tự động như AutoNumber, khi sử dụng Identity làm số tăng tự động thì kiểu dữ liệu l số nguyn hoặc số nguyn 4 Byte. NULL / NOT NULL: Đây là trạng thái của một cột trong bảng cho phép giá trị chấp nhận NULL hay NOT NULL. Ràng buộc (Column constrain): Ràng buộc là một số quy định 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, ràng buộc bảng là kiểm soát dữ liệu nhập vào bảng theo một quy luật định sẵn. Khi dữ liệu nhập vào bảng thì qu trình thực hiện rng buộc giữa cc bảng dữ liệu xảy ra nhằm kiểm tra gi trị khĩa chính hay khố phụ, cc cột cho php NULL hay NOT NULL, đồng thời kiểm tra rng buộc dữ liệu với những bảng cĩ quan hệ hay hai ba ngơi. 3. Tạo kịch bản (CREATING SCRÍPT) Kịch bản là tổng hợp các phát biểu SQL dùng để tại ra cơ sở dữ liệu trong quá trình xy dựng chng. Công cụ này tạo kịch bản cho tất cả các đối tượng của cơ sở dữ liệu với những thuộc tính căn bản. từ cửa sổ Enterprise Managar, chọn tên cơ sở dữ liệu Account, sau đó nhấn chuột phải chọn / ALL Tasks / Generate SQL Scripts như sau: SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 25 Tab General Script all objects: Cho phép hiện danh sách các đối tượng. All Tables: Hiện danh sch tất cả cc bảng. All View: Hiện danh sch tất cả cc View. All stored procedure: Hiện danh sch tất cả cc SP. All defaults: Hiện danh sch tất cả cc gi trị mặc nhin. All rules: Hiện danh sách tất cả các quy luật định trước. Preview: Cho phép bạn xem như ví dụ của kịch bản. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 26 Tab Formatting : Dùng định dạng kịch bản tạo ra như cú pháp, có phát biểu DROP TABLE xóa bảng trùng tên nếu tồn tại trong cơ sở dữ liệu trước khi sử dụng bảng mới. 4. Khĩa v rng buộc dữ liệu (Key and Constraints): Dùng để kiểm tra khi có sự biến đổi từ phía dữ liệu như thêm, xóa, cập nhật bất kỳ một nguồn nào khác nhau chẳng hạn như Visual Basic. Quá trình kiểm tra mang tính logic ny gọi l rng buộc dữ liệu: Rng buộc dữ liệu:Bao gồm ở mức cao v ở mức đặc thù: Ở mức cao bao gồm: Rng buộc miền ( Domain constraint) Rng buộc thực tế (Entity constraint ) Rng buộc dữ liệu tồn vẹn. Ở mức đặc thù: Một số phưương thức ràng buộc được thiết lập trong mỗi loại ràng buộc cụ thể bao gồm: Rng buộc khĩa chính ( Primary Key constraint ). Rng buộc khĩa ngoại ( Foreign Key constraint ). Rng buộc duy nhất ( Unique constraint ). Rng buộc kiểm tra ( Check constraint ). Rng buộc mặc nhin ( Default constraint ). Rng buộc theo quy tắc hay quy luật ( Rules). Kiểm tra rng buộc trong khi cập nhật mẩu tin. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 27 Kiểm tra rng buộc trong khi xĩa bản tin 5. Chuẩn hĩa quan hệ: Chuẩn hóa là một phần của thiết kế cơ sở dữ liệu. chuẩn hóa trước tiênlà khái niệm mô hình cơ sở dữ liệu quan hệ, bao gồm các bảng ảo được tạo ra từ sự mơ phỏng của nhiều bảng khc. Chuẩn hóa bước 1 ( 1 NF ): Trong chuẩn hóa bước một chúng ta bắt đầu gom dữ liệu theo nhóm đối với những dữ liệu có liên quan hoặc tách các dữ liệu độc lập với nhau ra. Chuẩn hóa bước 2 ( 2NF): Trong chuẩn hóa bước 2, ta tiếp tục nhóm dữ liệu và giảm dữ liệu trùng lặp có thể làm đơn giản hóa cấu trúc dữ liệu trong cơ sở dữ liệu SQL Server. Chuẩn hóa 3 ( 3NF): Đây là bước chuẩn hóa cuối cùng, nhưng nếu cơ sở dữ liệu cịn cĩ thể chuẩn hĩa được thì chng ta cịn một số chuẩn hĩa khc. Quan hệ (Relationship): Xuất phát từ chuẩn hóa trên, để thực hiện việc phân nhóm dữ liệu, tách dữ liệu thành các bảng khác nhau, nhưng dữ liệu vẫn có mối quan hệ với nhau. Quan hệ trong các bảng với nhau tuân theo một quy tắc. Có 3 loại quan hệ trong mơ hình cơ sở dữ liệu: Quan hệ một - một ( One- to -One): L quan hệ giữa hai bảng với nhau, một mẩu tin ở bảng thứ nhất cĩ quan hệ duy nhất một mẩu tin ở bảng thứ 2 Quan hệ một - nhiều (One- to-Many): Một mẩu tin trong bảng thứ nhất cĩ quan hệ với nhiều mẩu tin trong bảng thứ 2. Quan hệ nhiều- nhiều ( Many-ti -Many): Quan hệ nhiều nhiều, l ứng với một mẩu tin trong bảng thứ nhất cĩ quan hệ với nhiều mẩu tin trong bảng thứ 2 v ứng với mẩu tin trong bảng thứ 2 cĩ quan hệ với nhiều mẩu tin trong bảng thứ nhất. 6. Lược đồ quan hệ trong SQL Server (Diagram): SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 28 Entity Relationship Data (ERD): L cơng cụ rất quan trọng trong qu trình phn tích thiết kế hệ thống thơng tin quản lý hay bất kỳ giải php ứng dụng no, cho d quy mơ to hay nhỏ. Entity Relationship Data cho phép kiểm soát được mối liên hệ giữa các thực thể với nhau. Bên cạnh đó kiểm soát được thông tin vào ra hay thay đổi trong cơ sở dữ liệu. 7. Tạo bảng ảo (View ): View cho phép bạn chia ngang hay dọc thông tin từ một hay nhiều bảng trong cơ sở dữ liệu. sử dụng View như là một đối tượng trong SQL Server , khi cần thiết sử dụng đến View, kết quả View trả về bằng việc truy vấn dữ liệu theo yêu cầu người dùng. Mục đích sử dụng View: Hạn chế tính phức tạp của dữ liệu đến người dùng. Kết nối dữ liệu từ nhiều bảng lại với nhau. Sử dụng tài nguyên Server để thực hiện việc truy vấn. Tạo ra một bảng ảo có dữ liệu như yêu cầu. Kết hợp một số hàm và phương thức tạo ra các cột mới. Khi cần thiết cĩ những cu lệnh SQL dng cho trong qu trình viết chương trình trên các Platform khác như Visual Basic View là kết quả của việc sử dụng phát biểu SQL, hàm và thủ tục trong SQL Server. Thông thường View được tạo bàng SQL Server Query Analyser hay SQL Server Enterprise Managar. 8. Thủ tục được lưu và hàm (Stored procedure hay SP) a. Thủ tục được lưu (Stored Procedure): Là một phần cực kỳ quan trọng trong cơ sở dữ liệu SQL Server. Cú pháp để tạo một Stored procedure như sau: CREATE PROCEDURE | PRO SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 29 [ [ VARYING] [= ][ OUT PUT] [ [ VARYING] [= ][ OUT PUT] . [ WITH RECOMPILE ENCRIPTION RECOMPILE, ENCRIPTION ] [ FOR REPICATION] AS GO b. Tạo hm (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 gi trị trả về hm đa dạng hơn chúng có thể trả về một bảng. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 30 CHƯƠNG II TỔNG QUAN VỀ VISUAL BASIC VÀ CƠ SỞ DỮ LIỆU TRONG VISUAL BASIC. Có một số phương tiện giúp cho việc áp dụng kỹ thuật hướng đối tượng trong truy cập dữ liệu trong VB: Gắn mẫu tin duy nhất với một đối tượng: Đây là kỹ thuật đơn giản nhất, không cần lập trình nhiều. Mỗi trường trong mẫu tin trở thành một thuộc tính của đối tượng; lấy dữ liệu về từ cơ sở dữ liệu hay lưu dữ liệu vào cơ sở dữ liệu đều được xử lý qua đối tượng. Ủy nhiệm xử lý dữ liệu cho một đối tượng Recorset chứa trong một đối tượng: Đây là kỹ thuật tốt nhất khi ta cần xử lý một số khơng giới hạn mẫu tin. Kỹ thuật ny cũng dễ lập trình, bởi cĩ nhiều chức năng quản lý được cung cấp sẵn trong các mô hình đối tượng được sử dụng (DAO hay RDO). Kỹ thuật đặc biệt hữu dụng khi dùng ADO bởi vì ADO cung cấp khả năng ngắt kết nối với nguồn dữ liệu, cho phép ứng dụng Client thao tác với dữ liệu không cần thao tác với Server. Bởi vì nhiều người sử dụng kết nối đồng thời là một điểm yếu của các hệ thống Client / Server, ngắt kết nối nghĩa là giải pháp sẽ linh hoạt hơn. I. Mơ Hình Dữ Liệu ADO: (ActiveX Data Object: Đối tượng dữ liệu ActiveX) Ta cĩ thể hình dung rằng mơ hình ADO l một mơ hình lm 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 những người lập trình 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 các mục tiêu cối li của ADO, mơ hình ny được thiết kế để cho phép bạn 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. Thực tế chỉ cĩ ba đối tượng cốt li sau trong mơ hình: - Connection đại diện kết nối dữ liệu 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. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 31 Đối tượng Connection có một sưu tập đối tượng con 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 sưu tập đối tượng con, Paramters để giữ bất cứ các tham số nào có thể thay thế cho các query. Recorset cũng có một đối tượng sưu tập 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 SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 32 II. CÁC THUỘC TÍNH ADO ĐẶC BIỆT: Mơ hình ADO cĩ một số cc thuộc tính duy nhất khơng cĩ cc mơ hình khc như DAO và RDO. 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ó 7 thuộc tính như sau: - Connection string (Chuỗi kết nối). - Command Text (Văn bản câu lệnh). - Command Type (Kiểu cu lệnh). - Cursor location (Định vị con trỏ). - Cursor Type (Kiểu con trỏ). - Look type (Kiểu khố). - Mode type (Kiểu chế độ làm việc). SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 33 PHẦN II ỨNG DỤNG XY DỰNG HỆ THỐNG QUẢN LÝ BỆNH NHN TẠI BỆNH VIỆN CHƯƠNG I : ĐẶC TẢ BÀI TOÁN. Bệnh viện đa khoa tỉnh Khánh Hoà là một trong những trung tâm khám chữa bệnh lớn nhất của tỉnh Khánh Hoà. Do đó, nhu cầu ứng dụng việc quản lý bằng tin học vo trong việc quản lý Bệnh nhn v nhn vin của bệnh viện l một nhu cầu tất yếu. Sau khi khảo st hiện trạng chng tơi nắm được những thông tin chính cần quản lý sau: Quản lý nhn vin bệnh viện Mỗi nhân viên của bệnh viện được quản lý các thông tin sau đây: Họ, tên, giới tính, ngày sinh, nơi sinh, địa chỉ, dân tộc, trình độ chuyên môn, đơn vị công tác, chức vụ, tôn giáo. Địa chỉ quản lý: Tỉnh (Thnh phố ), Quận (Huyện), Phường (X), Số nh, (Thơn) Quản lý bệnh nhn: Khi một bệnh nhân nhập viện lần đầu tiên, bệnh viện lưu những thông tin sau: Họ, tên, giới tính, ngày sinh, địa chỉ, đối tượng. Bệnh nhân được chia làm hai loại: Loại có bảo hiểm y tế và không có bảo hiểm y tế. Nếu bệnh nhân có bảo hiểm y tế thì quản lý: Số thẻ bảo hiểm y tế, thời gian hiệu lực, phần trăm bảo hiểm, nơi khám bệnh ban đầu. Nếu bệnh nhân có thẻ bảo hiểm y tế là công nhân viên của một tổ chức, cơ quan nào đó thì quản lý thm: Tn, địa chỉ, điện thoại, fax cuả cơ quan cơng tc. Địa chỉ bệnh nhân và cơ quan quản lý: Số nh, đường (thôn, ấp), x (phường), quận (huyện), tỉnh (thành phố). Quy trình khm chữa bệnh Bệnh nhân đến bệnh viện để khám chữa bệnh (vì đây là bệnh viện đa khoa) nên có các trường hợp sau: - Bệnh nhân đến để khám chữa các bệnh thông thường. - Bệnh nhân đang ở trong tình trạng cần cấp cứu đặc biệt (các thủ tục nhập viện được tiến hành sau). - Bệnh nhân là sản phụ trong trường hợp cấp cứu (thì được đưa trực tiếp đến khoa sản). SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 34 Nhìn chung, bệnh nhân đến bệnh viện để khám chữa bệnh theo quy trình chung sau: - Bước 1: Bệnh nhân đến nơi tiếp nhận bệnh nhân (nơi cấp số) để xác lập việc khám bệnh và được chỉ định một vị trí khám bệnh. - Bước 2: Bệnh nhân được một bác sĩ khám bệnh. - Bước 3: Sau khi khám xong bệnh nhân thuộc một trong hai loại: Điều trị tại nhà hay nhập viện. + Bước 3.1: Nếu bệnh nhân điều trị tại nhà thì bc sĩ cho một toa thuốc trn đó ghi đầy đủ tên thuốc, số lượng và cách dùng. Nếu bệnh nhân có thẻ bảo hiểm y tế thì đến nơi cấp thuốc bảo hiểm y tế để nhận thuốc và trả một phần giá thuốc theo quy định phần trăm trên thẻ bảo hiểm. Ngược lại, bệnh nhân phải trả tất cả chi phí khám bệnh và tự mua thuốc. + Bước 3.2: Nếu bệnh nhân phải nhập viện thì bc sĩ khm bệnh cho một lệnh nhập viện, trên đó có ghi đầy đủ thông tin về bệnh nhân, căn bệnh dự đoán và đưa đến khoa điều trị. - Bước 4: Tại khoa điều trị, bệnh nhân sẽ được chuẩn đoán và lập một bệnh án chi tiết. Trên bệnh án ghi đầy đủ thông tin về bệnh nhân và căn bệnh mà bệnh mắc phải. Qu trình điều trị bệnh nhân được thể hiện đầy đủ trên bệnh án. Trong một khoảng thời gian quy định tuỳ theo bệnh nhân, bệnh nhân được một bác sĩ khám, cho một toa thuốc. Trên toa thuốc ghi tên thuốc, số lượng và cách dùng. Trong qu trình điều trị, bệnh nhân có thể sử dụng các dịch vụ hỗ trợ khám bệnh như: Xét nghiệm, X_quang, siêu âm, Việc sử dụng cũng theo chỉ định của bác sĩ khám chữa bệnh. Mỗi dịch vụ có giá tiền riêng. Khi bệnh nhân điều trị có thể lựa chọn loại phịng nằm điều trị với giá dịch vụ ring cho mỗi loại phịng. - Bước 5: Thanh toán viện phí: Trong quá trình điều trị, cứ 3 ngày, bệnh viện yêu cầu bệnh nhân thanh toán viện phí một lần (bằng cách bệnh nhân sẽ đóng một số tiền tạm ứng tuy theo khả năng của mình), sau khi xuất viện nhn vin sẽ căn cứ vào số tiền tạm ứng trên sẽ tính để biết được bệnh nhân đ thanh tốn đầy đủ tiền viện phí chưa. Nếu bệnh nhân có thẻ bảo hiểm y tế thì chỉ đóng phần trăm viện phí theo bảo hiểm bao gồm tiền thuốc và các dịch vụ hỗ trợ chữa trị và khám bệnh. Ring tiền phịng, nếu cĩ thẻ bảo hiểm y tế, bệnh nhn cũng chỉ được bảo hiểm trên loại phịng rẻ SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 35 nhất, nếu bệnh nhn nằm điều trị ở loại phịng cĩ gi tiền cao thì tự trả phần chnh lệch. Khi xuất viện, bệnh nhn thanh tốn tồn bộ số viện phí cịn lại. Trong qu trình điều trị, nếu có bệnh nhân trốn viện, không thanh toán viện phí. Bệnh viện lưu lại tất cả các thông tin về bệnh nhân trốn viện. Nếu sau khi chữa trị 3 ngày mà bệnh nhân không đóng tạm ứng tiền viện phí (hay tiền tạm ứng viện phí trước đó đ hết), thì khoa (phịng) nơi điều trị bệnh nhân trình ban lnh đạo biết để xem xét giải quyết. - Bước 6: Theo chu kỳ mỗi tháng, bệnh viện thanh toán tiền viện phí với Bảo hiểm y tế. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 36 CHƯƠNG II PHN TÍCH V THIẾT KẾ HỆ THỐNG THƠNG TIN I. MƠ HÌNH QUAN HỆ DỮ LIỆU TINH ĐON VI CHUYEN MON CHUC VU DAN TOC -Ma tinh -MaDV -MaCM -MaDT -MaCV -Ten tinh -TenDV -TenCM -TenCV -TenDT (1,n) (1,n) (1,n) (1,n) (1,n) H-T NV-ĐV NV-DT TONGIAO NV-CM NV-CV (1,1) -MaTG (1,1) (1,1) (1,1) (1.n) -TenTG HUYEN -MaH NHANVIEN (1,1) NV- TG -TenH -MaNV -HoNV VITRIKB -MaVTKB (1.n) -TenNV (1,1) (1.n) -TenVTKB X-H -NgaySinhNV (1,1) -GioiTinh -Sonha KHAMB Xa (1.n) -NgayKB (1.n) -NoiDung -MaX (1,1) BENH -ChiPhi -TenX -MaB Dia Chi (1.n) (1.n) -TenB (1.n) (1,1) BN-X (1,1) BENHNHAN (1,1) -MaBN DONTHUOC -MaDT -HoBN -NgaykeDon BAOHIEMYTE -TenBN BENHAN -SoBHYT -NgaySinhBN -MaBA -NgayBD (1.n) -GioiTinh -NgayVao -NgayKT -SoNha Phantram -Ngayra DUNGTHUOC -SoluongDung (1.n) -LieuDung (1,n) CANBO DUNGDV (1.n) BN-TU (1.1) -LanD THUOC -MaT CQ-CB (1.1) -TenT (1.n) (1.1) -DonGia TAMUNG (1.n) COQUAN -MaTU -MaCQ NOIDIEUTRI DICHVU -LanTU -MaNDT -MaDV -TenCQ -NgayTU -TenNDT -TenDV -DienTCQ -Sotien -FaxCQ -DonGia -DonGia SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 37 II. MƠ HÌNH TỔ CHỨC DỮ LIỆU 1. TINH(MaTinh, TenTinh) 2. HUYEN(MaHuyen, TenHuyen, MaTinh ) 3. XA(MaX, TenX, MaHuyen) 4. DONVI(MaDV, TenDV) 5. DANTOC(MaDT, TenDT) 6. TONGIAO (MaTG, TenTG ) 7. CHUYENMON(MaCM, TenCM) 8. CHUCVU(MaCV, TenCV) 9. COQUAN(MaCQ, TenCQ, DienThoaiCQ,FaxCQ) 10. CANBO(MaBN, MaCQ) 11. BAOHIEM(MaBN, SoTheBHYT, NgayBD, NgayKT, Phan tram) 12. BENHNHAN(MaBN,HoBN, TenBN, NgaySinhBN, GioiTinhBN, SoNhaBN, MaX) 13. KHAMBENH(MaNV,MaVTKB,MaBN,MaDT,MaB, NgayKB,NoiDungKB, CPKB) 14. VITRIKHAMBENH(MaVTKB, Ten VTKB) 15. DONTHUOC(MaDT, NgaykeDon, MaVT, MaNV, MaBN, MaB) 16. THUOC(MaT, Ten thuoc, DonGia) SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 38 17. BENH(MaB, TenB) 18. NOIDIEUTRI(MaNĐT, Ten NĐT, DonGia) 19. DUNGTHUOC(MaT, MaDT, Soluongdung, LieuDung ) 20. DICH VU(MaDV, TenDV, ĐonGiaV) 21. TAMUNGVIENPHI(MaTU, LanTU, SoTienTU, MaBN) 22. BENHAN(MaBA, NgayVao, NgayRa, MaBN, MaNV, MaB, MaNDT) 23. DUNGDICHVU(MaBA, MaDV, LanDungDV) 24. NHAN VIEN(Ma NV, Ho NV,Ten NV, Ngaysinh, Gioi tinh, Sonha, Ma ĐV, MaCM, MaCV, MaDT, MaX) III. MƠ HÌNH VẬT LÝ DỮ LIỆU 1. TINH(Matinh, Tentinh) TINH Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn Matinh (K) M tỉnh Text (2) Primary key Tentinh Tn tỉnh Text (20) Not NULL Mỗi một thể hiện là một thành phố hay một tỉnh nào đó. Theo khảo sát thực tế tại BV tỉnh Khánh Hoà quy định M tỉnh l 2 số. Ví dụ: 01 l m của Khnh Hồ. 02 l m của tỉnh Bình Thuận. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 39 2. HUYEN(Mahuyen, Tenhuyen, Matinh) HUYEN Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn Mahuyen (K) M huyện Text (4 ) Primary key Tenhuyen Tn huyện Text (30) Not NULL Matinh M tỉnh Text (2) Foreign key Mỗi một thể hiện l một quận hay huyện thuộc một thnh phố hay một tỉnh nào đó. Hai số đầu là m Tỉnh hay Thnh Phố, hai số tiếp theo l m Quận hay Huyện trực thuộc Tỉnh hay Thnh Phố. Ví dụ: 0101: L m của TP Nha Trang. 0102: L m của huyện Ninh Hồ. 3. XA(MaX , Tn X, Ma huyen) XA Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaX (K) M x Text (6) Primary key TenX Tn x Text (30) Not NULL Mahuyen M huyện Text (4) Foreign key Mỗi một thể hiện l một quận hay một x no đó thuộc một phường hay một huyện nào đó. Hai số đầu là m tỉnh hay thnh phố, hai số tiếp theo l m quận hay huyện trực thuộc thnh phố hay tỉnh, hai số tiếp theo l m phường hay x trực thuộc quận hay huyện Ví dụ: 010101: Phường Xương Huân(Nha Trang). 010203: X Ninh Hưng(huyện Ninh Hoà). 4. DONVỊ(MaDV, Ten DV) SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 40 DONVI Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaDV (K) M đơn vị Text (2) Primary key TenDV Tên đơn vị Text (50) Not NULL Mỗi một thể hiện là một đơn vị công tác của nhân viện trong Bệnh Viện, teo khảo sát tại Bệnh Viện Đa khoa tỉnh Khnh Hịa hiện cĩ dưới 100 khoa. Nên m Đơn Vị là hai số Ví dụ: 01: Khoa nội. 02: Khoa ngoại. 03: Khoa nhi. 5. DANTOC(MaDT, TenDT) DANTOC Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn Ma DT (K) M dn tộc Text (2) Primary key Ten DT Tn dn tộc Text (30) Not NULL Mỗi một thể hiện là một dân tộc của một nhân viên hay bệnh nhân nào đó , Việt Nam hiện có 54 dân tộc. Nên m dn tộc l hai số. 6. TONGIAO (MaTG, TenTG ) SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 41 TONGIAO Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaTG(K) M tơn gio Text (2) Primary key TenTG Tn tơn gio Text (30) Not NULL Mỗi một thể hiện là một tôn giáo nào đó. Hiện nay Việt Nam có khoảng 20 tôn giáo. Nên m tơn gio l hai số. 7. CHUYEN MON(MaCM, TenCM) CHUYEN MON Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaCM (K) M chuyn mơn Text (2) Primary key TenCM Tn chuyn mơn Text (50 ) Not NULL Mỗi thể hiện l một chuyn mơn của nhn vin trong bệnh viện, theo khảo st thì hiện cĩ dưới 100 chuyên môn. Nên ta chọn 2 ký tự để đánh số thứ tự cho chuyn mơn. 8. CHUCVU(MaCV, TenCV) CHUCVU Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaCV (K) M chức vụ Text (2) Primary key TenCV Tn chức vụ Text (20) Not NULL Mỗi thể hiện l một chức vụ của nhn vin, theo khao sát hiện Bệnh Viện có dưới 100 chức vụ. nên ta chọn hai ký tự để đánh số thứ tự của chức vụ. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 42 9. COQUAN(MaCQ, TenCQ, Đien thoaiCQ, FaxCQ) COQUAN Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaCQ (K) M cơ quan Text (3) Primary key TenCQ Tn cơ quan Text (50) Not NULL Đien thoaiCQ Số điện thoại Text (10) NULL FaxCQ Fax cơ quan Text (12) NULL Mi một thể hiện l cơ quan của bệnh nhân nào đó, Bênh Viện có rất nhiều bênh nhân đến diêu trị trong đó có những bệnh nhân thuộc khối cơ quan, cónhiều cơ quan. Nên ta chọn 3 ký tự để đánh số thứ tự của cơ quan. 10. CANBO(MaBN, MaCQ ) CANBO Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaBN (K) M bệnh nhn Text (9) Primary key MaCQ M cơ quan Text (3) Foreign key Mi một thể hiện là bệnh nhân có bảo hiểm y tế thuộc cơ quan nào đó. Nên nhận khóa của thực thể cha làm khóa, MaBN là khóa chính. 11. BHYTE(MaBN, SotheBHYT, Ngay bat đau, Ngay ketthuc, Phan tram) BHYTE SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 43 Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaBN (K) M bệnh nhn Text (9) Primary key SotheBHYT Số thẻ BHYT Text (14) Not NULL Ngaybatđau Ngày bắt đầu Date Not NULL Ngayketthuc Ngy kết thc Date Not NULL Phantram Phần trăm Text (3) Not NULL Mỗi một thể hiện l một bảo hiểm y tế, khi đến khám chữa bệnh chỉ có một số bệnh nhân có bảo hiểm y tế. 12. BENHNHAN(MaBN, HoBN, TenBN, Ngaysinh, Gioitinh ,Sonh , MaX) BENH NHAN Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaBN (K) M bệnh nhn Text (9) Primary key HoBN Họ bệnh nhn Text (30) Not NULL Ten BN Tn bệnh nhn Text (7) Not NULL Ngaysinh Ngy sinh Date Not NULL Gioi tinh Giới tính Yes/No Yes: Nam; No: Nữ Sonha Số nh Text (15) NULL MaX M x Text (6) Foreign key Mỗi một thể hiện của kiểu thực thể BENHNHAN là một bệnh nhân đ đăng ký khám chữa bệnh, Bệnh Viện Đa Khoa tỉnh Khánh Hịa l một trung tm khm chữa bệnh lớn, bao gồm trong tỉnh v ngồi tỉnh. Nn m bệnh nhn ta chọn bằng 9 để đánh số thứ tự cho bệnh nhân. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 44 13. KHAMBENH(MaNV,MaVTKB,MaBN,MaDT,MaB, NgayKB,NoiDungKB, CPKB) KHAMBENH Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaBN M bệnh nhn Text (9) Primary key MaNV M nhn vin Text (9) Primary key MaVTKB M vị trí khm bệnh Text (3) Primary key MaT M thuốc Text (10) Primary key MaB M bệnh Text (8) Primary key NgayKB Ngy khm bệnh Date Not NULL NoiDungKB Nội dung khm bệnh Text (50) Not NULL CPKB Chi phí khm bệnh Number Not NULL Mỗi một thể hiện của kiểu thực thể ny l một bệnh của bệnh nhn m bệnh nhân đ khm chữa bệnh. 14. VITRIKHAMBENH(MaVT, TenVT) VITRIKHAMBENH Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaVTKB (K) M vị trí khm chữa Text (3) Primary key bệnh TenVTKB Tn vị trí khm chữa Text (50) Not NULL bệnh Mỗi một thể hiện của thực thể là một vị trí khám chữa bệnh, tại bệnh viện có nhiều vị trí khám chữa bệnh. Nên ta chọn 3 số để đánh số thứ tự vị trí khám chữa bệnh. 15. DONTHUOC(MaDT, NgaykeDon, MaVT, MaNV, MaBN, MaB ) SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 45 DONTHUOC Tn thuộc tính Mơ tả Kiểu Dateữ Rng buộc tồn vẹn liệu MaDT(K) M đơn thuốc Text (10) Primary key NgaykeDon Ngày kê đơn Date Not NULL MaBN M bệnh nhn Text (9) Foreign key MaVT M vị trí Text (3) Foreign key MaNV M nhn vin Text (9) Foreign key MaB M bệnh Text (8) Foreign key Mỗi một thể hiện của kiểu thực thể này là một đơn thuốc mà trước đó bệnh nhân đ khm chữa bệnh v được bác sĩ cấp cho một đơn thuốc. Bệnh viện có nhiều người đến khám chữa bệnh nhưng có một số bệnh nhân có bệnh giống nhau, có đơn thuốc giống nhau. Nên ta chọn m đơn thuốc 8 ký số để đánh số thứ tự cho đơn thuốc. 16. THUOC (MaT , TenT ) THUỐC Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaT(K) M thuốc Text (8) Primary key TenT Tn thuốc Text (20) Not NULL Mỗi một thể hiện của thực thể ny l một loại thuốc dùng chữa trị cho bệnh nhân mà trước đó bệnh nhân đ được khám, và được bác sĩ kê đơn thuốc khi đến khám. Có nhiều bệnh nhân đến chữa trị. Nên chọn m thuốc 8 ký số để đánh số thứ tự thuốc dùng chữa trị cho bệnh nhân. 17. BENH (MaB, TenB ) BENH SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 46 Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaB(K) M bệnh Text (8) Primary key TenB Tn bệnh Text (50) Not NULL Mỗi một thể hiện của thực thể này là một bệnh mà bệnh nhân chữa trị tại bệnh vịên, có nhiều bệnh nhân đến chữa trị nhưng có một số bệnh nhân có bệnh giống nhau. Để đánh số thứ tự cho nhiều bệnh ta chọn m bệnh 8 ký số. 18. NOIDI EUTRI (MaNDT , TenNDT ) NOIĐIEUTRI Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaNĐT (K) M nơi điều trị Text (3) Primary key TenNĐT Tên nơi điều trị Text (30) Not NULL DonGia Đơn giá Money Not NULL Mỗi một biểu hiện của kiểu thực thể này biểu hiện một nơi điều trị của bệnh nhân sau khi đ được bác sĩ khám bệnh, tại bệnh viện Đa khoa Khánh Hịa cĩ nhiều nơi điều trị. Nên chon m nơi điều trị 3 ký tự số để đánh số thứ tự cho nơi điều trị. 19. DUNGTHUOC( MaT, MaDT , Soluongdung, LieuDung ) DUNGTHUOC Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaT M thuốc Text (8) Primary key MaDT M đơn thuốc Text (10) Primary key SoluongDung Số lượng dùng Number Not NULL LieuDung Liều dng Number Not NULL SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 47 Mi một thể hiện l dng thuốc của bệnh nhn. Sau khi khm bệnh bệnh nhn được bác sĩ đưa cho đơn thuốc tương ứng sau dó bệnh nhân se đi mua thuốc và dùng thuốc theo chỉ dẫn của đơn thuốc do bác sĩ cấp. 20. DICHVU( M DV, Lần DDV, DGDV) DICHVU Tn thuộc tính Mơ tả Kiểu dữ Rng buộc tồn vẹn liệu MaDV(K) M dịch vụ Text (3) Primary key TenDV Tn dịch vụ Text (30) Not NULL DGDV Đơn giá dịch vụ Money Not NULL Mỗi một thể hiện của kiểu thực thể này là một dịch vụ, trong bệnh viện có nhiều dịch vụ giúp chữa trị cho bệnh nhân đạt két quả cao nhất, có nhiều dịch vụ trong bệnh viện. nên ta chọn 3 ký số để đánh số thứ tự cho dịch vụ. 21. TAMUNGVIENPHI (MaTU, LanTU, SoTienTU, MaBN) TAMUNGVIENPHI Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaTU(K) M tạm ứng Text (8) Primary key LanTU Lần tạm ứng Text (2) Not NULL SotienTU Số tiền tạm ứng Number Not NULL MaBN M bệnh nhn Text (9) Foreign key SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 48 Mỗi một thể hiện là tạm ứng viện phí của bệnh nhân, sau khi được bác sĩ khám và được điều trị tại bệnh viện thì bệnh nhn phải đóng tiền tạm ứng viện phí. Do bệnh viện có nhiều bệnh nhân chữa trị tại bệnh viện nên chọn m tạm ứng 8 ký số để đánh số thứ tự cho tạm ứng viện phí. 22. BENHAN(MaBA, NgayVao, NgayRa, MaBN, MaNV, MaB, MaNDT) BENHAN Tn thuộc tính Kiểu dữ liệu Kích thước Rng buộc tồn vẹn MaBA(K) M bệnh n Text (8) Primary key Ngayvao Ngy vo viện Date Not NULL NgayRa Ngy ra viện Date Not NULL MaBN M bệnh nhn Text (9) Foreign key MaNV M nhn vin Text (9) Foreign key MaB M bệnhn Text (3) Foreign key MaNDT M nơi điều trị Text (3) Foreign key Mỗi thể hiện của thực thể là một bệnh án của bệnh nhân, khi bệnh nhân đến khám chữa bệnh tại bệnh viện được bác sĩ cấp cho một bệnh án tương ứng, bệnh viện có nhiều bệnh nhân khám chữa bệnh nên có nhiều bệnh án, chọn m bệnh n 8 ký số để đánh số thứ tự cho bệnh án. 23. DUNGDICHVU(MaBA, MaDV, LanDungDV) DUNGDICHVU Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaBA M bệnh n Text (8) Primary key MaDV M Dateịch vụ Text (3) Primary key LanD Lần dng Text (30) Not NULL SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 49 Mỗi một thể hiện là một lần dịch vụ, sau khi đến khám chữa bệnh, bệnh nhân được bác sĩ cấp cho bệnh án và cung cấp dịch vụ, bệnh nhân sẽ tiến hành dùng dịch vụ theo chỉ dấn của đơn thuốc. 24. NHAN VIEN(Ma NV, Ho NV,Ten NV, Ngaysinh, sinh,Gioi tinh, Sonha, Ma ĐV, MaCM, MaCV, MaDT, MaX) Tn thuộc tính Mơ tả Kiểu dữ liệu Rng buộc tồn vẹn MaNV (K) M nhn vin Text (9) Primary key HoNV họ nhn vin Text (30) Not NULL TenNV Tn nhn vin Text (9) Not NULL Ngaysinh Ngy sinh nhn vin Date Not NULL Gioitinh giới tính Yes / No Not NULL Sonha Số nh Text (15) Not NULL MaDV M dịch vụ Text (2) Not NULL MaCM M chuyn mơn Text (2) Not NULL MaCV M chức vụ Text (2) Not NULL MaDT M dn tộc Text (2) Not NULL MaTG M tơn gio Text (2) Not NULL MaX M x Text (6) Not NULL SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 50 IV. MƠ HÌNH THƠNG LƯỢNG THÔNG TIN PHỊNG 10 CẤP SỐ (1) (2) PHỊNG KHOA (5) BỆNH NHN KHM ĐIỀU (4 BỆNH TRỊ (7) (8) (9) PHỊNG TI VỤ (6) (1) Yu cầu khm chữa bệnh. (2) Vị trí khám bệnh.(Số được cấp) (3) Qu trình khm bệnh. (4) Kết quả khm bệnh. (5) Danh sch bệnh nhn nhập viện. (6) Lệnh nhập viện. (7) Các chi phí điều trị bệnh. (8) Xc nhận thanh tốn viện phí. (9) Danh sách bệnh nhân đ thanh tốn viện phí. (10) Giấy php xuất viện. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 51 V. MƠ HÌNH QUAN NIỆM XỬ LÝ 1. Mơ hình quan niệm: Danh sch cc cơng việc: STT Danh sch cc cơng việc của bi tốn 1 Tiếp nhận yu cầu khm chữa bệnh của bệnh nhn. 2 Cấp số cho bệnh nhân đến phịng khm bệnh. 3 Chỉ đinh Bác sĩ khám bệnh cho bệnh nhân theo số đ cấp. 4 Kết quả khm bệnh cho bệnh nhn. 5 Ghi toa thuốc cho bệnh nhn 6 Thu phí khm bệnh. 7 Cho giấy nhập viện. 8 Tiếp nhận bệnh nhân đến điều trị bệnh. 9 Lập bệnh n chi tiết cho bệnh nhn. 10 Lập toa thuốc điều trị. 11 Cung cấp cc dịch vụ hỗ trợ khm chữa bệnh. 12 Thu viện phí. 13 Lập danh sch bệnh nhn trốn viện. 14 Xem xét các trường hợp không thanh toán viện phí 15 Cấp giấy xuất viện cho bệnh nhn. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 52 2. Mơ hình quan niệm xử lý: Khi BN cần cấp cứu đặc biệt Khi BN đến Khi BN cĩ khám bệnh YC hộ sinh TIẾP NHẬN YU CẦU KCB CỦA BN YES CẤP SỐ CHO BỆNH NHN YES DS bệnh nhân đ cấp số số BS KHM BỆNH CHO BN YES Hồ sơ bệnh án (1) SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 53 (1) PHN LOẠI BỆNH NHN YES No BN cần phải BN được chỉ nhập viện định ĐT tại nhà THU PHÍ KHM BỆNH YES CẤP GIẤY NHẬP VIỆN YES NO DS bệnh nhn cĩ DS bệnh nhân giấy nhập viện điều trị tại nhà (2) (2) SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 54 (2) (2) TIẾP NHẬN BN ĐẾN LẬP TOA THUỐC CHỮA BỆNH CHO BỆNH NHN YES YES DS bệnh nhn chữa bệnh DS bệnh nhân đ được lập toa thuốc LẬP BỆNH N CHI TIẾT YES DS hồ sơ bệnh án LẬP TOA THUỐC THEO BỆNH N YES DS bệnh nhân đ cĩ bệnh n SVTH: Nguyễn Văn Hưng Lớp 40TH (3)
- Đồ án tốt nghiệp Trang 55 ĐIỀU TRỊ BỆNH YES (3) DS bệnh nhân đang điều trị THU VIỆN PHÍ YES NO DSBN đ thanh tốn DSBN không viện phí đóng viện phí LẬP DANH SCH TRÌNH BAN LNH ĐẠO CẤP GIẤY XUẤT XEM SÉT VIỆN CHO BỆNH NHN YES YES (3) BN trốn viện BN đ xuất viện SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 56 VI. MƠ HÌNH TỔ CHỨC XỬ LÝ 1. Bảng cơng việc: ST TN CƠNG NƠI THỰC PHƯƠNG TẦN CHU T VIỆC HIỆN THỨC SUẤT KỲ 1 Đăng ký khám Phịng ghi số Thủ cơng Bất kỳ lc Hng chữa bệnh no khi ngy cĩYC / ngy 2 Cấp số cho BN Phịng ghi số Thủ cơng Khi cĩ Hng BNYC / ngy ngy 3 Chỉ định Bs KB Phịng cấp số Thủ cơng Khi cĩ Hng cho BN BNYC / ngy Ngy 4 Khm bệnh cho Bs chuyn khoa Thủ cơng Khi BN đ Hng BN KCB cĩ số / Ngy ngy 5 Kết quả khm Phịng(Khoa) Thủ cơng Khi cĩ Hng bệnh của BN của BSKB BNKCB / ngy Ngy 6 Lập toa thuốc Bc sĩ KB Thủ cơng Khi cĩ Hng cho BN BNKCB / ngy Ngy 7 Cấp thuốc cho Phịng cấp Thủ cơng Khi bệnh Hng bệnh nhn thuốc nhân đ cĩ ngy toa thuốc 8 Thu viện phí Phịng thanh tốn Tự động Khi có Hng viện phí bệnh nhân ngy đến khám chữa bệnh trong ngày SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 57 9 Lập lệnh nhập Bc sĩ khm bệnh Thủ cơng Khi cĩ bệnh Hng viện (với BN nhn khm ngy nhập viện) chữa bệnh trong ngy 10 Tiếp nhận bệnh Khoa điều trị Thủ cơng Khi cĩ lệnh Hng nhân đến chữa nhập viện ngy bệnh trong ngy 11 Lập bệnh n chi Bc sĩ chuyn Thủ cơng Khi cĩ bệnh Hng tiết cho bệnh khoa nhn nhập ngy nhn viện trong ngy 12 điều trị cho Bc sĩ chuyn Thủ cơng + Tự Khi cĩ BN Hng bệnh nhân khoa động yu cầu/Ngy ngy 13 Cung cấp các Phịng khm chữ Thủ cơng Khi cĩ bệnh Hng dịch vụ hỗ trợ bệnh nhn yu cầu ngy điều trị bệnh trong ngy 14 Thu tạm ứng Phịng TTVP Tự động 3 ngy / lần 3 ngy viện phí của bệnh nhn 15 TT tồn bộ viện Phịng TTVP Tự động Khi BN Khi BN phí khi XV KVB xong điều trị / lần xong hoàn toàn. 16 Lập DSBN trốn Khoa(Phịng) Thủ cơng Khi cĩ BN Khi cĩ viện, không điều trị cho BN trốn viện / BN trốn TTVP đầy đủ. lần viện 17 Thanh tốn tiền Phịng Thanh Thủ cơng 1 lần / thng 1 thng viện phí với tốn viện phí BHYT SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 58 2. Mơ hình tổ chức xử lý: BỆNH PHỊNG KHOA PHỊNG BC SĨ PHỊNG BAN NHN CẤP SỐ (P) KCB CẤP KCB TTVP LNH THUỐC ĐẠO (1) CH Ỉ ĐỊNH BSKB -BN Khi cĩ yu cầu KCB của BN YES DSBN đ được chỉ định BS KCB ĐKKCB YES BSKB CHO BN Hng ngy khi DS YES cĩ BN BN c ĩ YCK KCB CB DSBN đ được BS-KB CẤP SỐ CHO BN DSBNK ẾT QUẢ đ đượcKB -BN cấp số YES NO DSBN điều trị DSBN tại nhà phải nhập viện (1) LẬP THU PHÍ L ỆNH NV KB YES YES (2) DSBN đ thu phí KB SVTH: Nguyễn Văn Hưng Lớp 40TH 3 (3)
- Đồ án tốt nghiệp Trang 59 (2) (3) DSBN đ cĩ lệnh nhập LẬP ĐƠN THUỐC viện YES TIẾP NHẬN BNNV YES DS BN Đ cĩ đơn thuốc DSBN đ nhập viện CẤP THUỐC CHO BN YES DSBN đ nhập viện LẬP BA CHO BN YES DSBN đ cĩ BA (4) SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 60 4 ĐIỀU TRỊ CHO BN YES Danh sách BN điều trị tại bệnh viện CUNG DSBN DSBN đ CẤP CC chưa xuất viện DVDTB TTĐĐVP YES LNH ĐẠO XEM XT Danh sách bệnh nhân đang điều trị TTVP CỦA BN DSBN trốnYES viện NO Sau khi tổng kết 1 thng BN-SD-TBHYT một lần (6) (5) THANHTỐN VP VỚI BHYT YES DSVP của BN có BHYT đ TT với BHYT SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 61 SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 62 (6) (5) DSBNđ TT DSBN đầy đủ VP trốn viện LẬP DSBN CHƯA TTVP YES DSBN chưa TTĐVP CẤP GIẤY X LNH VIỆN ĐẠO YES XEM XÉT YES DSBN đ xuất viện DSBN tự xuất viện Sau khi tổng kết BN_SD_BHYT Mỗi thng 1 lần THANH TỐN VP VỚI BHYT YES DSBN có BHYT đ thanh tĩan với BHYT SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 63 VII. MƠ HÌNH VẬT LÝ XỬ LÝ 1. Mơ hình tổng thể của hệ thống HỆ THỐNG BỆNH NHÂN NHÂN VIÊN QUẢN TRỊ VIÊN BỆNH NHÂN ThÔng Đăng Xem Xem hồ Xem chi Xem tin cần nhập hệ thơng tin sơ bệnh phí điều Đơn biết thống về bệnh án trị thuốc và viện cách dùng thuốc NHÂN VIÊN Tạo Đơn Lập Tạo bệnh Tạo giấy thuốc DSBN n chi tiết xuất Đăng Thay đổi cho BN khơng cho BN viện cho nhập hệ mật thêm, TTVP + nhập viện bệnh thống khẩu xoá, sửa DSBN nhn toa trốn viện thuốc SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 64 QUẢN TRỊ VIÊN Đăng Thay Thơng Hệ quản Báo cáo nhập hệ đổi mật tin lý -in ấn hồ thống khẩu chung sơ THÔNG TIN CHUNG Thơng tin Thông tin Thông tin về lin tịch về số khoa về danh bệnh viện điều trị sách các hiện có tại trưởng BV KH khoa tại bệnh viện BÁO CÁO-IN ẤN HỒ SƠ Danh sch Danh sch In đơn bệnh nhn nhn vin thuốc, nhập viện bệnh viện bệnh án SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 65 HỆ THỐNG QUẢN LÝ Quản lý Quản lý Quản lý Từ điển Từ điển về hồ sơ hồ sơ bệnh n thông tin thông tin bệnh nhân viên bệnh nhn địa chỉ bệnh viện nhân DANH MỤC TỪ ĐIỂN ĐỊA CHỈ Thm dữ Xố, Sửa Thm Xố Thm Xố liệu X - thơng tin thơng Sửa thơng Sửa Phường X - tin về thơng tin về thơng mới Phường Quận - tin Tỉnh - tin về Huyện Quận - TP Tỉnh - mới Huyện TP DANH MỤC TỪ ĐIỂN TT VỀ BỆNH VIỆN Thêm Xoá Thm Xố sửa Thêm Xoá Thm Xố thông sửa thơng thơng thông sửa thơng sửa tin v ề thông tin về tin về tin về thông tin về thơng khoa tin về dịch dịch vụ Nơi tin về thuốc tin về điều trị Khoa vụ mới khám Nơi mới thuốc mới điều trị bệnh khám mới bệnh SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 66 CHƯƠNG TRÌNH QUẢN LÝ NHN VIN Thêm Xoá Thêm Xoá Thm Xố sửa thông sửa thông sửa thơng thơng tin về thông tin về thông tin về tin về hồ sơ tin về Đơn vị tin về qu qu nhân hồ sơ công Đơn vị trình trình vin nhân tác công cơng CT viên mới tác tc mới CHƯƠNG TRÌNH QUẢN LÝ BỆNH NHN Thêm Xoá Thm Xố sửa Thêm Xoá thông sửa thơng thơng thông sửa tin về thông tin về tin về tin về thông hồ sơ tin về Bảo Bảo cơ tin về bệnh hồ sơ hiểm y hiểm y quan Cơ nhn bệnh tế mới tế công quan nhân tác BN CTBN mới SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 67 CHƯƠNG III THỰC HIỆN CÀI ĐẶT CHƯƠNG TRÌNH I. CÁCH KẾT NỐI CƠ SỞ DỮ LIỆU. Trong chưng trình chúng tôi xử dụng mô hình ADO (ActiveX Data Object) trong Visual Basic để kết nối với cơ sở dữ liệu, mô hình này cung cấp hầu hết các công cụ kết nối với cơ sở dữ liệu. ADO Interface: Các đối tượng ADO giao tiếp với database thông qua ODBC (Open Database Connectivity), chúng có thể đượng sử dụng với bất kỳ loại database nào nếu như ODBC driver hỗ trợ. Cách kết nối với cơ sở dữ liệu: Như phần tổng quan ngôn ngữ ta đã nói để ADO hoạt động được với cơ sở dữ liệu (hay để ứng dụng có thể móc nối được với cơ sở dữ liệu) ta phải viết mã lệnh cho ADODB kết nối với cơ sở dữ liệu. Cụ thể để ADODB kết nối với cơ sở dữ liệu BENHNHAN ta viết mã lệnh như sau: Public cn As ADODB.Connection Public Sub OpenConnection() ' Tao ket noi den nguon co so du lieu Set cn = New ADODB.Connection cn.Provider = "SQLOLEDB.1;" cn.ConnectionString = " Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BENHNHAN" cn.Open End Sub Ơ đây chúng ta khai báo biến toàn cục cấp modules CN có kiểu đối tượng ADODB.Connection tức đối tượng này dùng để kết nối với cơ sở dữ liệu và có thể dùng ơ mọi Form trong chương trình. II. CÁC PHƯƠNG THỨC ĐỐI TƯỢNG ADODB Open method : Được sử dụng để mở một liên kết với database. Ngay sau khi tạo instance cho Connection Object, ta có thể mở một kết nối với Data Soure để truy xuất dữ liệu. Execute method: Cho phép thực thi một câu lệnh tác động lên Data Soure. Trong đó CommandText là chuỗi lệnh cần thực hiện, thông quá số option các giá trị khác nhau quy định loại CommandText. Gi trị Danh hiệu hằng tương Loại của CommandText ứng SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 68 0 adCmdUnknown Mặc định khi định nghĩa 1 adCmdText Là một câu lệnh, ví dụ như là SQL 2 adCmdTable Tn của table m ta sẽ tạo Recordset từ đó 3 adCmdStoreProc Một Store procedure trong Data soure Thông thường các giá trị trên được gán sẵn vào các danh hiệu hằng và được đặt trong file include có tên adovbs.inc. Trong chương trình chúng tôi sử dụng giá trị mặc định tức giá trị là: adCmdUnknown - Close method: Phương thức này dùng để đóng các kết nối được chỉ ra sau câu lênh. Ta cũng có thể set biến đối tượng này về Nothing Ngoài ra Visual Basic còn cung cấp một dich vụ kết nối dữ liệu bằng Data Environment rất tiện lợi đây cũng là một dạng kết nối ADO rất dễ sử dụng cũng như tạo kết nối tất cả đều được thức hiện qua giao diện đồ hoạ. Trong Data Environment có thể lưu trữ các bảng (Table), các Stored Procedure cũng như các hàm hay các View khác. Command object: Thay vì dng phương thức Execute của Connection để query hay update data soure, ta có thể sử dụng Command. Methods CreateParameter: Dùng để tạo một đối tượng Parameter Execute: Dùng để thực thi câu lệnh được đặc tả trong phương thức CommandText. Properties ActiveConnection: Chỉ định đối tượng Connection nào được sử dụng trong đối tượng Command. CommandText: Chỉ định câu lệnh cần thực hiện trên cơ sở dữ liệu. CommandTimeout: Xác định thời gian thực thi lệnh, gi trị thời gian ny tính theo second. CommandType: Cho biết kiểu của query đặc tả trong CommandText SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 69 Prepared: Tạo ra lệnh chuẩn bị trước khi thực thi. Recordset Oject: L kết quả trả về khi thực hiện một query, thực chất nĩ l một bảng trong bộ nhớ, ta có thể truy xuất các record của nó qua các phương thức và thuộc tính. Methods: Open: Mở recordset mới Addnew:Tạo một record trong Recordset. Update:Cập nhật các thay đổi vào record hiện hành. Delete: Xố record hiện hnh. Move: Dịch chuyển con trỏ record hiện hnh. MoveFirst: Đến record đầu tiên. MoveNext: Đến record kế tiếp. MovePrevious: Trở về record trước đó. MoveLast: Đến record cuối cùng. Requery: Thực thi lại query tạo ra recordset. GetRow: Chứa cc record vo một query. Close: Đóng lại đối tượng Recordset. Properties: AbsolutePosition: Số thứ tự (vật lý) của record hiện tại. BOF: Là True nếu con trỏ nằm trước record đầu tiên. EOF: L True nếu con trỏ nằm sau record cuối cng. CursorType: Kiểu của con trỏ được sử dụng trong recordset. RecordCount: Trả về tổng số record trong recordset. Tạo Recordset:Trước tiên ta instace cho record bằng phát biểu Recordset_name = Server.CreataObject(“ADODB.Recordset”) SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 70 Sau đó dùng phương thức Execute của đối tượng Connection hay Command để tạo ra recordset. Recordset_name = ConnectionObject.Execute (CommandText,_ Recordaffected, Options) Trong đó: Soure: L một CommandObject hay một lệnh SQL hoặc l Store Procedure. ActiveConnection: Là tên của Connection đ được mở kết nối với database. CursorType: Là kiểu con trỏ sử dụng với recordset, thông số này có kiểu số và được gán trị qua các tên hằng tương ứng như sau: AdOpen ForwardOnly = 0: Là giá trị mặc định, chỉ cho phép duyệt các record theo một chiều từ đầu đến cuối, không cho phép cập nhật hay xoá bỏ các record trong đó. AdOpenKeyset = 1: Chế độ này cho phép cập nhật các record, nhưng cấm truy xuất đến record của user khác thêm vào record. AdOpenDynamic = 2 : Chế độ này cho phép tất cả các thao tác trên như: thêm vào, loại bỏ, cập nhật và duyệt theo tất cả chiều ln xuống tuỳ ý. AdOpenStatic = 3: Gần giống như chế độ OpenForwardOnly. III. MỘT SỐ ĐOẠN CHƯƠNG TRÌNH TRONG BÀI SỬ DỤNG CÁC PHƯƠNG THỨC TRÊN. Để hiển thị dư liệu đã có trên table ta có đoạn mã lệnh sau: Private Sub Display_Listview() Dim rs As New ADODB.Recordset Dim Str Dim mItem As listItem listItem.ListItems.Clear Str = "select * from tblTinh order by Matinh asc" Set rs = cn.Execute(Str) 'Thuc Hien Mot Lenh SQL duoc chi ra boi str If rs.EOF = False Then While Not rs.EOF Set mItem = listItem.ListItems.Add(, , rs!MaTinh) mItem.SubItems(1) = rs!TenTinh rs.MoveNext Wend End If End Sub SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 71 Ơ đây ListItem là đối tượng Listview có chức năng hiển thị dữ liệu, trong đoạn chương trình trên ta sử dụng phương thức (Set rs = cn.Execute(Str)) để thực hiện một câu truy vấn (Câu truy vấn trả về một Record là thông tin của table tỉnh)kết quả trả về từ câu truy vấn này được gán cho rs và được hiển thị trên Listview. Để thêm mới một tỉnh (thành) ta có mã lệnh sau DE.Sp_NhapTinh MaTinh, TenTinh Trong đó DE là đối tượng Data Environment mà ta đã nói ở trên còn SP_NhapTinh là các hàm (hay các Stored Procedure) đã được viết và lưu trong cơ sở dữ liệu, câu lệnh truy vấn tạo mới một tỉnh như sau: Create proc Sp_NhapTinh @MaTinh nchar(3), MaTinh và TenTinh là các tham số dầu vào của @TenTinh char(30) Stored Procedure AS Insert Into tblTINH ( MaTinh, TenTinh ) Values ( @MaTinh,@TenTinh ) GO Tương tự với phương Stored Procedure sửa tên tỉnh Với việc xoá một tỉnh có khác chút ít việc xoá một tỉnh có liên quan đến các ràng buộc toàn vẹn. Việc xoá một tỉnh không chỉ xóa đi tỉnh đó, việc này phải đi kém với việc xoá tất cả các huyện cũng như các xa thuộc tỉnh ngoài ra ta còn phải xoá tất các các bệnh nhân và nhân viên (cùng giấy tờ kèm theo) thuộc tỉnh cần xoá. Mã lệnh có dạng như sau: Thủ tục dùng để xoá một tỉnh CREATE PROCEDURE Sp_XoaTinh @Matinh nchar(3), ‘Tham số đầu vào của Stored Procedure @TenTinh char(30) AS Xoá khám bệnh úng với bệnh nhân thuộc tỉnh DELETE From tblKhamBenh Where tblKhamBenh.MaBenhNhan in ( Select MaBenhNhan From TblBenhNhan Where tblBenhNhan.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) Xoá khám bệnh úng với nhân viên thuộc tỉnh DELETE From tblkhamBenh SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 72 Where tblKhamBenh.MaNhanVien in ( Select MaNhanVien From TblNhanVien Where tblNhanVien.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) Xóa dùng thuốc ứng với đơn thuốc của bệnh nhân DELETE From tblDungThuoc Where tblDungThuoc.MaDonThuoc in (Select MaDonThuoc From tblDonThuoc Where tblDonThuoc.MaBenhNhan in (Select MaBenhNhan From tblBenhNhan Where tblBenhNhan.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh)))) Xoá đơn thuốc của bệnh nhân thuộc tỉnh DELETE From tblDonThuoc Where tblDonThuoc.MaBenhNhan in (Select MabenhNhan From tblBenhNhan Where tblBenhNhan.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) Xoá tạm ứng của bệnh nhân thuộc tỉnh DELETE From tblTamUng Where tblTamUng.MaBenhNhan in ( Select MaBenhNhan From TblBenhNhan Where tblBenhNhan.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) Xoá bệnh án của bệnh nhân DELETE From tblBenhAn Where tblBenhAn.MaBenhNhan in ( Select MaBenhNhan From TblBenhNhan SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 73 Where tblBenhNhan.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) Xoá các bệnh nhân thuộc tỉnh DELETE From tblBenhNhan Where tblBenhNhan.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh)) Xoá dùng thuốc mà nhân viên thuộc tỉnh lập DELETE From tblDungThuoc Where tblDungThuoc.MaDonThuoc in (Select MaDonThuoc From tblDonThuoc Where tblDonThuoc.MaNhanVien in (Select MaNhanVien From tblNhanVien Where tblNhanVien.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh)))) Xoá đơn thuốc mà nhân viên lập DELETE From tblDonThuoc Where tblDonThuoc.MaNhanVien in (Select MaNhanVien From tblNhanVien Where tblNhanVien.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) Xoá bệnh án mà nhân viên lập DELETE From tblBenhAn Where tblBenhAn.MaNhanVien in ( Select MaNhanVien From TblNhanVien Where tblNhanVien.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 74 Where tblHuyen.MaTinh=@MaTinh)) ) Xoá tất cả nhân viên thuộc tỉnh DELETE From tblNhanVien Where tblNhanVien.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh)) Xoá tất cả các xã thuộc tỉnh DELETE From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh = @Matinh) Xoá tất cả các huyện thuộc tỉnh DELETE From tblHuyen Where tblHuyen.Matinh = @Matinh Xoá tỉnh có mã tỉnh được chỉ ra DELETE From tblTinh Where MaTinh=@Matinh GO Đối với các thủ tục xoá một huyện cũng nhaư một xã ta cũng phải đi xó tất cả các bệnh nhân và nhân viên trực thuộc địa danh đó. Trong qúa trình trình bày dữ liệu chúng tôi đã sử dụng một số View để kết nối bảng ví dụ với View địa chỉ như sau: CREATE VIEW dbo.vwDiaChi AS SELECT dbo.tblTINH.TenTinh, dbo.tblHUYEN.TenHuyen, dbo.tblXA.TenXa, dbo.tblXA.Maxa FROM dbo.tblHUYEN INNER JOIN dbo.tblTINH ON dbo.tblHUYEN.MaTinh = dbo.tblTINH.MaTinh INNER JOIN dbo.tblXA ON dbo.tblHUYEN.MaHuyen = dbo.tblXA.MaHuyen Để tìm kiếm một bệnh nhân chúng tôi sử dụng một hàm tìm kiếm hàm này trả về một table các tiêu chí tìm kiếm được chỉ ra bằng các tham số đầu vào của hàm. Ví dụ về một hàm tìm kiếm bệnh nhân theo họ và tên đầy đủ trong chương trình. CREATE FUNCTION udf_TimBenhNhanTheoHoTen (@HoBenhNhan Char(20), @TenBenhNhan char(20)) RETURNS Table SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 75 AS Return Select * From tblBenhNhan Where (tblBenhNhan.HoBenhNhan= @HoBenhNhan) and (tblBenhNhan.TenBenhNhan= @TenBenhNhan) GO Trọng đoạn chương trình trên việc tìm một bệnh nhân là khá đơn giản. Giả sử ta nhớ đầy đủ họ và tên đầy đủ của bệnh nhân ta có thể tìm theo phương pháp trên. Song nếu chỉ nhớ được họ hoặc tên của bệnh nhân thi ta cũng có thể tìm được bệnh nhân bằng các hàm tìm theo họ, theo tên bệnh nhân, trong chương trình còn sử dụng một số hàm khác mà chúng tôi không tiện trình bày trong báo cáo này. Thoạt tiên ta có cảm giác một hàm (Function) hơi giống với một View song với View thì không có dữ liệu đầu vào còn với hàm thì ngược lại. Rõ ràng để truy xuất dữ liệu với hàm là linh hoạt hơn với View rất nhiều. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 76 CHƯƠNG IV GIỚI THIỆU MỘT SỐ FORM CHÍNH KHI CHẠY CHƯƠNG TRÌNH Dưới đây là form chính của chương trình, khi chạy chương trình thì form ny được gọi đầu tiên, từ form này ta có thể thực hiện chương trình từ cc form khc như: Tập tin, Nhập dữ liệu, nhn vin, bệnh nhn, thống k, tìm kiếm, bo biểu. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 77 Taị giao diện chính của chương trình khi nhấn chuột vo nhập liệu, từ đây chon thông tin cần đăng nhập như: Vị trí khám bệnh, nơi diều trị, bệnh, thuốc. Form đăng nhập vị trí khm bệnh SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 78 Tại đây sẽ thêm mới vị trí khám bệnh khi có vị trí khám bệnh mới được thành lập, hay sửa vị trí khám bệnh khi vị trí khám bệnh thay đổi hoặc xoá vị trí khám bệnh khi vị trí khám bệnh không cịn. Thm mới bằng nt mới, khi khơng muốn thực hiện cơng việc ny thì nhấn nt bỏ qua. Tương tự khi ta xoá, sửa ta cũng thực hiện như vậy. Form X: Thực hiện bằng cch nhấn vo địa chỉ. Tại đây chọn đăng nhập thông tin cho tỉnh, huyện hay x. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 79 Tại đây thêm mới, xoá bỏ hay sửa thông tin về x khi một x tch ra hay thơng tin về x bị thay đổi và xoá bỏ khi x đó không cịn tồn tại. Thm mới bằng cch nhấn nt mới, huỷ bỏ cơng việc bằng cch nhấn nt bỏ qua. Thay đổi thông tin về x bằng cch nhấn nt sửa, huỷ bỏ cơng việc bằng cch nhấn nt bỏ qua, hoàn thành công việc bằng cách nhấn nút lưu. Xố thơng tin về x bằng cch nhấn nt xố. Form hồ sơ nhân viên: Khi nhấn nhân viên trên form chính. tại đây chọn một số thông tin cần đăng nhập như: Form hồ sơ nhân viên, quá trình cơng tc. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 80 Tại đây thêm mới hồ sơ nhân viên khi có nhân viên tới công tác tại bệnh viện, bằng cách nhấn nút mới, hoàn thành công việc khi nhấn nút lưu, huỷ bỏ công việc khi nhấn nút bỏ qua. Sửa hồ sơ về nhân viên khi thông tin về nhân viên thay đổi, bằng cách nhấn nút sửa, hoàn thành công việc nhấn nút lưu, huỷ bỏ công việc nhấn nút bỏ qua. Xố bỏ thơng tin về nhn vin khi nhn vin khơng cịn cơng tc tại bệnh viện, bằng cch nhấn nt xố. SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 81 Form hồ sơ bệnh nhân: Khi nhấn bệnh nhân sẽ có những thông tin cần quan tâm như: Hồ sơ bệnh nhân, tạm ứng viện phí, bảo hiểm Tại form hồ sơ nhân viên, có thể thêm mới khi có bệnh nhân đến khám chữa bệnh, sửa đổi thông tin về bệnh nhân, xoá bỏ bệnh nhân khi bệnh nhân không cịn diều trị trong khoảng thời gian di. Ngồi ra cịn một số form khác và thông tin khác như tìm kiếm bệnh nhn, tìm kiếm nhn vin, bo biểu, bo co thống k bệnh, danh sch bệnh nhn, danh sch trưởng khoa . SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 82 CHƯƠNG V KẾT LUẬN HƯỚNG PHÁT TRIỂN ĐỀ TÀI I. Kết luận: Xây dựng hệ thống thông tin quản lý hiện nay không chỉ là việc lập trình đơn thuần, mà nó đòi hỏi một cách có hệ thống các giai đoạn khảo sát, phân tích thiết kế. Việc xây dựng hệ thống quản lý phải đáp ứng tất cả các vấn đề đặt ra từ khâu dặt vấn đề, giải quết bài toán, thiết kế bài toán cho đến việc đóng gói sản phẩm đưa ra thử nghiệm là một vấn đề đòi hỏi nhiều thời gian và công sức. Đứng trước xu hướng phát triển của công nghệ thông tin như vũ bo, việc tin học hố việc quản lý hnh chính l vơ cng quan trọng v bức thiết. Nĩ sẽ gip cho cc cơ quan nhà nước giải quyết các công việc được nhanh chóng và hiệu quả. Ứng dụng cơ sở dữ liệu đ giải quyết được vấn đề đó. Với đề tài Quản lý bệnh nhân tại bệnh viện đa khoa tỉnh Khánh Hoà, tuy chương trình ci đặt chưa được hoàn thiện các chức năng, song nếu có thời gian phát triển và hoàn thiện hơn thì chương trình ny sẽ cĩ ích rất nhiều giúp cho các nhân viên của bệnh viện trong công việc lưu trữ và thống kê bệnh nhân và nhân viên cũng như quản lý bệnh nhn tại bệnh viện một cch thuận tiện v dễ dng hơn rất nhiều. II. Hạn chế: Do thời gian thực hiện đề tài tương đối hạn chế, kinh nghiệm chưa nhiều nên chương trình khơng thể trnh được những thiếu sót nhất định. Bên cạnh đó chưong trình cị cĩ một số chức năng không có đủ thời gian để thực hiện kịp. Đồng thời vẫn cịn cĩ một số form chưa hoàn thành đầy đủ và chính xác và các ràng buộc về dữ liệu vẫn chưa đầy đủ lắm. Hơn nữa trong quá trình vừa viết chương trình vừa tìm hiểu về ngơn ngữ SQL Server nn chưa thể tránh khỏi những thiếu sót. III. Hướng phát triển đề tài: Chương trình quản lý bệnh nhân hoàn thành sẽ góp phần quan trọng trong việc quản lý cjứng từ sổ sách về bệnh nhân tại bệnh viện. Để chương trình cĩ thể hoạt động hiệu quả hơn cần dữ liệu phải được lưu trữ bằng hệ quản trị cơ sở dữ liệu có tính bảo mật hơn. Cần có sự kết hợp song song SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 83 giữa quản lý nhân viên và bệnh nhân một cách chặt chẽ hơn để việc theo di v quản lý của bệnh viện được tốt hơn. Nếu có thể đưa chương trình quản lý cc thơng tin về bệnh nhn ln cc trang Web để giúp cho người thân của bệnh nhân có sự thuận lợi hơn để theo di được qu trình điều trị bệnh của của người thân cho dù là đang ngồi ở nhà hay ở bất kỳ nơi nào. Đồng thời khi một bệnh nhân đang nằm điều trị tại bệnh viện, do những lý do gì đó mà cần phải chuyển đến bệnh viện khác để điều trị. Tại đây các bác sĩ của bệnh viện tiếp nhận không cần xem hồ sơ của bệnh nhân mà chỉ cần lên trang web của bệnh viện nơi bệnh nhân chuyển đến để xem là có thể biết toàn bộ các thông tin về bệnh nhân như: hồ sơ bệnh nhân, bệnh án của bệnh nhân TI LIỆU THAM KHẢO [1]. Lập trình cơ sở dữ liệu với Visual Basic 6.0 ( tác giả Nguyễn Thị Ngọc Mai (chủ biên ). Nhà xuất bản giáo dục 2000). [2]. Lập trình ứng dụng chuyn nghiệp SQL SERVER 2000 (NXB nh xuất bản gio dục, Phạm Hữu Khang chủ bin). [3]. Bài giảng Cơ sở dữ liệu & Phn tích thiết kế hệ thống thơng tin quản lý (Nguyễn Hữu Trọng, trung tm ngoại ngữ tin học_trường đại học Thuỷ sản lưu hành nội bộ 10/1999). [4]. Lập trình Visual Basic 6.0 trong 21 ngy (Nguyễn Tiến, Ngơ Quốc Việt, Phạm Tuấn Kỳ. Nh xuất bản gio dục 1997). [5]. Lập trình cơ sở dữ liệu với Visual Basic 6.0 (Đậu Quang Tuấn. Nhà xuất bản trẻ 2000). [6]. Lập trình cơ sở dữ liệu trong 21 ngày (Nguyễn Đình T chủ bin, 3 tập. Nh xuất bản gio dục 2000). [7]. Một số luận văn của các khoá cũ . SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 84 MỤC LỤC Trang GIỚI THIỆU CHUNG VỀ NHIỆM VỤ . .2 1. Nội dung đề tài . 2 2. Các bước tiến hành thực hiện đề tài . 2 3. Kết quả đạt được 3 Phần I : TỔNG QUAN VỀ NGÔN NGỮ CÀI ĐẶT. 4 Chương I.GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DƯ LIỆU VÀ SQL SERVER 2000 I.Khái niệm cơ bản về các loại cơ sở dữ liệu. 4 II.Giới thiệu chung về SQL Server 2000 4 III.Giới thiệu về đối tượng của cơ sở dữ liệu. 8 IV.Kiểu dữ liệu 10 V. Các công cụ chính của SQL Server 2000 11 VI.Các phát biểu cơ bản của T-SQL 12 VII.Khái niệm về đối tượng trong SQL và cách tạo đối tượng trong SQL Server 15 Chương II :TỔNG QUAN VỀ VISUAL BASIC VÀ CƠ SỞ DỮ LIỆU TRONG VISUAL BASIC 24 I. Mơ hình dữ liệu ADO 24 II.Các thuộc tính ADO dặc biệt 25 Phần II. ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ BỆN NHÂN TẠI BỆN VIỆN 26 Chương I. ĐẶC TẢ BÀI TOÁN 26 Chương II. PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN 29 I. Mơ hình quan niệm dữ liệu 29 II. Mơ hình tổ chức dữ liệu 30 III Mơ hình vật lý dữ liệu 31 IV. Mơ hình thơng lượng thông tin 43 V. Mơ hình quan niệm xử lý 44 VI. Mơ hình tổ chức xử lý 44 VII Mơ hình vật lý xử lý 50 Chương III THỰC HIỆN CÀI ĐẶT CHƯƠNG TRÌNH 60 I. Cách kết nối cơ sở dữ liệu 60 II. Các phương thức đối tượng ADODB 60 III. Một số đoạn chương trình của bài sử dụng các phương thức trên .63 Chương IV : GIỚI THIỆU MỘT SỐ GIAO DIỆN CHÍNH KHI CHẠY CT 69 Chương V : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 75 I. Kết luận 75 II.Hạn chế 75 III. Hướng phát triển đề tài 75 TI LIỆU THAM KHẢO 76 SVTH: Nguyễn Văn Hưng Lớp 40TH
- Đồ án tốt nghiệp Trang 85 NHẬN XÉT CỦA GIÁO VIÊN SVTH: Nguyễn Văn Hưng Lớp 40TH