You are on page 1of 86

Đồ án tốt nghiệp Trang 1

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 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

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 2

GIÔÙI THIEÄU CHUNG VEÀ NHIEÄM VUÏ

1. Noäi dung ñeà taøi :


Phaân tích vaø caøi ñaët chöông trình quaûn lyù beänh nhaân taïi beänh
vieän
Khaùnh Hoaø.
Yeâu caàu :
TTTN:
- Tìm hieåu ngoân ngöõ laäp trình CSDL : SQL Server 2000.
- Phaân tích tìm hieåu nghieäp vuï quaûn lyù.
- Phaân tích vaø thieát keá chi tieát cho toaøn heä thoáng .
- Vieát chöông trình demo ñôn giaûn .
LVTN:
· Hieän thöïc chöông trình treân moâ hình maùy ñôn söû duïng ngoân ngöõ
Visual Basic 6.0.
Yeâu caàu chung : Ñi tìm hieåu thöïc teá nghieäp vuï quaûn lyù beänh nhaân
taïi beänh vieän Khaùnh Hoaø.
 
2. Caùc böôùc tieán haønh thöïc hieän ñeà taøi :
Vôùi noäi dung yeâu caàu ñaõ trình baøy ôû treân, quaù trình thöïc hieän ñeà
taøi ñöôïc tieán haønh qua caùc böôùc nhö sau :
+ Tìm hiểu ngoân ngöõ laäp trình CSDL : SQL Server 2000.
+ Tìm hieåu moät caùch sô löôïc coâng taùc quaûn lyù beänh nhaân taïi
beänh vieän Khaùnh Hoaø. Tieán haønh thieát laäp heä thoáng caâu hoûi phoûng
vaán vaø trình heä thoáng caâu hoûi naøy cho nhöõng ngöôøi coù lieân quan ñeå
tham khaûo chuaån bò.
+ Tieán haønh phoûng vaán vaø thu thaäp caùc döõ lieäu caàn thieát. Sau
ñoù vieát laïi noäi dung ñaõ ñöôïc phoûng vaán, trình ñeå boä phaän ñöôïc phoûng
vaán xem laïi ñeå ñoùng goùp yù kieán, boå sung caùc thieáu soùt, cung caáp theâm
thoâng tin caàn thieát. Trình Giaùo vieân höôùng daãn caùc noäi dung thoâng tin

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 3

ñaõ thu thaäp ñöôïc ñeå laáy yù kieán boå sung. Quaù trình naøy coù theå phaûi
tieán haønh nhieàu laàn, bôûi leõ döõ lieäu caàn thu thaäp khaù lôùn laïi lieân quan
raát nhieàu thoâng tin ñoøi hoûi caàn coù thôøi gian nghieân cöùu, xem xeùt vaø
saép xeáp thoâng tin moät caùch hôïp lyù.
+ Phaân tích caùc baùo caùo coù lieân quan ñeå laøm cô sôû xaây döïng cô
sôû döõ lieäu (CSDL) cho heä thoáng. Trình Giaùo vieân höôùng daãn CSDL ñaõ
ñöôïc thieát keá ñeå laáy yù kieán boå sung.
+ Tieán haønh nhaäp caùc soá lieäu caàn thieát.
+ Tieán haønh xaây döïng caùc giao dieän cho chöông trình quaûn lyù
beänh nhaân baèng Visual Basic 6.0. Trình Giaùo vieân höôùng daãn xem qua caùc
giao dieän ñaõ ñöôïc xaây döïng ñeå laáy yù kieán boå sung, söûa chöõa.
+ Tieán haønh kieåm tra coâng vieäc ñaõ thöïc hieän treân CSDL thöû ñaõ
coù. Sau ñoù, hoaøn thieän ñeà taøi.
Treân ñaây, laø caùc böôùc thöïc hieän ñöôïc ñeà ra trong quaù trình tieán
haønh ñeà taøi. Tuy nhieân, trong quaù trình laøm coù söï linh ñoäng thöïc hieän
thích hôïp giöõa caùc böôùc tuøy theo tình hình thöïc teá dieãn ra nhaèm giaûm
thieåu thôøi gian bò maát do chôø ñôïi.
3.Keát quaû ñaït ñöôïc :
  Chöông trình söû duïng ngoân ngöõ cô sôû döõ lieäu Microsoft Visual Basic
6.0 vaø trao ñoåi ñöôïc vôùi cô sôû döõ lieäu SQL Server 2000 treân cuøng moät
maùy ñôn. Vì vaäy coù söï baûo maät vaø an toaøn döõ lieäu cao. Ngoaøi ra vieäc
taïo cô sôû döõ lieäu, xoùa hay backup,…cuõng ñöôïc thöïc hieän deã daøng.

   Chöông trình quaûn lyù beänh nhaân taïi beänh vieän seõ giuùp beänh vieän
ña khoa tænh Khaùnh Hoaø quaûn lyù beänh nhaân cuûa mình moät caùch hieäu
quaû. Naém baét ñöôïc nhöõng bieán ñoäng veà beänh nhaân ñeå coù keá hoaïch
phuïc vu chöõa trò cho beänh nhaân moät caùch toát hôn.
Chöông trình cho pheùp tìm kieám beänh nhaân theo traät töï naøo ñoù giuùp
baùc só cuõng nhö ngöôøi nhaø beänh nhaân tìm kieám thoâng tin beänh nhaân moät
caùch deã daøng . Chöông trình coøn cho pheùp quaûn lyù hoà sô beänh nhaân moät
caùch linh ñoäng theo thôøi gian.
Do vöøa tìm hieåu vöøa laøm vaø kinh nghieäm xaây döïng coøn haïn cheá
neân möùc ñoä tieän duïng ñoái vôùi ngöôøi söû duïng chöa cao. Maøn hình giao
dieän, baùo bieåu ôû möùc ñoä chaáp nhaän.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 4

PHAÀ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) 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 bên trong các bảng một cách 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.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 5

Những thành phần chính trong SQL Server 2000 bao gồm:

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 khác. Với Desktop Engine bạn sẽ tìm standard
thấy các 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ì nên chọn Standard
hệ thống này vì chúng không là phần mặc Developer
nhiên. 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

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 6

(Online Analytical Proces), sử dụng cho cơ Enterprise


sở dữ liệu lớn.

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ệ Standard
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. 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 trên 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ý trên hệ thống có nhiều bộ vi xử lý để làm cân bằng tiến trình trên mỗi
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ị 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.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 7

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.

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.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 8

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.

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ờ 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 đố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 đã 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

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 9

Server sẽ bị lỗi , nhưng vớI cơ sở dữ liệu Msdb thì khác. 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
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 dùng để 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 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.

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.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 10

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ố 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 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ố
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.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 11

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 đó.

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ộ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 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 (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 phát 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 dùng SQL Server.

 Tiết kiệm thời gian thực thi trên dữ liệu.

 Có thể gọi những Stored Procedure theo cách gọi của thủ tục hay
hà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êu
cầu.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 12

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ãy
nghĩ đế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à cung
cấ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ể đượ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ệ), ……

Ngoà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. 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ết
cá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 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.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 13

 AppleTalk.

 Banyan VINES.

 Shared Memory.

 VIA.

3. 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.

Ngoài ra Enterprise Managar còn có một số chức năng khác như đăng ký
nhiều Server khác.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 14

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ình
soạ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ườ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 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 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ó.

 Dấu * cho phép lọc bảng tin với tất cả các trường trong bảng.

Vi dụ:

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 15

Để lấy tất cả các tỉnh trong bảng tblTinh ta dùng phát biểu sau:

SELECT *

FROM tblTinh.

 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 ‘

Ngoài những câu lệnh truy vấn trên, Trong SQL còn cung cấp một số hàm
cũ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ệ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 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ị>

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)

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 16

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âu
truy 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ên
bảng và mệnh đề WHERE để mọc mẩu tin nếu có.

Cú pháp:

DELETE FROM <Tên bảng>

WHERE <Điều kiện>

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 17

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ải
tuâ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ề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

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 18

WHERE MaXa = @MaXa --- @MaXa là một biến được đưa vào để chọn ra
Xã cần tìm.

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 phân 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 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>] )]

[ LOG ON

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 19

[ 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ệ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 giõi 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 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 trong
quá trình sử dụng cơ sở dữ liệu của SQL Serve

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 20

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:

 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)

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 21

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:

 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 vào khung bên 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 đã làm.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 22

 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 ] ] ] ]

[ ROWGUIDCOL ]

[ NULL/ NOTNULL ]

[ < Column constraint> ]

[ < Column_Name as computed_column_expression> ]

…..

ON { < Filegroup>/ 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.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 23

 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
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à khái 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ố nguyên hoặc số nguyên 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 ràng
buộ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ớ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 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ớ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 24

 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ác


SP.

 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.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 25

 Preview: Cho phép bạn xem như ví dụ của kịch


bản.

 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à 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ào
khá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ù:

 Ở mức cao bao gồm:

Ràng buộc miền


( Domain constraint)

Ràng buộc thực tế


(Entity constraint )

Ràng buộc dữ liệu


toà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:

Ràng buộc khóa chính ( Primary Key constraint ).

Ràng buộc khóa ngoại ( Foreign Key constraint ).

Rà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 ).

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 26

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ướ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 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ụ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ì chúng ta còn một số chuẩn hóa
khác.

 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.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 27

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ụng
nà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á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 câu lệnh SQL dùng 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)

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 28

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]

………………………………….

[ WITH

RECOMPILE ENCRIPTION RECOMPILE, ENCRIPTION ]

[ FOR REPICATION]

AS

< code >

GO

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 đồ họa
cũng như mã lệnh song giá trị trả về hàm đ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 29

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 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


ActiveX)

Ta có thể hình dung rằng mô hình 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 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 lõi của ADO, mô hình này đượ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 lõi sau trong mô
hình:

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 30

- 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.

Đố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 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ác
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 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).

PHAÀ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.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 32

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 và nhân viên của bệnh viện là một nhu cầu tất
yế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ần
quả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ông
tá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)

Quản lý bệnh nhân:

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ý thêm:
Tên, địa chỉ, điện thoại, fax cuả cơ quan công tác.

Đị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 khám 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).

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.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 33

- 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ì 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 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ộ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ụ 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ệ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 nhân viên 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 toá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.
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ên
loạ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ệ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 lãnh đạo biết
để xem xét giải quyết.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 34

- 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 35

CHƯƠ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


TINH ĐON VI CHUYEN MON CHUC VU DAN TOC
-Ma tinh -MaDV -MaCM -MaCV -MaDT
-Ten tinh -TenDV -TenCM -TenDT
-TenCV
(1,n) (1,n) (1,n)
(1,n) (1,n)
H- NV- NV-DT TONGIAO
T NV- NV-
(1,1) ÑV CM -MaTG
(1,1) CV -TenTG
HUYEN (1,1) (1,1) (1.n)
-MaH NHANVIEN
-TenH -MaNV (1,1) NV- TG
VITRIKB
-HoNV
(1.n) -TenNV
-MaVTKB
-NgaySinhNV (1,1) (1.n) -TenVTKB
X-
H -GioiTinh
(1,1) KHAMB
-Sonha
Xa (1.n) -NgayKB
-MaX (1.n) -
(1,1) BENH
-TenX NoiDung -MaB
Dia (1.n) -ChiPhi -TenB
(1.n) Chi (1.n)
(1,1)
BN- (1,1) BENHNHAN
(1,1)
X DONTHUOC
-MaBN
-HoBN -MaDT
BAOHIEMYTE -NgaykeDon
-TenBN BENHAN
-SoBHYT -NgaySinhBN
-NgayBD
-MaBA (1.n)
-GioiTinh -NgayVao
-NgayKT
-SoNha -Ngayra
--Phantram
DUNGTHUO
C
(1.n) -SoluongDung
(1,n)
CANBO -LieuDung
DUNGDV (1.n)
BN-TU
-LanD
(1.1) THUOC
-MaT
CQ-
(1.1) -TenT
CB
(1.n) (1.1) -DonGia
TAMUNG (1.n)
COQUAN -MaTU
-MaCQ NOIDIEUTRI DICHVU
-LanTU -MaNDT
-TenCQ -MaDV
-NgayTU -TenNDT
-DienTCQ -Sotien
-TenDV
-FaxCQ -DonGia -DonGia

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 36

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 37

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

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn


vẹn

Matinh (K) Mã tỉnh Text (2) Primary key

Tentinh Tên 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 Khánh Hoà.

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 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ẹn

Mahuyen (K) Mã huyện Text (4 ) Primary key

Tenhuyen Tên 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 thành phố hay một
tỉnh 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 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

MaX (K) Mã xã Text (6) Primary key

TenX Tên 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ã nào đó thuộc một phường
hay 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à).

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 39

4. 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ẹ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 Khánh 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

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn


vẹn

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 )

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 40

TONGIAO

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn


vẹn

MaTG(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ẹn

MaCM (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, theo
khả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ẹn

MaCV (K) Mã chức vụ Text (2) Primary key

TenCV Tên chức vụ Text (20) Not NULL

Mỗi thể hiện là một chức vụ của nhân viên, 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 41

9. COQUAN(MaCQ, TenCQ, Đien thoaiCQ, FaxCQ)


COQUAN

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn


vẹn

MaCQ (K) Mã cơ quan Text (3) Primary key

TenCQ Tên cơ quan Text (50) Not NULL

Đien thoaiCQ Số điện thoại Text (10) NULL

FaxCQ Fax cơ quan Text (12) NULL

Mõi 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

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn


vẹn

MaBN (K) Mã bệnh nhân Text (9) Primary key

MaCQ Mã cơ quan Text (3) Foreign key

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 42

Mõi 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

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn


vẹn

MaBN (K) Mã bệnh nhân Text (9) Primary key

SotheBHYT Số thẻ BHYT Text (14) Not NULL

Ngaybatđau Ngày bắt đầu Date Not NULL

Ngayketthuc Ngày kết thúc 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)

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 43

BENH NHAN

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn


vẹn

MaBN (K) Mã bệnh nhân Text (9) Primary key

HoBN Họ bệnh nhân Text (30) Not NULL

Ten BN Tên bệnh nhân Text (7) Not NULL

Ngaysinh Ngày 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
tâm khám chữa bệnh lớn, bao gồm trong tỉnh và ngoài tỉnh. Nên mã bệnh nhân
ta chọn bằng 9 để đánh số thứ tự cho bệnh nhân.

13. KHAMBENH(MaNV,MaVTKB,MaBN,MaDT,MaB,
NgayKB,NoiDungKB, CPKB)

KHAMBENH

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn


vẹn

MaBN Mã bệnh nhân Text (9) Primary key

MaNV Mã nhân viên Text (9) Primary key

MaVTKB Mã vị trí khám Text (3) Primary key


bệnh

MaT Mã thuốc Text (10) Primary key

MaB Mã bệnh Text (8) Primary key

NgayKB Ngày khám bệnh Date Not NULL

NoiDungKB Nội dung khám Text (50) Not NULL

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 44

bệnh

CPKB Chi phí khám bệnh Number Not NULL

Mỗi một thể hiện của kiểu thực thể này là một bệnh của bệnh nhân mà
bệnh nhân đã khám chữa bệnh.

14. VITRIKHAMBENH(MaVT, TenVT)

VITRIKHAMBENH

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn


vẹn

MaVTKB (K) Mã vị trí khám Text (3) Primary key


chữa bệnh

TenVTKB Tên vị trí khám Text (50) Not NULL


chữa 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 )

DONTHUOC

Tên thuộc tính Mô tả Kiểu Dateữ Ràng buộc toàn


liệu vẹn

MaDT(K) Mã đơn thuốc Text (10) Primary key

NgaykeDon Ngày kê đơn Date Not NULL

MaBN Mã bệnh nhân Text (9) Foreign key

MaVT Mã vị trí Text (3) Foreign key

MaNV Mã nhân viên Text (9) Foreign key

MaB Mã bệnh Text (8) Foreign key

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 45

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 đã khám 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

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn


vẹn

MaT(K) Mã thuốc Text (8) Primary key

TenT Tên thuốc Text (20) Not NULL

Mỗi một thể hiện của thực thể này 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

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn


vẹn

MaB(K) Mã bệnh Text (8) Primary key

TenB Tên 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ố.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 46

18. NOIDI EUTRI (MaNDT , TenNDT )

NOIĐIEUTRI

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toà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

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toà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 dùng Number Not NULL

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 47

Mõi một thể hiện là dùng thuốc của bệnh nhân. Sau khi khám bệnh
bệnh nhân đượ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

Tên thuộc tính Mô tả Kiểu dữ Ràng buộc toàn


liệu vẹn

MaDV(K) Mã dịch vụ Text (3) Primary key

TenDV Tên 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

T Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toà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

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 48

MaBN Mã bệnh nhân Text (9) Foreign key

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 nhân 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

Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn
vẹn

MaBA(K) Mã bệnh án Text (8) Primary key

Ngayvao Ngày vào viện Date Not NULL

NgayRa Ngày ra viện Date Not NULL

MaBN Mã bệnh nhân Text (9) Foreign key

MaNV Mã nhân viên Text (9) Foreign key

MaB Mã bệnhán 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

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 49

Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn


vẹn

MaBA Mã bệnh án Text (8) Primary key

MaDV Mã Dateịch vụ Text (3) Primary key

LanD Lần dùng Text (30) Not NULL

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)

Tên thuộc Mô tả Kiểu dữ liệu Ràng buộc toàn


tính vẹn

MaNV (K) Mã nhân viên Text (9) Primary key

HoNV họ nhân viên Text (30) Not NULL

TenNV Tên nhân viên Text (9) Not NULL

Ngaysinh Ngày sinh nhân viên 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ã chuyên môn Text (2) Not NULL

MaCV Mã chức vụ Text (2) Not NULL

MaDT Mã dân tộc Text (2) Not NULL

MaTG Mã tôn giáo 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 NHÂN KHÁM ĐIỀU
(4 BỆNH TRỊ
) (7)

(8) (9)

PHÒNG
TÀI VỤ

(6)

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 51

(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) Lệnh nhập viện.

(7) Các chi phí điều trị bệnh.

(8) Xác nhận thanh toán viện phí.

(9) Danh sách bệnh nhân đã thanh toán viện phí.

(10) Giấy phép xuất viện.

V. MÔ HÌNH QUAN NIỆM XỬ LÝ

1. Mô hình quan niệm:

Danh sách các công việc:

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

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 52

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.
3
Chỉ đinh Bác sĩ khám
Khibệnh chocấp
BN cần bệnh nhân theo số đã cấp.
cứu đặc biệt
4
KhiKết
BN quả
đến khám bệnh cho bệnh nhân. Khi BN có
khám bệnh YC hộ sinh
5
Ghi toa thuốc cho bệnh nhân
6
Thu phí khám 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 nhân.
10
Lập toa thuốc điều trị.
CẤP SỐ
11 CHO BỆNH NHÂN
Cung cấp các dịch vụ hỗ trợ khám chữa bệnh.
12
Thu viện phí. YES

13
Lập danh sách bệnh nhân trốn viện.
14
Xem xét các trường hợp không thanh toán viện
DSphí
bệnh nhân
đã cấp số số
15
Cấp giấy xuất viện cho bệnh nhân.

2. Mô hình quan niệm xử lý:

Hồ sơ bệnh án
SVTH: Nguyễn Văn Hưng Lớp 40TH
(1)
Đồ án tốt nghiệp Trang 53

TIẾP NHẬN
YÊU CẦU
KCB CỦA BN
YES

BS KHÁM BỆNH
CHO BN
YES

SVTH: Nguyễn Văn Hưng Lớp 40TH


BN cần phải BN được chỉ
nhập viện định ĐT tại nhà
Đồ án tốt nghiệp Trang 54

(1)

PHÂN LOẠI BỆNH NHÂN

(2) (2)
YES No

LẬP TOA THUỐC


CHO BỆNH NHÂN

YES

BN cần phải BN được chỉ


DS bệnh nhân nhập viện định ĐT tại nhà
chữa bệnh DS bệnh nhân đã
THU PHÍ KHÁM được lập toa thuốc
BỆNH
YES

CẤP GIẤY
NHẬP VIỆN
DS hồ sơ bệnh án YES NO

DS bệnh nhân có DS bệnh nhân


giấy nhập viện điều trị tại nhà

(2) DS bệnh nhân(2)


đã
có bệnh án
TIẾP NHẬN BN ĐẾN CHỮA

SVTH: Nguyễn Văn Hưng Lớp 40TH


(3)
Đồ án tốt nghiệp Trang 55

BỆNH
YES

LẬP BỆNH ÁN
CHI TIẾT
YES

DS bệnh nhân
đang điều trị
LẬP TOA THUỐC
THEO BỆNH ÁN
YES

DSBN đã thanh DSBN không


toán viện phí đóng viện phí

ĐIỀU TRỊ BỆNH


YES LẬP DANH SÁCH
TRÌNH BAN LÃNH ĐẠO
CẤP GIẤY XUẤT XEM SÉT
(3)
VIỆN CHO BỆNH NHÂN
YES
YES

(3)

SVTH: Nguyễn Văn Hưng Lớp


BN 40TH
trốn viện
BN đã xuất viện
Đồ án tốt nghiệp Trang 56

THU VIỆN PHÍ


YES NO

VI. MÔ HÌNH TỔ CHỨC XỬ LÝ

1. Bảng công việc:

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 57

ST TÊN 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ỳ lúc Hàng


chữa bệnh nào khi ngày
cóYC /
ngày

2 Cấp số cho BN Phòng ghi số Thủ công Khi có Hàng


BNYC / ngày
ngày

3 Chỉ định Bs KB Phòng cấp số Thủ công Khi có Hàng


cho BN BNYC / ngày
Ngày

4 Khám bệnh cho Bs chuyên khoa Thủ công Khi BN đã Hàng


BN KCB có số / ngày
Ngày

5 Kết quả khám Phòng(Khoa) Thủ công Khi có Hàng


bệnh của BN của BSKB BNKCB / ngày
Ngày

6 Lập toa thuốc Bác sĩ KB Thủ công Khi có Hàng


cho BN BNKCB / ngày
Ngày

7 Cấp thuốc cho Phòng cấp Thủ công Khi bệnh Hàng
bệnh nhân thuốc nhân đã có ngày
toa thuốc

8 Thu viện phí Phòng thanh Tự động Khi có Hàng


toán viện phí bệnh nhân ngày
đến khám
chữa bệnh
trong ngày

9 Lập lệnh nhập Bác sĩ khám Thủ công Khi có Hàng


viện (với BN bệnh bệnh nhân ngày
nhập viện) khám chữa
bệnh trong
ngày

10 Tiếp nhận bệnh Khoa điều trị Thủ công Khi có lệnh Hàng

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 58

nhân đến chữa nhập viện ngày


bệnh trong ngày

11 Lập bệnh án chi Bác sĩ chuyên Thủ công Khi có Hàng


tiết cho bệnh khoa bệnh nhân ngày
nhân nhập viện
trong ngày

12 điều trị cho Bác sĩ chuyên Thủ công + Tự Khi có BN Hàng


bệnh nhân khoa động yêu ngày
cầu/Ngày

13 Cung cấp các Phòng khám Thủ công Khi có Hàng


dịch vụ hỗ trợ chữ bệnh bệnh nhân ngày
điều trị bệnh yêu cầu
trong ngày

14 Thu tạm ứng Phòng TTVP Tự động 3 ngày / lần 3 ngày


viện phí của
bệnh nhân

15 TT toàn bộ viện Phòng TTVP Tự động Khi BN Khi BN


phí khi XV KVB điều trị
xong / 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 toán tiền Phòng Thanh Thủ công 1 lần / 1 tháng


viện phí với toán viện phí tháng
BHYT

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 59

2. Mô hình tổ chức xử lý:

BỆNH PHÒNG KHOA PHÒNG BÁC SĨ PHÒNG BAN


NHÂN CẤP SỐ (P) KCB CẤP KCB TTVP LÃNH
(1) THUỐC ĐẠO

CHỈ ĐỊNH

BSKB-BN
Khi có yêu
cầu KCB
của BN DSBN
YES
đã
được
chỉ
định
ĐKKCB BS
YES KCB

BSKB
CHO BN
Hàng
YES
ngày
DS
khi có
BN
BN

YC KCB
KCB
DSBN
đã
được
BS-KB
CẤP SỐ

CHO BN
YES
KẾT QUẢ
DSB KB-BN
N đã
được YES NO
cấp DSBN
số điều
DSBN
trị tại
phải
nhà
nhập
viện

(1)
LẬP THU PHÍ
LỆNH NV
KB
YES
YES

(2)
DSBN đã
SVTH: Nguyễn Văn Hưng thu phí KB Lớp 40TH
3 (3)
Đồ án tốt nghiệp Trang 60

(2) (3)

DSBN
đã có
LẬP ĐƠN
lệnh
THUỐC
nhập
viện
YES

TIẾP NHẬN
BNNV
YES

DS BN
Đã có
đơn
DSBN đã
thuốc
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

SVTH: Nguyễn Văn Hưng Lớp 40TH

(4)
Đồ án tốt nghiệp Trang 61

ĐIỀU TRỊ
CHO BN
YES

Danh sách
BN điều trị
tại bệnh viện

CUNG
CẤP CÁC
DVDTB
YES

Danh sách
bệnh nhân
đang điều trị TTVP
CỦA BN
YES
DSBN NO
DSBN đã
chưa
xuất viện
TTĐĐVP

SVTH: NguyễnSau
Vănkhi Hưng
tổng kết Lớp 40TH
THANHTOÁN LÃNH ĐẠO
BN-SD-TBHYT DSVP củaBHYT
VP VỚI BN có 1DSBN
tháng (6)
đã (5)
BHYTYES TT vớiXEM
một XÉT
trốn lần
viện
BHYT
Đồ án tốt nghiệp Trang 62

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 63

(6)
(5)
DSBNđã DSBN
TT đầy đủ trốn viện
VP

LẬP
DSBN
CHƯA
TTVP
YES

DSBN
chưa
TTĐVP

CẤP
GIẤY X
LÃNH
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 tháng 1
lần

THANH
TOÁ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 64

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 viện
Đăng Thay đổi cho BN không cho BN cho bệnh
nhập hệ mật khẩu thêm, TTVP + nhập viện nhân
thống xoá, sửa DSBN
toa thuốc trốn viện

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 65

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ề liên tịch về số khoa về danh
bệnh viện điều trị hiện sách các
có tại BV trưởng
KH khoa tại
bệnh viện

BÁO CÁO-IN ẤN HỒ SƠ

Danh sách Danh sách In đơn


bệnh nhân nhân viên 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 66

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 nhân địa chỉ bệnh viện
nhân

DANH MỤC TỪ ĐIỂN ĐỊA CHỈ

Thêm Xoá, Sửa Thêm Xoá Thêm Xoá


dữ liệu thông tin thông Sửa thông Sửa
Xã Xã - tin về thông tin về thông
-Phườn Phường Quận - tin Tỉnh - tin về
g mới 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á Thêm Xoá sửa Thêm Xoá Thêm Xoá


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 vụ dịch vụ Nơi tin về thuốc tin về
điều trị Khoa 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 67

CHƯƠNG TRÌNH QUẢN LÝ NHÂN VIÊN

Thêm Xoá Thêm Xoá 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ề Đơn vị Đơn vị quá tin về
nhân hồ sơ công công trình quá
viên nhân tác tác công trình
viên mới tác CT
mới

CHƯƠNG TRÌNH QUẢN LÝ BỆNH NHÂN

Thêm Xoá Thêm Xoá 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ơ
nhân 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 68

CHƯƠNG III

THỰC HIỆN CÀI ĐẶT CHƯƠNG TRÌNH

I. CAÙCH KEÁT NOÁI CÔ SÔÛ DÖÕ LIEÄU.


Trong chöng trình chuùng toâi xöû duïng moâ hình ADO (ActiveX Data
Object) trong Visual Basic ñeå keát noái vôùi cô sôû döõ lieäu, moâ hình naøy cung
caáp haàu heát caùc coâng cuï keát noái vôùi cô sôû döõ lieäu.
ADO Interface: Caùc ñoái töôïng ADO giao tieáp vôùi database thoâng qua
ODBC (Open Database Connectivity), chuùng coù theå ñöôïng söû duïng vôùi baát
kyø loaïi database naøo neáu nhö ODBC driver hoã trôï.
Caùch keát noái vôùi cô sôû döõ lieäu: Nhö phaàn toång quan ngoân ngöõ
ta ñaõ noùi ñeå ADO hoaït ñoäng ñöôïc vôùi cô sôû döõ lieäu (hay ñeå öùng duïng
coù theå moùc noái ñöôïc vôùi cô sôû döõ lieäu) ta phaûi vieát maõ leänh cho
ADODB keát noái vôùi cô sôû döõ lieäu. Cuï theå ñeå ADODB keát noái vôùi cô
sôû döõ lieäu BENHNHAN ta vieát maõ leä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
Ôû ñaây chuùng ta khai baùo bieán toaøn cuïc caáp modules CN coù kieåu
ñoái töôïng ADODB.Connection töùc ñoái töôïng naøy duøng ñeå keát noái vôùi cô
sôû döõ lieäu vaø coù theå duøng ô moïi Form trong chöông trình.
II. CAÙC PHÖÔNG THÖÙC ÑOÁ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 69

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 Tên 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 chuùng toâi söû duïng giaù trò maëc ñònh töùc giaù trò
laø: adCmdUnknown
- Close method: Phöông thöùc naøy duøng ñeå ñoùng caùc keát noái ñöôïc
chæ ra sau caâu leânh. Ta cuõng coù theå set bieán ñoái töôïng naøy veà Nothing
Ngoaøi ra Visual Basic coøn cung caáp moät dich vuï keát noái döõ lieäu
baèng Data Environment raát tieän lôïi ñaây cuõng laø moät daïng keát noái ADO
raát deã söû duïng cuõng nhö taïo keát noái taát caû ñeàu ñöôïc thöùc hieän qua giao
dieän ñoà hoaï. Trong Data Environment coù theå löu tröõ caùc baûng (Table), caùc
Stored Procedure cuõng nhö caùc haøm hay caùc View khaùc.
 Command object:

Thay vì dùng 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 này
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 70

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: Xoá record hiện hành.

 Move: Dịch chuyển con trỏ record hiện hành.

 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 các record vào 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 cùng.

 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 71

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 lên xuống tuỳ ý.

 AdOpenStatic = 3: Gần giống như chế độ


OpenForwardOnly.
III. MOÄT SOÁ ÑOAÏN CHÖÔNG TRÌNH TRONG BAØI SÖÛ DUÏNG
CAÙC PHÖÔNG THÖÙC TREÂN.

Ñeå hieån thò dö lieäu ñaõ coù treân table ta coù ñoaïn maõ leä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 72

Ôû ñaây ListItem laø ñoái töôïng Listview coù chöùc naêng hieån thò döõ
lieäu, trong ñoaïn chöông trình treân ta söû duïng phöông thöùc (Set rs =
cn.Execute(Str)) ñeå thöïc hieän moät caâu truy vaán (Caâu truy vaán traû veà moät
Record laø thoâng tin cuûa table tænh)keát quaû traû veà töø caâu truy vaán naøy
ñöôïc gaùn cho rs vaø ñöôïc hieån thò treân Listview.
Ñeå theâm môùi moät tænh (thaønh) ta coù maõ leänh sau
DE.Sp_NhapTinh MaTinh, TenTinh
Trong ñoù DE laø ñoái töôïng Data Environment maø ta ñaõ noùi ôû treân
coøn SP_NhapTinh laø caùc haøm (hay caùc Stored Procedure) ñaõ ñöôïc vieát vaø
löu trong cô sôû döõ lieäu, caâu leänh truy vaán taïo môùi moät tænh nhö sau:
Create proc Sp_NhapTinh
@MaTinh nchar(3), -- MaTinh vaø TenTinh laø caùc tham soá daàu vaøo
cuû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 teân tænh
Vôùi vieäc xoaù moät tænh coù khaùc chuùt ít vieäc xoaù moät tænh coù
lieân quan ñeán caùc raøng buoäc toaøn veïn. Vieäc xoaù moät tænh khoâng chæ
xoùa ñi tænh ñoù, vieäc naøy phaûi ñi keùm vôùi vieäc xoaù taát caû caùc huyeän
cuõng nhö caùc xa thuoäc tænh ngoaøi ra ta coøn phaûi xoaù taát caùc caùc beänh
nhaân vaø nhaân vieân (cuøng giaáy tôø keøm theo) thuoäc tænh caàn xoaù. Maõ
leänh coù daïng nhö sau:

-------- Thuû tuïc duøng ñeå xoaù moät tænh -----------


CREATE PROCEDURE Sp_XoaTinh
@Matinh nchar(3), ‘Tham soá ñaàu vaøo cuûa Stored Procedure
@TenTinh char(30)
AS
----- Xoaù khaùm beänh uùng vôùi beänh nhaân thuoä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

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 73

Where tblHuyen.MaTinh=@MaTinh)))
----- Xoaù khaùm beänh uùng vôùi nhaân vieân thuoäc tænh
DELETE From tblkhamBenh
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)))
---- Xoùa duøng thuoác öùng vôùi ñôn thuoác cuûa beänh nhaâ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))))
-- Xoaù ñôn thuoác cuûa beänh nhaân thuoä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)))
----- Xoaù taïm öùng cuûa beänh nhaân thuoä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)))
----- Xoaù beänh aùn cuûa beänh nhaân
DELETE From tblBenhAn

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 74

Where tblBenhAn.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)))

-------Xoaù caùc beänh nhaân thuoä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))
--- Xoaù duøng thuoác maø nhaân vieân thuoäc tænh laä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))))
------ Xoaù ñôn thuoác maø nhaân vieân laä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)))
----- Xoaù beänh aùn maø nhaân vieân laäp
DELETE From tblBenhAn
Where tblBenhAn.MaNhanVien in
( Select MaNhanVien
From TblNhanVien
Where tblNhanVien.maXa in

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 75

(Select MaXa From tblXa


Where tblXa.MaHuyen in
(Select MaHuyen From tblHuyen
Where tblHuyen.MaTinh=@MaTinh)) )
-----Xoaù taát caû nhaân vieân thuoä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))
-------- Xoaù taát caû caùc xaõ thuoäc tænh------------------

DELETE From tblXa


Where tblXa.MaHuyen in
(Select MaHuyen From tblHuyen
Where tblHuyen.MaTinh = @Matinh)
--------Xoaù taát caû caùc huyeän thuoäc tænh---

DELETE From tblHuyen


Where tblHuyen.Matinh = @Matinh
--------- Xoaù tænh coù maõ tænh ñöôïc chæ ra--

DELETE From tblTinh


Where MaTinh=@Matinh
GO
Ñoái vôùi caùc thuû tuïc xoaù moät huyeän cuõng nhaö moät xaõ ta cuõng
phaûi ñi xoù taát caû caùc beänh nhaân vaø nhaân vieân tröïc thuoäc ñòa danh ñoù.
Trong quùa trình trình baøy döõ lieäu chuùng toâi ñaõ söû duïng moät soá
View ñeå keát noái baûng ví duï 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
Ñeå tìm kieám moät beänh nhaân chuùng toâi söû duïng moät haøm tìm
kieám haøm naøy traû veà moät table caùc tieâu chí tìm kieám ñöôïc chæ ra baèng
caùc tham soá ñaàu vaøo cuûa haøm. Ví duï veà moät haøm tìm kieám beänh nhaân
theo hoï vaø teân ñaày ñuû trong chöông trình.

CREATE FUNCTION udf_TimBenhNhanTheoHoTen


(@HoBenhNhan Char(20),

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 76

@TenBenhNhan char(20))
RETURNS Table
-------------------------------------
AS
---------------------
Return
Select *
From tblBenhNhan
Where (tblBenhNhan.HoBenhNhan= @HoBenhNhan) and
(tblBenhNhan.TenBenhNhan= @TenBenhNhan)
GO
-----------------------------------------
Troïng ñoaïn chöông trình treân vieäc tìm moät beänh nhaân laø khaù ñôn
giaûn. Giaû söû ta nhôù ñaày ñuû hoï vaø teân ñaày ñuû cuûa beänh nhaân ta coù
theå tìm theo phöông phaùp treân. Song neáu chæ nhôù ñöôïc hoï hoaëc teân cuûa
beänh nhaân thi ta cuõng coù theå tìm ñöôïc beänh nhaân baèng caùc haøm tìm theo
hoï, theo teân beänh nhaân, trong chöông trình coøn söû duïng moät soá haøm
khaùc maø chuùng toâi khoâng tieän trình baøy trong baùo caùo naøy.
Thoaït tieân ta coù caûm giaùc moät haøm (Function) hôi gioáng vôùi moät
View song vôùi View thì khoâng coù döõ lieäu ñaàu vaøo coøn vôùi haøm thì
ngöôïc laïi. Roõ raøng ñeå truy xuaát döõ lieäu vôùi haøm laø linh hoaït hôn vôùi
View raát nhieàu.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 77

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 này được gọi đầu tiên, từ form này ta có thể thực hiện chương trình từ các
form khác như: Tập tin, Nhập dữ liệu, nhân viên, bệnh nhân, thống kê, tìm kiếm,
báo biểu.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 78

 Taị giao diện chính của chương trình khi nhấn chuột vào 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í khám bệnh

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 79

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.

Thêm mới bằng nút mới, khi không muốn thực hiện công việc này thì nhấn
nút 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 cách nhấn vào đị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 80

Tại đây thêm mới, xoá bỏ hay sửa thông tin về xã khi một xã tách ra hay
thông tin về xã bị thay đổi và xoá bỏ khi xã đó không còn tồn tại.

Thêm mới bằng cách nhấn nút mới, huỷ bỏ công việc bằng cách nhấn nút bỏ
qua.

Thay đổi thông tin về xã bằng cách nhấn nút sửa, huỷ bỏ công việc bằng cách
nhấn nút bỏ qua, hoàn thành công việc bằng cách nhấn nút lưu.

Xoá thông tin về xã bằng cách nhấn nút xoá.

 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 tác.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 81

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.

Xoá bỏ thông tin về nhân viên khi nhân viên không còn công tác tại bệnh
viện, bằng cách nhấn nút xoá.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 82

 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 dài.

Ngoài ra còn một số form khác và thông tin khác như tìm kiếm bệnh nhân,
tìm kiếm nhân viên, báo biểu, báo cáo thống kê bệnh, danh sách bệnh nhân, danh
sách trưởng khoa….

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 83

CHƯƠNG V

KẾT LUẬN HƯỚNG PHÁT TRIỂN ĐỀ TÀI


I. Kết luận:
Xaây döïng heä thoáng thoâng tin quaûn lyù hieän nay khoâng chæ laø vieäc
laäp trình ñôn thuaàn, maø noù ñoøi hoûi moät caùch coù heä thoáng caùc giai
ñoaïn khaûo saùt, phaân tích thieát keá. Vieäc xaây döïng heä thoáng quaûn lyù
phaûi ñaùp öùng taát caû caùc vaán ñeà ñaët ra töø khaâu daët vaán ñeà, giaûi queát
baøi toaùn, thieát keá baøi toaùn cho ñeán vieäc ñoùng goùi saûn phaåm ñöa ra thöû
nghieäm laø moät vaán ñeà ñoøi hoûi nhieàu thôøi gian vaø coâng söùc.
Đứng trước xu hướng phát triển của công nghệ thông tin như vũ bão, việc tin
học hoá việc quản lý hành chính là vô cùng quan trọng và bức thiết. Nó sẽ giúp cho
các 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 cài đặ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 này 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 nhân tại bệnh viện một cách thuận tiện và dễ dàng 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 nghieäm chöa nhieàu
nên chương trình không thể tránh đượ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 khoâ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 nên 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 quaûn lyù beänh nhaân hoaøn thaønh seõ goùp phaàn quan
troïng trong vieäc quaûn lyù cjöùng töø soå saùch veà beänh nhaân taïi beänh vieän.

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 84

Để 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
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 dõi 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ý các thông tin về bệnh nhân lên các trang
Web để giúp cho người thân của bệnh nhân có sự thuận lợi hơn để theo dõi đượ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…

TÀI 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 chuyên nghiệp SQL SERVER 2000 (NXB nhà xuất
bản giáo dục, Phạm Hữu Khang chủ biên).

[3]. Bài giảng Cơ sở dữ liệu & Phân tích thiết kế hệ thống thông tin quản lý
(Nguyễn Hữu Trọng, trung tâm 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 ngày (Nguyễn Tiến, Ngô Quốc Việt,
Phạm Tuấn Kỳ. Nhà xuất bản giáo 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ủ biên, 3 tập.
Nhà xuất bản giáo dục 2000).
[7]. Moät soá luaän vaên cuûa caùc khoaù cuõ .

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 85

MỤC LỤC
Trang
GIỚI THIỆU CHUNG VỀ NHIỆM VỤ …………………………………….…………… .2
1. Noäi dung ñeà taøi
……………………………………………………………………………………………
…………………………….…..2
2. Caùc böôùc tieán haønh thöïc hieän ñeà taø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 thieäu chung veà SQL Server 2000..........................................................4
III.Giôùi thieäu veà ñoái töôïng cuûa cô sôû döõ lieäu..........................................8
IV.Kieåu döõ lieäu...............................................................................................10
V. Caùc coâng cuï chính cuûa SQL Server 2000.................................................11
VI.Caùc phaùt bieåu cô baûn cuûa T-SQL...........................................................12
VII.Khaùi nieäm veà ñoái töôïng trong SQL vaø caùch taïo ñoái töôïng trong SQL
Server .......................................................................................................................... 15
Chương II :TOÅNG QUAN VEÀ VISUAL BASIC VAØ CÔ SÔÛ DÖÕ LIEÄU
TRONG VISUAL BASIC .......................................................................................24
I. Mô hình dữ liệu ADO.......................................................................................24
II.Caùc thuoäc tính ADO daëc bieät....................................................................25
Phaàn II. ÖÙNG DUÏNG XAÂY DÖÏNG HEÄ THOÁNG QUAÛN LYÙ
BEÄN NHAÂN TAÏI BEÄN VIEÄN.......................................................................26
Chöông I. ÑAËC TAÛ BAØI TOAÙN.......................................................................26
Chöông II. PHAÂN TÍCH THIEÁT KEÁ HEÄ THOÁNG THOÂ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 CAØI ÑAËT CHƯƠNG TRÌNH....................................................60
I. Caùch keát noái cô sôû döõ lieäu ................................................................................60
II. Caùc phöông thöùc ñoái töôïng
ADODB………………………………………………………………………………………
60
III. Moät soá ñoaïn chöông trình cuûa baøi söû duïng caùc phöông thöùc treâ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.Haïn cheá..........................................................................................................75
III. Hướng phát triển đề tài..................................................................................75

SVTH: Nguyễn Văn Hưng Lớp 40TH


Đồ án tốt nghiệp Trang 86

TÀI LIỆU THAM KHẢO...............................................................................................


4. 76

NHAÄN XEÙT CUÛA GIAÙO VIEÂN

SVTH: Nguyễn Văn Hưng Lớp 40TH

You might also like