Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

1

Chuyn i gia c s d liu quan h v XML




Nguyn Th Lan

Trng i hc Khoa hc T nhin
Khoa Ton C - Tin
Lun vn Thc s ngnh: Bo m ton cho my tnh v h thng tnh ton
M s: 60 46 35
Ngi hng dn: PGS.TS. Trung Tun
Nm bo v: 2011

Abstract. Chng 1: Tng quan v XML v c s d liu quan h. Chng 2:
Chuyn i gia c s d liu quan h v XML. Chng 3: Chng trnh th nghim:
trnh by vic ci t thut ton bng ngn ng lp trnh C# trong mi trng
ASP.NET; Xy dng chng trnh ng dng demo vic Qun l hc vin ti Trung
tm tin hc ngoi ng Trng Cao ng Cng nghip Nam nh; Ci t thut ton
chuyn i v tch hp XML vi CSDL ca h thng thng tin Qun l hc vin ti
Trung tm tin hc ngoi ng Trng Cao ng Cng nghip Nam nh.

Keywords. C s d liu quan h; Ngn ng nh dng; H thng thng tin; Ton tin

Content

LI M U
Ngy nay cng ngh thng tin c ng dng rng ri trong mi lnh vc kinh t,
chnh tr, x hi, y t v gio dc, ng vai tr rt quan trng trong qu trnh chuyn dch
nn kinh t, x hi, lm thay i ng k v li sng, phong cch lm vic v nhn thc trong
cng vic.
Vi s pht trin vt bc trong lnh vc cng ngh mng cho ra i nhiu dch v t
xa, c bit l s ra i ca dch v application as a service. Cc giao dch, tng tc, giao
tip vi nhau u thng qua mi trng Internet. iu ny bin cng ngh thng tin tr
thnh mt cng c khng th thiu c trong s pht trin ca mi lnh vc, mi ngnh ngh.
Cng vi s pht trin th c hng lot cc ngn ng v cc giao thc giao tip, thit
k trang web cng ra i phc v cho nhng mc ch, dch v nht nh. C th k n
nhiu ngn ng pht trin ph bin nh HTML, DHTML, Java, PHP, ASP, mi loi
ngn ng cng u c u v nhc im ring [4].
Vi ngn ng XML [8] mi pht trin trong nhng nm gn y nhng c ph bin
rng ri trong cc ngn ng lp trnh, chng hn nh cc ngn ng .NET, Java,... Mt s c
trng c bn ca ngn ng XML l:
- XML c dng lu tr d liu t cc tp tin hoc c s d liu.
- XML c th c trao i d liu d dng gia cc h thng khng tng thch vi
nhau.
2
- XML c th c dng chia s d liu d dng hn gia cc ng dng, d dng
m rng hoc nng cp sang h thng my ch, ng dng, trnh duyt khc.
- XML c lp vi ng dng, phn cng v phn mm v th lm cho d liu c
s dng hiu qu hn.
- XML c th c dng to ra mt ngn ng nh du mi ty theo mc ch s
dng chng hn nh l ngn ng nh du cho thit b khng dy.
Chnh v th, XML ngy cng tr nn ph bin, im quan trng nht l XML cho php
d dng x l, chuyn ti v trao i d liu gia nhiu ng v ti liu ngi dng vi cc nh
dng khc nhau.
Trc nhng thc trng v nhng kin thc hiu bit v XML, em thy tnh
thit thc ca vn ny v c s gi ca ging vin hng dn, em chn ti
Chuyn i gia c s d liu quan h v XML lm ti cho lun vn thc s ca mnh.
Lun vn c trnh by gm ba chng:
Chng 1: Tng quan v XML v c s d liu quan h
- Trnh by tng quan v cu trc mt ti liu XML, to ti liu XML hp khun dng.
- nh ngha kiu ti liu (DTD), lc (Schema), m hnh i tng ti liu (DOM).
- Phn tch ti liu XML theo DOM
- nh dng ti liu XML dng bng nh kiu (CSS)
- Cc khi nim c s v c s d liu (CSDL) quan h.
Chng 2: Chuyn i gia c s d liu quan h v XML
- Phi chun cc lc quan h
- Kt ni cc lc quan h phi chun
- nh x mt CSDL sang mt ti liu XML
- nh x mt CSDL quan h kt ni thnh mt DOM chnh v chuyn thnh mt ti
liu XML
- Chuyn mt CSDL quan h sang mt ti liu XML
- Chuyn mt ti liu XML sang mt c s d liu quan h.
- Phng php bm nh hay phn tch cc ti liu XML thnh cc bng CSDL
- Ci t cc thut ton
o Thut ton Chuyn i gia c s d liu quan h v XML
o Thut ton biu din ti liu XML theo DOM
o Thut ton hin th ti liu XML di dng bng
Chng 3: Chng trnh th nghim
- Trnh by vic ci t thut ton bng ngn ng lp trnh C# trong mi trng
ASP.NET.
Xy dng chng trnh ng dng demo vic Qun l hc vin ti Trung tm tin hc
ngoi ng Trng Cao ng Cng nghip Nam nh.
- Ci t thut ton chuyn i v tch hp XML vi CSDL ca h thng thng tin
Qun l hc vin ti Trung tm tin hc ngoi ng Trng Cao ng Cng nghip Nam nh.
Kt lun: Tm tt cc ni dung chnh, cc kt qu t c v hng nghin cu tip
theo ca lun vn.
CHNG 1
TNG QUAN V XML V C S D LIU QUAN H
1.1. Khi qut s ra i v pht trin ca XML
XML l mt h thng c lut dng cho vic thit k cc kh mu (format) cho vn bn
gip to cu trc cho d liu. Trong thc t XML khng phi l mt ngn ng lp trnh, XML
3
gip my tnh d dng to d liu, c d liu, trao i d liu v lm cho cu trc d liu tr
nn r rng v d hiu hn, ngoi ra XML cn c th m rng, c nn tng hon ton c lp
v h tr tnh quc t ha, ni a ha. XML h tr hon ton unicode.
Mc ch chnh ca XML l n gin ha vic chia s d liu gia cc h thng khc
nhau, c bit l cc h thng c kt ni vi Internet. Cc ngn ng da trn XML (chng
hn nh: RDF, RSS, MathML, XHTML, SVG, GML v cXML) c nh ngha theo cch
thng thng, cho php cc chng trnh sa i v kim tra hp l bng cc ngn ng ny m
khng cn c hiu bit trc v hnh thc ca chng.
XML l mt ti liu vn bn c cu trc, cho php biu din thng tin v cc i tng
trong thc t, d dng chuyn ti v trao i d liu gia nhiu ng dng khc nhau.
1.2. Ti liu XML
Mt ti liu HTML c th tn ti mt s th khng ng quy nh th trnh bin dch s
b qua nhng th ny. Tuy nhin vi mt ti liu XML th iu ny khng th xy ra. Khi xy
dng mt ti liu XML, n phi tun th theo mt s quy lut nht nh. Nhng ti liu XML
tun th ng nhng quy lut ny c gi l nh dng ng. Vi mt ti liu khng phi l
nh dng ng, Internet Explorer s thng bo li khi np ti liu ny [8].
Mt ti liu XML nh dng ng [11] cha chc l mt ti liu hp l. Mt ti liu XML
c xem l hp l nu n m bo nhng quy tc c t trong ti liu DTD hay gin . Mt
DTD hay schema s nh ngha mi th t cu trc d liu ti kiu d liu, nhng thuc tnh
c yu cu, v nhng rng buc v thnh phn v thuc tnh c kt hp trong ti liu.
Phng thc kim tra ti liu ny thng c s dng trong giao tip gia ng dng ng
dng, m bo d liu trao i hp l trnh dn ti nhng nh hng ca d liu khng hp l
trn ton h thng.
Ti liu XML c th c son tho bi cc phn mm thng thng nh: Notepad,
EditPlus,... hay cc trnh son tho chuyn dng ca XML nh: XML Notepad, XMLWriter,
XML Spy,... [8].
1.3. Phn tch ti liu XML theo DOM
M hnh DOM c W3C nh ngha theo nhiu mc khc nhau, c th l cc mc sau:
Mc 0: c t XML khng chnh thc v c p dng cho cc trnh duyt trc y nh
Nestcape Navigator 3.0 v IE 3.0.
Mc 1: Tp trung vo kt hp gia ti liu XML v HTML.
Mc 2: H tr khng gian tn gi XML, khung nhn c lc v cc s kin DOM.
Mc 3: Nng cao cc kh nng ca DOM vi vic cho php np, x l, lu li m hnh
cho ni dung ti liu.
1.4. C s d liu quan h
Quan h: L mt bng hai chiu bao gm cc ct v cc dng (gi l bng d liu)
Thuc tnh d liu: L tn cc ct ca quan h
==> Mt c s d liu quan h l mt tp ca mt hoc nhiu quan h.
C s d liu c hiu theo cch nh ngha kiu k thut th n l mt tp hp thng tin
c cu trc. Tuy nhin, thut ng ny thng dng trong cng ngh thng tin v n thng
c hiu r hn di dng mt tp hp lin kt cc d liu, thng ln lu trn mt
thit b lu tr nh a hay bng. D liu ny c duy tr di dng mt tp hp cc tp tin
trong h iu hnh hay c lu tr trong cc h qun tr c s d liu.
Ni cc khc C s d liu l mt tp hp c cu trc ca nhng d liu c lin quan vi
nhau c lu tr trong my tnh.
V d: Quan h HocVien l mt CSDL quan h
4
1.5. Kt lun chng 1
Chng 1 nu ln nhng kin thc c bn v cu trc mt ti liu XML, nhn bit
c th no l mt ti liu XML hp l, hp khun dng, cch to mt ti liu XML hp
khun dng, m hnh DOM v cch phn tch ti liu XML theo m hnh DOM cng cc trnh
phn ng trong XML nh: kiu ti liu DTD, gin XML, khng gian tn gi, bng nh kiu
CSS. Ngoi nhng kin thc c bn v XML, trong chng 1 cng trnh by nhng kin thc
c bn v c s d liu quan h, cc khi nim, cu trc, cc rng buc ton vn, cc dng
chun ha CSDL quan h.

CHNG 2
CHUYN I GIA C S D LIU QUAN H V XML
2.1 nh x mt CSDL quan h thnh mt ti liu XML
Cc CSDL c kt ni li v c nh x vo trong mt DOM chnh, sau n
c nh x thnh mt ti liu XML.
Da vo cu trc ca mt ti liu XML cng nh mi quan h gia mt ti liu XML
v mt CSDL quan h chng ta c mt s nh x c bn t mt CSDL quan h sang mt
ti liu XML [1] [19] nh sau (Hnh 2.12):
















Hnh 2. 1: Nhng nh x c bn t CSDL quan h thnh ti liu XML

R_ET: mt quan h R c nh x thnh mt kiu phn t ET.
A_ET: mt thuc tnh ca quan h (A) c nh x thnh mt kiu phn t (ET)
nh vo quan h ca thuc tnh a ra quan h ca kiu phn t.
A_A: thuc tnh ca mt quan h c nh x thnh thuc tnh XML.
Sau khi thc hin kt ni cc bng c s d liu quan h thnh cng. Cc bng c
s d liu lin kt c hnh thnh v c nh x thnh DOM chnh theo cc nguyn tc
nh x c bn v sau c chuyn thnh mt ti liu XML tng ng, c th hin
qua s sau (Hnh 2.14).

5

Hnh 2. 2: S chuyn CSDL quan h thnh ti liu XML

2.2. Phng php nh x mt ti liu XML thnh CSDL quan h
nh x mt ti liu XML sang mt CSDL quan h c thc hin thng qua vic nh
x trc tip cc phn t thnh cc thuc tnh da trn mt s quy tc nh x [15] sau
(Hnh 2.18):
ET_R: mt kiu phn t (ET) ca ti liu XML c nh x thnh mt quan h R.
ET_A: mt kiu phn t (ET) ca ti liu XML c nh x thnh mt thuc tnh
A ca quan h.
A_A: mt thuc tnh ca ti liu XML c nh x thnh mt thuc tnh ca quan
h.





Hnh 2. 3: S chuyn ti liu XML thnh CSDL quan h





Hnh 2. 4: Nhng nh x c bn t ti liu XML thnh CSDL quan h

2.3. Thut ton chuyn i gia c s d liu quan h v XML
Da vo phng php lun tch hp cc h thng c s d liu quan h v XML,
thut ton chuyn i gia cc h thng c s d liu quan h v XML c xy dng
theo m hnh tng qut sau (Hnh 2.23):



6















Hnh 2. 5: M hnh XML dng bng v dng cy

xy dng thut ton chuyn i gia CSDL quan h v XML ta thc hin theo cc
bc sau:
Bc 1: Biu din ti liu XML theo m hnh DOM
Bc 2: Biu din ti liu XML theo dng bng ca CSDL quan h v chuyn
thnh CSDL quan h
Bc 3: Chuyn mt CSDL quan h sang mt ti liu XML
2.3.1. Biu din ti liu XML theo m hnh DOM
Mt cy c to bi t nhiu nt, mi nt li l mt cy cha nhng nt khc. Nt
l th khng c con, v th nt ny c dng hin th vn bn.
Lp XmlDataDocument k tha lp XmlDocument v th n cng c mt s phng
thc ging lp XmlDocument.
Vi m hnh DOM, mt ti liu XML c t chc di dng mt s hnh cy c
cu trc tng t nh mt cy th mc trong Windows. V vy mc ch chnh ca phn
ny l biu din ti liu XML theo m hnh DOM nh minh ha sau (Hnh 2.24):


Hnh 2. 6: Biu din ti liu XML theo m hnh DOM


7
Thut ton:
Ti liu XML c c thng qua hnh thc c mt tp tin d liu v c xy
dng theo dng m hnh DOM [15] qua cc bc sau:
Bc 1: Truy cp v ly phn t gc ca ti liu.
Bc 2: Ly danh sch tt c cc phn t con ca phn t gc.
Bc 3: Mi phn t con tm c s c gn mt nhn c trng.
Bc 4: Tm cc phn t con c thc hin theo phng php quy.
Bc 5: Nu phn t ang xt l nt l th s cc phn t con ca n bng 0.
Bc 6: Xy dng v lu tr ng dn tng ng ti mi phn t con trong ti
liu XML.
Bc 7: Ly tn cc phn t con v cc gi tr thuc tnh ca n.
Bc 8: Chuyn i thng tin v ng dn, ni dung ca cc phn t sang dng
chui in ra mn hnh di dng mt cy ti liu.
2.3.2. Biu din ti liu XML theo dng bng ca CSDL quan h
Nh trnh by trn, ti liu XML l mt cy (theo m hnh DOM) bao gm cc
nt (node). Nhng nt ny ni dung c th cha phn t (element), d liu (text), cc thuc
tnh (attribute), v cc nt con khc. Hnh sau minh ha vic biu din ti liu XML theo
dng bng (Hnh 2.25):

Hnh 2.25: Biu din ti liu XML theo dng bng

chuyn mt ti liu XML di dng cy sang dng bng ta s dng thut ton
sau:
Thut ton:
Bc 1: Duyt qua tt c cc nt ca cy theo m hnh DOM, bt u t nt gc
theo phng php quy.
Bc 2: Xy dng mt hm kim tra v x l nt ca cy ti liu DOM. i
vi mi nt hin hnh m c nt con th hm quy tm su xung cc nt bn di v
hnh thnh mt DOM tng ng cho nt.
Bc 3: Vi m hnh DOM thu c, thc hin mt nh x cc phn t, cc
thuc tnh vi gi tr tng ng thnh cc quan h, thuc tnh v gi tr tng ng ca bng
CSDL quan h.

8
2.3.3. Chuyn mt CSDL quan h sang mt ti liu XML
chuyn mt CSDL quan h thnh mt ti liu XML, ta thc hin to ngun d
liu ODBC t cc CSDL quan h phi chun (s dng cng c Administrative Tools ca
Windows), sau thc hin thut ton sau:
Thut ton:
Bc 1: Xy dng lp kt ni vi ODBC kt ni d liu c xy dng trong
mi trng Microsoft Access, MySQL hay Microsoft SQL Server.
Bc 2: To cc kt ni trn cc CSDL quan h cn chuyn i thnh ti liu
XML thng qua cc truy vn SQL.
Bc 3: Chuyn i d liu kt ni sang ti liu XML thng qua cc nguyn
tc nh x trnh by.
2.4. Ci t thut ton
Thut ton c ci t bng ngn ng lp trnh C#. Cc CSDL quan h c s
dng trong chng trnh c to lp t mi trng CSDL Microsoft Access hay
Microsoft SQL Server. Cc ti liu XML c th c to lp trong mi trng EditPlus,
WordPad, NotePad, XML Editor,
2.4.1. c ti liu XML di dng DOM
Mt ti liu XML c c vo chng trnh c hin th di dng mt cu trc
hnh cy.
// To mt ti liu XML theo m hnh DOM c sn d liu
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("HocVien.xml"));
// Khi to i tng iu khin TreeView
TreeView1.Nodes.Clear();
TreeView1.Nodes.Add(new TreeNode(xmlDoc.DocumentElement.Name));
TreeNode tNode = new TreeNode();
tNode = TreeView1.Nodes[0];
// Hin th ln TreeView theo m hnh DOM
AddNode(xmlDoc.DocumentElement, tNode);
TreeView1.ExpandAll();
// Thm Node
XmlNode xNode;
TreeNode tNode;
XmlNodeList xNodeList;
int i;
// Kim tra tp tin XML
// Thm cc Node vo TreeView trong qu trnh lp
if (xmlNode.HasChildNodes)
{
xNodeList = xmlNode.ChildNodes;
// Ly danh sch cc phn t con ca Node
for (i = 0; i <= xNodeList.Count - 1; i++)
{
xNode = xmlNode.ChildNodes[i];
treeNode.ChildNodes.Add(new TreeNode(xNode.Name));

9
tNode = treeNode.ChildNodes[i];
AddNode(xNode, tNode);
}
}
else
{
// in gi tr ly c tp tin xml vo node cy TreeView
treeNode.Text = (xmlNode.OuterXml).Trim();
}
2.4.2. Chuyn i mt ti liu XML thnh CSDL quan h
Mt ti liu XML c to lp theo ng cu trc yu cu s c chuyn i v
hin th di dng mt bng CSDL quan h.
// Khi to v ti ti liu XML
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(fileName);
// Ly danh sch cc Node ca ti liu XML
XmlNodeList xmlNodeList = xmlDocument.GetElementsByTagName(nodeName);
// Khi to i tng Table
Table table = new Table();
// Duyt qua cc Node ca XML thm vo Table
foreach (XmlNode xmlNode in xmlNodeList)
{
TableRow tableRow = new TableRow();
TableCell tableCell = new TableCell();
tableCell.Text = "HocVienID";
tableCell = new TableCell();
tableCell.Wrap = false;
tableCell.BorderWidth = 1;
tableCell.Text = xmlNode.Attributes["HocVienID"].Value;
tableRow.Cells.Add(tableCell);
foreach (XmlElement xmlElement in xmlNode.ChildNodes)
{
tableCell = new TableCell();
tableCell.Wrap = false;
tableCell.BorderWidth = 1;
tableCell.Text = xmlElement.InnerText;
tableRow.Cells.Add(tableCell);
}
table.Rows.Add(tableRow);
}
Kt qu thc hin thut ton chuyn i ti liu XML sang c s d liu quan h
nh hnh minh ha sau (Hnh 2.26):

10

Hnh 2.26: Chuynti liu XML sang c s d liu quan h

2.4.3. Chuyn mt CSDL quan h thnh mt ti liu XML
chuyn mt CSDL quan h c to lp t mi trng Microsoft SQL Server,
MySQL, Microsoft Access,... thnh mt ti liu XML. C th, chng ta thc hin ci t
th nghim trong cc mi trng nh sau:

a) Ci t trn mi trng Microsoft SQL Server:
// Chuyn CSDL c to trong mi trng Microsoft SQL Server sang ti liu XML
nh sau:
protected void btnCSDLSQLSERVER_Click(object sender, EventArgs e)
{
// To thng tin kt ni.
string strConnection = "server=lan_ttts;uid=sa;database=quanlyhv;password=lannt";
// To thng tin v i tng kt ni.
SqlConnection conn;
SqlDataAdapter dad;
try
{
conn = new SqlConnection(strConnection);
// To cu lnh T-SQL.
string sql = "SELECT tblLICHHOC.NgayHoc, tblLOP.TenLop,
tblTHOIKHOABIEU.phongHoc FROM tblLOP INNER JOIN tblTHOIKHOABIEU ON
tblLOP.LopID = tblTHOIKHOABIEU.LopID INNER JOIN tblLICHHOC ON
tblTHOIKHOABIEU.LichHocID = tblLICHHOC.LichHocID";
// To i tng cu lnh T-SQL.
dad = new SqlDataAdapter(sql, conn);
conn.Open();
DataSet ds = new DataSet();
dad.Fill(ds, "DS_LICHHOC");
// Ghi sang tp tin XML.
ds.WriteXml(Server.MapPath("DS_LICHHOC.xml");
conn.Close();
}

11
catch (Exception)
{
Page.Controls.Add(new LiteralControl("<script language='javascript'>
window.alert(\"Li kt ni CSDL Microsoft SQL Server!\"); <" +
"/script>"));
}
}// Kt thc btnCSDLSQLSERVER_Click()

b) Ci t trn mi trng MySQL
// Chuyn CSDL c to trong mi trng MySQL sang ti liu XML nh sau:
protected void btnCSDLMYSQL_Click(object sender, EventArgs e)
{
// To thng tin kt ni.
string dsr = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=quanlyhv;
uid = root; pwd=;option=3";
// To cu lnh T-SQL.
string sql = "SELECT HocVienID, LopID, TenHocVien, GioiTinh, NamSinh,
DiaChi, DienThoai, DoiTuong, LoaiHinhID, GiaoVien_ID FROM tblHocVien";
// To thng tin v i tng kt ni.
try
{
OdbcConnection con = new OdbcConnection(dsr);
OdbcDataAdapter dad = new OdbcDataAdapter(sql, con);
con.Open();
DataSet ds = new DataSet();
dad.Fill(ds, "DS_HocVien");
dg.DataSource = ds.Tables["DS_HocVien"].DefaultView;
dg.DataBind(); ds.WriteXml(Server.MapPath("DS_HocVien.xml",
XmlWriteMode.IgnoreSchema);
// Hin th ti liu vo trong TextBox
TextBox1.Text = ds.GetXml();
con.Close();
}
catch (Exception)
{
Page.Controls.Add(new LiteralControl("<script language='javascript'>
window.alert(\"Li kt ni CSDL MySQL!\"); <" + "/script>"));
}
}// Kt thc btnCSDLMYSQL_Click()

c) Ci t trn mi trng Microsoft Access 2003
// Chuyn CSDL c to trong mi trng MySQL sang ti liu XML nh sau:
protected void btnCSDLMSA_Click(object sender, EventArgs e)
{
// To thng tin kt ni.

12
string dsr = "Provider=Microsoft.Jet.OLEDB.4.0; data source=" +
Server.MapPath("quanlyhv.mdb");
// To cu lnh T-SQL.
string sql = "SELECT HocVienID, LopID, TenHocVien, GioiTinh, NamSinh, DiaChi,
DienThoai, DoiTuong, LoaiHinhID, GiaoVien_ID FROM tblHocVien";
// To thng tin v i tng kt ni.
try
{
OleDbConnection con = new OleDbConnection(dsr);
con.Open();
OleDbDataAdapter dad = new OleDbDataAdapter(sql, con);
DataSet ds = new DataSet();
dad.Fill(ds, "DS_HocVien");
dg.DataSource = ds.Tables["DS_HocVien"].DefaultView;
dg.DataBind();
ds.WriteXml(Server.MapPath("DS_HocVien.xml"), XmlWriteMode.IgnoreSchema);
// Hin th ti liu vo trong TextBox
TextBox1.Text = ds.GetXml();
con.Close();
}
catch (Exception)
{
Page.Controls.Add(new LiteralControl("<script language='javascript'>
window.alert(\"Li kt ni CSDL Microsoft Access!\"); <" + "/script>"));
}
}// Kt thc btnCSDLMSA_Click()

d) Hin th ni dung ti liu XML
// Hin th tp tin XML vo i tng GridView.
void showXmlData(string fileName)
{
DataSet dataSet = new DataSet();
dataSet.ReadXml(fileName);
if (dataSet != null)
{
GridView1.DataSource = dataSet.Tables[0];
GridView1.DataBind();
}
}}// Kt thc showXmlData(string)


13
Kt qu thc hin thut ton chuyn i c s d liu quan h sang ti liu XML
nh hnh minh ha sau (Hnh 2.27):

Hnh 2.27: Chuyn mt CSDL sang ti liu XML

2.5. Kt lun chng 2
Chng 2 trnh by nhng mi lin h v ni dung ca mt CSDL quan h vi ni
dung ca mt ti liu XML, ng thi a ra phng php lun chuyn mt CSDL
quan h thnh mt ti liu XML v ngc li. S dng cc cu lnh truy vn XML v da
trn cc quy tc nh x n gin, d hiu v chnh xc. Ngoi ra, chng ny cn a ra
cch ci t c th cho cc thut ton chuyn i gia CSDL quan h v XML, cch
chuyn i mt CSDL sang XML v ngc li.

CHNG 3
CHNG TRNH TH NGHIM

Thut ton tch hp cc c s d liu quan h v XML, biu din ti liu XML theo
m hnh DOM, biu din ti liu XML theo dng bng, chuyn c s d liu sang ti liu
XML, chuyn ti liu XML sang c s d liu c ci t v th nghim bng ngn ng
lp trnh C# trong mi trng ASP.NET, c s d liu Microsoft SQL Server. Trn c s
, xy dng chng trnh th nghim Qun l hc vin ti Trung tm tin hc v ngoi
ng trng Cao ng Cng nghip Nam nh.
3.1. Mn hnh chnh ca h thng
L ni bt u cho mi chc nng ca h thng, nhm cung cp mt ci nhn tng
th cho ngi s dng (Hnh 3.1).

14

Hnh 3.1: Giao din tng quan ca h thng

3.2. Chc nng ng nhp h thng
Khi ngi qun tr ng nhp ng tn ng nhp v mt khu th h thng s
chuyn n trang qun l h thng. Tn ng nhp v mt khu c lu tr trong c s
d liu Microsoft SQL Server (Hnh 3.2).
Hnh 3.2: Mn hnh ng nhp vo qun l h thng

3.3. Chc nng ng k hc tp
Ngi hc in cc thng tin vo phiu ng k v gi thng tin ng k n b
phn xt v tip nhn h s ng k hc thng qua chc nng ng k (Hnh 3.3).

15

Hnh 3.3: Mn hnh ng k

3.4. Chc nng bo co thng k
Sau mi t ng k hc tp ca hc vin b phn xt duyt h s cn lp bo co
thng k v gi danh sch nhng hc vin ang theo hc ti trung tm theo tng t cho
b phn tng hp bo co vi lnh o nh sau (Hnh 3.4).

Hnh 3.4: Danh sch hc sinh sinh vin ng k hc tp ti trung tm

3.5. Chc nng tm kim thng tin
Tra cu theo cc tiu ch: tn, a ch, loi hnh hc tp. Chng hn, ta chn tiu ch
tm kim Tn hc vin, kt qu tm thy v hin th mn hnh sau (Hnh 3.5).

16
Hnh 3.5: Kt qu tra cu thng tin hc vin

3.6. Mt s kt qu ci t thut ton
Ngoi mt s chc nng c bn trn, chng trnh th nghim lun vn Chuyn i
gia s d liu quan h v XML cn minh ha cc thut ton chuyn i t XML sang
CSDL v ngc li.
a) Biu din ti liu XML theo dng cy: to ti liu XML bng cch c mt
trong cc CSDL quan h nh Microsoft SQL Server, MySQL, Microsoft Access thng qua
cc chc nng: Hin th XML t SQL Server, Hin th XML t MySQL, Hin th XML t
MS Access. Sau hin th ti liu XML ny di dng cy bi chc nng Biu din theo
DOM (Hnh 3.6).





Hnh 3.6: Kt qu biu din ti liu XML theo DOM

17
b) Biu din ti liu XML dng bng: to ti liu XML bng cch c mt trong cc
CSDL quan h nh Microsoft SQL Server, MySQL, Microsoft Access thng qua cc chc
nng: Hin th XML t SQL Server, Hin th XML t MySQL, Hin th XML t MS Access.
Sau hin th ti liu XML ny di dng bng bi chc nng Biu din XML dng bng
(Hnh 3.7).


Hnh 3.7: Kt qu biu din ti liu XML theo dng bng

c) Chuyn c s d liu sang ti liu XML: c cc bng trong CSDL quan h chng
hn nh Microsoft SQL Server, MySQL, Microsoft Access thng qua cc chc nng: Chuyn
SQL Server sang XML, Chuyn MySQL sang XML, Chuyn MS Access sang XML, sau
chuyn thnh ti liu XML tng ng (Hnh 3.8).

Hnh 3.8: Kt qu chuyn i t CSDL sang ti liu XML

d) Chuyn ti liu XML sang c s d liu: c ti liu XML, sau chuyn sang
mt trong cc CSDL nh Microsoft SQL Server, MySQL, Microsoft Access bi cc chc

18
nng: Chuyn XML sang SQL Server, Chuyn XML sang MySQL, Chuyn XML sang
Access (Hnh 3.9).



Hnh 3.9: Kt qu chuyn i t XML sang CSDL quan h

KT LUN

Cc kt qu t c ca lun vn:
Trnh by tng quan v cu trc mt ti liu XML, nh ngha kiu t liu DTD,
lc , m hnh i tng ti liu DOM, phn tch ti liu XML theo m hnh DOM v cc
khi nim CSDL quan h.
Gii thiu cc thut ton chuyn mt ti liu XML sang mt CSDL quan h v
ngc li.
Xy dng thut ton chuyn i gia CSDL quan h v XML.
Ci t c thut ton bng ngn ng lp trnh C# trong mi trng ASP.NET.
Trn c s xy dng phn mm ng dng Qun l hc vin ti Trung tm tin hc v ngoi
ng trng Cao ng Cng nghip Nam nh.
Mt s hn ch ca lun vn:
Thut ton chuyn i c phc tp O(n
2
) cn cha ti u.
C s d liu s dng trong chng trnh cha hon thin.
Vic vit code cha bt li ca ngi s dng mt cch cht ch.
Hng nghin cu tip theo:
Trong tng lai, lun vn c th c pht trin h tr cho vic phc hi cc
CSDL quan h gc t cc ti liu XML c chuyn i trong qu trnh trao i d liu
Hon thin h thng thng tin Qun l hc vin cng l hng pht trin ca
ti nhm p ng cao hn na cc yu cu s dng ring ca Trung tm tin hc v ngoi ng
Trng Cao ng Cng nghip Nam nh.


19
References
Ting Vit
1. Nguyn Tin, ng Xun Hng, Nguyn Vn Hoi, Nguyn Tun Ngc (2001), Nhp
mn XML thc hnh v ng dng, NXB Thng k.
2. Christopher Allen (2004), Nhp mn v C s d liu quan h v Lp trnh SQL,
NXB Thng k.
3. L Minh Hong (2006), Cc th thut trong HTML v thit k Web, NXB Lao ng
X hi.
4. L Tin Vng (2000), Nhp mn c s d liu quan h, NXB Thng k.
5. Nguyn Ngc Bnh Phng, Thi Kim Phng, L Ngc Sn, Nguyn Hong Thanh
Nhn (2007), Cc gii php lp trnh ASP.NET 2.0, Nh sch t Vit.
6. Nguyn Phng Lan (2003), XML nn tng v ng dng, NXB Lao ng X hi.
7. Nguyn Th Ngc Mai (2007), L thuyt c s d liu - Tp1, 2, NXB Lao ng X
hi.
8. Nguyn Thin Bng, Hong c Hi, Phng Lan (2005), Gio trnh nhp mn
XML, NXB Lao ng X hi.
9. Phm Hu Khang (2005), Lp trnh ASP.Net 2.0, NXB Lao ng X hi.
10. Phm Hu Khang (2007), SQL Server 2005 - Lp Trnh T-SQL, NXB Lao ng
X hi.
11. Phng Lan, Hong c Hi (2002), Lp trnh Windows vi C#. Net, NXB Lao
ng X hi.
Ting Anh
12. Ash Rofail and R. Allen Wyke (2002), XML Programming (Core Reference)
Published by Microsoft Corporation.
13. Bhavani Thuraisingham (2002), XML Databases and the Semantic Web, Published
by CRC Press.
14. Bipin Joshi (2008), Beginning XML with C# 2008: From Novice to Professional,
Published by Apress.
15. KevinWilliams, Michael Brundage, Patrick Dengler, Jeff Gabriel, Andy Hoskinson,
Michael Kay, Thomas Maxwell, Marcelo Ochoa, Johnny Papa, Mohan Vanmane (2000),
Professional XML Databases, Published by Wrox Press Ltd.
16. Vidya Vrat Agarwal, James Huddleston, Ranga Raghuram, Syed Fahad Gilani, Jacob
Hammer Pedersen, and Jon Reid (2007), Beginning C# 2008 Databases: From Novice to
Professional, Published by Apress.
Ngun t cc website
17. http://www.ifla.org/IV/ifla64/138-161e.htm
18. http://www.w3.org/TR/REC-xml/)
19. http://www.w3.org/standards/xml/
20. www.xml.com
21. http://www.w3schools.com/xml/default.asp
22. http://vi.wikipedia.org

You might also like