Tải bản đầy đủ (.pdf) (44 trang)

luận văn ứng dụng quản lý bệnh nhân bằng tin học - Cầu ứng dụng quản lý bệnh nhân bằng tin học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (847.65 KB, 44 trang )

z







LUẬN VĂN TỐT NGHIỆP


KHOA
CÔNG NGHỆ THÔNG TIN


Đề tài: Cầu ứng dụng quản lý bệnh nhân bằng tin học














LỜI NÓI ĐẦU



Ngày nay, cùng với sự phát triển vượt bậc của khoa học kỹ thuật thì công nghệ
thông tin là một trong những lĩnh vực có nhiều đóng góp thiết thực nhất, công nghệ
thông tin có mặt trong hầu hết các lĩnh vực của cuộc sống, đặc biệt nó là công cụ hỗ
trợ rất đắc lực trong công tác quản lý. Dễ dàng thấy được việc đưa tin học vào trong
quản lý kinh doanh là một ứng dụng quan trọng trong rất nhiều ứng dụng của cơ sở dữ
liệu. Nhờ vào công tác tin học hoá mà công việc quản lý và điều hành doanh nghiệp tỏ
ra rất nhanh chóng và hiệu quả. 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 quản lý bệnh nhân bằng
tin học là một vấn đề hết sức thiết thực và tất yếu. Chính vì lí do đó chúng tôi chọn đề
tài quản lý bệnh nhân này làm đề tài thực tập chuyên ngành và thực tập tốt nghiệp sắp
tới.
Hiện nay, có rất nhiều phần mềm hệ quản trị cơ sở dữ liệu khác nhau. Tuy
nhiên căn cứ vào tình hình quản lý bệnh nhân của bệnh viện hiện nay, chúng tôi đã
chon hệ quản trị cơ sở dữ liệu SQL Server 2000 và ngôn ngữ hỗ trợ cài đặt giao diện
của ứng dụng 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 cũng như vốn
kiến thức còn nông cạn nên không thể tránh khỏi những thiếu sót. Rất mong được góp
ý của quý thầy cô cùng các bạn để báo cáo được hoàng thiện hơn.
Nhóm sinh viên thực hiện
Bùi Văn Mừng
Đỗ Văn Cao.


















PHẦN I: TỔNG QUAN VỀ NGÔN NGỮ CÀI ĐẶT

I. GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU VÀ SQL SERVER 2000
I.1. 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à một 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ệ.
SQL server là một hệ thống quản lí cơ sở dữ liệu quan hệ (RDB0MS) hay còn
được gọi là Relational Database Management 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 lại liên hệ với nhau bởi bộ Database Engine khi có yêu cầu.
RDBMS là một trong những mô hình cơ sở dữ liệu thông dụng nhất hiện nay.
I.2. GIỚI THIỆU CHUNG VỀ SQL SERVER 2000
SQL(Structured Query Language), là ngôn ngữ dùng để truy vấn cơ sở dữ liệu,
hay nói cách khác đây là ngôn 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, Standard,

Developer, Enterprise.
SQL Server 2000 hỗ trợ kiểm tra khoá 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ẽ.
SQL Server 2000 hỗ trợ khá mạnh cho cơ sở dữ liệu đa truy cập. Tức cơ sở dữ
liệu mạng,…
Những thành phần chính trong SQL Server 2000 bao gồm
Hệ thống Diễn dải An bản
SQL Server
2000
Đây là phần chính của hệ thống, là trung tâm
điều hành những phần thực thi khác. Với
Desktop Engine bạn xẽ tìm thấy các dich vụ
trong hệ thống như SQL Server Agent
(Schedul), SQL Server Profiler ,… và một số
công cụ khác
Desktop
Engine
Personal
Standard
Developer
Enterprise
Full-Text
Sarch
Đây là phần tự chọn trong lúc cài đặt, nếu bạ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ặc nhiên.
Full-Text Sarch cung cấp chức năng tìm kiếm
từ (word) rất mạnh, nếu sử dụng Internet để tìm
kiếm thì đây là giải pháp tuyệt vời. Nếu bạn
muốn tìm kiếm một chuỗi con trong một đoạn

văn bản lớn thì đây là công cụ thích hợp cho
công việc đó.
Personal
(Except
Win95)
Standard
Developer
Enterprise
English Query English Query cho phép người sử dụng không
có kỹ thuật vê SQL cũng có thể sử dụng SQL
Server, bằng cách dặ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.
Personal
Standard
Developer
Enterprise
Analusis
Services
Phần này không bao gồm mặc định trong
phần cài đặt, chúng là dạng sản phẩm tự chọn, là
công cụ phân tích OLAP (Online Analysis
Processing), sử dụng cho cơ sở dữ liệu lớn.
Những phiên bản có OLAP đầy đủ chức năng
là Enterprise và Developer, nhưng trong ấn bản
Standard và Personal cũng có một chức năng
chính của OLAP.
Personal

Standard


Developer

Enterprise
Replication Chức năng này cho phép tái tạo một bản sao
đến SQL Server khác, thông thường dùng chức
năng này 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 SQL Server với nhau.
Desktop
Engine
Personal
Standard
Developer
Enterprise
Data
Transformatuion
Servise
Data Transformatuion Servise (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 giứa các
cơ sở dữ liệu, và giao tiếp dữ liệu giữa các cơ sở
dữ liệu khác nhau, đây là những giải pháp lập
trình trên Visual Basic
Desktop
Engine
Personal
Standard
Developer
Enterprise

Những đặc tính mở rộng trong các ấn bản khác nhau của SQL Server 2000.
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í trên hệ thống có nhiều bộ vi xử lí
để làm cân bằng tiến trình trên các CPU.
Clustering 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ị ngừng thì những hệ thống khác 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.
I.2.1 Các thành phần của SQL Server 2000.
RDBMS cũng như SQL Server chứa đựng nhiều đối tượng bao gồm:
- Database: 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
- Filegroups: Tập tin nhóm
- Diagrams: Sơ đồ quan hệ
- Views: Khung nhìn (hay bản ảo) số liệu dựa trên bản
- Stored Procedure: Thủ tục và hàm nội
- Users defined: Hàm do người dùng định nghĩa
- Users: Người sử dụng cơ sở dữ liệu
- Rules: Những quy tắc
- Defaults: Các giá trị mặc nhiên
- User-defined data type:Kiểu dữ liệu do người dùng định nghĩa
- Full-text catalogs: Tạp phân loại dữ liệu text
I.2.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 chính của
cơ sở dữ liệu.
Bản thân SQL Server là một hệ cơ sở dữ liệu, chúng bao gồm các đối tượng
như database, table, view, procedure nêu trên cùng một số cơ sở dữ liệu hỗ trợ khác.

Cơ sở dữ liệu SQL Server là 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 tương ứng.
Truy cập cơ sở dữ liệu của SQL Server dựa vào những tài khoản người dùng
riêng biệt và ứng với quyền truy cập nhất định. Cài đặt SQL Server bạn có 6 cơ sở dữ
liệu mặc định sau:
- Master: Bất kỳ SQL Server nào đều có cơ sở dữ liệu Master (còn gọi là
master file), cơ sở dữ liệu này chứa đựng tất cả các bảng dữ liệu đặc biệt (bảng hệ
thống), chúng kiểm soát tất cả các hoạt động cúa hệ SQL Server.
Ví dụ: Khi người dùng cơ sở dữ liệu mới trong SQL Server, thêm hay xoa một
procedure, tất cả những thông tin này đều được trữ trong cơ sở dữ liệu master của hệ
thống.
- Cơ sở dữ liệu model: Cơ sở dữ liệu này chứa đựng tất cả template dùng
làm mẫu để tạo cơ sở dữ liệu mới. Khi bạn tạo mới một cơ sở dữ liệu thì SQL Server
lấy tất cả các mẫu (bao gồm bảng view …) từ cơ sở dữ liệu model này
Xuất phát từ tính chất cơ sở dữ liệu mẫu giúp SQL Server thực hiện việc tạo
mới cơ sở dữ liệu cho người dùng khi có yêu cầu, bạn không được xoá cơ sở dữ liệu
này.
Khi một cơ sở dữ liệu mới được tạo ra thì cơ sở dữ liệu mới này ít nhất cũng
bằng và giống như cơ sở dữ liệu model.
- Cơ sở dữ liệu msdb: Như đã 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 SQL
Server xẽ bị lỗi, nhưng với cơ sở dữ liệu msdb thì khac. 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: Là một trong những cơ sở dữ liệu chính trong
SQL Server. Cơ sở dữ liệu này cho phép người 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ực. Ngoài ra chúng còn giúp
thực hiện những thao tác về cơ sở dữ liệu mỗi khi SQL Server khởi động.
- Cơ sở dữ liệu pubs: Chứa hầu hết nội dung về hướng dẫn, trợ giúp và
sách tham khảo về SQL Server.

- Cơ sở dữ liệu Northwind: Cũng giống như cơ sở dữ liệu pubs, đây là
cơ sở dữ liệu mẫu cho người dùng tham khảo, hoặc các lập trình viên Visual Basic
hay Access dùng để truy cập dữ liệu 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 tên inspub.sql, và insnwnd.sql.
- Tập tin chuyển tác log: Tập tin chứa đựng những hoạt động, hay cả
những chuyển tác của cơ sở dữ liệu theo thời gian. Thông thường khi cần tìm hiểu 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 xẽ biết được
nguyên nhân.
I.2.3. Giới thiệu về đối tượng của cơ sở dữ liệu
- Bảng-Table
Trong cơ sở dữ liệu, bản (table) là 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.
Mỗi bảng được định nghĩa nhiều trường, mỗi trường (field còn gọi là column
name) ứng với mỗi loại kiểu dữ liệu. Dữ liệu nhập vào có thể chấp nhận hặc từ chối
tuỳ thuộc vào nguyên tắc ràng buộc dữ liệu hoặc loại dữ liệu tương thích do hệ thống
hay người dùng định nghĩa.
Khi định nghĩa bảng cơ sở dữ liệu bạn cần quan tâm đến các yếu tố sau:
+ Key: Trường đó có khoá hay không (primary Key)
+ ID: Trường có thuộc tính Indentity hay không
+ Column name: Tên của trường (cột)
+ 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 sử dụng một trường có giá trị tự động như autonumber
trong acces, trường nay Not Null và Identity: Yes(On)
+ Identity Seed: Nếu trường (cột) này là Identity, cần số bắt đầu là 1 hoặc 2,


+ Identity Increament: Số nhảy cho mỗi lần tăng
- Chỉ mục – Indexs
Đối tượng chỉ mục (Indexs) chỉ tồn tại trong bảng hay khung nhìn (View). Chỉ
mục có ảnh hưởng đến tốc độ truy cậ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 loạ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 loại chỉ mục này có một bảng có thể có nhiều chỉ
mục và số liệu được săp xếp theo trường dữ liệu mà bạn trỏ đến
- Bẫy lỗi-Triggers
Là đối tượng chỉ tồn tại trong bảng, cụ thể là một đoạn mã và tự đông thực hiện
khi 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ể 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 một tiêu chuẩn nào đó.
- Ràng buộc- Constraints
Constraints 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 đó.
- Diagram-Lược đồ quan hệ
Khi xây dựng cơ sở dữ liệu cho ứng dung hay thương mại điện tử, thường đều
phải dựa trên trình phân 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(Entity relationship diagram)
- Khung nhìn-View
View là khung nhìn (hay 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. View còn 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 dữ
liệu với yêu cầu người dùng.
- Thủ tục nội-Stored Procedure
Stored Procedure còn gọi là Spocs, tiếp tục phát triển như một phần 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 Procdure có các ưu điểm lớn sau:
+ Kế thừa tất cả các phát biểu 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.
+ Có thể goi Stored procedure theo cách gọi thủ tục hay hàm trong ngôn ngữ
lập trình truyền thốn, đồng thời sử dụng lại khi có yêu cầu.
- Sử dụng kiểu dữ liệu Cursor (Cursor typy)
Khi dùng cơ sở dữ liệu SQL Server, nếu có nhu cầu 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, ta nên nghĩ đến kiểu dữ liệu mang tên Cursor.
I.2.3. Kiểu dữ liệu-Data type
Bất kỳ trường nào trong bảng (Table) của cơ sở dữ liệu đều phải co 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ố kiểu khác thì không
Cũng như những ngôn ngữ lập trình khác SQL Server cung cấp đầy đủ kiểu dữ
liệu cần thiết, như: kiểu số nguyên (Binary, Int, TinyInt, …), kiểu số thực (Float), kiểu
tiền tệ (Money, SmallMoaney,…) kiểu chuỗi (char, nChar, VarChar, Text,…), và
nhiều kiểu dư liệu khác.
Ngoài ra SQL Server còn cho phép 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ế đối với một số kiểu dữ liệu. Ví dụ: kiểu
binary không thể nhận chuyển đổi sự chuyển đổi từ dữ liệu kiểu float hay real…
I.2.4. Các phát biểu cơ bản của T-SQL
- Cú pháp tổng quát của lệnh Select
SELECT <danh sách các cột>
FROM <danh sách 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ột>]
Trong đó tất cả những phát biểu nằm trong cặp dấu [] thì có thể có hoặc có thể
không có.

Ví dụ:
+ Để lấy tất cả các bệnh nhân trong bảng tblBenhNhan ta dùng câu truy vấn
sau:
SELECT *
FROM tblBenhNhan
Trong câu lệnh này thiếu vắng tất cả các phát biểu sau FROM trên
+ Để chọn ra tất cả các bệnh nhân trong bảng tblBenhNhan với Tên bệnh
nhân là Nguyễn Văn A ta làm như sau.
SELECT *
FROM tblBenhNhan
WHERE tblBenhNhan.TenBenhNhan=’Ngyuên Van A’
Vậy câu lệnh SELECT dùng để chỉ ra trường (cột) dữ liệu cần lấy, 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ười dùng.
Nếu thiếu tham số này thì việc sắp xếp xẽ theo thứ tự ALPHABET.
Ngoài những câu lệnh truy vấn trên trong SQL Server còn cung cấp một số
hàm cũng như những biểu thức tính toán …
- Để thêm dữ liệu vào bảng (Table) ta dùng câu lệnh truy vấn sau:
INSERT INTO <Tên Bảng> (danh sách cột)
VALUES (danh sách giá trị)
Ví dụ:
Để chèn dữ liệu vào bảng tblTinh ta có câu lệnh truy vấn sau:
INSERT INTO tblTinh (MaTinh, TenTinh)
VALUES(‘001’, ‘Khánh Hoà’)
- Để sửa dữ liệu trong một bảng đã có sẵn ta sử dụng câu lệnh truy vấn
UPDATE cú pháp như sau:
UPDATE FROM <Tên bảng>
SET <tên cột>=<giá trị>
WHERE <Điều kiện>
Ví dụ: ta muốn thay đổi tên tỉnh có mã số (‘001’) thành Đà Lạt ta làm như sau:

UPDATE FROM tblTinh
SET tblTinh.TenTinh=’Đà Lạt’
WHERE tblTinh.MaTinh=’001’
- Để xoá dữ liệu trong một bảng ta dùng câu lẹnh truy vấn DELETE cú pháp
như sau:
DELETE FROM <Tên bảng>
WHERE <điều kiện>
Ví dụ: Để xóa tỉnh có tên tỉnh là Khánh Hoà ta làm như sau
DELETE FROM tblTinh
WHERE tblTinh.TenTinh=’Khánh Hoà’
Hoặc có mã tỉnh =001
DELETE FROM tblTinh
WHERE tblTinh.MaTinh=’001’
Ngoài ra trong SQL Server có những phát biểu cho phép kết nối nhiều bản với
nhau (JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, CROSS JOIN).
Ví dụ: để lấy địa chỉ của bệnh nhân ta cần xác định xã, huyện, tỉnh. Vậy để lấy
về địa chỉ của bệnh nhân có rất nhiều cách song cách nào là nhanh nhất dỡ phải viết
lệnh nhiều mà hiệu quả lại cao. Việc này được thực hiện nhờ tạo một View kết nối
table tblTinh, tblHuyen, tblXa câu truy vấn 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
Khí đã có view địa chỉ rồi ta chỉ cần gọi câu truy vấn sau là xẽ có thông tin cần
thiết về địa chỉ bệnh nhâ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.
Ơ view trên ta kết nối ba table bằng lệnh INNER JOIN để lấy ra các trường tên
tinh, tên huyên, tên xã, và mã xã.
I.2.5. 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
Để tạo cơ sở dữ liệu trong SQL Server ta dùng cú pháp sau
CREATE DATABASE <Database_name>
[ON [PRIMARY] (
[Name=<’Logical file name’>,]
FileName=<’FileName’>
[,SIZE=<Size in Megabyte or KiloByte]
[,MAXSIZE=<Size in Megabyte or KiloByte]
FILEGROWTH=<NO ò Kylobyte|Percentage>]
)]
(LOG ON
(
Name=<’Logical file name’>]
FileName=<’File Name’>
[,SIZE=<Size in Megabyte or KiloByte]
[,MAXSIZE=<Size in Megabyte or KiloByte]
FILEGROWTH=<NO ò Kylobyte|Percentage>]
)]
[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ứn, Lưu ý khi tạo cơ sở dữ
liệu ta đặt tập tin ở vị trí nào thì không thể di chuyển một cách thủ công
được.
- SIZE: Cho biết dụng lượng cơ sở dữ liệu khi tạo chúng. Thông thường là
1MB
- 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.
- FILEGROWTH: Dung lượng khởi tạo cùng dung lượng tối đa trong quá
trình thêm dữ liệu vào cơ sở dữ liệu.
- LOG ON: Cho phép quản lí chuyển tác xảy ra trong quá trình sử dụng cơ
sở dữ liệu của SQL Server. Thông thường chúng chiếm khoảng 25% dung
lượng tập tin dữ liệu.
Việc tạo một cơ sở dữ liệu bằng mã lệnh không phải là khó, song SQL Server
cho phép tạo cơ sở dữ liệu băng giao diện đồ hoạ. Để tạo cơ sở dữ liệu ta dùng trình
SQL Server Enterprise Manager. màn hình tạo cơ sở dữ liệu bằng Enterprise Manager
như sau:

Sau khi chúng ta Click vào New Database thì màn hinh tạo cơ sở dữ liệu hiện
ra khi đó ta chỉ việc nhập đầy đủ các thông tin yêu cầu như: đường dẫn nơi để tập tin
cơ sở dữ liệu, dung lượng tập tin,…
2. Tạo bảng – CREATE TABLE
tạo bảng trong cơ sở dữ liệu cũng giống như tạo các đối tượng khác trong SQL
Server. Cú pháp đầy đủ để tạo bảng như sau:
CREATE TABLE [Dataabase_name.[owner].table_name
(<column name><data type>
[[DEFAULT<constant expression>]
[[IDENTITY (seed, increament) [NOT FỎ REPLICATION]]]]
[ROWGUIDCOL]
[NULL|NOT NULL]

[<column constraint>]
[Column_name as computed_columns_expression
………
)
ON{<filegroup>|DEFAULT]
- Tên cột – Column Name: Tên cột cũng giống như tên bảng và tên cơ sở
dữ liệu không có khoảng trăng, không bắt đầu bằng chữ số và các ký tự đặc
biệt…, tuy nhiên nên đặt tên ngắn gọn gợi nhớ
- Kiểu dữ liệu – Data type: Khi xây dựng cơ sở dữ liệu tất cả các trường
trong bảng cần phải có kiểu dữ liệu cụ thể. Vấn đề quan trọng là chọn kiểu
dữ liệu nào cho phù hợp với dữ liệu mà người dùng xẽ nhập vào,
- Giá trị mặc nhiên – Default: Gán giá trị mặc nhiên cho các cột khi không
có dữ liệu.
- IDENTITY: Đây là giá trị cực kỳ quan trọng trong SQL Server. Khi chúng
ta muốn một cột có giá trị tự động tăng. Ta nên định nghĩa như Identity.
- NULL/NOT NULL: là trạng thái của một cột có cho phép nhập giá trị null
hay không.
- Ràng buộc – Column constrain: Kiểm tra dữ liệu khi dữ liệu mới được
đưa vào cột hoặc dữ liệu bị thay đổi.
- Ràng buộc bảng dữ liệu – TABLE CONSTRAINTS: Ràng buộc bảng
cũng giống như ràng buộc cột trong bảng, là kiểm soát dữ liệu nhập vào
bảng theo một quy luật định sẵn.
Song cũng có thể tạo bảng bằng giao diện dồ hoạ như với cơ sở dữ liệu. Trong
khi xây dựng bảng cần chú ý đến các trường khoá.
3.Tạo view
View là bảng ảo và cũng như với bảng view cũng có thể tạo được bằng mã
lệnh cung như giao diện đồ hoạ.
View cho phép kết nối nhiều bảng với nhau để hiển thị thông tin.
4. Thủ tục được lưu và hàm (Stored Procedure hay sp, Function)
a. Thủ tục được lưu (Stored Procedure)

Stored Procedure là một phần cực kỳ quan trọng trong cơ sở dữ liệu SQL
Server. Nếu biết SQL Server mà không biết Stored Procedure là một thiếu sót rất lớn.
Cú pháp để tạo một Stored Procedure như sau:
CREATE PROCEDURE | PRO<Procedure name>
[<Parameters name><data type>[VARYING]
[=<default value>][OUT PUT][,
[<Parameters name><data type>[VARYING]
[=<default value>][OUT PUT][,
………………………
………………………
[WITH
RECOMPILE | ENCRIPTION | RECOMPILE, ENCRIPTION]
[FOR REPLICATION]
AS
<code>
GO
Đó là cú pháp đầy đủ để tạo một Stored Procedure song ta có thể tạo Stored
Procedure rất đơn giản bằng giao diện đồ hoạ (Enterprise Manager) của SQL Server
Ví dụ tạo một Stored Procedure đơn giản:
USE BENHNHAN
GO
Create proc Sp_NhapXa
@MaXa nchar(9),
@TenXa char(30),
@MaHuyen nchar(6)
AS
Insert Into tblXa
(
MaXa, TenXa,MaHuyen
)

Values
(
@MaXa,@TenXa,@MaHuyen
)

GO
Ơ trên ta tạo một Stored Procedure dùng để nhập một xã mới vào bảng Xã
(tblXa). Khi đã có Stored Procedure này rồi ta chỉ cần gọi tên hàm và tham số kèm
theo mỗi khi nhập một xã mới vào table xã.
b.Tạo hàm (Function)
Tương tự như Stored Procedure hàm cũng có thể tạo bằng giao diện dồ hoạ
cũng như mã lệnh song giá trị trả về của hàm đa dạng hơn chúng có thể trả về là một
bảng.
Ví dụ: Tạo hàm tìm kiếm bênh nhân theo tỉnh, hàm này trả về một bảng chứa
thông tin về bệnh nhân trong tỉnh.

CREATE FUNCTION udf_TimBenhNhanTheoTinh
(@TenTinh Char(30))
RETURNS Table
AS

Return
Select *
From tblBenhNhan
Where tblBenhNhan.MaXa in thuoc xa
(Select MaXa
From tblXa
Where tblXa.MaHuyen in thuoc huyen
(Select MaHuyen
From tblHuyen Where tblHuyen.MaTinh in thuoc tinh

( Select MaTinh
From tblTinh
Where tblTinh.TenTinh=@TenTinh)))

I.3. TỔNG QUAN VỀ VISUAL BASIC VÀ CƠ SỞ DỮ LIỆU TRONG VISUAL
BASIC
Visual Basic Chứa một số phương tiện giúp cho việc áp dụng kỹ thuật hướng
đối tượng trong việc truy cập dữ liệu. Trong Visual Basic có rất nhiều phương pháp
truy cập dữ liệu như: ADO, ADODB, DAO,… nói chung các đối tượng này có những
thuộc thuộc tính tương đối giống nhau. Trong báo cáo này chúng tôi chủ yếu đi sâu
vào đối tượng ADO đây cũng là công cụ được dùng trong chương trình.
I.3.1. ADO là gì ?
ADO (ActiveX Data Object hay đối tượng dữ liệu ActiveX). Ta có thể hình
dung rằng ADO là một mô hình làm giảm kích thước của mô hình RDO (Đối tượng
dữ liệu từ xa). Mô hình đối tượng dữ liệu ActiveX rất gọn. Nó được thiết kế để cho
phép lập trình viên lấy được một tập các Record từ nguồn dữ liệu một cách nhanh
nhất nếu có thể. Tốc độ và tính đơn giản là một trong các mục tiêu cốt lõi của ADO,
mô hình này được thiết kế để cho phép tạo ra một đối tượng Recordset mà không cần
phải di chuyển qua các đối tượng trung gian khác trong quá trình lập trình. Thực tế chỉ
có ba đối tượng cốt lõi trong mô hình:
- Connection: Đại diện kết nối thực sự
- Command: Được sử dụng để thực thi các query dựa vào kết nối dữ liệu.
- Recordset: Đại diện cho một tập các Record được chọn query thông qua đối
tượng Command.
Đối tượng Connection chứa một tập các đối tượng 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 tập các đối tượng con là Paramenters để giữ bất cứ tham số
nào có thể thay thế cho query. Recordset cũng có một tập các đối tượng con
Properties để lưu các thông tin chi tiết về đối tượng.



















I.3.2. Các thuộc tính đặc biệt của ADO
Mô hình ADO có một số thuộc tính mà các mô hinh cơ sở dữ liệu khác như
DAO và RDO không có. Các thuộc tính này điều khiển cách thức tạo ra dataset và
quyền hạn truy cập trong một kết nối dữ liệu. Có bảy thuộc tính như sau:
- Connection string (Chuỗi kết nối)
Connection

Command
Parameter

Recorset
Fields


Error
S
ơ

đồ
mô hình ActiveX Data Object


- 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 con trỏ)
- Mode type (Kiểu chế độ làm việc)
Ví dụ: Để tạo kết nối đến cơ sở dữ liệu SQL Server vơi tên cơ sở dữ liệu là:
BENHNHAN ta làm như sau:

Public Sub OpenConnection()
' Tạo kết nối đến nguồn dữ liệu
Set cn = New ADODB.Connection
cn.Provider = "SQLOLEDB.1;"
cn.ConnectionString = " Integrated Security=SSPI;Persist Security
Info=False;Initial Catalog=BENHNHAN"
cn.Open
End Sub
Chương II: ĐĂC TẢ BÀI TOÁN

Bệnh viện đa khoa tỉnh Khánh Hoà cần quản lý bệnh nhân trên hệ thống mạng
máy tính của bệnh viện. Sau khi khảo sát hiện trạng chúng tôi đã có được một số
thông tin cần lưu ý sau:

Quản lý nhân viên tronh 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: Họ, Tên, giới
tính, ngày sinh, nơi sinh, địa chỉ, trình độ chuyên môn, đơn vị công tác, chức vụ.
Trong đó quản lý:
- Địa chỉ quản lý: Số nhà, Xã (Phường), Huyện (Quận), Tỉnh (Thành phố).
Quản lý bệnh nhân (Đối tượng chính cần quản lí)

Khi bệnh nhận đến bệnh viện khám 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ý thêm: Tên, địa chỉ,
điện thoại, fax của cơ quan công tác.
Địa chỉ bệnh nhân và cơ quan chỉ quản lý: Số nhà(thôn, âp), Xã (Phường),
Huyện (Quận), Tỉnh (Thành Phố).
Quy trình khám chũa bệnh:

Bệnh nhân đến 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 la sản phụ (được đưa trực tiếp đến khoa sản).
Nhìn chung bệnh nhân đến bệnh viện để khám chữa bệnh theo quy trình 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 bệnh 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ì 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 theo quy
định phần trăm trên thẻ bảo hiểm. Ngược lai thì bệnh nhân phải trả tất cả cá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ộ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 xẽ đượ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 va căn bệnh mà bệnh nhân
mắc phải. Quá trình điều trị bệnh nhân được ghi đầ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 đầy đủ số lượng và cách dùng.
Trong quá trình điều trị bệnh nhân có thể dùng một số dịch vụ khám chữa bệnh
như: Xét nghiệm, X_qang, siêu âm, … Việc sử dụng này cũng theo chỉ định của bác
sĩ khám chữa bệnh. Mỗi dịch vụ co giá 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 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. 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ụ chữa trị
hỗ trợ khám bệnh. Riêng tiền phòng nếu có thẻ bảo hiểm y tế thì bệnh nhân cũng chỉ
được bảo hiểm y tế thanh toán loại theo giá quy định của bảo hiểm y tế về loại phòng
đó nếu có. Khin xuất viện bệnh nhân thanh toán toàn bộ 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 3 ngày điều
trị mà bệnh nhân không đóng viện phí thì buộc bệnh viện phải trả bệnh nhân về gia
đình tự điều trị
Bước 6: Theo chu kỳ mỗi tháng, bệnh viện thanh toán viện phí với bảo hiểm y

tế.







Chương III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
THÔNG TIN
III.1 MÔ HÌNH QUAN NIỆM DỮ LIỆU









































III.2 MÔ HINH TỔ CHỨC DỮ LIỆU

TỈNH(Mã tỉnh, Tên tỉnh)
HUYỆN(Mã huyện, Tên huyện, Mã tỉnh)
XÃ(Mã xã, Tên xã, Mã huyện)
DÙNG THUỐC
- Số lượng dùng
- Liều dùng
TỈNH

Mã Tỉnh
Tên Tỉnh
ĐƠN VỊ(K)
Mã ĐV
Tên ĐV
CHUYÊN MÔN

Mã CM
Tên CM
CH
ỨC VỤ

Mã ĐV
Tên ĐV
H
-
T

(1,n)

(1,1)

HUYỆN
Mã Huyện
Tên Huyện
X
-
H

(1,1)


(1.n)


Mã Xã
Tên Xã
NHÂN VIÊN
- Mã nhân viên
- Họ tên nhân viên
- Ngay sinh
- Giới tính
- Số nhà
- Điện thoại
NV-ĐV
(1,n)

(1,1)

NV-CM
(1,n)

(1,1)
NV
-
CV

(1,n)

(1,1
VỊ TRÍ KB

Mã VTKB
Tên VTKB
K-BỆNH
- Ngày KB
- Nội dung
- Chi phí
(1.n)

(1.n)

ĐỊA CHỈ
(1,1)

(1.n)

BỆNH NHÂN
- Mã BN
- Họ BN
- Tên BN
- Ngày sinh BN
- Giới tính
- Số nhà
BN-X

(1.n)

(1,1)

(1.n)


ĐƠN THU

C

- Mã ĐT
- Ngày kê đơn
(1,1)

B
ỆNH

Mã Bệnh
Tên Bệnh
(1.n)

(1,1)

(1.n)

THUỐC
- Mã T
- Tên T
- Đơn giá
BỆNH ÁN
- Mã BA
- Ngày vào
- Ngày ra

DÙNG DV
- Lần dùng

DỊCH VỤ
- Mã DV
- Tênh DV
- Đơn giá
(1.n)

(1.n)
(1.n)

NƠI ĐIỀU TRỊ
- Mã NĐT
- Tên NĐT
- Đơn giá
(1.1)
BHY T


- Số TBHYT
- Ngày bắt đầu
- Ngày K thúc
- Phần trăm

CÁN BỘ
B


CƠ QUAN
- Mã CQ
- Tên CQ
- ĐT.CQ

- Fax CQ
CB-CQ
(1.1)
(1.n)

TẠM ỨNG
- Mã T.Ứng
- Lần T.Ứng
- Số tiền
- Ngày T.Ứng
BN
-
T
Ư

(1.1)
(1.n)
CƠ QUAN(Mã cơ quan, Tên cơ quan, Điện thoại cơ quan, Fax cơ quan)
CÁN BỘ(Mã bệnh nhân, Mã cơ quan)
BẢO H.Y.TẾ(Mã bệnh nhân, Số thẻ B.H.Y.T, Ngày bắt đầu, Ngày kết thúc, Phần
trăm)
BỆNG NHÂN(Mã bệnh nhân, HọBN, Tên BN, Ngày sinh BN, Giới tính BN, Số nhà
BN, Mã xã)
NHÂN VIÊN(Mã nhân viên, Họ NV, Tên NV, Ngày sinh, Giới tính, Số nhà, Mã
xã, Mã.Đ.Vị, , Mã.C.Môn, Mã.C.Vụ)
ĐƠN VỊ KHOA(Mã ĐV, Tên ĐV)
CHUYÊN MÔN(Mã chuyên môn, Tên chuyên môn)
CHỨC VỤ( Mã chức vụ, Tên chức vụ)
VỊ TRÍ KHÁM BỆNH(Mã vị trí KB, Tên vị trí KB)
KHÁM BỆNH(Mã.N.V, Mã bệnh nhân, Mã vị trí, Mã đơn thuốc, Mã bệnh, Ngày

KB, Nội dung KB, Chi phi KB)
ĐƠN THUỐC(Mã đơn thuốc, Ngày kê đơn, Mã vị trí, Mã NV, Mã BN, Mã bệnh)
THUỐC(Mã thuốc, Tên thuốc, Đơn giá)
DUNG THUỐC(Mã thuốc, Mãđơn thuốc, Số lượng dùng, Liều dùng)
BỆNH (Mã bệnh, Tên bệnh)
NƠI DIỀU TRỊ(Mã nơi ĐT, Tên nơi ĐT, Đơn giá)
DỊCH VỤ(Mã dịch vụ, Tên dịch vụ, Đơn giá dịch vụ)
TẠM ỨNG VIỆN PHÍ(Mã phiếu T.Ư, Lần tạm ứng, Số tiền tạm ứng, Mã BN)
Đối với bệnh án của bệnh nhân nếu sử dụng theo mô hình quan niệm dữ liệu thì xẽ
phải sử dụng nhiều mã tổ hợp cho Table Bênh án nên để đơn giản trong xử lí cũng như giảm
việc sử dụng mã tổ hợp trong Table Dùng dịch vụ chúng tôi đã chọn phương pháp thiết kế
như sau:
BỆNH ÁN(Mã bệnh án, Ngày vào, Ngày ra, Mã bệnh nhân, Mã nhân viên, Mã Bệnh,
Mã Nơi Điều trị)
DÙNG DỊCH VỤ(Mã bệnh án, Mã dịch vụ, Lần dùng dịch vụ)


III.3 MÔ HÌNH TỔ CHỨC DỮ LIỆU
TỈNH(Mã tỉnh, Tên tỉnh)
TỈNH
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã tỉnh Text 3 Len()=3
Tên tỉnh Text 30
HUYỆN(Mã huyện, Tên huyện, Má tỉnh)
HUYỆN
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã huyện Text 6 Len()=6
Tên huyện Text 30
Mã tỉnh Text 3 Lookup(TỈNH)
XÃ(Mã xã, Ten xã, Mã huyện)


Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã xã Text 9 Len()=9
Tên xã Text 30
Mã huyện Text 6 Lookup(HUYỆN)
CƠ QUAN(Mã cơ quan, Tên cơ quan, Điện thoại cơ quan, Fax cơ quan)
CƠ QUAN
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã cơ quan Text 5 Len()= 5
Tên cơ quan Text 30
Điện thoại CQ Text 10 >0
Fax cơ quan Text 10 Len()=10
CÁN BỘ(Mã bệnh nhân, Mã cơ quan)
CÁN BỘ
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã bệnh nhân Text 5 Len()= 5
Mã cơ quan Text 3 Lookup(CƠ QUAN)
BẢO H.Y.TẾ(Mã bệnh nhân, Số thẻ B.H.Y.T, Ngày bắt đầu, Ngày kết thúc, Phần
trăm)
BẢO H.Y.TẾ
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã bệnh nhân Text 5 Lookup(BỆNH NHÂN)
Số thẻ B.H.Y.T Text 14 Len()=14
Ngày bắt đầu Date Date()>
Ngày kết thúc Date Date()>
Phần trăm Text 3
BỆNG NHÂN(Mã bệnh nhân, HọBN, Tên BN, Ngày sinh BN, Giới tính BN, Số nhà
BN, Mã xa)
BỆNG NHÂN
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc

Mã bệnh nhân Text 5 Len()=5
Họ bệnh nhân Text 20
Tên bệnh nhân Text 20
Ngày sinh BN Date Date()>
Giới tính Yes/No
Số nhà bệnh nhân Text 4
Mã xã Text 9 Lookup(XÃ)
NHÂN VIÊN(Mã nhân viên, Họ NV, Tên NV, Ngày sinh, Giới tính, Số nhà, Mã xã,
Mã.Đ.Vị, Mã.C.Môn, Mã.C.Vụ)
NHÂN VIÊN
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã nhân viên Text 5 Len()=5
Họ tên nhân viên Text 30
Ngày sinh Date Date()>
Giới tính Yes/No
Số nhà Text 4
Mã xã Text 9 Lookup(XÃ)
Mã đơn vị Text 5 Lookup(ĐƠN VỊ)
Mã chuyên môn Text 3 Lookup(CHUYÊN MÔN)
Mã chức vụ Text 3 Lookup(CHỨC VỤ)
ĐƠN VỊ KHOA(Mã ĐV, Tên ĐV)
ĐƠN VỊ KHOA
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã dơn vị Text 5 Len()=5
Tên đơn vị Text 30
CHUYÊN MÔN(Mã chuyên môn, Tên chuyên môn)
CHUYÊN MÔN
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã chuyên môn Text 3 Len()=3
Tên chuyên môn Text 30

CHỨC VỤ( Mã chức vụ, Tên chức vụ)
CHỨC VỤ
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã chức vụ Text 3 Len()=3
Tên chức vụ Text 30
VỊ TRÍ KHÁM BỆNH(Mã vị trí KB, Tên vị trí KB)
VỊ TRÍ KHÁM BỆNH
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã vị trí KB Text 3 Len()=3
Tên vị trí KB Text 30
BỆNH(Mã bệnh, Tên bệnh)
BỆNH
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã bệnh Text 8 Len()=3
Tên bệnh Text 30

KHÁM BỆNH(Mã.N.V, Mã bệnh nhân, Mã đơn thuốc, Mã bệnh, Mã vị trí, Ngày
khám bệnh, Nội dung KB, Chi phi KB)
KHÁM BỆNH
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã nhân viên Text 5 Lookup(NHÂN VIÊN)
Mã bệnh nhân Text 5 Lookup(BỆNH NHÂN)
Mã đơn thuốc Text 10 Lookup(ĐƠN THUỐC)
Mã bệnh Text 8 Lookup(BỆNH)
Mã vị trí Text 3 Lookup(VỈ TRÍ)
Ngày khám bệnh Date >Date()
Nội dung khám bệnh Text 50
Chi phí khám bệnh Number Long >0
THUỐC(Mã thuốc, Tên thuốc)
THUỐC

Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã thuốc Text 10
Tên thuốc Text 30
DUNG THUỐC(Mã thuốc, Mãđơn thuốc, Số lượng dùng, Liều dùng)
DUNG THUỐC
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã thuốc Text 10 Lookup(THUỐC)
Mã đơn thuốc Text 10 Lookup(ĐƠN THUỐC)
Số lượng dùng Number Integer >0
Liều dùng Number Long >0
ĐƠN THUỐC(Mã đơn thuốc, Ngày kê đơn, Mã vị trí, Mã NV, Mã BN
Mã bệnh)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã đơn thuốc Text 10 Len()=10
Ngày kê đơn Date >Date()
Mã bệnh nhân Text 8 Lookup(BÊNH NHÂN)
Mã vị trí Text 3 Lookup(VỊ TRÍ)
Mã nhân viên Text 5 Lookup(NHÂN VIÊN)
Mã bệnh Text 8 Lookup(BỆNH)

BỆNH ÁN(Mã bệnh án, Ngày vào, Ngày ra, Mã bệnh nhân, Mã nhân viên, Mã Bệnh,
Mã Nơi Điều trị)
BỆNH ÁN
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã bệnh án Text 8 Len()=8
Mã nơi điều trị Text 3 Lookup(NƠI ĐT)
Mã bệnh Text 3 Lookup(DỊCH VỤ)
Mã bệnh nhân Text 5 Lookup(BỆNH NHÂN)
Mã nhân viên Text 5 Lookup(NHÂN VIÊN)
Ngày vào Date >Date()

Ngày ra Date >Date()
NƠI DIỀU TRỊ(Mã nơi ĐT, Tên nơi ĐT)
NƠI DIỀU TRỊ
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã nơi điều trị Text 3 Len()=3
Tên nơi điều trị Text 30
DỊCH VỤ(Mã dịch vụ, Tên dịch vụ)
DỊCH VỤ
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã dịch vụ Text 3 Len()=3
Tên dịch vụ Text 30
Đơn giá dich vụ Money > 0
DÙNG DỊCH VỤ(Mã bệnh án, Mã dịch vụ, Lần dùng dịch vụ)
DÙNG DỊCH VỤ
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã bệnh án Text 8 Lookup(BỆNH ÁN)
Mã dịch vụ Text 3 Lookup(DICH VỤ)
Tên dịch vụ Text 30

TẠM ỨNG VIỆN PHÍ(Mã phiếu T.Ư, Lần tạm ứng, Số tiền tạm ứng, Mã BN)
TẠM ỨNG VIỆN PHÍ
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã phiếu tạm ứng Text 8 Lookup(BỆNH ÁN)
Lần tạm ứng Int
Số tiền tạm ứn Money > 0
Mã bệnh nhân Text 10 Lookup(BỆNH NHÂN)








III.4 MÔ HÌNH THÔNG LƯỢNG THÔNG TIN

























(1) Yêu cầu khám chữa bệnh

(2) Vị trí khám bệnh (Số được cập)
(3) Quá trình khám bệnh
(4) Kết quả khám bệnh
(5) Danh sách bệnh nhân nhập viện
(6) Danh sách bệnh nhân được cấp thuốc
(7) Lệnh nhập viện
(8) Các chi phí điều trị
(9) Xác nhận thanh toán viện phí
(10) Danh sách bệnh nhân đã thanh toán
(11) Giấy xuất viện
III.5 MÔ HÌNH QUAN NIỆM XỬ LÍ
Mô hình quan niệm:
Danh sách công việc:

STT

Danh sách các công việc của bài toán
1

Tiếp nhận yêu cầu khám chữa bệnh của bệnh nhân.
2

Cấp số cho bệnh nhân đến phòng khám bệnh
BỆNH NHÂN
PHÒNG
CẤP SỐ
PHÒNG
KHÁM
BỆNH
PHÒNG CẤP

THUỐC
PHÒNG
TÀI VỤ
KHOA
ĐIỀU
TRỊ
(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

(10)

(11)

(6)


3

Chỉ định bác sĩ khám bệnh cho bệnh nhân theo số đã cấp
4

Kết quả khám bệnh cho bệnh nhân
5

Ghi toa thuốc cho bệnh nhân
6

Cấp thuốc cho bệnh nhân
7

Thu phí khám bệnh
8

Cho giấy nhập viện
9

Tiếp nhận bệnh nhân đến điều trị
10

Lập bệnh án chi tiết cho bệnh nhân
11

Lập toa thuốc điều trị
12

Cung cấp các dịch vụ hỗ trợ khám chữa bệnh

13

Thu viện phí
14

Lập danh sách bệnh nhân trốn viện
15

Xem xét các trường hợp bệnh nhân không thanh toán viện phí
16

Cấp giấi xuất viện cho bệnh nhân

III.6 MÔ HÌNH QUAN NIỆM XỬ LÍ:















































































Khi bệnh nhân
cấp cứu đặc biệt
Khi bệnh nhân
đến khám bệnh
OR

TIẾP NHẬN YÊU CẦU
KHÁM CHỮA BỆNH
CỦA BỆNH NHÂN
YES
CẤP SỐ CHO
BỆNH NHÂN
YES
Danh sách bệnh
nhân đã cấp số
BS KHÁM
BỆNH CHO BN
YES
Hồ sơ bệnh án
PHÂN LOẠI BN
YES NO
(1)

(2)

















































Bệnh nhân cần
phải nhập viện
Bệnh nhân chỉ
định ĐT tại nhà
(1)

(2)

THU PHÍ KHÁM BỆNH
YES
CẤP GIẤY NHẬP VIỆN
YES NO
DS bệnh nhân có
giấy nhập viện
DS bệnh nhân
điều trị tại nhà
TIẾP NHẬN BN
ĐẾN CHỮA BỆNH
YES

LẬP ĐƠN THUỐC
CHO BỆNH NHÂN
YES
DS bệnh nhân
chữa bệnh
DS bệnh nhân đã
có đơn thuốc
CẤP THUỐC CHO
BỆNH NHÂN
YES
LẬP BỆNH
ÁN CHI TIẾT
YES
(3)

(4)

















































(3)

(4)

DS h

s
ơ
b

nh án

DS bệnh nhân đã
được cấp thuốc
LẬP TOA THUỐC
THEO BỆNH ÁN
YES
DS hồ sơ bệnh án
DS bệnh nhân đã
được cấp thuốc
DS bệnh nhân
đã có bệnh án
CUNG CẤP CÁC DV
HỖ TRỢ ĐIỀU TRỊ
YES
DS bệnh nhân
đang điều trị

THU VIỆN PHÍ
YES NO
DSBN đã thanh
toán viện phí
DSBN chưa
đóng viện phí
(3)

(5)

(6)

×