Quản lý bệnh nhân
Trang 1LỜ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ôngtin 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 chúng ta, đặc biệt nó là công cụ hỗ trợ đắc lực không thể thiếu trong công tác quản lý Dễ dàng 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 các doanh nghiệp Nhờ vào công tác tin học hoá mà công tác 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 vào trong việc quản lý Bệnh nhân của bệnh viện là một nhu cầu tất yếu Chính
vì lý do này 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 nhân và nhân viên 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ô cùng 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, cùng 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 Khánh Hoà) đã
giúp em hoàn thành đồ án tốt nghiệp này
Sinh Viên Thực Hiện
Nguyễn Văn Hưng
Trang 2GIỚ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
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ếnhà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ốngcâ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
Trang 3gó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áoviê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ớnlạ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
+ Tiến hành xây dựng các giao diện cho chương trình quản lý bệnh nhânbằ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ướctù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ờigian
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
Trang 4PHAÀ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ợ các tác vụquản lý, khai thác 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) haycò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àngthô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ôngdụ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éplấ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áttriể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 bên trong các bảng một cách chặt chẽ
Trang 5SQL Server 2000 hỗ trợ khám phá mạnh cho cơ sở dữ liệu đa truy cập tức cơ
Desktop Enginepersonal
standardDesktopEnterprise
Full-text
sarch Đây là phần tự chọn trong lúc cài đặt, nếubạn muốn chức năng tìm kiếm thì nên chọn
hệ thống này vì chúng không là phần mặcnhiên Full-text Sarch cung cấp chức năngtì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ệtvời Nếu ban muốn tìm kiếm một chuỗi controng một đoạn văn bản thì đây là mộtcông cụ thích hợp
PersonalStandardDeveloperenterprise
English
Query
English Query cho phép người sử dụngkhông có kỹ thuật về SQL Server, bằngcách đặt câu hỏi bằng chuỗi English sau đóđược dịch ra Query mà có thể thực thi trênSQL Server Nhưng công cụ này được càiđặt tách biệt SQL Server
PersonalStandard
Developer
Trang 6Analysis
Services Phần này không bao gồm mặc định trongphần cài đặt, chúng là dạng sản phẩm tự
chọn, và là công cụ phân tích OLAP(Online Analytical Proces), sử dụng cho cơ
sở dữ liệu lớn
PersonalStandandDeveloper
Enterprise
Replication Những phiên bản có OLAP đầy đủ chức
năng là Enterprise và Developer, nhưngtrong ấn bản Personal cung có một số chứcnăng chính của OLAP Chức năng này chophép tái tạo một bản sao đến SQL Serverkhác, hệ thống này thường dùng cho các hệthống server từ xa hay trong network, nhằm
để làm giảm trao đổi dữ liệu giữa các SQLServer với nhau
Data Transformatuion Service (DTS) được
mở rộng trong phiên bản SQL Server 2000,bao gồm những chức năng trao đổi dữ liệu
và giao tiếp giữa các cơ sở dữ liệu khác vớinhau, đây là những giải pháp lập trình trênVisual Basic
Desktop Engine
Presonalstandard
Trang 7Clustering support: chỉ có trong ấn bản Enterprise và Developer, Clustering cho phép hệ thống cân bằng khi có một Server bị dừng thì những hệ thống khác 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 Các thành 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
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 trên bảng
Stored Procedure: Thủ tục và hàm 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: Các giá trị mặc nhiên
Full-text catalogs: Tập phân 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.
Trang 8Cơ sở dữ liệu là đối tượng có ảnh hưởng cao nhất khi bạn làm việc với SQLServer, 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ượngnhư: Database, table, View, stored procedure nêu trên cùng một số cơ sở dữ liệukhá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 serverbạ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
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 đặttrê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ácmụ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ệuMaster chỉ có thể truy cập lại khi gặp tình huống tai hoạ nhờ các 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 đốitượ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ệuModel 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
Trang 9dự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ệuModel.
Cơ sở dữ liệu Msdb : Như ta đã nêu, chúng 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 SQLServer sẽ bị lỗi , nhưng vớI cơ sở dữ liệu Msdb thì khác Msdb chính là SQL Agentlư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 đòihỏ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
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ácnhậ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 Basichay Access dùng để truy cập SQL Server Cơ sở dữ liệu này được cài đặt như mộtphầ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 tên Inspubs.sql và insnwnd.sql
Tập tin chuyển tác 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.
Trang 10Bả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àngbuộ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
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 nhiên 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ố 1hoặ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 trongbảng hay khung nhìn (view) Đối tượng chỉ mục này có ảnh hưởng tới tốc độ truycập số liệu, nhất là khi cần tìm kiếm thông tin trên bảng chỉ mục giúp 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ố
Trang 11 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ệutrong 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 đó
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 Ràng 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ộtquy 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 phân tích thiết kế hệ thống Saunhữ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êmtrườ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êuchuẩ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ưởngchí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 phát triển như một phần lập trình SQL trên cơ sở dữ liệu Stored Procedure chophé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 dùng SQL Server
Tiết kiệm thời gian thực thi trên dữ liệu
Trang 12 Có thể gọi những Stored Procedure theo cách gọi của thủ tục hayhàm trong các ngôn ngữ lập trình truyền thống, đồng thời sử dụng lại khi có yêucầ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 toán trên bảng số liệu, chuyển tác thực hiện trên từng mẩu tin bạn hãynghĩ đến kiểu dữ liệu mang tên Cursor
IV KIỂU DỮ LIỆU (DATA TYPE)
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à cungcấp thêm một số kiểu dữ liệu mới Các kiểu dữ liệu của SQL Server có thể đượcphâ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ệ), ……
Ngoài ra SQL Server còn cho chuyển đổi qua lại giữa các kiểu dữ liệu, tuynhiê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ểuBinary không cho phép chuyển đổi sang kiểu dữ liệu số Float hay real
V CÁC CÔNG CỤ CHÍNH CỦA SQL SERVER 2000.
1 Trợ giúp 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 trên 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ếtcác cú pháp, hàm hay các phép toán cũng như các thủ tục SQL, chính vì thế màBooks Online là công cụ trợ giúp 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 Servertrong 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ủaServer 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
Trang 133 Trình Enterprise Managar: là màn 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, xoá các 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, xoá, 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
Trang 14Ngoài ra Enterprise Managar còn có một số chức năng khác như đăng kýnhiều Server khác.
4 Trình Query Analyzer: Công cụ này giúp cho bạn phát triển hay gỡ rối
trong SQL Server, Query Analyzer là công cụ cung cấp bởi SQL Server, là trìnhsoạn thảo và thực thi câu lệnh SQL hay Stored Procedure
VI CÁC PHÁT BIỂU CƠ BẢN CỦA T-SQL
1 Phát biểu Select:
Phát biểu Select là một trong những phát biểu yêu 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ườngquy đị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 dùng để hiển thị kết quả truy vấn theo tiêu chuẩn của ngườidùng Nếu thiếu tham số này thì việc sắp xếp sẽ theo thứ tự ALPHABET
Cú pháp của phát biểu Select:
SELECT<Danh sách các cột>
[ FROM <Danh sách các bảng>]
[ WHERE <Các điều kiện ràng buộc> ]
[ GROUP BY<Tên cột hay biểu thức sử dụng cột trong SELECT> ]
[ HAVING <điều kiện bắt buộc dựa trên GROUP BY> ]
[ ORDER BY <Danh sách các cột> ]
Những phát biểu nằm trong dấu [ ] thì có thể có hoặc có thể không có
Trang 15 Dấu * cho phép lọc bảng tin với tất cả các trường trong bảng.
WHERE tblBenhNhan.TenbenhNhan= ‘ Nguyễn văn Hưng ‘
Ngoài những câu lệnh truy vấn trên, Trong SQL còn cung cấp một số hàmcũng như một số biểu thức toán học
2 Nhập dữ liệu bằng phát biểu INSERT.
Khi thêm mẩu tin vào trong SQL Server 2000, có nhiều cách để thực hiệncông việc này Trong Visual Basic có những phát biểu thêm mẩu tin vào bảng SQLServer, tuy nhiên để tối ưu về tốc độ hay tính chuyên nghiệp trong SQL Server, bạncần sử dụng phát biểu INSERT
Có thể sử dụng phát biểu này trên ứ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 <Tên bảng> (Danh sách cột)
VALUES <Danh sách giá trị>
Trang 16Ví 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 Phát biểu cập nhật (UPDATE)
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 nào đó thường UPDATE sử dụng chung với mệnh đềWHERE
Cú pháp của mệnh đề UPDATE như sau:
UPDATE FROM <Tên bảng>
SET <tên cột> = <Giá trị>
WHERE <Điều kiện>
Ví dụ muốn thaqy đổi tên tỉnh có mã số (‘01’) thành Hải Dương ta dùng câutruy vấn như sau:
UPDATE FROM tblTinh
SET tblTinh.Tentinh = ‘Hải Dương’
WHERE tblTinh.MaTinh = ‘01’
4 Phát 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ênbảng và mệnh đề WHERE để mọc mẩu tin nếu có
Cú pháp:
Trang 17DELETE FROM <Tên bảng>
WHERE <Điều kiện>
Ví dụ : Để xóa tên tỉnh có tên là Hải Dương ta là như sau:
DELETE FROM tblTinh
WHERE tblTinh.TenTinh = ‘Hải Dương’
Trong trường hợp có ràng buộc về quan hệ dữ liệu, thì xoá mẩu tin phảituân thủ theo nguyên tắc: Xóa mẩu tin con trước rồi mới xóa mẩu tin cha
Ngoài ra trong SQL Server còn có những phát biểu cho phép kết nối nhiềubảng với nhau như: JOIN, INNER JOIN, LEFT IOIN, RIGHT JOIN, FULL JOINCROSS 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
SELECTdbo.tblTinh.TenTinh,dbo.tblHuyen,dbo.tblXA.TenXa,dbo.tblXa.Maxa
FROM dbo.tblHUYEN INNER JOIN
Dbo.tblTINH ON dbo.tblHUYEN.MaTinh = dbo.tblTINH.MaTinhINNER 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
Trang 18SELECT TenTinh, TenHuyen, TenXa
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 phân tích thiết kế Để tạo cơ sở dữ liệu trênSQL Server ta dùng một trong ba phương phát sau:
Database Creation Wizard
SQL Server Enterprise Manager
Câu Lệnh CREATE DATABASE
Cú Pháp của câu lệnh CREATE DATE như sau:
CREATE DATABASE <database- name>
[ON [ PRIMARY]
([ Name = <’logical file name’> ,]
[ , SIZE = <Size in Megabyte or kiloByte>]
[ , MAXSIZE = <Size in MegaByte or KiloByte>]
[, FILEGROWTH = < No or KiloByte ׀ Percentage>] )]
Trang 19[ LOG ON
(
[ name = <’Logical File name’> , ]
FileName = <’FileName’>
[ , SIZE = <Size in Megabyte or kiloByte> ]
[ , MAXSIZE = <Size in MegaByte or KiloByte>]
[ , FILEGROWTH = < No or KiloBytelPercentage>] ) ]
[ COLLATE <collation> ]
[ 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ệutăng đến mức Maxsize thì dừng lại Nếu khi dung lượng bằng Maxsize, các chuyểntá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 giõi quá trình tăng dung lượng cơ sở dữ liệutheo thời gian
Trang 20 FILEGROWTH: Dung lượng khởi tạo cùng dung lượng tối đacho phép tăng trong quá trình thêm dữ liệu vào cơ sở dữ liệu.
LOG ON: Cho phép bạn quản lý những chuyển tác xảy ra trongquá 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ựchiện các bước như sau:
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àokhoảng trắng ở khung bên phải rồi chọn New Database từ menu ngữ cảnh
Trang 21 Đặ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ạobảng Có thể dùng SQL Server Enterprise Managar hoặc có thể dùng câu lệnh SQLtrực tiếp:
Tạo bảng bằng SQL Server Enterprise Managar bao gồm những bướcsau:
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 vào khung bên phải và chọn New Table
Trang 22Bạ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 đã làm
Dùng câu lệnh SQL Server trực tiếp
CRETE TABLE[ Database_Name.[ owner ].Table_ name
(<column Name><Data type>
[[DEFAULT <constant expression>] | [
IDENTITY (seed, increament) [ NOTFOR REPLICTION ] ] ] ]
Trang 23Tên cột (Column Name): Đặt tên cột cũng giống như dặt tên bảng, nhưngtê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
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
NULL / NOT NULL: Đây là trạng thái của một cột trong bảng cho phépgiá 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ốngnhư 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ảngtheo 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 ràngbuộc giữa các bảng dữ liệu xảy ra nhằm kiểm tra giá trị khóa chính hay khoá phụ,các cột cho phép NULL hay NOT NULL, đồng thời kiểm tra ràng buộc dữ liệu vớinhững bảng có quan hệ hay hai ba ngôi
3 Tạo kịch bản (CREATING SCRÍPT)
Trang 24Kịch bản là tổng hợp các phát biểu SQL dùng để tại ra cơ sở dữ liệutrong quá trình xây dựng chúng.
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ớinhững thuộc tính căn bản từ cửa sổ Enterprise Managar, chọn tên cơ sở dữ liệuAccount, sau đó nhấn chuột phải chọn / ALL Tasks / Generate SQL Scripts như sau:
Tab General
Script all objects: Cho phép hiện danh sách cácđối tượng
All Tables: Hiện danh sách tất cả các bảng
All View: Hiện danh sách tất cả các View
All stored procedure: Hiện danh sách tất cả cácSP
Trang 25 All defaults: Hiện danh sách tất cả các giá trịmặc nhiên.
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ịchbản
Tab Formatting : Dùng định dạng kịch bản tạo ra như cú pháp, có phátbiể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à ràng 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àokhác nhau chẳng hạn như Visual Basic Quá trình kiểm tra mang tính logic này gọi
là ràng buộc dữ liệu:
Ràng buộc dữ liệu:Bao gồm ở mức cao và ở mức đặc thù:
Ràng buộc miền( Domain constraint)
Ràng buộc thực tế(Entity constraint )
Ràng buộc dữ liệutoàn vẹn
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:
Ràng buộc khóa chính ( Primary Key constraint )
Ràng buộc khóa ngoại ( Foreign Key constraint )
Trang 26Ràng buộc duy nhất ( Unique constraint ).
Ràng buộc kiểm tra ( Check constraint )
Ràng buộc mặc nhiên ( Default constraint )
Ràng buộc theo quy tắc hay quy luật ( Rules)
Kiểm tra ràng buộc trong khi cập nhật mẩu tin
Kiểm tra ràng 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ướctiê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 khác
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ụcnhó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ệutrong 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ưngnếu cơ sở dữ liệu còn có thể chuẩn hóa được thì chúng ta còn một số chuẩn hóakhác
Quan hệ (Relationship): Xuất phát từ chuẩn hóa trên, để thựchiệ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ệuvẫn có mối quan hệ với nhau Quan hệ trong các bảng với nhau tuân theo một quytắ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 haibả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ảngthứ 2
Trang 27 Quan hệ một - nhiều (One- to-Many): Một mẩu tin trongbả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ềunhiề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 tintrong 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 tintrong bảng thứ nhất
6 Lược đồ quan hệ trong SQL Server (Diagram):
Entity Relationship Data (ERD): Là công cụ rất quan trọng trong quátrình phân tích thiết kế hệ thống thông tin quản lý hay bất kỳ giải pháp ứng dụngnào, 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ácthự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 trongSQL Server , khi cần thiết sử dụng đến View, kết quả View trả về bằng việc truyvấ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ườidù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ệctruy 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áccột mới
Trang 28 Khi cần thiết có những câu lệnh SQL dùng chotrong 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 SQLServer Thông thường View được tạo bàng SQL Server Query Analyser hay SQLServer 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 <Procedure Name>
[ <Parameters name> < Data type > [ VARYING]
[= <Default value>][ OUT PUT]
[ <Parameters name > < Data type >[ VARYING]
[=<Default Value > ][ OUT PUT]
Trang 29Gắ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 này 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
Trang 30Ta có thể hình dung rằng mô hình ADO là một mô hình làm giảm kích thướccủa mô hình RDO (Đối tượng dữ liệu từ xa) Mô hình đối tượng dữ liệu ActiveX rấtgọ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ácRecord 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 lõi của ADO, mô hình này được thiết kế để cho phép bạntạo ra một đối tượng Recordset mà không cần phải di chuyển qua các đối tượngtrung gian khác trong quá trình Thực tế chỉ có ba đối tượng cốt lõi 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 đốitượng Command
Đối tượng Connection có một sưu tập đối tượng con gọi là các đối tượngErrors đố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áctham số nào có thể thay thế cho các query Recorset cũng có một đối tượng sưu tậpcon Properties để lưu các thông tin chi tiết về đối tượng
Trang 31
II CÁC THUỘC TÍNH ADO ĐẶC BIỆT:
Mô hình ADO có một số các thuộc tính duy nhất không có các mô hình khácnhư 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ềnhạ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 câu lệnh)
- Cursor location (Định vị con trỏ)
- Cursor Type (Kiểu con trỏ)
- Look type (Kiểu khoá)
- Mode type (Kiểu chế độ làm việc)
Trang 32PHAÀN II
ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ
BỆNH NHÂN 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ữabệ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 tinhọc vào trong việc quản lý Bệnh nhân và nhân viên của bệnh viện là một nhu cầu tấtyếu Sau khi khảo sát hiện trạng chúng tôi nắm được những thông tin chính cầnquản lý sau:
Quản lý nhân viên 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ôngtác, chức vụ, tôn giáo
Địa chỉ quản lý: Tỉnh (Thành phố ), Quận (Huyện), Phường (Xã), Số nhà,(Thôn)
Đị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ố)
Trang 33- 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ậpviệ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 đếnkhoa sản)
Nhìn chung, bệnh nhân đến bệnh viện để khám chữa bệnh theo quy trình chungsau:
- 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ệckhá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ạinhà hay nhập viện
+ Bước 3.1: Nếu bệnh nhân điều trị tại nhà thì bác sĩ cho một toa thuốc trên
đó 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 theoquy đị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ì bác sĩ khám bệnh cho mộtlệ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ệnhmắc phải Quá trình điều trị bệnh nhân được thể hiện đầy đủ trên bệnh án Trongmộ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ámbệnh như: Xét nghiệm, X_quang, siêu âm,… Việc sử dụng cũng theo chỉ định củabá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ụ riêng 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ệnyê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
Trang 34vào số tiền tạm ứng trên sẽ tính để biết được bệnh nhân đã thanh toán đầy đủ tiềnviệ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.Riêng tiền phòng, nếu có thẻ bảo hiểm y tế, bệnh nhân cũng chỉ được bảo hiểm trênloại phòng rẻ nhất, nếu bệnh nhân nằm điều trị ở loại phòng có giá tiền cao thì tự trảphần chênh lệch Khi xuất viện, bệnh nhân thanh toán toà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ệnphí 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ữatrị 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ệnphí trước đó đã hết), thì khoa (phòng) nơi điều trị bệnh nhân trình ban lãnh đạ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ảohiểm y tế
Trang 35CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN
I MÔ HÌNH QUAN HỆ DỮ LIỆU
-SoluongDung -LieuDung
TINH
-Ma tinh
-Ten tinh
ĐON VI -MaDV -TenDV
CHUYEN MON -MaCM
-TenCM
CHUC VU -MaCV -TenCV
-HoNV-TenNV-NgaySinhNV-GioiTinh-Sonha
ÑV
NV-(1,n)
(1,1)
CM
NV-(1,n)
(1,1)
CV
NV-(1,n)
(1,1)
VITRIKB-MaVTKB-TenVTKB
KHAMB-NgayKB-
NoiDung-ChiPhi
(1.n)
(1.n)
Dia Chi
(1,1)(1.n)
BENHNHAN -MaBN -HoBN -TenBN -NgaySinhBN -GioiTinh -SoNha
(1,1)
BENH-MaB-TenB
(1.n)(1,1)
(1.n)
THUOC-MaT-TenT-DonGia
BENHAN -MaBA -NgayVao -Ngayra
DUNGDV -LanD
DICHVU-MaDV-TenDV-DonGia
(1.n) (1,n)
(1.n)
NOIDIEUTRI-MaNDT-TenNDT-DonGia
BN-TU
(1.1)(1.n)
DAN TOC -MaDT -TenDT
DT
NV-(1,1)
(1,n)
TONGIAO -MaTG -TenTG
NV- TG
(1,1)
(1.n)
Trang 36II MÔ HÌNH TỔ CHỨC DỮ LIỆU
1 TINH(MaTinh, TenTinh)
2 HUYEN(MaHuyen, TenHuyen, MaTinh )
3 XA(MaX, TenX, MaHuyen)
11 BAOHIEM(MaBN, SoTheBHYT, NgayBD, NgayKT, Phan tram)
12 BENHNHAN(MaBN,HoBN, TenBN, NgaySinhBN, GioiTinhBN,
Trang 3717 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
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn
vẹnMatinh (K) Mã tỉnh Text (2) Primary key
Mỗi một thể hiện là một thành phố hay một tỉnh nào đó Theo khảo sátthự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 Khánh Hoà
02 là mã của tỉnh Bình Thuận
Trang 38
2 HUYEN(Mahuyen, Tenhuyen, Matinh)
HUYEN
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn
vẹnMahuyen (K) Mã huyện Text (4 ) Primary key
Tenhuyen Tên huyện Text (30) Not NULL
Mỗi một thể hiện là một quận hay huyện thuộc một thành phố hay mộttỉnh nào đó Hai số đầu là mã Tỉnh hay Thành Phố, hai số tiếp theo là mã Quậnhay Huyện trực thuộc Tỉnh hay Thành Phố
Ví dụ: 0101: Là mã của TP Nha Trang
0102: Là mã của huyện Ninh Hoà
3 XA(MaX , Tên X, Ma huyen)
XA
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn
vẹn
Mahuyen Mã huyện Text (4) Foreign key
Mỗi một thể hiện là một quận hay một xã nào đó thuộc một phườnghay một huyện nào đó Hai số đầu là mã tỉnh hay thành phố, hai số tiếp theo là
mã quận hay huyện trực thuộc thành 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à)
Trang 394 DONVỊ(MaDV, Ten DV)
DONVI
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn
vẹnMaDV (K) Mã đơn vị Text (2) Primary key
Mỗi một thể hiện là một đơn vị công tác của nhân viện trong BệnhViện, teo khảo sát tại Bệnh Viện Đa khoa tỉnh Khánh Hòa hiện có dưới 100khoa Nên mã Đơn Vị là hai số
Ma DT (K) Mã dân tộc Text (2) Primary key
Ten DT Tên dân 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ã dân tộc là hai số
6 TONGIAO (MaTG, TenTG )
Trang 40Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn
vẹnMaTG(K) Mã tôn giáo Text (2) Primary key
TenTG Tên tôn giáo 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 giáo là hai số
7 CHUYEN MON(MaCM, TenCM)
CHUYEN MON
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn
vẹnMaCM (K) Mã chuyên môn Text (2) Primary key
TenCM Tên chuyên môn Text (50 ) Not NULL
Mỗi thể hiện là một chuyên môn của nhân viên trong bệnh viện, theokhảo sát thì hiện có dưới 100 chuyên môn Nên ta chọn 2 ký tự để đánh số thứ
tự cho chuyên môn
8 CHUCVU(MaCV, TenCV)
CHUCVU
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn
vẹnMaCV (K) Mã chức vụ Text (2) Primary key
Mỗi thể hiện là một chức vụ của nhân viên, theo khao sát hiện BệnhViệ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ụ