ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail:
LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115
ĐỀ TÀI :
THU THẬP VÀ XÂY DỰNG CƠ SỞ DỮ LIỆU CÁC LOẠI
BỆNH NHIỆT ĐỚI
Mã số : 06T1-064
Ngày bảo vệ : 15-16/06/2011
SINH VIÊN : Lê Tuấn Dũng
LỚP
:06T1
CBHD
: TS. Huỳnh Công Pháp
ĐÀ NẴNG, 06/2011
LỜI CAM ĐOAN
Mặc dù em đả cố gắng hoàn thành luận văn trong phạm vi và khả năng
cho phép nhưng chắc chắn không tránh khỏi thiếu sót, kính mong sự thông
cảm và tận tình chỉ bảo của quý thầy cô.
SVTH:Lê Tuấn Dũng−Lớp 06T1
iii
Thu thập và xây dụng cơ sở dữ liệu các loại bệnh nhiệt đới
MỤC LỤC
MỞ ĐẦU...........................................................................................................5
I. Đặt vấn đề........................................................................................................5
II. Giới thiệu đề tài...............................................................................................5
III. Hướng nghiên cứu của đề tài..........................................................................6
III.1. Về mặt lý thuyết..................................................................................6
III.2. Công cụ xây dựng đề tài......................................................................6
III.3. Mục đích của đề tài.............................................................................7
III.4. Ý nghĩa của đề tài................................................................................7
IV. Dự kiến kết quả đạt được............................................................................7
CƠ SỞ LÝ THUYẾT VÀ TỔNG QUAN VỀ CÁC LOẠI BỆNH...............8
I.
Cơ sở lý thuyết...............................................................................................8
I.1. Mô hình thiết kế theo kiến trúc Model – View - Controller................8
I.2. Model...................................................................................................9
I.3. View....................................................................................................9
I.4. Controller.............................................................................................9
SVTH:Lê Tuấn Dũng−Lớp 06T1
iv
Thu thập và xây dụng cơ sở dữ liệu các loại bệnh nhiệt đới
II.4.
II.5.
II.6.
II.7.
II.8.
Bảng Các luật triệu chứng.................................................................43
Bảng Người dùng...............................................................................44
Bảng Nhóm bệnh...............................................................................44
Bảng Thuốc........................................................................................45
Bảng Triệu chứng..............................................................................45
XÂY DỰNG CHƯƠNG TRÌNH VÀ MINH HỌA KẾT QUẢ..................46
I.
Một số thuật toán và mã lệnh xây dựng chương trình..................................46
I.1. Thuật toán tìm kiếm bệnh..................................................................46
I.2. Một số hàm sử dụng để xây dựng chương trình................................47
II.
Một số hình ảnh minh họa kết quả............................................................51
II.1. Giao diện chính của chương trình......................................................51
II.2. Giao diện chương trình tìm kiếm có thông tin bệnh..........................51
II.3. Đăng nhập hệ thống...........................................................................52
Bảng Triệu chứng…………………………………………………………….47
DANH MỤC HÌNH
Hình I – 1: kiến trúc mô hình model – view – controller…………………………... 10
Hình I – 2: Một yêu cầu đơn giản trong mô hình MVC……………………………. 12
Hình I−3: Cách làm việc của PHP khi người dùng yêu cầu một trang Web………....18
Hình I – 4: Cách hoạt động của Web động sử dụng PHP&MySQL………………....19
Hình I – 5:Download gói CakePHP Framework……….…………………………… 21
Hình I – 6:Cấu trúc thư mục CakePHP Framework sau khi giải nén………………..21
SVTH:Lê Tuấn Dũng−Lớp 06T1
vi
Thu thập và xây dụng cơ sở dữ liệu các loại bệnh nhiệt đới
Hình I– 7:Giao diện CakePHP Framework sau khi cài đặt thành công……..….…..22
Hình I – 8:Cấu trúc thư mục CakePHP Framework. ………………………...……..23
Hình II – 1:Mô hình User-Case quản lý và hoạt động hệ thống cơ sở dữ liệu bệnh...29
Hình II – 2: Sơ đồ phân rã cập nhật bệnh………………………………….………... 39
Hình II – 3: Sơ đồ phân rã sắp xếp bệnh,thuốc……………………….…..…………39
Hình II– 4:Sơ đồ trình tự quy trình xây dựng cơ sở dữ liệu các loại bệnh…….……41
Hình II – 5:Sơ đồ trình tự quy trình sữ dụng hệ thống của người dùng…….…..….41
Hình II – 6:Sơ đồ hoạt động quy trình quản lý thông tin bệnh………….…….……42
Hình II – 7:Sơ đồ lớp…………………………………………………………………43
Hình III– 1:Giao diện chính chương trình …………………….……………………53
Hình III– 2:Tìm kiếm bệnh………………………………………………………….53
Hình III– 3:Đăng nhập quản lý………………………………………..…………….54
Hình III– 4:Quản lý người dùng…………………………………….………………54
Hình III– 5: Tạo mới tài khoản……………………………………….……………..55
thống dữ liệu chứa các loại bệnh nhiệt đới thường gặp bằng tiếng Việt. để cung
cấp thông tin về các bệnh nhệt đới đồng thời hổ trợ cho việc xây dựng các hệ
chuyên gia tư vấn về bệnh cách phòng ngừa và chữa trị bệnh cho cộng đồng
người Việt là một việc cần thiết và hữu ích. Đây là lý do mà thầy TS. Huỳnh
Công Pháp và em quyết định xây dựng đề tài “ Thu thập và xây dựng cơ sở dữ
liệu các loại bệnh nhiệt đới”.
.II Giới thiệu đề tài
Tên đề tài: “Thu thập và xây dựng cơ sở dữ liệu các loại bệnh nhiệt đới”. Đề
tài có các nội dung :
Giới thiệu Đại cương bệnh truyền nhiễm.
Tác nhân gây bệnh.
Nguồn truyền bệnh.
Cách lây truyền.
Cơ chế xâm nhập.
SVTH:Lê Tuấn Dũng−Lớp 06T1
9
Hình thái lâm sàng và cận lâm sàng.
Quy trình quản lý thông tin bệnh.
Quy trình quản lý thuốc.
.III Hướng nghiên cứu của đề tài
.III.1.
Truyền Nhiễm của Đại Học Y Hà Nội, Ebook Infectious Diseases của
Jonathan Cohen và Wiliam G Powderly…
Các giáo trình tham khảo của PHP&MySQL,CakePHP….tài liệu về
phân tích thiết kế hệ thống..
Công cụ thiết kế Edraw UML Diagram
Cổng thông tin bộ Y Tế
.III.3.
Mục đích của đề tài
Trong khuôn khổ đề tài đó là xây dựng và quản lý một cơ sở dữ liệu về
các loại bệnh và cho phép người dùng có thể tham khảo thông tin cũng như có
quyền ,bổ sung, chỉnh sửa lưu thông tin đó .Bước đầu em cũng cố gắng xây
dựng một hệ thống chứa nhiều bệnh nhưng không thể thu thập được hết tất cả
các loại bệnh để phục vụ cho người dùng được tốt hơn
SVTH:Lê Tuấn Dũng−Lớp 06T1
10
Thu thập và xây dựng cơ sở dữ liệu các loại bệnh nhiệt đới
một ứng dụng ra làm ba thành phần (component) khác nhau Model, View và
Controller. Các thành phần của kiến trúc MVC một trách nhiệm duy nhất và không
phụ thuộc vào các thành phần khác. Những sự thay đổi trong một thành phần
sẽ không có hoặc là có rất ít ảnh hưởng đến các thành phần khác.Các trách
nhiệm của mỗi thành phần:
SVTH:Lê Tuấn Dũng−Lớp 06T1
11
Thu thập và xây dựng cơ sở dữ liệu các loại bệnh nhiệt đới
12
Hình I – 1: kiến trúc mô hình model – view - controller
.I.2.
Model
Model được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu
vào các kho chứa dữ liệu.Tất cả các nghiệp vụ logic được thực thi ở Model. Dữ liệu
vào từ người dùng sẽ thông qua View được kiểm tra ở Model trước khi lưu vào cơ
sở dữ liệu. Việc truy xuất, xác nhận, và lưu dữ liệu là một phần của Model
.I.3.
View
View hiển thị các thông tin cho người dùng của ứng dụng và được giao nhiệm vụ
CakePHP tuân theo mô hình thiết kế phần mềm chuẩn (design pattern) MVC.
MVC chia chương trình thành 3 phần riêng lẻ:
Model: Mô tả dữ liệu của ứng dụng
View: Hiển thị dữ liệu của model
Controller: Xử lý và điều hướng các yêu cầu của client
Hình I – 2: Một yêu cầu đơn giản trong mô hình MVC
Hình I – 2 : là một ví dụ về yêu cầu cơ bản của MVC trong CakePHP. Giả sử
một client tên là"A" click vào link "Buy B Custom Cake Now" trên trang chủ của ứng
dụng.
A
click
vào
link
trỏ
đến
địa
mô tả RSS feed, hoặc là file trên ổ cứng. Trong ví dụ này
controller sử dụng model để lấy thông tin về lần mua hàng gần nhất
của A từ cơ sở dữ liệu.
Một khi controller xử lý xong, nó sẽ chuyển các dữ liệu cho
view. View sẽ tiếp nhận dữ liệu và hiển thị cho client. View trong
CakePHP thường ở dạng HTML, nhưng view cũng có thể ở dạng
PDF, XML hoặc JSON, tùy theo nhu cầu.
Một khi view sử dụng dữ liệu từ controller để hiển thị, nội dung
của view đó được gửi cho trình duyệt của A.
.I.6.
Các công cụ hỗ trợ
.I.6.1.
.I.6.2.
.I.6.3.
Ngôn ngữ HTML
Khái niệm chung
Các thành phần của một tài liệu HTML
Cấu trúc tổng quát của một tài liệu HTML:
<html>
<head>
.I.6.4.
.1
Thuộc tính liên kết của HTML
Tạo liên kết
Trong HTML có thể liên kết đến các trang HTML khác hay đến ngay một phần
nào đó trong trang hiện hành ta có thể gọi các lệnh:
<LINK> Xem thông tin về mối quan hệ giữa các tài liệu. Thẻ có các
thuộc tính như : href, name, method, rev, title…
<A> Thiết lập các liên kết, có thể là liên kết đến một trang Web với một
file bất kỳ, hoặc có thể liên kết trong cùng một trang. Thẻ này không thể
dùng một mình mà phải kèm theo địa chỉ của tài liệu muốn liên kết
.2
Chèn một số đối tượng
<img src=’’filename’’> Chèn hình ảnh vào trang Web, file xác định
tên ảnh để trình duyệt có thể mở tập tin và hiển thị (tệp tin ảnh được
muốn.
Tạo các nút Submit để gọi đến một trang khác, nhằm thực thi các yêu cầu.
SVTH:Lê Tuấn Dũng−Lớp 06T1
15
Thu thập và xây dựng cơ sở dữ liệu các loại bệnh nhiệt đới
.I.7.
.I.7.1.
16
Truy vấn các thành phần điều khiển động của trang Web như các nút các ô
chọn.
Cho phép chèn các đoạn mã để thi hành các chứa năng.
JavaScript
Khái niệm
JavaScript là một ngôn ngữ lập trình được xây dựng sẵn trong các trình duyệt
Web, là một trong các cách thức tốt nhất để bổ sung tính tương tác cho các Website
của chúng ta vì nó là ngôn ngữ trực làm việc trực tiếp bên phía trình duyệt. Các ngôn
Thu thập và xây dựng cơ sở dữ liệu các loại bệnh nhiệt đới
17
Mã JavaScript có thể đặt nhiều vị trí khác nhau trong trang Web, trong
phần tiêu đề hay trong phần thân . Tuy nhiên chúng ta củng có thể đặt mã
JavaScript trong một tập tin rồi tham chiếu đến nó trong thẻ <script> thông qua
thuộc tính src như ví dụ sau:
<html>
<head>
</head>
<body>
<script src=”tên tập tin”>
</script>
</body>
</html>
Với JavaScript chúng ta có thể cài đặt các phương thức xử lý sự kiện khi
người dùng sử dụng tương tác với các phần tử HTML trong trang tài liệu. Tùy
vào các phần tử HTML mà trình duyệt cung cấp rất nhiều sự kiện xử lý như
onclick, onkeypress, onmouseover, onmouseout…..
.I.7.3.
Một số đặc trưng của ngôn ngữ lập trình JavaScript
Biến được sử dụng trong JavaScript không cần khai báo kiểu dữ liệu
như interger, String…. Như trong các ngôn ngữ lập trình khác nhau
mà chỉ việc khai báo tên biến bắt đầu từ khóa “var” hoặc có thể
dùng biến mà không cần khai báo trước bằng từ khóa “var”. Tên
ngữ lập trình, PHP được thiết kế để chỉ thực hiện diều gì đó sau khi một sự kiện xảy
ra (ví dụ khi người dùng gửi một biểu mẫu hoặc chuyển tới một URL).
PHP là một công nghệ phía máy chủ (server-side) và không phụ thuộc
môi trường(cross-platform).Cả hai yếu tố này đều rất quan trọng.Khái niệm
công nghệ máy chủ nói đến việc trong PHP đều xảy ra trên máy chủ (ngược với
máy khách là máy của người dùng). Tính chất không phụ thuộc môi trường cho
phép PHP chạy trên hầu hết các hệ điều hành như Windows, Unix(và nhiều biến
thể của nó),Macintosh…Một điều củng rất quan trọng là các mã kịch bản PHP
viết trên máy chủ này sẽ làm việc bình thường trên các máy chủ khác mà không
cần chỉnh sửa hoặc chỉnh sửa rất ít.
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng
đồng và có sự đóng góp rất lớn của Zend Inc. , công ty do các nhà phát triển cốt
lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP
phát triển ở quy mô doanh nghiệp
.I.8.1.
Cách làm việc của PHP
PHP là một ngôn ngữ máy chủ, mã lệnh PHP sẽ tập trung trên máy chủ để
phục vụ các trang Web theo yêu cầu của người dùng thong qua trình duyệt. Khi
người dùng truy cập Website viết bằng PHP,máy chủ đọc mã lệnh PHP xử lý
chúng theo các hướng dẫn đã được mã hóa . trong ví dụ ở hình dưới ,mã lệnh
PHP yêu cầu máy chủ gửi một dữ liệu thích hợp (mã lệnh HTML) đến trình duyệt
Web. Trình duyệt sẽ xem nó như một trang HTML tiêu chuẩn.
SVTH:Lê Tuấn Dũng−Lớp 06T1
18
SVTH:Lê Tuấn Dũng−Lớp 06T1
19
Thu thập và xây dựng cơ sở dữ liệu các loại bệnh nhiệt đới
20
Hình I– 4: Cách hoạt dộng của phần lớn ứng dụng Web động sử dụng PHP&MySQL
Phần mềm MySQL gồm nhiều phần, trong đó có máy chủ MySQL (mysqld để
chạy và quản lý các cơ sở dử liệu), máy khách MySQL (mysql cung cấp giao diện với
máy chủ), các tiện ích để duy trì và dùng trong các mục đích khác nhau. MySQL có
thể xử lý những cơ sở dữ liệu rất lớn gần 60000 bảng với hơn 5 tỷ mẫu tin, làm việc
với những bảng lớn đến 8 triệu terabytes……
.I.10.
Tìm hiểu CakePHP Framework
.I.10.1.
Giới thiệu
CakePHP là một nền tảng phát triển ứng dụng nhanh, mã nguồn mở miễn phí
sử dụng ngôn ngữ lập trình PHP. Cấu trúc của nó được tạo ra để lập trình viên tạo các
ứng dụng web. Mục tiêu chủ yếu của chúng tôi là tạo ra một nền tảng có cấu trúc, cho
phép bạn làm việc trên cấu trúc đó một cách nhanh chóng mà không mất đi sự uyển
chuyển.
Ngoài ra CakeFramework còn giúp những người mới bắt đầu có thể xây dựng các
ứng dụng ổn định hơn nhờ việc tương tác chính xác giữa các Database, mã (PHP) và
giao diện (HTML) một cách riêng biệt. Điều này cho phép bạn dành nhiều thời gian
để tạo ra các ứng dụng web, hơn là phí thời gian để viết các đoạn mã lặp lại trong một
project.
Ý tưởng chung đằng sau cách thức làm việc của một PHP framework được kể
đến là Model View Controller (MVC). MVC là một mô hình (kiến trúc) trong lập
trình, cho phép tách biệt các mã nghiệp vụ (business logic) và giao diện (UI) thành
các phần riêng biệt, điều này đồng nghĩa với việc ta có thể chỉnh sửa chúng một cách
riêng lẻ. Trong cụm từ MVC thì: Model (M) có thể hiểu là phần xử lý các thao tác về
nghiệp vụ (business logic), View được hiểu là phần xử lý lớp giao diện (presentation
layer), và Controller làm nhiệm vụ lọc các request đc gọi từ user, có chức năng như
một route: điều chỉnh, phân luồng các yêu cầu để gọi đúng Model & View thích hợp.
Về cơ bản, MVC chia nhỏ quá trình xử lý của một ứng dụng, vì thế nên bạn có thể
làm việc trên từng thành phần riêng lẻ, trong khi những thành phần khác sẽ không bị
ảnh hưởng tới. Thực chất, điều này giúp đỡ bạn lập trình PHP nhanh hơn và ít phức
tạp.
.I.10.3.
Một số tính năng của CakePHP
Nguồn mở, miễn phí, có cộng đồng sử dụng và hỗ trợ rộng lớn
Tương thích với PHP4 và PHP5
Có kiến trúc MVC (Model – View - Controller)
Xây dựng nhiều thư viện hỗ trợ cho View như: Ajax, HTML Form,Javascrip
.2
Cài đặt
Hệ điều hành Windown hoặc Linux, Hệ quản trị CSDL MySQL
Chuẩn bị cài đặt
Tải phiên bản mới nhất từ />
Giải nén vào thư mục Webserver (thư mục do bạn đặt tên) ở đây tôi
Hình II – 5:Download gói CakePHP Framework
dùng WampServer đặt vào thư mục www với tên thư mục xả nén là
cakephp
Hình II – 6:Cấu trúc thư mục CakePHP Framework sau khi giải nén
SVTH:Lê Tuấn Dũng−Lớp 06T1
22
Thu thập và xây dựng cơ sở dữ liệu các loại bệnh nhiệt đới
Gi chú:
Sau khi tải và giải nén CakePHP, có thể thấy các files và thư mục sau :
app: là nơi chứa mã nguồn ứng dụng của bạn (phần này quang trọng)
cake: là nơi chứa mã nguồn của CakePHP. Bạn không nên chỉnh sửa các files trong
thư mục này nếu bạn không hiểu rõ về chúng
vendors: chứa ứng dụng của bên thứ 3, phục vụ cho ứng dụng của bạn
plugins: chứa các thành phần mở rộng dùng cho ứng dụng
Ghi chú :
config
Nơi lưu giữ một số file cấu hình của CakePHP. File lưu thông tin
kết nối đến cơ sở dữ liệu, file bootstrap (dùng để nạp các hàm
không nằm trong một lớp nào cả), Nơi lưu file cấu hình CakePHP
controllers Chứa các controller và các component của ứng dụng.
locale
Lưu các file văn bản sử dụng cho mục đích quốc tế hóa ứng dụng.
models
Chứa các file model, behavior và datasource của ứng dụng.
plugins
Chứa các plugin.
SVTH:Lê Tuấn Dũng−Lớp 06T1
24
lỗi, các file helper, các file layout và các file view.
Trong môi trường thật (CakePHP có thể chạy ở môi trường
development, test, production), thư mục này nên đóng vai trò là
thư mục gốc của ứng dụng. Các thư mục ở đây thường là các thư
mục cho css, ảnh và javascript.
.II Đại cương về bệnh nhiễm trùng và truyền nhiễm
.II.1.
Dẫn nhập
Mặc dầu, trong nhiều thập kỷ qua, y học đã đi một bước khá dài về những tiến
bộ trong điều trị và phòng ngừa, nhưng đến nay bệnh truyền nhiễm còn là nguyên nhân
tử vong chính và đã ảnh hưởng đến điều kiện sống của hằng triệu người trên thế giới.
Sau thế chiến thứ II đã có hằng trăm loại hoá trị liệu, kháng sinh chống vi
khuẩn, virus, nấm và ký sinh trùng rất hiệu lực, an toàn. Song lại xuất hiện
các loại vi sinh vật kháng thuốc, thậm chí ở mức báo động.
Một số bệnh gần như bị tiêu diệt tại các nước phát triển, nay bùng phát lại
nhiều và nghiêm trọng, như : lao, thấp khớp.
SVTH:Lê Tuấn Dũng−Lớp 06T1
25
Thu thập và xây dựng cơ sở dữ liệu các loại bệnh nhiệt đới
tình trạng suy giảm miễn dịch.
Tăng nguy cơ mắc bệnh nhiễm khuẩn do kỹ thuật điều trị, tăng tiếp xúc với
tác nhân gây bệnh trong bệnh viện, vết rách ở da (vết mổ, chọc tĩnh mạch
v.v...) hoặc trên niêm mạc (đặt nội khí quản, thông bàng quang), đưa vật
thay thế vào cơ thể qua phẩu thuật, thay đổi vi khuẩn chí đường ruột do
dùng kháng sinh kéo dài.
.II.2.
Khái niệm về bệnh truyền nhiễm
Bệnh truyền nhiễm là bệnh lây truyền từ cá thể này sang cá thể khác là bệnh
có tác nhân gây bệnh tồn tại trong một số vật chủ (nguồn truyền bệnh) nhất định lây
cho các người nhạy cảm (cảm thụ) qua đường xâm nhập (đường vào),bệnh lây trực
tiếp hoặc gián tiếp nhờ một số yếu tố khác (vật trung gian).
.II.3.
Tác nhân gây bệnh
Tác nhân gây bệnh rất đa dạng. Có thể do vi khuẩn, vi nấm,động vật nguyên
sinh hoặc virut..không phải cứ có tác nhân gây bệnh vào cơ thể là có thể gây bệnh,
muốn gây bệnh phải hội tụ đầy đủ 3 điều kiện đó là độc lực (mầm bệnh và độc tố). Số
lượng nhiễm đủ lớn và con đường xâm nhiễm thích hợp.
Vi khuẩn : Là một tế bào độc nhất có khả năng tái sinh một tế bào khác.
Chlamydia : Lớp trung gian giữa virus và vi khuẩn, sống nhờ vào tế