Professional Documents
Culture Documents
Ngµy nµy cïng víi sù ph¸t triÓn vît bËc cña khoa häc kü thuËt th× c«ng
nghÖ th«ng tin lµ mét trong nh÷ng lÜnh vùc cã nhiÒu ®ãng gãp thiÕt thùc
nhÊt, c«ng nghÖ th«ng tin cã mÆt trong hÇu hÕt c¸c lÜnh vùc cña cuéc sèng
®Æc biÖt c«ng nghÖ th«ng tin lµ mét c«ng cô hç trî rÊt ®¾c lùc trong c«ng
t¸c qu¶n lý. Chóng ta dÔ dµng thÊy ®îc viÖc ®a tin häc vµo trong qu¶n lý
kinh doanh lµ mét trong nh÷ng øng dông quan träng trong rÊt nhiÒu øng dông
c¬ së d÷ liÖu. Nhê vµo c«ng t¸c tin häc hãa mµ c«ng viÖc qu¶n lý vµ ®iÒu
hµnh doanh nghiÖp tá ra rÊt nhanh chãng vµ hiÖu qu¶. ChÝnh v× lÏ ®ã mµ
c¬ së d÷ liÖu nh lµ mét gi¶i ph¸p h÷u hiÖu nhÊt cho c¸c doanh nghiÖp cã thÓ
tån t¹i vµ ph¸t triÓn mét c¸ch nhanh chãng.
BÖnh viÖn ®a khoa tØnh Kh¸nh Hßa lµ mét trong nh÷ng trung t©m kh¸m
ch÷a bÖnh lín nhÊt tØnh Kh¸nh Hßa. Do ®ã nhu cÇu øng dông c¬ së d÷ liÖu
trong viÖc qu¶n lý bÖnh nh©n lµ hÕt søc thiÕt thùc. V× vËy em chän ®Ò tµi
ph©n tÝch vµ thiÕt kÕ hÖ thèng th«ng tin qu¶n lý bÖnh nh©n t¹i bÖnh viÖn
®a khoa tØnh Kh¸nh Hßa lµm ®Ò tµi thùc tËp tèt nghiÖp.
HÖ thèng ®îc ph©n tÝch vµ thiÕt kÕ theo ph¬ng ph¸p cã cÊu tróc vµ ®îc
cµi ®Æt trªn m«i trêng Visual Basic 6.0 vµ ®îc thiÕt kÕ d÷ liÖu dùa trªn
ng«n ng÷ SQL Server 2000, c¸c ch¬ng tiÕp theo sÏ nãi râ h¬n vÒ vÊn ®Ò
nµy
MÆc dï cã nhiÒu cè g¾ng nhng vèn kiÕn thøc cha s©u nªn kh«ng thÓ
tr¸nh khái nh÷ng thiÕu sãt. RÊt mong ®îc sù gãp ý cña quý thÇy c«,anh chÞ
cïng c¸c b¹n ®Ó b¸o c¸o ®îc hoµn thiÖn h¬n.
T«i xin ch©n thµnh c¶m ¬n phßng KÕ Ho¹ch Tæng Hîp bÖnh viÖn ®a
khoa tØnh Kh¸nh Hßa, quý thÇy c« vµ c¸c b¹n ®· tËn t×nh gióp ®ì t«i hoµn
thµnh b¸o c¸o nµy ®Æc biÖt lµ c« NguyÔn Kim Anh ngêi trùc tiÕp híng dÉn
em trong suèt thêi gian thùc tËp võa qua.
6. Kh¸i niÖm vÒ ®èi tîng trong SQL vµ c¸ch t¹o ®èi tîng trong SQL
Server 2000
a. T¹o c¬ së d÷ liÖu (CREATE DATABASE)
§Ó t¹o mét c¬ së d÷ liÖu trong SQL Server ta dïng có ph¸p nh sau:
CREATE DATABASE <Database_Name>
[ON[PRIMARY](
[Name=<’Logical File name’>,]
File Name=<’FileName’>
[,SIZE=<Size in Megabyte or KiloByte]
[,MAXSIZE=<Size in Megabyte or Kilobyte]
FILEGROWTH=<NO of Kylobyte | Percentage]
)]
(LOG ON
[Name=<’ Logical File name’>,]
FileName=<’File Name’>
[,SIZE=<Size in Megabyte or Kylobyte>]
[,MAXSIZE=<Size in Megabyte or Kilobyte>]
FILEGROWTH=<NO of Kylobyte | Percentage>]
)]
[COLLATE <Collation>]
[For Load | For Attach]
Trong ®ã:
- ON: §Þnh nghÜa n¬i chøa d÷ liÖu vµ kh«ng gian chøa tËp tin log
- Name: Tªn tËp tin c¬ së d÷ liÖu trªn ®Üa cøng, lu ý khi t¹o c¬ së
d÷ liÖu ta ®Æt tËp tin ë vÞ trÝ nµo th× kh«ng thÓ di chuyÓn mét
c¸ch thñ c«ng ®îc.
- SIZE: Cho biÕt dung lîng c¬ së d÷ liÖu khi t¹o chóng. Th«ng th-
êng lµ 1 MB
- MAXSIZE: Dung lîng lín nhÊt, khi dung l¬ng c¬ së d÷ liÖu t¨ng
®Õn møc Maxsize th× dõng l¹i.
- FILEGROWTH: Dung lîng khëi t¹o cïng dung lîng tèi ®a trong
qu¸ tr×nh thªm d÷ liÖu vµo c¬ së d÷ liÖu.
- Log ON: Cho phÐp qu¶n lý chuyÓn t¸c x¶y ra trong qu¸ tr×nh sö
dông c¬ së d÷ liÖu cña SQL Server. Th«ng thêng chóng chiÕm
kho¶ng 25% dung lîng tËp tin d÷ liÖu.
Ngoµi viÖc t¹o c¬ së d÷ liÖu b»ng m· lÖnh trong SQL Server cßn cho
phÐp t¹o c¬ së d÷ liÖu b»ng giao diÖn ®å häa. §Ó t¹o c¬ së d÷ liÖu ta dïng
tr×nh SQL Server Enterprise Manager. ViÖc thùc hiÖn b»ng giao diÖn ®å
häa cã vÎ ®¬n gian vµ hiÖu qu¶ h¬n.
b. T¹o b¶ng (CREATE TABLE)
T¹o b¶ng trong c¬ së d÷ liÖu còng gièng nh t¹o c¸c ®èi tîng kh¸c trong
SQL Server. Có ph¸p ®Çy ®ñ ®Ó t¹o b¶ng nh sau:
CREATE TABLE [Database_name.[owner].table_name
(<column name><data type>
[[DEFAULT <constant expression>]
[[IDENTITY (seed, increament) [NOT FOR REPLICATION]]]]
[ROWGUIDCOL]
[NULL | NOT NULL]
[<column constraint>]
[column_name as computed_columns_expression
.....
)
ON {<filegroup>> | DEFAULT}
- Tªn cét (Column name): Tªn cét còng gièng nh tªn b¶ng vµ tªn c¬
së d÷ liÖu kh«ng cã kho¶ng tr¾ng, kh«ng b¾t ®Çu b»ng ch÷ sè vµ c¸c
ký tù ®Æc biÖt, ... tuy nhiªn chóng ta nªn ®Æt tªn ng¾n gän dÔ nhí
- KiÓu d÷ liÖu (Data type): Khi x©y dùng c¬ së d÷ liÖu tÊt c¶ c¸c
trêng trong b¶ng cÇn ph¶i cã kiÓu d÷ liÖu cô thÓ. VÊn ®Ò lµ chän d÷
liÖu nµo cho phï hîp víi d÷ liÖu mµ ngêi dïng sÏ nhËp vµo.
- Gi¸ trÞ mÆc nhiªn (Default): G¸n gi¸ trÞ mÆc nhiªn cho nh÷ng
cét kh«ng cã gi¸ trÞ.
- IDENTITY: §©y lµ gi¸ trÞ cùc kú quan träng trong SQL Server.
Khi chóng ta muèn mét cét cã gi¸ trÞ tù ®éng t¨ng.
- NULL | NOT NULL: Lµ tr¹ng th¸i cña mét cét cã cho phÐp null
hay kh«ng.
- Rµng buéc (Column constrain): KiÓm tra d÷ liÖu khi d÷ liÖu
míi ®îc ®a vµo cét hoÆc d÷ liÖu bÞ thay ®æi.
- Rµng buéc b¶ng d÷ liÖu (TABLE CONSTRAINTS): Rµng
buéc b¶ng còng gièng nh rµng buéc cét trong b¶ng, lµ kiÓm tra d÷ liÖu
nhËp vµo b¶ng theo mét quy luËt ®· ®Þnh s½n.
Song còng cã thÓ t¹o b¶ng b»ng giao diÖn ®å häa nh t¹o c¬ së d÷ liÖu.
Trong khi x©y dùng b¶ng d÷ liÖu cÇn chó ý ®Õn c¸c trêng khãa
c. T¹o view
View lµ b¶ng ¶o vµ còng nh víi b¶ng view còng cã thÓ t¹o ®îc b»ng m·
lÖnh còng nh giao diÖn ®å häa
View cho phÐp kÕt nèi nhiÒu b¶ng víi nhau ®Ó hiÓn thi th«ng tin.
d. T¹o thñ tôc lu tr÷ (Stored Procedure hay sp)
Stored Procedure lµ mét phÇn cùc kú quan träng trong c¬ së d÷ liÖu
SQL Server. NÕu biÕt SQL Server mµ kh«ng biÕt Stored Procedure lµ mét
thiÕu sãt rÊt lín. Có ph¸p ®Ó t¹o mét Stored Procedure nh sau:
CREATE PROCEDURE | PRO<Procedure name>
[<Paramenters name><data type> [VARYING]
[=<default value>][OUT PUT],
[<Parameters><data type> [VARYING]
[=<default value>][OUT PUT][,
............
............
[WITH
RECOMPILE | ENCRIPTION | RECOMPILE,
ENCRIPTION]
[FOR REPLICATION]
AS
<cade>
GO
§ã lµ có ph¸p ®Çy ®ñ ®Ó t¹o mét Stored Procedure song ta cã thÓ t¹o
Stored Procedure b»ng giao diÖn ®å häa
VÝ dô t¹o mét Stored Procedure ®¬n gi¶n
USE dbBENHNHAN
GO
Create proc Sp_NhapXa
@MaXa nchar(9),
@TenXa char(30),
@MaHuyen nchar(6)
AS
Insert Into tblXa
(
MaXa, TenXa,MaHuyen
)
Values
(
@MaXa,@TenXa,@MaHuyen
)
---------------------------------------------------
GO
Trªn ®©y ta tr×nh bµy mét Stored Procedure dïng ®Ó nhËp mét x·
vµo b¶ng tblXa.
e. 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 víi hµm gi¸ trÞ tr¶ vÒ lµ ®a d¹ng h¬n vµ gi¸ trÞ tr¶ vÒ
nµy cã thÓ lµ mét b¶ng.
VÝ dô t¹o hµm thèng kª bÖnh nh©n theo tØnh, hµm nµy tr¶ vÒ mét b¶ng
chøa th«ng tin vÒ c¸c bÖnh nh©n trong tØnh
CREATE FUNCTION udf_ThongKeBenhNhanTheoTinh
(@TenTinh Char(30))
RETURNS Table
-------------------------------------
AS
---------------------
Return
Select *
From tblBenhNhan
Where tblBenhNhan.MaXa in -- thuoc xa
(Select MaXa
From tblXa
Where tblXa.MaHuyen in --thuoc huyen
(Select MaHuyen
From tblHuyen Where tblHuyen.MaTinh in -- thuoc tinh
( Select MaTinh
From tblTinh
Where tblTinh.TenTinh=@TenTinh)))
----------------------------------------------
II. giíi thiÖu vÒ Visual Basic 6.0 vµ c¬ së d÷ liÖu trong Visual Basic
6.0.
II.1 Giíi thiÖu chung vÒ Visua Basic
Visua Basic lµ mét trong nh÷ng ng«n ng÷ lËp tr×nh bËc cao th«ng
dông nhÊt hiÖn nay, lµ mét s¶n phÈm cña Microsoft. Nã còng gièng nh hÇu
hÕt c¸c ng«n ng÷ lËp tr×nh bËc cao kh¸c, trong Visua Basic chøa ®Çy ®ñ c¸c
c©u lÖnh cÇn thiÕt, c¸c hµm x©y dùng s½n,…
Ngoµi ra Visual Basic chøa mét sè ph¬ng tiÖn gióp cho viÖc ¸p dông
kü thuËt híng ®èi tîng trong viÖc truy cËp d÷ liÖu. Trong Visual Basic cã rÊt
nhiÒu ph¬ng ph¸p truy còng nh c¸c ®èi tîng truy cËp d÷ liÖu nh: ADO,
ADODB, DAO, ... nãi chung c¸c ®èi tîng nµy cã nh÷ng thuéc tÝnh t¬ng ®èi
gièng nhau. Trong luËn v¨n nµy em chñ yÕu ®i s©u vµo ®èi tîng ADO. V×
ADO lµ mét c«ng cô truy cËp d÷ liÖu rÊt h÷u hiÖu vµ ADO còng ®îc cµi
®Æt trong ch¬ng tr×nh.
II.2 ADO lµ g× ?
ADO (Activex Data Object hay ®èi tîng d÷ liÖu ActiveX). Ta cã thÓ h×nh
dung r»ng ADO lµ mét m« h×nh lµm gi¶m kÝch thíc cña m« h×nh RDO (§èi
tîng d÷ liÖu tõ xa). M« h×nh ®èi tîng d÷ liÖu ActiveX rÊt gän. Nã ®îc thiÕt
kÕ ®Ó cho phÐp lËp tr×nh viªn lÊy ®îc mét tËp c¸c Record tõ nguån d÷ liÖu
mét c¸ch nhanh nhÊt nÕu cã thÓ. Tèc ®é vµ tÝnh ®¬n gi¶n lµ mét trong
nh÷ng môc tiªu cèt lâi cña ADO, m« h×nh nµy ®îc thiÕt kÕ ®Ó cho phÐp t¹o
ra mét ®èi tîng Recordset mµ kh«ng cÇn ph¶i di chuyÓn qua c¸c ®èi tîng
trung gian kh¸c trong qu¸ tr×nh lËp tr×nh. Thùc tÕ chØ cã ba ®èi tîng chÝnh
trong m« h×nh:
- Connection: §¹i diÖn kÕt nèi thùc sù.
- Command: §îc sö dông ®Ó thùc thi c¸c query dùa vµo kÕt nèi d÷
liÖu.
- Recordset: §¹i diÖn cho mét tËp c¸c Record ®îc chän query th«ng
qua ®èi tîng Command.
§èi tîng Connection chøa mét tËp c¸c ®èi tîng cßn gäi lµ c¸c ®èi tîng
Errors ®èi tîng nµy gi÷ l¹i bÊt kú mét th«ng tin lçi nµo cã liªn quan ®Õn kÕt
nèi. §èi tîng Command cã mét tËp c¸c ®èi tîng con lµ Paramenters ®Ó gi÷
bÊt cø tham sè nµo cã thÓ thay thÕ cho query. Recordset còng cã mét tËp c¸c
®èi tîng con Properties ®Ó lu 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
II.3 C¸c thuéc tÝnh ®Æc biÖt cña ®èi tîng ADO
M« h×nh ADO cã mét sè thuéc tÝnh mµ c¸c m« h×nh c¬ së d÷ liÖu kh¸c
nh DAO vµ RDO kh«ng cã. C¸c thuéc tÝnh nµy ®iÒu khiÓn c¸ch thøc t¹o ra
Dataset vµ quyÒn h¹n truy cËp trong mét kÕt nèi d÷ liÖu, cã b¶y thuéc tÝnh
nh sau:
- Connection String (Chuçi kÕt nèi)
- Command Texxt (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 khãa)
- Mode Type (KiÓu chÕ ®é lµm viÖc)
VÝ dô: §Ó t¹o kÕt nèi ®Õn c¬ së d÷ liÖu SQL Server víi tªn c¬ së d÷
liÖu dbBenhNhan ta cã m· lÖnh nh sau:
Public Sub OpenConnection()
' T¹o kÕt nèi ®Õn nguån d÷ liÖu
Set cn = New ADODB.Connection
cn.Provider = "SQLOLEDB.1;"
cn.ConnectionString = " Integrated Security=SSPI;Persist Security
Info=False;Initial Catalog=dbBenhNhan"
cn.Open
End Sub
Ngoµi ra trong Visual Basic cßn chøa mét sè kiÓu d÷ liÖu th«ng dông
kh¸c còng nh Visual Basic cho phÐp lËp tr×nh viªn tù ®Þnh nghÜa kiÓu vµ
còng nh hÇu hÕt c¸c ng«n ng÷ lËp tr×nh kh¸c, ngoµi ra Visual Basic cßn cã
c¸c c©u lÖnh chuÈn kh¸c, ...
Ch¬ng III. Ph©n TÝch Vµ ThiÕt KÕ HÖ
Thèng
I. Ph©n tÝch hÖ thèng vÒ chøc n¨ng
I.1 BiÓu ®å ph©n cÊp chøc n¨ng
1. BiÓu ®å ph©n cÊp chøc n¨ng lµ g× ?
Lµ mét lo¹i biÓu ®å diÔn t¶ sù ph©n r· dÇn dÇn c¸c chøc n¨ng tõ ®¹i
thÓ ®Õn chi tiÕt. Mçi nót trong biÓu ®å lµ mét chøc n¨ng, vµ quan hÖ duy
nhÊt gi÷a c¸c chøc n¨ng, diÔn t¶ bëi c¸c cung nèi liÒn c¸c nót, lµ quan hÖ bao
hµm. nh vËy biÓu ®å ph©n cÊp chøc n¨ng t¹o thµnh mét cÊu tróc c©y
Sau khi t×m hiÓu vµ ph©n tÝch hÖ th«ng qu¶n Lý bÖnh nh©n t¹i bÖnh
viÖn tØnh Kh¸nh Hßa em ®· ®a ra ®îc biÓu ®å ph©n cÊp chøc n¨ng nh sau:
Qu¶n lý bÖnh nh©n
0
BiÓu ®å luång d÷ liÖu møc bèi c¶nh: Trong biÓu ®å luång d÷ liÖu møc bèi
c¶nh chØ cã mét chøc n¨ng 0 (chøc n¨ng qu¶n lý bÖnh nh©n), c¸c t¸c nh©n
cña hÖ thèng gåm: BÖnh nh©n, khoa ®iÒu trÞ vµ phßng tµi chÝnh.
KÕt qu¶
Qu¶n
Chi phÝ kh¸m lÝ
ch÷a bÖnh bÖnh
nh©n
0
KÕ
t Danh
s¸ch Chi
qu¶ Danh s¸ch
BN phÝ
BN nhËp
®iÒu cña BN
viÖn
BÖn trÞ
h ¸n
Khoa ®iÒu trÞ Phßng tµi
chÝnh
Hå s¬ bÖnh nh©n
Khoa ®iÓu
trÞ
D/SBN
BÖnh
nhËp
¸n
viÖn
Hå s¬ Bªnh
LËp Nh©n
bÖnh
¸n
2.4
BiÓu ®å luång d÷ liÖu biÓu diÔn chøc n¨ng kh¸m bÖnh
§èi víi biÓu ®å luång d÷ liÖu ph©n cÊp chøc n¨ng thanh to¸n viÖn
phÝ: T¬ng tù chøc n¨ng kh¸m bÖnh víi chøc n¨ng thanh to¸n t¹m øng viÖn
phÝ cña bÖnh nh©n ®îc ph©n ra thµnh hai chøc n¨ng lµ: thu t¹m øng, vµ
thanh to¸n víi b¶o hiÓm y tÕ . Theo quy ®Þnh cña bÖnh viÖn cø ba ngµy
bÖnh viÖn l¹i yªu cÇu bÖnh nh©n thanh to¸n t¹m øng viÖn phÝ mét lÇn vµ
theo chu kú mçi th¸ng bÖnh viÖn l¹i in danh s¸ch bÖnh nh©n cã b¶o hiÓm y
tÕ ®· ®iÒu trÞ t¹i bÖnh viÖn trong th¸ng ®Ó thanh to¸n víi b¶o hiÓm y tÕ.
§èi víi bÖnh nh©n cã b¶o hiÓm y tÕ còng ph¶i ®ãng mét phÇn viÖn phÝ
theo quy ®Þnh phÇn tr¨m trªn b¶o hiÓm y tÕ. C¶ hai chøc n¨ng nµy ®Òu ®îc
thùc hiÖn mét c¸ch tù ®éng.
PhiÕu thanh to¸n
Thu
bÖnh nh©n t¹m
Thanh to¸n viÖn phÝ øng
3.1
X¸c nhËn thanh to¸n
Hå s¬ Bªnh Nh©n
Danh s¸ch BN
®· ®ãng T.¦
Danh s¸ch bÖnh
nh©n ®iÒu trÞ
Thanh
Danh s¸ch BN to¸n víi
Phßng tµi chÝnh ®iÒu trÞ cã BHYT BHYT
3.2
BiÓu ®å luång d÷ liÖu biÓu diÔn chøc n¨ng thanh to¸n viÖn phÝ
II. Ph©n tÝch hÖ thèng vÒ d÷ liÖu
II.1 M« h×nh thùc thÓ/liªn kÕt
1. Kh¸i niªm m« h×nh thùc thÓ/liªn kÕt
M« h×nh thùc thÓ/ liªn kÕt (Entity/Association Model) lµ m« h×nh d÷ liÖu
do P.P. Chen ®a ra n¨m 1976 vµ sau ®ã ®îc dïng kh¸ phæ biÕn trªn thÕ giíi.
Nã cã ®Æc ®iÓm kh¸ ®¬n gi¶n vµ gÇn víi t duy kh¸ch quan. Khi xem xÐt
c¸c th«ng tin, ngêi ta thêng gom côm chóng xung quanh c¸c vËt thÓ
2. C¸c lo¹i m« h×nh E/A
- M« h×nh E/A kinh ®iÓn
M« h×nh E/A kinh ®iÓn xuÊt ph¸t tõ ba kh¸i niÖm c¬ b¶n: thùc thÓ,
liªn kÕt vµ thuéc tÝnh.
+ C¸c thùc thÓ: Lµ mét vËt thÓ cô thÓ hay trõu tîng, tån t¹i thùc sù vµ
kh¸ æn ®Þnh trong thÕ giíi thùc, mµ ta muèn ph¶n ¸nh nã trong hÖ thèng
th«ng tin.
+ C¸c thuéc tÝnh: Thuéc tÝnh (Property hay attribute) lµ mét gi¸ trÞ
dïng ®Ó m« t¶ khÝa c¹nh nµo ®ã cña thùc thÓ.
+ C¸c liªn KÕt: Mét liªn kÕt (association) lµ mét sù gom nhãm c¸c thùc
thÓ trong ®ã mçi thùc thÓ cã mét vai trß nhÊt ®Þnh.
- M« h×nh thùc thÓ/ Liªn kÕt më réng.
§èi víi nh÷ng hÖ thèng phøc t¹p khi ph©n tÝch vµ thiÕt kÕ ngêi ta th¬ng
dïng ®Õn m« h×nh E/A më réng. Do c¸c ®iÓm më réng nµy chÞu ¶nh hëng
tõ xu híng hiÖn ®¹i cña m« h×nh hãa híng ®èi tîng, còng nh c¸c hÖ qu¶n trÞ
c¬ së d÷ liÖu híng ®èi tîng. C¸c ®Æc ®iÓm cña m« h×nh E/A më réng
+ C¸c kiÓu thuéc tÝnh ®a trÞ: Cho phÐp nhËn gi¸ trÞ cã thÓ lµ mét tËp
c¸c gi¸ trÞ.
+ C¸c kiÓu thuéc tÝnh phøc hîp: Cho phÐp sö dông c¸c kiÓu thuéc tÝnh
lµ tæ hîp.
+ C¸c kiÓu thùc thÓ con: xuÊt hiÖn bëi yªu cÇu chuyªn biÖt hãa vµ kh¸i
qu¸t hãa khi cÇn ph©n cÊp c¸c sù vËt
- M« h×nh E/A h¹n chÕ
M« h×nh E/A h¹n chÕ tuy bÞ h¹n chÕ nhiÒu vÒ c¸c h×nh thøc diÔn t¶
(khã vËn dông), nhng l¹i rÊt gÇn víi m« h×nh quan hÖ do ®ã l¹i dÔ dµng
chuyÓn sang cµi ®Æt víi hÖ qu¶n trÞ c¬ së d÷ liÖu quan hÖ h¬n. C¸c ®Æc
®iÓm cña m« h×nh E/A h¹n chÕ.
+ Trong m« h×nh E/A h¹n chÕ chØ cã kiÓu liªn kÕt 1-nhiÒu vµ ®îc biÓu
diÔn nh sau:
TØnh A
Khoa Chuyªn m«n ChøcBvô BÖnh
M· tØnh M· khoa M· CM M· CV M· bÖnh
Tªn tØnh Tªn khoa Tªn CM Tªn CV Tªn bÖnh
+ Trong m« h×nh E/A h¹n chÕ c¸c kiÓu liªn kÕt 0/1-nhiÒu ®îc coi lµ tr-
êng hîp ®Æc biÖt cña 1-nhiÒu
Nh©n viªn VÞ TrÝ
Trong
HuyÖnb¸o c¸o nµy Em chi sö dông
M· Nh©n viªnm« h×nh E/A h¹n chÕ. V× bÊt cø trÝ
M· vÞ m«
h×nh E/A kinh ®iÓn hay E/A
M· huyÖn Hä tªnmëNV
réng nµo còng cã thÓ biÕn ®æi Tªn
thµnh m«
vÞ trÝ
h×nh E/A h¹n chÕ ®îc, h¬n
Tªn huyÖn n÷asinh
Ngµy m«NVh×nh E/A h¹n chÕ lµ m« h×nh gÇn víi
m«
M· h×nh
tØnh c¬ së d÷ liÖu quan hÖtÝnh
Giíi nhÊt.
NV
Sau khi ph©n tÝch hÖ Sè nhµem
thèng NV®· ®a ra m« h×nh E/A h¹n chÕ cña bµi
Dßng kh¸m bÖnh
§iÖn tho¹i NV
to¸n nh sau (trang sau): M· kh¸m bÖnh
M· x·
M· khoa M· nh©n viªn
X· M· bÖnh nh©n
M· x· M· CM
M· CV M· bÖnh
Tªn x· M· vÞ trÝ
M· huyÖn BÖnh nh©n Ngµy KB
M· bªnh nh©n Néi dung KB
Hä bÖnh nh©n Chi phÝ KB
Tªn bÖnh nh©n
Ngµy sinh BN
b¶o hiÓm y tÕ Giíi tÝnh BN
M· bÖnh nh©n M· x·
Sè thÎ BHYT
Ngµy b¾t ®Çu Thuèc dïng
Ngµy kÕt thóc BÖnh ¸n M· kh¸m bÖnh
PhÇn tr¨m M· kh¸m bÖnh M· nh©n viªn
M· nh©n viªn M· bÖnh nh©n
M· bÖnh nh©n M· bÖnh
M· bÖnh M· vÞ trÝ
M· vÞ trÝ M· thuèc
C¸n bé M· n¬i §.T Sè lîng
M· bÖnh nh©n Ngµy vµo LiÒu dïng
M· c¬ quan Ngµy ra
T×nh tr¹ng ra
T¹m øng
M· t¹m øng
LÇn t¹m øng Thuèc
Sè tiÒn M· thuèc
Ngµy t¹m øng DÞch Vô Dïng Tªn thuèc
M· bÖnh nh©n M· kh¸m bÖnh §¬n gi¸
M· nh©n viªn
M· bÖnh nh©n
M· bÖnh
C¬ quan M· vÞ trÝ
M· c¬ quan N¬i ®iÒu trÞ DÞch vô
M· n¬i §.T
Tªn c¬ quan M· n¬i §.T M· dÞch vô
M· dÞch Vô
§iÖn tho¹i CQ Tªn n¬i §.T Tªn dÞch vô
LÇn dïng
Fax CQ §¬n gi¸ §¬n gi¸
II. M« h×nh quan hÖ
1. Kh¸i niÖm
M« h×nh quan hÖ do Codd ®Ò xuÊt n¨m 1970, víi u ®iÓm nh sau:
+ §¬n gi¶n: c¸c d÷ liÖu ®îc biÓu diÔn díi mét d¹ng duy nhÊt, lµ quan hÖ,
tøc lµ c¸c b¶ng gi¸ trÞ, kh¸ tù nhiªn vµ dÔ hiÓu ®èi víi ngêi dïng kh«ng
chuyªn tin häc.
+ ChÆt chÏ: c¸c kh¸i niÖm ®îc h×nh thøc hãa cao, cho phÐp ¸p dông c¸c
c«ng cô to¸n häc, c¸c thuËt to¸n.
+ Trõu tîng hãa cao: m« h×nh chØ dõng ë møc quan niÖm, nghÜa lµ ®éc
lËp víi møc vËt lý, víi sù cµi ®Æt, víi c¸c thiÕt bÞ. Nhê ®ã lµm cho tÝnh
®éc lËp gi÷a d÷ liÖu vµ ch¬ng tr×nh cao.
+ Cung cÊp ng«n ng÷ truy nhËp d÷ liÖu ë møc cao, dÔ sö dông vµ trë
thµnh chuÈn.
2. C¸c d¹ng chuÈn cña lîc ®å quan hÖ
Mét lîc ®å quan hÖ R lµ ë d¹ng chuÈn 1 (1NF) nÕu c¸c miÒn thuéc tÝnh
cña nã ®Òu lµ c¸c miÒn ®¬n (nghÜa lµ kh«ng cÊu thµnh tõ nhiÒu miÒn
kh¸c).
Mét lîc ®å quan hÖ R lµ ë d¹ng chuÈn 2 (2NF) nÕu nã lµ 1NF vµ c¸c phô
thuéc hµm gi÷a khãa vµ mçi thuéc tÝnh ngoµi khãa ®Òu lµ phô thuéc hµm
s¬ ®¼ng. Nãi c¸ch kh¸c, mäi thuéc tÝnh ngoµi khãa ®Òu kh«ng phô thuéc bé
phËn vµo khãa.
Mét lîc ®å quan hÖ R lµ ë d¹ng chuÈn 3 (3NF) nÕu nã lµ 2NF vµ c¸c phô
thuéc hµm gi÷a khãa vµ mçi thuéc tÝnh ngoµi khãa ®Òu lµ phô thuéc hµm
trùc tiÕp. Nãi c¸ch kh¸c lµ kh«ng tån t¹i phô thuéc hµm gi÷a c¸c thuéc tÝnh
ngoµi khãa.
3. C¸c lîc ®å quan hÖ cña hÖ thèng
Tõ m« h×nh thùc thÓ liªn kÕt (m« h×nh E/A h¹n chÕ ë trªn) ta chuyÓn
sang c¸c lîc ®å quan hÖ nh sau:
TØnh (M· tØnh, Tªn tØnh)
HuyÖn (M· huyÖn, Tªn huyÖn, M· tØnh)
X· (M· x·, Tªn x·, M· huyÖn)
Khoa (M· khoa, Tªn khoa)
Chuyªn m«n (M· chuyªn m«n, Tªn chuyªn m«n)
Chøc Vô (M· chøc vô, Tªn chøc vô)
BÖnh (M· bÖnh, Tªn bÖnh)
VÞ trÝ (M· vÞ trÝ, Tªn vÞ trÝ)
Nh©n viªn (M· NV, Hä tªn NV, Ngµy sinh NV, Giíi tÝnh NV, Sè nhµ NV,
§iÖn tho¹i NV, M· x·, M· khoa, M· CM, M· CV)
Dßng kh¸m bÖnh (M· kh¸m bÖnh, M· nh©n viªn, M· bÖnh nh©n, M·
bÖnh, M· vÞ trÝ, Ngµy KB, Néi dung KB, Chi phÝ KB)
BÖnh nh©n (M· bÖnh nh©n, Hä bÖnh nh©n, Tªn bÖnh nh©n, Ngµy sinh
BN, Giíi tÝnh BN, M· x·)
B¶o hiÓm y tÕ (M· bÖnh nh©n, Sè thÎ BHYT, Ngµy b¾t ®Çu, Ngµy kÕt
thóc, PhÇn tr¨m)
C¬ quan (M· c¬ quan, Tªn c¬ quan, §iÖn tho¹i CQ, Fax c¬ quan)
C¸n bé (M· bÖnh nh©n, M· c¬ quan)
T¹m øng (M· T.øng, LÇn T.øng, Sè tiÒn, Ngµy T.øng, M· bÖnh nh©n)
BÖnh ¸n (M· kh¸m bÖnh, M· nh©n viªn, M· bÖnh nh©n, M· bÖnh, M· vÞ
trÝ, M· n¬i §.T, Ngµy vµo, Ngµy ra, T×nh tr¹ng ra)
N¬i §iÒu TrÞ (M· n¬i §.T, Tªn n¬i §.T, §¬n gi¸)
DÞch Vô Dïng (M· kh¸m BÖnh, M· nh©n viªn, M· bÖnh nh©n, M· bÖnh,
M· vÞ trÝ, M· n¬i §.T, M· dÞch Vô, LÇn dïng)
DÞch Vô (M· dÞch vô, Tªn dÞch vô, §¬n gi¸ D.V)
Thuèc Dïng (M· kh¸m BÖnh, M· nh©n viªn, M· bÖnh nh©n, M· bÖnh, M·
vÞ trÝ, M· thuèc, Sè lîng, LiÒu dïng)
Thuèc (M· thuèc, Tªn thuèc, §¬n gi¸)
4. Danh S¸ch C¸c B¶ng
4.1 B¶ng TØnh
TØnh (M· tØnh, Tªn tØnh)
Tªn trêng Lo¹i d÷ liÖu M« t¶ KÝch thíc
M· tØnh Char M· tØnh Len()=2
Tªn tØnh Char Tªn tØnh 30
Gi¶i ThÝch
+ B¶ng tØnh lu tr÷ th«ng tin vÒ tØnh mµ bÖnh nh©n vµ Nh©n Viªn
®ang sèng
4.2 B¶ng HuyÖn
HuyÖn (M· HuyÖn, Tªn HuyÖn, M· TØnh)
Tªn trêng Lo¹i d÷ liÖu M« t¶ KÝch thíc
M· huyÖn Char M· huyÖn Len()=4
Tªn huyÖn Char Tªn huyÖn 30
M· tØnh Char M· tØnh Len()=2
Gi¶i ThÝch
+ B¶ng huyÖn lu tr÷ th«ng tin vÒ huyÖn mµ bÖnh nh©n vµ Nh©n
Viªn ®ang sèng
- Trêng m· huyÖn gåm cã 4 ký tù 2 ký tù ®Çu lµ m· tØnh mµ huyÖn
®ã trùc thuéc hai ký tù tiÕp theo lµ thø tù huyÖn trong tØnh.
- Trêng m· tØnh lµ khãa ngoµi cña b¶ng huyÖn trêng nµy nhËn th«ng
m· tØnh tõ b¶ng tØnh
4.3 B¶ng X·
X· (M· x·, Tªn x·, M· huyÖn)
Gi¶i thÝch
+ B¶ng nµy lu tr÷ tÊt c¶ c¸c bÖnh hiÖn cã
4.8. B¶ng VÞ TrÝ
VÞ TrÝ (M· vÞ trÝ, Tªn vÞ trÝ)
Tªn trêng Lo¹i d÷ liÖu M« t¶ KÝch thíc
M· vÞ trÝ Char M· vÞ trÝ Len()=2
Tªn vÞ trÝ Char Tªn vÞ trÝ 30
Gi¶i ThÝch
+ B¶ng nµy lu tr÷ th«ng tin vÒ vÞ trÝ mµ bÖnh nh©n ®îc kh¸m bÖnh
4.9. B¶ng Nh©n Viªn
Nh©n Viªn (M· NV, Hä Tªn NV, Ngµy Sinh NV, Giíi TÝnh NV, Sè
Nhµ NV, §iÖn Tho¹i NV, M· X·, M· Khoa, M· CM, M· CV)
Tªn Trêng Lo¹i D÷ LiÖu M« T¶ KÝch Thíc
M· NV Char M· nh©n viªn Len()=5
Hä Tªn NV Char Hä tªn nh©n viªn 30
Ngµy Sinh NV Date Ngµy sing nh©n viªn
Giíi TÝnh NV Boolear Giíi tÝnh nh©n viªn
Sè Nhµ NV Char Sè nhµ nh©n viªn 30
§iÖn Tho¹i NV Char §iÖn tho¹i nh©n viªn 15
M· X· Char M· x· Len()=6
M· Khoa Char M· khoa Len()=2
M· CM Char M· chuyªn m«n Len()=2
M· CV Char M· chøc vô Len()=2
Gi¶i thÝch
+ B¶ng nh©n viªn lu tr÷ tÊt c¶ th«ng tin vÒ nh©n viªn (B¸c sÜ)
- Trêng ngµy sinh Nh©n Viªn nhËn d÷ liÖu sao cho tuæi cña nh©n
viªn kh«ng ®îc lín h¬n 65 vµ kh«ng ®îc nhá h¬n 18
- Trêng giíi tÝnh nh©n viªn nhËn kiÓu d÷ liÖu Boolear (True t¬ng
øng víi nam, False t¬ng øng víi n÷).
- Trêng sè nhµ nh©n viªn ®Ó x¸c ®Þnh chç ë cña nh©n viªn.
- B¶ng Nh©n Viªn nhËn M· X·, M· Khoa, M· CM, M· CV lµm khãa
ngoµi c¸c trêng nµy nhËn gi¸ trÞ t¬ng øng tõ c¸c b¶ng X·, Khoa,
Chuyªn m«n, Chøc vô.
4.10. B¶ng Dßng Kh¸m BÖnh
Dßng Kh¸m BÖnh (M· Kh¸m BÖnh, M· Nh©n Viªn, M· bÖnh nh©n,
M· BÖnh, M· VÞ trÝ, Ngµy KB, Néi Dung KB, Chi PhÝ KB)
Gi¶i thÝch
+ B¶ng c¸n bé lµ thùc thÓ chuyªn biÖt hãa cña thùc thÓ b¶o hiÓm y
tÕ nªn nã nhËn thuéc tÝnh khãa cña thùc thÓ nµy lµm khãa ngoµi ra
®Ó x¸c ®Þnh C¸n Bé ®ã thuéc c¬ quan nµo thi b¶ng nµy ph¶i nhËn
thªm khãa cña thùc thÓ c¬ quan lµm khãa chÝnh. Hai trêng nµy lÊy
gi¸ trÞ tõ trêng M· bÖnh nh©n trong b¶ng bÖnh nh©n vµ trêng M·
C¬ Quan trong b¶ng C¬ Quan
4.15 B¶ng T¹m øng
T¹m øng (M· t¹m øng, LÇn T.¦, Sè TiÒn, Ngµy T.¦, M· bÖnh nh©n)
Gi¶i thÝch
+ b¶ng thuèc dïng lµ mèi kÕt hîp ®îc sinh ra tõ mèi kÕt hîp kh¸m
bÖnh (thùc thÓ dßng kh¸m bÖnh) nªn nã nhËn khãa cña thùc thÓ
dßng kh¸m bÖnh lµm khãa ®ång thêi nã nhËn thuéc tÝnh khãa cña
thùc thÓ thuèc lµm khãa.
+ Thùc thÓ nµy kÕt hîp víi thùc thÓ dßng kh¸m bÖnh vµ thùc thÓ
thuèc ®Ó t¹o thµnh ®¬n thuèc.
- Sè l¬ng lµ sè lîng mét lo¹i thuèc ®îc cÊp trong mét ®¬n thuèc
- LiÒu dïng c«ng thøc dïng thuèc
4.21 B¶ng Thuèc
Thuèc (M· Thuèc, Tªn Thuèc, §¬n Gi¸)
Tªn Trêng Lo¹i D÷ LiÖu M« T¶ KÝch Thíc
M· Thuèc Char M· thuèc Len()=9
Tªn Thuèc Char Tªn thuèc 30
§¬n Gi¸ Money §¬n gi¸ thuèc
Gi¶i thÝch
+ B¶ng thuèc lu tr÷ th«ng tin vÒ thuèc
Ch¬ng IV. Thùc hiÖn Cµi ®Æt hÖ thèng
§Ó thªm míi d÷ liÖu vµo mét Table trong ch¬ng tr×nh ta sö dông ®èi tîng
Data Environment ®èi tîng nµy cho phÐp gäi c¸c hµm hoÆc c¸c thñ tôc nh
c¸ch gäi cña Visual Basic. Díi ®©y lµ vÝ dô c¸ch gäi mét hµm cã tªn
Sp_NhapTinh cã chøc n¨ng thªm mét tØnh míi
DE.Sp_NhapTinh MaTinh, TenTinh
Trong ®ã DE lµ ®èi tîng Data Environment vµ hµm Sp_NhapTinh lµ hµm
(cã thÓ lµ c¸c thñ tôc thËm chÝ lµ mét View) ®îc viÕt vµ lu trong c¬ së d÷
liÖu.
T¬ng tù víi c¸c thñ tôc kh¸c còng ®îc thùc hiÖn b»ng c¸ch gäi nh trªn, tuy
nhiªn ®èi víi thñ tôc xãa d÷ liÖu trong mét Table l¹i lµ mét viÖc kh¸ phøc t¹p
bëi viÖc nµy cßn liªn quan ®Õ mét sè rµng buéc vÒ khãa. VÝ dô viÖc xãa
mét tØnh thµnh, ta ph¶i ®i xãa toµn bé c¸c huyÖn, x· trùc thuéc tØnh ®ã,
kh«ng nh÷ng vËy ta cßn ph¶i xãa tÊt c¶ c¸c bÖnh nh©n vµ nh©n viªn cïng c¸c
giÊy tê cã liªn quan, cô thÓ ta cã m· lÖnh nh sau:
-------------------------------------------------------------------------------------------
--Xoa dong kham benh cua benh nhan
Delete From tblDongKhamBenh
Where tblDongKhamBenh.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 Dong Kham Benh Ma Nhan Vien kham
Delete From tblDongKhamBenh
Where tblDongKhamBenh.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 Thuoc ma Nhan vien cap cho don thuoc
Delete From tblThuocDung
Where tblThuocDung.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 thuoc dung cho benh nhan thuoc tinh
Delete From tblThuocDung
Where tblThuocDung.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 benh nhan thuoc tinh
Delete From tblBenhNhan
Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh))
-------------------------------------------------------------------------------------------
-- Xoa Nhan Vien thuoc tinh
Trong form nµy khi ta click vµo mét bÖnh nh©n bÊt kú th× mäi th«ng tin
vÒ bÖnh nh©n ®ã ®Òu ®îc hiÓn thÞ lªn trªn. Ngoµi ra ta cã thÓ thay ®æi
còng nh xem chi tiÕt mét sè th«ng tin kh¸c vÒ bÖnh nh©n nh bÖnh ¸n, b¶o
hiÓm y tÕ, ...
Form nh©n viªn: T¹i ®©y hiÓn thi tÊt c¶ c¸c th«ng tin vÒ nh©n viªn
Form t×m kiÕm bÖnh nh©n form nµy cho phÐp t×m kiÕm bÖnh nh©n
theo nh÷ng tiªu chÝ ®îc chØ ra trong hép combobox (tiªu chÝ cã thÓ lµ t×m
theo tªn, hä tªn, …) vµ th«ng tin cÇn t×m kiÕm ®îc nhËp vµo trong hép
textbox.
Sau khi t×m kiÕm cã thÓ cho mét hoÆc mét sè bÖnh nh©n thËm chÝ cã
thÓ ch¼ng t×m thÊy bÖnh nh©n nµo nªn ta cã thÓ xem chi tiÕt tõng bÖnh
nh©n, vµ cã thÓ in chi tiÕt ®ã ra giÊy, chóng ta còng cã thÓ in ra toµn bé
danh s¸ch bÖnh nh©n ®· t×m kiÕm ®îc.