1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu sự tích hợp xml vào sql server 2000, xây dựng ứng dụng hỗ trợ đào tạo từ xa của trung tâm tin học

100 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu sự tích hợp XML vào SQL Server 2000, xây dựng ứng dụng hỗ trợ đào tạo từ xa của trung tâm tin học
Tác giả ThS. Nguyễn Phước Điểm, Ma Thế Kiệt
Người hướng dẫn Thầy Nguyễn Phương Hoàng
Trường học Trường đại học Công nghệ Thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Kỹ thuật phần mềm, Công nghệ Thông tin
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2005
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 100
Dung lượng 34,7 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

The nay cling la nai b~n dinh nghla ngon ngfr sir d\lllg trong dfr li~u XML.DiSu nay quan tn;mg nSu dfr li~u cua chung ta co chua cac kYtl,rkhong n~mtrong t~p kYtl,rASCII.. Chuang 1 :T6n

Trang 1

TRUONG D.;.I HQC DAN L~P NGO.;.I NGU-TIN HQC TP.HCM

KHOA CONG NGHt THONG TIN

VAO SQL SERVER 2000 XA Y DVNG

CVA TRUNG TAM TIN HOC

• ".,- - ' -, -:-- ,

GIANG VIEN HUC1NG DAN

SINH VIEN THUe HIEN

ThS Nguyen Phuac D~i Ma:Th~ Ki~t

1/1

/

TP HO CHi MINH - 2005

Trang 2

va th\IC hi~n dS tai nay.

Em xin chan thanh cam on Thciy Nguy~n Phuoc D~i va Thciy Nguy~nPhuong Hoang da: t~n tinh huang d~n va chi bao em trong suBt qua trinh th\IChi~n dS tai

Em cling xin chan thanh cam em cac anh chi, b~n be da: giup do em vuQ1qua nhfrng kh6 khan trong qua trinh th\Ic hi~n dS tai nay cling nhu trong thaiglan qua

Con xin chan thanh gm d~n cha m~, va cac co, chu long bi~t an vi nhfrnglai dong vien, nhfrng S\I h6 trQ'h~t minh ca v~t chftt va tinh thcin trong suBt thaigian con hoc ~p

M~c du em da: cB gfug hoan thanh dS tai voi tftt ca S\I n6 l\Ic cua ban thannhung ch~c chfu khong tranh kh6i nhfrng thi~u s6t nhftt dinh, kinh mong S\Ithong cam va t~n tinh chi bao cua quy thciy co va cac b~n

Mot lcin mia em xin chan thanh cam on

TP HCM, thang 7 nam 2005

Sinh vien th\Ic hi~nMa: Th~ Ki~t

Trang 3

Phan I: Nghien CU'll S., Tich HQ'p XML Vito SQL Server 2000

2.2 Cac thanh phAn va cong q.l Clla SQL Server 2000 Trang 13

Chuang 3 : Nghien ClmS\Itich hqp XML van SQL Server 2000 Trang 17

Trang 4

3.3 Til' Kh6a OPENXML Trang 33

Trang 6

ChU011g 1 :T6ng Quan VS XML Trang 1

1.1.Ngu8n Gac ella XML :

XML (Extensible Markup Language) Iii.ngon ngfr dinh d?ng rna rong, nodu<;ycdinh nghia bai t6 chuc m?ng toan cfiu ( World Wide Web Consortium) vi6tt~t Iii.W3C v&i dia chi Internet Iii.:http://www.w3c.org Day Iii.mot t6 chuc qu6ct6 dinh ra cac chuful cua Web vii.Internet XML ra do; dl,l'atren chufin ngon ngfrdinh d?llg t6ng quat SGML ( Standard Generalized Markup Language) SGMLIii.ngon ngfr dinh d?ng rfit t6ng quat nhung kh:i phuc t?P vii.khong th~t phil hgp

dS trao d6i dfr li~u qua Web Co hai lo?i ngon ngfr danh dfiu tieu biSu d\Ia trenSGML Iii.ngon ngfr danh dfiu dinh s~n ( Specific Markup) d?i di~n Iii HTML(Hypertext Markup Language) vii.ngon ngfr danh dfiu t6ng quat (GeneralizedMarkup) d?i di~n Iii.XML Tuy HTML da: thil.nh cong vang doi song no cling bih?n ch6 trong vi~c mo til.dfr li~u Vi th6 S\l'ra dai cua XML da: kh~c ph\lc h?nch6 tren

Trang 7

Khong gi6ng nhu HTML, ten cac the clla XML la do chung ta t\! dinhnghIa theo yeu cAu Clla minh Tuy nhien cac the cling phai tuan theo mot s6 quydinh Clla chuful XML.

1.3.1 The <?xml?> :

Day khong phai la mot the XML th\!c S\!, rna chi la mot the d~c bi~t chi

dinh chi thi (processing instruction) xu ly d~c bi~t machi thuemg nfun 0 dongdAu tien clla moi tai li~u XML, va c6 th~ dung d~ chi dinh phien ban va thong tinngon ngfr

Vi d1,1 :

<?xml version=" 1.0" encoding="UTF-8" standalone="yes"?>

Version chi dinh phien bim Clla XML Hi~n nay XML chi m6i c6 mOtphien ban la 1.0 Tuy khai bao version clla XML la my chon nhrmg W3C khuySnkhich nen dung vi dnh luang minh cua tai li~u XML

Trang 8

Chuang 1 :T6ng Quan VS XML Trang 3

ThuQc tinh standalone co hai gia tri 1a"yes" ho~c "no" Gia tri "yes" chi rarfuIg tai li~u XML duc,1cchua trong mQtfile duy nh~t khong tham chi~u d~n b~tkYtai li~u nao khac Gia tri "no" chi ra tai li~u XML co tham chi~u t6i cac taili~u khac

The nay cling la nai b~n dinh nghla ngon ngfr sir d\lllg trong dfr li~u XML.DiSu nay quan tn;mg nSu dfr li~u cua chung ta co chua cac kYtl,rkhong n~mtrong t~p kYtl,rASCII Chung ta co thS chi djnh t~p kYtl,Ib~ng cach them cacthuQc tinh encoding vao :

<?xml version=" 1.0" encoding=~'UTF-8"?>

Sau day la danh sach cac ngon ngfr thong d\lllg va t~p ky tl,rcua no

Trang 9

1.3.3 Empty Tag (The rBng) :

NSu ta dUng XML dS mo tit dfr li~u, thi co thS mot s6 truOng se khong codfr li~u Trang truOng hqp nay the se r6ng Cac the r6ng trong XML co thS dinhnghla theo hai cacho Cach d~u tien la dung mot the mO'va the dong khong co noidung:

Trang 10

Chuang 1 :T6ng Quan VS XML Trang 5

Mot tai li~u XML phai chua d\l11gduy nh~t mot ph~n tlr g6e (root tag).Cae ph~n tlr khae nSu co, phai la con eua phfu tlr g6e

Vi d1,l,chUng ta xet vi d1,l"Tae gia" sau :

<?xml version=" 1.0" eneoding="UTF-8" standalone="yes" ?>

a day the g6e la <CaeTaeGia>

DiSu nay la hQ'Pl~ vi chi co mot Tuy nhien, tai li~u XML sau se khong hQ'Pl~ :

Trang 11

Chuang 1 :T6ng Quan VS XML Trang 6

1.3.5 Attribute ( Thuoc tinh) :

Thuoc tinh cho phep xac dinh them thong tin va y nghla cua the Thuoctinh duqc dtit ben trong the rna hotic the ding DS gan gia tri cho thuoc tinh tadUng d~u b~ng (=)

Vi d1,1: The IMG co thuoc tinh Ia SRC va co gia tri la "image.gif'

<IMG SRC="irnage.gif'/>

1.3.6 SU'phan biet chii' hoa va thU'imgtrong ten the:

Mot yeu d.u nfra trong XML Ia cac the phan bi~t chfr hoa va chfr thuemg,

vi v~y cac the rna va dong phai gi6ng nhau vS chfr hoa va chfr thuemg

Vi d1,1dong sau Ia khong hgp I~ vi the dong va rna khong gi6ng nhau :

<TenThe><henThe>

1.3.7 Chu thich trong XML :

Trang 12

Chuong 1 :T6ng Quan V~ XML Trang 7

Chu thich giup ta hiSu ro hon mot phfuJ tu mlo do trong c~u truc tai li~u

XML Tuong tl,Inhu HTML mot chu thich du<;ycb~t d~u bAng chu6i kY tl,Irna

<! va du<;yckch thuc bAng chu6i dong >

1.3.8 Namespace ( Khong gian ten ):

Mot v~n d~ vai XML 1£1h~u nhu chung ta co thS cho mot ph~n tu b~t Cll

ten nao ta mu6n Tir do se co kha nang cac ten trong cae tai li~u XML khac nhau

co thS trling nhau, va nhu v~y se miy sinh tra ng;;titrong cac v~n d~ trao d6i haykch hqp dfr Ii~u tir cac ngu6n khac nhau Vi v~y, XML dung Namespace dS giaiquych v~ d~ tren

Namespace du<;ycthem vao tai Ii~u XML b~ng cach dinh nghla thuoc tinhxmlns (XML NameSpace) trong the g6c di kern vai mot URI (Uniform ResourceIdentifier - Djnh danh tai nguyen duy nh~t) URI nay Ia mot ten co thS xac dinhduy nh~t namespace URI cho phep di~n d;;ttcach troy tim tai nguyen tren

Internet URI t~p trung nhi~u vao khai ni~m tai nguyen hon Ia vi tri th~t Sl,Inai

Trang 13

Chuang 1 :T6ng Quan VS XML Trang 8

tiii nguyen dijt dS Tren th\Ic tS, khai ni~m vS URI vfu1 con dang phM triSn viiURL (Uniform Resource Locator) thuemg duO'c dUng trong khai bao

Namespace URL Iii di~ chi lien kSt dUng dS chi ra vi tri dijt tiii nguyen, vii hi~nnay URL duO'c dung nit ph6 biSn trong Internet

Mot Namespace duO'c khai bao nhu sau

xmlns:[prefix]="URI hoijc URL" prefix Iii ten gOi ng~n gon cho URIhoijc URL

DS kiSm tra tinh dUng d~n cua mot tiii li~u XML co chua dfr li~u ,W3C dffdua ra hai tieu chufin : tiii li~u hO'Pkhuon d~ng (well-formed) vii tiii li~u h<;Ypl~(valid)

1.4.1 Tili Lieu HQ'pKhuon Dang (well-form).1

DS h<;Ypkhuon d~g, mot tiii li~u XML phai theo dung cac luat sau day:

• Khai bao vS tiii li~u XML phai duO'c dijt adong dfiu cua tiii li~u

• Tiii li~u XML chi co mot phk tU g6c, cac phfin tu khac nSu co, phai Iiicon cua phk tu g6c

MOi phfin tu khac r6ng phai bao g6m dfiy du mot the dong vii mot the rna.

• Cac phfin tU 16ng nhau phai co the dong, the rna h<;Ypvi tri

• Cac the trong XML thi co S\I phan bi~t gifra chfr hoa viithuang (casesensitive) do do the rna va the dong phai duO'c danh vfin y nhu nhau

Trang 14

Chuang I :T6ng Quan VS XML Trang 9

• M6i ph~n tU con (child element) phai n~m tron ben trong ph~n tu cha clla

va tuan theo chu~n DTD da duO'c dinh nghia

1.5 Mot sa. U'u di€m ella XML :

B6i v6i nhUng tmg dl,ll1gc~ co Sl)'trao d6i, chia se dfr li~u gifra cac h~th6ng thi vfuI dS h~ th6ng nh?n co thS "hiSu" duO'c noi dung dfr li~u do h~ th6ngcho gtri dSn Ia mot ySu t6 quan trong Ba co nhiSu giai phap da duO'c dS ra va apd1,1ngdS giai quySt vfin dS nay Trong do vi~c dUng XML lam ngon ngfr trunggian dS truySn dfr li~u gifra cac h~ th6ng nay Ia mot giai phap rfit hi~u qua Boi

-vi:

Tai li~u XML Ia mot tai li~u thu~ "text" do do co thS duO'c "hiSu" boinhiSu h~ th6ng Ben c~nh do tai Ii~u XML con cho phep I~p trinh vien co thS d~dang kiSm tra nhUng dfr Ii~u nay

XML con cho phep mo ta Sl)'phan cfip cua dfr li~u, thong qua cac theXML ta co thS d~ dang dinh nghia duO'c quan h~ gifra cac dfr Ii~u ho~c cac quy

Trang 15

Chuang 1 :Tong Quan Ve XML Trang 10

dinh nghi~p V\l (business rules) Do do ta co thS d~ dang dung XML dS luu tmdfr li~u quan h~

Ben qmh do vi tai li~u XML con h6 tr9' cac kY tl,r Unicode do do tai li~uXMI co thS biSu di~n du9'c nhiSu lo~i ngon ngfr,cac kY tl,f d?c bi~t khac nhau

Cac nha phM triSn cong ngh~ dl,fa tren XML dS t~o ra cac ngon ngfr khacg<;>ila ngon ngfr dinh d~ng dl,fa tren XML (XML Based Language) nhu :

~ MathML su d\lllg XML dS dinh d~g cac biSu thuc va cac kY tl,rtoano

~ SMIL (Synchronized Multimedia Integration Language) la giai phap nh~mkh~c ph\lc vfrn dS xu ly cac file multimedia trong trinh duy~t

~ XHTML la trng d\lllg XML dUngrna rong va dinh nghla l~i ngon ngfr dinhd~ng HTML mot cach co tr~t tl,rva co cfru truc han

~ XUL ( Extensible User Interface Language) ngon ngfr cfru hinh giao di~nnguai dUng du9'c Microsoft va Netscape dUng dS cfru hinh trinh duy~t

~ Ngon ngfr dinh d~ng bao cao ( Extensible Business Reporting Language) :cac trinh trng d\lng vS tai chinh va quan ly co thS rut trich dfr li~u trong cactai li~u giIi dSn dS xay dl,fllg nen cac bim bao cao ph\lc V\l cho vi~c phantich va dl,f doan tinh hinh san xu~t kinh doanh

~ WML (Wireless Markup Language) : Ngon ngfr dinh d~g m~ng khongday la ngon ngfr djnh d~ng thay cho HTML, h6 tr9' xay dl,fllg cac trangWeb ph\lc V\l cho kSt n6i tir di~n tho~i di dong f)?C diSm cua WML la t~o

Trang 16

Chuang 1 :T6ng Quan VS XML Trang 11

nen cac trang nh6 gon, hiSn thi tren mim hinh di~n tho?i di dong khong thua gi trang HTML hiSn thi tren man hinh may tinh.

~ SOAP ( Simple Object Access Protocol) - Giao thuc troy c~p d6i tuO'nggian dan: cho phep cac thanh phfrn d6i tuO'ng va trng d\mg Internet co thSd~ dang trao d6i v6i nhau thong qua chufrn giao thuc HTTP Hi~n naySOAP dang dfrntrathanh nSn tang cua h~ diSu hanh Windows va 1£1phfrndinh nghla quan trong trong bo cong Cl,l philt triSn Visual Studio.Net

~ SVG ( Scalable Vector Graphics) dung dS mo til dE>hoa hai chiSu

Trang 17

SERVER 2000

2.1 GiOi thieu SQL Server 2000 :

SQL viSt t~t bai : Structure Query Language - ngen ngfr truy v~n co c~utruc

Mircosoft SQL Server 2000 la san phfun hang d~u cua Microsoft vSphuong ti~n co sa dfr li~u, no da b6 sung nhiSu chuc nang ti~n ich han SQLServer 7.0 va lam phong phu them nhfrng net d~c trung dl,l'atren nSn tang la SQLServer 7.0 Han thS nfra, SQL Server 2000 co thS ch:;1ytrong cac h~ diSu hanh

Windows NT 4.0 (tiI Service Pack tralen), Windows 2000, Windows 98 ho~cWindows ME, Windows XP,Win Server 2003

Microsoft SQL Server la mot h~ quim tri co sa dfr li~u m:;1nhco tinh rna,

dang tin c~y, la h~ quan tri co sa dfr li~u theo me hinh Client/Server va co thS dSdang phat triSn theo me hinh dfr li~u phan tan

Microsoft SQL Server 2000 la mot ceng C\l thiSt kS, diSu khiSn va quan

tri co sa dfr li~u, cac biSn c6 server, cac SQL Server Object va SQL Server v6itinh thl,l'cthi cao

Trang 18

Chuang 2 : T6ng Quan VS SQL Server 2000

2.2 Cae thanh phin va eong ell ella SQL Server 2000 :

Trang 13

Thanh phfuI ca sa dfr li~u:

~ Databases: Co lUll trfr cac d6i tm;mg duQ'c dung dS trinh bay, qmin ly vatruy c~p CSDL

~ Tables: LUll trfr cac dfr li~u va xac djnh cac quan h~ gifra cac table

~ Database Diagrams: Trinh bay cac d6i tuqng CSDL duai dc;mgd6 hoa vadam bilO cho ta giao tiSp voi CSDL rna khong cfuI thong qua cac

Transact_ SQL

~ User defined function: Ham do nguai dung dinh nghia

~ Roles: Cac qui djnh vai tro va chuc nang trong h~ th6ng SQL Server

~ Rules: Nhfrng quy t~c

~ Defaults: Cac gia thim~c nhien

~ Stored Procedure: Thu t\lC va ham noi La mot d6i tuqng xay d\l11gbai

nhfrng phat biSu cua SQL Server T~t ca ngfrng ph<it biSu SQL duQ'c viStduoi dc;mgmot d6i tuqng cua SQL Server la Stored Procedure StoredProcedure duQ'c lUll trfr nhu mot phfuI cua ca sa dfr li~u M6i khi mu6nthl,lCthi chi cfuI gOi chung tuang tl,l nhu goi thl,lCthi thu t\lC ho~c ham

~ Trigger: la mot dang d~t bi~t cua Stored Procedure dung dS phan h6i motSl,l ki~n C\l thS Trigger g6m mot doc;mrna duQ'c g~n vao bang dfr li~u,chung tl,l dong thl,lCthi khi co mot Sl,lki~n xay ra tuang trng voi Triggergan cho Sl,lki~n do

~ View: la khung nhin ( bang ao) dl,la tren kSt qua cua vi~c kSt n6i cac bang

co quan h~ l(,livoi nhau

SQL Server 2000 cho ta dS dang sua d6i:

Trang 19

Chuang 2 : T6ng Quan VS SQL Server 2000 Trang 14

.'

~ Sua d6i c~u trUc clla clla cac bang

~ Djnh l(,1icac m6i quan h~ va tinh ch~t clla cac m6i quan h~ gifra cac bang

~ Quan tri tn,rc quan d\Ia tren giao di~n Microsoft Manegement Console.Cung c~p cong C\l h6 trg m(,lllhtrong cac thao tac nhu:

~ Dang kY Server, t(,10m&i database, cac table, cac chi ml,lCcac StoreProcedure, cac trigger, cac trang Web, va tinh nang d~c bi~t h~n SQLServer 7.0 la no giup d~ dang th\Ic hi~n cac thao tac import, export dfrli~u

~ Cung c~p giao di~n d6 ho(,1phan tich cac cau l~nh truy v~n dfr li~u

~ H6 trg OLEDB

Cac cong C\l clla SQL Server 2000:

~ Book Online: cong C\l cung c~p thong tin dung dS tra Clm toan di~n vSSQL, day la bl) trg giup kern theo SQL Server2000

~ Client network utility: cong C\l dUng dS thiSt l~p, tham khao cac c~u hinhm(,lllg,giao thuc truySn cho Client, cac di.rang dful tham khao dSn thu vi~n

~ Enterprise manager: thanh ph~n chinh clla SQL Server dung dS:

• Quan tri cac Database

• T(,1oDatabase va cac thanh ph~n ben trong Database

• Dang kY lam vi~c v6i ca chUng ta SQL Server khac

• Ti.r thanh ph~n nay ta co thS g<;)ith\Ic hi~n thanh ph~n khacClla SQL Server

~ Import and export Data: cong Cl,lcho phep d~ dang th\Ic hi~n vi~c chuySndfr li~u ti.rngoai SQL Server va ti.rSQL Server ra, dfr li~u bao g6m cacd(,lllgdatabase, SpreadSheet va text file

Trang 20

Chuang 2 : T6ng Quan VS SQL Server 2000 Trang 15

>- Query Analyze: Cong C\l dung dS thi hanh cac diu l~nh ho?c cac t~p tinchua cac cau l~nh SQL Vai giao di~n d6 hoa thS hi~n cac phan tich giathanh khi th\1'Chi~n truy vfuI dfr li~u

>- Server NetWork Utility: Cong C\l dung dS thiSt l~p l~i cac c~u hinh choserver va hiSn thi cac thong tin dUOng d~n tham chiSu thu vi~n lam vi~c

>- Service Manager: Dung dS kh6i dong, t~m dUng, ho?c kSt thuc cac ph\lc

V\l cua SQL Server

>- Uninstal1 SQL Server 2000: Th\1'c hi~n vi~c lo~i bo SQL Server 2000 da:duO'c cai d?t

2.3 If u di~m ella SQL Server 2000 :

>- DS dang xay dl)'llg mot co sO'dfr li~u quan h~ lan, m6i co sO'dfr li~u co thSchua 2 tY quan h~ va m6i quan h~ co thS chua 1024 thuoc tinh

>- Giili quySt tinh tr~ng va ch~m gifra cac user khi cling troy xu~t mot dfrli~u t~i cung mot thai diSm

>- Bao dam cac rang buoc toan Vyn tn~n co sO'dfr li~u

>- Bao v~ an toan co sO'dfr li~u (quan ly nhiSu muc d6 dS truy c~p van co sO'dfr li~u)

>- Troy v~n dfr li~u nhanh

>- SQL Server 2000 co thS 11)'dong tang va giam s6 luO'ng memory va diskspace theo yeu c~u, no tich ho-p ch?t che vai h~ diSu hanh va can cu vancac d6i hoi vS tranh c~p h~ th6ng rna co thS no se t\1'dong tang s6 handlekhi database tang ho~t dong va 11)'giam khi muc do ho~t dong cua

database giam

Trang 21

Chuang 2 : T6ng Quan VS SQL Server 2000 Trang 16

~ SQL Server 2000 Slr dl,lIlgk~ th6ng dieu khiSn hO:;ltdong cac t~p tin(Operating System Files) thay vi nhu truac day Slr dl,lIlg cac device dSchua cac database

Trang 22

Chuang 3 : Nghien CUll S\l' Tich Hqp XML Vao SQL Server 2000 Trang 17

3.1 GiOi thieu :

XML cung c:lp kha nang giao ti~p kinh doanh va kinh doanh (Business toBusiness), n~u hai cong vi~c kinh doanh d6ng y giao ti~p v&i nhau b~ng dinhnghia XML thi thong tin tra thanh thuang ffie;ti

SQL Server 2000 h6 tn;yXML bfug nhiSu cach, trong do quan tn;mg nh:lt

la cung c:lp giai phap lUll tm va l:ly dfr li~u XML tir SQL Server2000 va chophep chuySn d6i dfr li~utir dc;lllgXML thanh cac bang (table) dfr li~u quan h~trong SQL Server 2000

Trong SQL Server 2000, chUng ta co thS vi~t cac diu truy v:ln (SELECTqueries) dS nh~.n du<;Yck~t qua tra vSadc;lllgXML Tu khoa FOR XML dung dSl~y k~t qua cua diu truy v~n du&i de;tngXML va ta co thS dinh de;tngdfr li~u XMLtra vS L~nh FOR XML co de;tngsau:

Trang 23

Chuang 3 : Nghien Clm S\l' Tich HO"PXML Vao SQL Server 2000 Trang 18

FORXML {RAW IAUTO IEXPLICIT} [,XMLDATA] [,ELEMENTS][,BINARY base64]

L~nh FOR XML cung c~p ba dinh d:;mgkhac nhau nhu sau :

~ RAW: Dfr li~u XML nhan du<,Yc6dc,mgnay Ia cac dong dfr li~u XMLdu<,Ycchua trong the <row> vai cot trong diu I~nh SELECT du<,Ycxem Iathuoc tinh cua m6i dong dfr Ii~u XML

~ AUTO: Banh d~u nhan cho m6i ph~n tu dfr li~u tir bang dfr li~u, nSu dfrli~u xu~t phat tu nhiSu bimg kSt n6i thi dfr li~u tu rn6i bimg se tach rai nhukiSu nhom trong phat biSu SELECT vai Group by

~ EXPLICIT: Vai h,ra chon nay chua dl,l'IlgS1,l'phuc t~p cua dinh d~g troy

,

van

Ben cc,mhdo co cac tuy chon khac nhu :

~ XMLDAT A : tuy chon nay khi du<,Ycsu d\mg trong cau l~nh thi se cho kStqua troy v~n cung vai mot Iu<,Ycd6 XML-XDR Lu<,Ycd6 nay cho biSt eacht6 chuc dfr li~u XML du<,Yctra vS

~ ELEMENTS: my chon nay chi du<,YcdUng kern vai dinh d~ng AUTO

~ BINARY base64 : dung dS l~y dfr li~u duai d~ng nhi phan Chi thi cho

SQL server rna hoa t~t ca cac cot co dfr li~u binary, varbinary, image.L~nh FOR XML se kh6ng hO"Pl~ trong cac truang hO"Psau :

~ Cac troy v~n con 16ng nhau nhu:

SELECT *

FROM Tablel

Va truy v~ sau cling kh6ng h<,YpI~

Trang 24

ChU011g3 : Nghien Clm Sl,l'Tich HQ'PXML Vao SQL Server 2000 Trang 19

DECLARE @doc nchar(3000)SET @doc =(SELECT * FROM Customers WHERECustomerID ='ALFKI' FOR XML RAW)

~ Trong cac view v6i k~t qua truy vcln co su d\ll1g FOR XML

CREATE VIEW Al10rders ASSELECT *FROM Orders FOR XML AUTO

~ Kh6ng duqc su dVng For XML kern v6i For Browse hoi;ic COMPUTE BYoou:

SELECT OrderID, UnitPrice FROM [Order Details] ORDER BYOrderID COMPUTE SUM(UnitPrice) BY OrderID

~ Cac cau troy vfrn co chua Group by hoi;ic cac ham tiOOtom

SELECT max(price), min(price), avg(price)FROM titles FOR XML AUTO

~ Kh6ng duqc su dvng cUng v6i Cursor

~ Trong cac stored procedure

3.2.1 Dinh Dane; RAW

Trong dinh d~g RAW cac cot co dfr li~u (kh6ng la NULL) thi se duqcxem la mot thuoc tioo cua m6i phfut tu<row>.Khi dUng troy vfrn v6i FOR XMLRAW thi k~t qua tra vS kh6ng thS hi~n duqc quan h~ gifra cac dong dfr li~u khicac dfr 1i~u nay co quan h~ v6i OOau

Khi mu6n troy xufrt dfr 1i~u d~ng nhi phan phai dung kern v6i tiI khoaBINARY BASE64 n~u kh6ng thi trong ch~ do RA W k~t qua cua cau troy vfrn se

bi 16i khi co dfr li~u kiSu OOiphan

Trang 25

Chuang 3 : Nghien Clm S1,l'Tich H<;rpXML Vao SQL Server 2000 Trang 20

Gia SlrchUng ta co hai bang Customer(CustomerID,CustomerName) vaOrder(OrderID, CustomerID,OrderDate) cung vai mot s6 dfr li~u co s~n

Vai troy vfin

SELECT c.CustomerID,O.OrderID,O.OrderDate

FROM Customers C, Order 0

WHERE C Customer ID=O Customer ID

ORDER BY c.CustomerID, O.OrderID

FORXMLRAW

Thi kSt qua td v~ co d~;mgsau :

<row Customer ID=" ALFKI" Order ID=" 10643" OrderDate=" 1997

Trang 26

Chuang 3 : Nghien Cliu S1,!Tich Hqp XML Vao SQL Server 2000 Trang 21

FORXMLRAW,XMLDATA

KSt qua cua cau truy vc1nnay se nhu sau :

<Schema name=" Schema 1" xmlns="urn:schemas-microsoft-com:xml-data"

xmlns: dt= "urn: schemas-microsoft-com:datatypes ">

<ElementType name="row" content="empty" model="closed">

<Attribute Type name="CustomerID" dttype="string"l>

<Attribute Type name="OrderID" dttype="i4 "I>

<AttributeType name="OrderDate" dttype="dateTime"l>

Trang 27

Chuang 3 : Nghien Clm S\I Tich Hqp XML Vao SQL Server 2000 Trang 22

3.2.2 Dinh Dan!! AUTO:

NSu nhu I~nh FOR XML RAW cho kSt qua tra v~ chi Ia cac dong dfr li~urai n;lC, thi FOR XML AUTO tra v~ kSt qua troy v~n co dl;lng phan c~p hinh cay

Va kSt qua cua cau truy vk ph\! thuQc van thu W cua cac cQt trong I~nh

SELECT

Vi d\! :

SELECT Customers.CustomerID, Orders.OrderID,

Customers ContactN arne

FROM Customers, Orders

FOR XML AUTO

KSt qua tra v~ co dl;lTIgnhu sau

<Customers CustomerID="ALFKI" ContactName="Maria Anders">

Trang 28

Chuang 3 : Nghien Clm S\l' Tich Hqp XML Vao SQL Server 2000 Trang 23

V 6i tuy chon ELEMENTS duQ'cSUd\lllg, ten cua m6i cot duQ'c xem nhu

la cac ph~n tu con No chi thi cho SQL Server biSt rfug nhfrng cot tra vS nhu cacph~n tu thay vi thuoc tinh

SELECT Customers.CustomerID, ContactNarne, OrderID, OrderDate

FROM Customers, Orders

WHERE Customers.CustomerID =Orders.CustomerID

ORDER BY Customers.CustomerID

FOR XML AUTO, ELEMENTS

KSt qua cua truy v~n tren co d~ng

<Customers>

<CustomerID> ALFKI<ICustomer ID>

<ContactN arne> Maria Anders<IContactN arne>

Trang 29

Chuong 3 : Nghien Clm Sl,l'Tich Hqp XML Vao SQL Server 2000 Trang 24

SELECT C.CustomerID, O.OrderID, O.OrderDate

FROM Customers C LEFT OUTER JOIN Orders 0 ON

<0 OrderID=" 10643" OrderDate=" 1997-0S-25TOO:00:00"1>

<0 OrderID=" 10692" OrderDate=" 1997-1O-03TOO:00:00"1>

<IC>

<C CustomerID="ANATR">

<0 OrderID="1030S" OrderDate=" 1996-09-1STOO:00:00"1>

<IC>

3.2.3 Dinh Dang EXPLICIT:

Trong dinh d:;mg EXPLICIT cho phep ta tom quySn di~u khi~n kSt qua tni

vS du6'i dl,mg XML Tuy nhien khi su d\illg chS do nay thi diu truy vfuI SELECT

se trO' nen phuc ti;lPhon dinh d:;mg RAW va AUTO

Bi danh cua cac cot trong diu l~nh troy vAn phai du<)'cneu ra, bO'ivi thongtin trong cac cot di kern v6'i Tag va Parent se dung d~ ti;lOnen Sl,fphan cAp cuakSt qua Tag va Parent se cho biSt quan h~ gifra cac ph~n ill trong kSt qua di;lngXML

Trang 30

Chuang 3 : Nghien Clm S\I Tich HO'P XML Vao SQL Server 2000 Trang 25

Tag cho biSt s6 thu tt,rclla phful tu hi~n t~i, Tag co kiSu integer Tag co thSbAt cu s6 nao rna mi~n sao no 1a duy nhAt

Parent 1a cho biSt nut truac Clla nut hi~n t~i 1a nut nao NSu nut hi~n t~ikh6ng co nut cha thi gia trl Clla no la NULL, tuc 1a mfiu tin nay co b~c cao nhAt

Va cac cot tiSp theo do co cAu truc nhu sau :

E1ementN arne! T agNumber! Property Name! DirectiveE1ementName 1a ten clla ph~n til se xuAt hi~n trong kSt qua

TagNumber 1a thu t\Iclla Tag tinh til s6 da: neu trenPropertyName 1a ten se dung cho thuoc tinh se xuAt hi~n trong kSt qua.Directive dung dS xu 1y mot s6 tuy chQn khac

SELECT 2,

1,Customers Customer ID,Orders Order ID

FROM Customers, OrdersWHERE Customers.CustomerID =Orders.CustomerIDORDER BY [Customer! 1!CustomerID], [Order!2!OrderID]

Trang 31

Chuang 3 : Nghien Clm S1,1'Tich HQ'P XML Vao SQL Server 2000 Trang 26

Trang 32

Chuang 3 : Nghien Clm S\I Tich Hqp XML VilO SQL Server 2000 Trang 27

<Customer CustomerID=" AN ATR">

Id, Idref, Idrefs :

Dung id, idref, idrefs khi mu6n chi ro kSt qua tra vS co kern theo lugc d6

XML - Data schema Nhu trong vi d\l sau :

SELECT 1 as TAG, NULL as parent,

Customers.CustomerID as (Cust! 1!CustID!id],Customers.ContactName as (Cust! 1!Contact]

ORDER BY (Cust! 1!CustID!id]

FOR XML EXPLICIT, XMLDATA

KSt qua la :

<Schema name=" Schema2" xmlns="urn:schemas-microsoft-com:xml-data"

xmIns: dt= "urn: schemas-microsoft-com: data types ">

<ElementType name="Cust" content="mixed" model="open">

<AttributeType name="CustID" dttype="id"/>

Trang 33

Chuang 3 : Nghien Clm Sl,ITich H<;rpXML Vao SQL Server 2000 Trang 28

<AttributeType name="Contact" dttype="string"/>

Customers.ContactName as (Cust! 1!Contact!element]

ORDER BY (Cust! 1!CustlD!element]

FOR XML EXPLICIT

Trang 34

Chuang 3 : Nghien Clm S1,1'Tich HO'PXML Vao SQL Server 2000 Trang 29

SELECT 1 as TAG, NULL as parent,

Customers.CustomerID as [Cust! I !CustID],

Customers ContactN arne as [Cust! I!!eda ta]

Trang 35

Chuang 3 : Nghien Clm S\I Tich Hqp XML Vao SQL Server 2000 Trang 30

ORDER BY [Cust! llCustID]

FOR XML EXPLICIT

K~t qua la

<Cust CustID="ALFKI"><![CDATA[Maria Anders]]>

</Cust><Cust CustID="ANATR"><! [CDAT A[Ana Trujillo]]>

Trang 36

Chuang 3 : Nghien Clm S\I Tich HQ'PXML Vao SQL Server 2000 Trang 31

Trang diu lenh t~o bang tren thi cQt Overflow dung dS chua cac dfr lieud~ng XML nhung chua dm;rc dUng dSn (Overflow column that stores

unconsumed part of XML document)

Sau do them vao bang nay cac dong dfr lieu sau :

INSERT INTO Person VALUES

('P I ','Joe',N'<SomeTag attr I="data">content</SomeTag>')

INSERT INTO Person VALUES ('P2','Joe',N'<SomeTag attr2="data"/>')INSERT INTO Person VALUES

('P3 ','J oe' ,N'<SomeTag attr3=" data" PersonID="P">content</Some Tag>')

Khi chUng ta th\Ic hien diu lenh truy v~n l~y dfr lieu ra til bang Person 0

tren b~ng chi dful xmltext thi diu troy v~ co d~g sau :

SELECT I as Tag, NULL as parent,

PersonID as [Parent! I !PersonID],

PersonName as [Parent! I !PersonName],

overflow as [Parent! I !!xmltext] lUllY 0 day khong neu ten thuQc tinh

FROM Person

FOR XML EXPLICIT

Boi vi 0 day ten thuQc tinh khong duQ'c chi ra khi l~y dfr lieu til cQt

overflow va til xmltext duQ'cSlr d\mg, nen t~t ca nQi dung se dm;rctrothanhthuQc tinh cua phfrn tu Parent

KSt qua co d~g sau :

Trang 37

Chuang 3 : Nghien Clm S\I Tich Hqp XML Vao SQL Server 2000 Trang 32

<Parent PersonID="Pl" PersonName="Joe" attrl="data">

V 6'i chi dfuI hide cho phep che d&ukSt qua cua mot cot chi dinh Vi mot ly

do nao d6 rna trong phat biSu SELECT, chung ta kh6ng mu6n dfr li~u cua motcot nao d6 hiSn thithi dung hide

FROM Customers, Orders

WHERE Customers.CustomerID = Orders.CustomerID

Trang 38

Chuang 3 : Nghien Clm S\I Tich Hqp XML Vao SQL Server 2000 Trang 33

ORDER BY [Customer! 1!CustomerID], [Order!2!OrderID!hide]

FOR XML EXPLICIT

K~t qua la

<Customer CustomerID="ALFKI">

<Order OrderDate=" 1997-08-25TOO:00:00" I>

<Order OrderDate=" 1997-1 0-03TOO:00:00" I>

<Order OrderDate=" 1997-1 0-13TOO:00:00" I>

<ICustomer>

<Customer CustomerID="ANATR">

<Order OrderDate=" 1996-09-18TOO:00:00" I>

<Order OrderDate="1997-08-08TOO:00:00" I>

<ICustomer>

3.3Tir Khoa OPENXML :

Khi quim tri mot cO'sa dfr li~u thi ta khong chi th\Ic thi diu l~nhSQL dS truy vin dfr li~u, rna ben c~nh do ta con th\Ic hi~n cac chuc nang khacnhu them, xoa hay c~p nh~t dfr li~u Khi chUng ta c~p nh~t thong tin tren motbang nao do thi cc1nphai cung cip cac dong dfr li~u dS th\Tc thi diu l~nh

INSERT, DELETE, UPDATE Khi cac dong dfr li~u nay ad~ng XML va chung

ta muan INSERT dfr li~u vao cO'sa dfr li~u, ho~c UPDATE cac dfr li~u quan h~da:t6n t~i ho~c DELETE cac dong trong bang dl,Ia vao cac dfr li~u duQ'c cung cip

Trang 39

Chuang 3 : Nghien Clm S\l Tich HQ'PXML Vao SQL Server 2000 Trang 34

a d~g XML, thi SQL Server 2000 cung c~p tu khoa OpenXML d~ giai quy~tv~ dS nay

Tuang t\l nhu FOR XML, OPENXML dung d~ xu~t k~t qua dfr li~u quanh~ ra d~g XML Ngoai ra SQL Server cfing cho phep rna mot chu6i XML vatrinh bay dinh d~g nhu yeu c~u cua SQL

OpenXML la ham troy v~n rn~u tin d~ rna chu6i XML, cho phep n6i vanban XML vO'icac phcit bi~u INSERT SELECT,SELECT INTO, d~ su d\mgphat bi~u co tinh k~t hQ'Pnay, chUng ta phai su d\mg mot thu tl)C h~ th6ng chu~n

bi van ban va xoa bo nhO' truO'c va sau khi th\lC thi

Cac buO'c co ban d~ thuc thi cau lenh dang OpenXML :

~ Tc;torno hinh chua dfr li~u XML adc;tngDOM trong bo nhO'

~ Dung ham OpenXML d~ troy c~p to'i cac ph~n tU c~n l~y gia tri d\la vaoc~u truc Xpath

~ SU dl)ng cac dfr li~u l~y du<;ycabuO'c tren d~ th\lC thi cau l~nh INSERT,UPDATE, DELETE d~ c~p nh~p co sa dfr li~u

~ Xoa vilng chua dfr li~u XML ra kh6i bo nhO'

Trang 40

Chuang 3 : Nghien Clm S1,!Tich Hqp XML Vao SQL Server 2000 Trang 35

M6 hinh xu If; cua tai li?u XML trong SQL Server 2000 khi dung thu t1:lC

sp _xml yreparedocument tid th,!c thi va dung cau I?nh OP ENXML tidxu If; (ai

li?uXML.

DS t;,10vimg nh& chua dfr li~u XML, chung ta dung mot thu t\lC h~ th6ng coten sp_xml j>reparedocument Thu Wc nay cho phep chuySn mot chu6i vao bonh& sau do s~n sang dS th1,!chi~n troy vfin Van bim XML se luu trfr trong bo nh&cho dSn khi co chi thj xoa hay kSt thuc kSt n6i

CU phap cua thu t1,1Csp_xmlj>reparedocument nhu sau :

Ngày đăng: 01/09/2023, 22:13

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w