Tải bản đầy đủ (.docx) (237 trang)

Ứng dụng phần mềm mã nguồn mở hệ quản trị cơ sở dữ liệu hướng đối tượng perst xây dựng ứng dụng quản lý hệ thống thông tin địa lý thành phố HCM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.29 MB, 237 trang )

TR NG I H

C KHOA H

C T NHIÊN
KHOA CÔNG NGH

THÔNG TIN
MÔN CÔNG NGH

PH

N M

M
e&f
NGUY

N TH

LÝ - NGUY

N SAO K
NG D

NG PH

N M

M MÃ NGU


N M H

QU

N
TR

C S D LI

U H NG
IT
NG PERST
XÂY D

NG NG D

NG QU

N LÝ H

TH

NG
THÔNG TIN A LÝ THÀNH PH HCM
KHÓA LU

N C NHÂN TIN H

C
TpHCM, 2005

TR NG I H

C KHOA H

C T NHIÊN
KHOA CÔNG NGH

THÔNG TIN
MÔN CÔNG NGH

PH

N M

M
e&f
NGUY

N TH



- 0112187
NGUY

N SAO K

- 0112186
NG D


NG PH

N M

M MÃ NGU

N M H

QU

N
TR

C S D LI

U H NG
IT
NG PERST
XÂY D

NG NG D

NG QU

N LÝ H

TH

NG
THÔNG TIN A LÝ THÀNH PH HCM

KHÓA LU

N C NHÂN TIN H

C
GIÁO VIÊN H NG D

N
Th.s NGUY

N MINH NAM
NIÊN KHOÁ 2001-2005
-2-
IC

M N
Chúng em chân thành cám

n Khoa Công ngh

Thông tin, tr ng
ih

c
Khoa h

c T

nhiên t


o u ki

n cho chúng em th

c hi

n tài lu

n v

n
t

t
nghi

p này.
Chúng em chân thành cám

n th

y Nguy

n Minh Nam

ã t

n tình h
ng
n, ch


b

o chúng em trong su

t th

i gian th

c hi

n tài.
Chúng

em

chân thành

cám

n quý

th

y



trong


khoa

ã

t

n tình

gi

ng
y, trang b

cho chúng em nh

ng ki

n th

c quý báu trong nh

ng n

m h

c
a qua.
Chúng con xin nói lên lòng bi

t


n sâu s

c i v

i cha m

, nh

ng ng
i
ã

ch

m sóc,

nuôi d

y chúng con thành

ng i



luôn ng

viên tinh

th


n
cho chúng con.
Và c

ng chân thành cám

n các anh ch

và b

n bè

ã

ng h

, giúp ,
trao
i ki

n th

c, kinh nghi

m và ng viên chúng em trong th

i gian h

c t


p và
nghiên c

u.
c dù chúng em

ã c

g

ng hoàn thành lu

n v

n trong ph

m vi và kh
ng cho phép nh

ng ch

c ch

n s

không tránh kh

i


nh

ng sai sót. Chúng
em kính mong nh

n c s

c

m thông và t

n tình ch

b

o c

a quý th

y cô
và các b

n.
Tp.H

Chí Minh, tháng 7 n

m 2005
Nguy


n Th

Lý – 0112187
Nguy

n Sao K

- 0112186
-3-
TÓM T

T LU

N V

N
Lu

n v

n c t

ch

c thành các ph

n chính nh

sau:
Ch ng 1: Gi


i thi

u t

m quan tr

ng, m

c tiêu, ph

m vi c

a tài, các c

s


thuy

t và h ng ti

p c

n.
Ch ng 2: Cách t

ch

c c


s

d

li

u h ng it ng PERST và nh

ng so
sánh v

i các cách t

ch

c c

s

d

li

u quan h

và các h

c


s

d

li

u h ng
it ng khác.
Ch ng 3: Gi

i thi

u v

mô hình Topology: nêu lên nh

ng khái ni

m c

b

n,
các it ng trong Topology và các c

p Topology.
Ch ng 4: Gi

i thi


u v

GIS: gi

i thi

u t

ng quan v

GIS, các gi

i pháp và

ng
ng v

GIS và

ng d

ng GIS trên PocketPC
Ch ng 5: Gi

i thi

u v

chu


n OpenGIS
Ch ng 6: T

ng quan v

PocketPC: Các v

n và gi

i pháp trên thi

t b . Tình
tr

ng b

nh

, t

o c

s

d

li

u và


ng d

ng b

n trên PocketPC.
Ch ng 7: ng d

ng b

n : mô hình phân tích thi

t k

.
Ch ng 8: K

t lu

n,

ánh giá và h ng phát tri

n
Ch ng 9: Nh

ng tài li

u tham kh

o khi th


c hi

n tài
Ch ng 10:Nêu nh

ng thu

t toán chính trong ch ng trình
-4-
C L

C
I C

M N
3
TÓM T

T LU

N V

N
4
DANH SÁCH CÁC HÌNH


8
DANH SÁCH CÁC B


NG
.
10
T S KHÁI NI

M, THU

T NG VÀ T VI

T T

T
11
CH NG 1 : Hi

n tr

ng và yêu c

u
15
1.1 Hi

n tr

ng:
15
1.2 Gi


i quy

t bài toán:
16
CH NG 2 : T

ng quan v

Perst
17
2.1 Gi

i thi

u:
17
2.2 c
tính: 18
2.2.1 Persistency by reachability
: 18
2.2.2 Semi transparent object loading:
21
2.2.3 Automatic scheme
evaluation 23
2.2.4 Relation:
24
2.2.5 Index:
25
2.2.6 Giao tác
(Transaction): 29

2.3 Transparent API:
31
2.3.1 Dùng.NET Remoting API:
31
2.3.2 Dùng các thu

c tính

o (virtual
properties): 32
2.4 C

ch

th

c hi

n giao tác
(Transaction): 33
2.5 Nh

ng tr ng h

p nên dùng PERST:
37
2.6 Các thông s

c


a
PERST: 38
2.7 S

l c v

RTree
: 44
2.7.1 Gi

i thi

u
: 44
2.7.2 S

l c v

d

li

u không gian (spatial data) và các gi

i pháp:
44
2.8 So sánh v

i các h


qu

n tr

c

s

d

li

u h ng it ng khác:
45
CH NG 3 : Gi

i thi

u v

mô hình Topology


.50
3.1 Gi

i thi

u:
50

3.2 Các khái ni

m c

b

n trong Topology:
50
3.3 Các lo

i it ng trong Topology:
51
3.4 Các c

p c

a Topology:
53
-5-
3.5 MBR – Minimum Bounding Rectangle:
59
CH NG 4 : Gi

i thi

u v

GIS
.60
4.1 Gi


i thi

u v

các

ng d

ng và gi

i pháp v

GIS:
60
4.2 Mô hình d

li

u c

a thông tin a lý:
61
4.3 Thu th

p d

li

u:

64
4.4 Các gi

i thu

t nghiên c

u v

GIS:
.66
4.5 Các c

u trúc d

li

u không gian trong GIS:
67
4.5.1 Cây t

phân (Quad
Tree): 67
4.5.2 k-d Tree:
68
4.5.3 R-Tree:
69
4.5.4 R*-Tree:
70
4.5.5 R

+
-
Tree: 71
4.6 ng d

ng b

n
: 72
4.6.1 Các ki

u b

n :
72
4.6.2 Các it ng c

a b

n
: 72
4.7 ng d

ng GIS trên PocketPC:


.73
CH NG 5 : Gi

i thi


u v

chu

n OpenGIS
75
5.1 Các ki

u d

li

u hình h

c c

a OpenGIS:
75
5.2 OpenGIS Specification ( c t

OpenGIS)
: 76
5.2.1 Các khái ni

m:
76
5.2.2 Nh

ng d ch v


OpenGIS (OpenGIS Services
): 78
5.2.3 M

t mô hình nh

ng c

ng ng thông tin (Information Communities Model ):
79
5.2.4 c m:
79
5.2.5 Phân lo

i:


.81
5.3 OpenGIS Abstract Specification:


.82
5.3.1 Essential Model (mô hình b

n ch

t ):
83
5.3.2 Abstract Model:

85
CH NG 6 : T

ng quan v

PocketPC
.89
6.1 T

ng quan v

PocketPC:
89
6.2 Kh

n

ng l

p trình trên PocketPC
: 89
6.3 M

ts

v

n khi l

p trình


ng d

ng trên PocketPC:
.89
6.3.1 T

c và các h

tr

kh

n

ng hi

n th :
89
6.3.2 Kh

n

ng và hình th

c l

u tr

: 90

6.3.3 T ng tác gi

a ng i s

d

ng và thi

t b :
91
6.4 Các gi

i pháp cho

ng d

ng b

n trên PocketPC:
92
6.4.1 Yêu c

u chung:
92
-6-
6.4.2 V

n t

i


ut

c hi

n th :
93
6.5 T

ch

c d

li

u b

n trên PocketPC:


.93
CH NG 7 : ng d

ng b

n
: 95
7.1 Phân tích và xác nh yêu c

u

: 95
7.2 Phân tích - thi

t k

: 96
7.2.1 S s

d

ng:
96
7.2.2 c t

Use-Case chính:
97
7.2.2.1 Tìm ki

m ng

i:
97
7.2.2.2 Tìm ki

m Region:
98
7.2.2.3 Tìm ng

i ng


n nh

t:
99
7.2.2.4 Tìm chu trình t

i

u:
101
7.2.3 S l

p Class
Diagram: 102
7.2.3.1 S t

ng
quát: 102
7.2.3.2 S l

p d

li

u
: 103
7.2.3.3 S l

p v


: 103
7.2.3.4 S s

ki

n:
104
7.2.4 Mô t

các l

p:
104
7.2.5 Các l

u ho

t ng:
111
7.3 Thi

t k

giao di

n:


.124
7.3.1 Giao di


n trên Desktop:
124
7.3.2 Giao di

n trên PocketPC:
131
7.4 Cài
t: 131
CH NG 8 : K

t Lu

n, ánh giá và h ng phát tri

n
132
8.1 K

t lu

n,

ánh
giá: 132
8.2 H ng phát tri

n:
132
CH NG 9 : Tài li


u tham kh

o


.133
CH NG 10 : Ph

l

c
134
10.1 Bài toán tìm ng

i ng

n nh

t gi

a hai m:


.134
10.1.1 Phát bi

u bài
toán: 134
10.1.2 Gi


i quy

t bài toán
: 134
10.2 Bài toán tìm chu trình t

i

u
136
10.2.1 Phát bi

u bài
toán 136
10.2.2 Gi

i quy

t bài toán
: 137
-7-
DANH SÁCH CÁC HÌNH
Hình

3.2-1 Các it ng trong mô hình Topolog
y 51
Hình

3.4-1 Quan h


Topology c

p 0

56
Hình

3.4-2 Quan h

Topology c

p 1 và
2
57
Hình

3.4-3 Quan h

Topology c

p 3

58
Hình

4.2-1 Thông tin c

n l


u tr


.
61
Hình

4.2-2 So sánh Raster và Vector

64
Hình

4.3-1 Ph ng pháp Scanning
.65
Hình

4.5.1-1 Cây t

phân
.
67
Hình

4.5.2-1 K-D Tree
68
Hình

4.5.3-1 R-Tree
69
Hình


4.5.5-1 R+-Tree
71
Hình

4.6.2-1 Các it ng chính trong b

n
73
Hình

5.1-1 H

phân c

p các ki

u d

li

u hình h

c c

a OpenGIS.

76
Hình


5.3.1-1 L

p khái ni

m
85
Hình

7.2.1-1 S s

d

ng t

ng
quát 96
Hình

7.2.2.1-1 Use Case - Tìm ki

m
Edge
97
Hình

7.2.2.2-1 Use Case: Tìm ki

m
Region
98

Hình

7.2.2.3-1 Use Case – Tìm ng

i ng

n nh

t 99
Hình

7.2.2.4-1 Use-Case - Tim chu trình t

i

u
101
Hình

7.2.3.1-1 S t

ng quát
102
Hình

7.2.3.2-1 S

l

p d


li

u
103
Hình

7.2.3.3-1 S l

p v


.103
Hình

7.2.3.4-1 S s

ki

n
104
Hình

7.2.4-1 L

p CNode
106
Hình

7.2.4-2 L


p CEdge
109
Hình

7.2.5-1 Sequense Diagram: Hi

n th

b

n

112
Hình

7.2.5-2 Collabration Diagram: Hi

n th

b

n

113
Hình

7.2.5-3 Sequence Diagram: Tìm ng ng

n nh


t 113
Hình

7.2.5-4 Collabration Diagram: Tìm ng ng

n nh

t
114
Hình

7.2.5-5 Sequence Diagram: Tìm Edge
115
Hình

7.2.5-6 Collabration Diagram: Tìm Edge
116
Hình

7.2.5-7 Sequence Diagram: Tìm chu trình t

i

u
117
Hình

7.2.5-8 Collabrotion Diagram: Tìm chu trình t


i

u
118
Hình

7.2.5-9 Sequence Diagram: D ch chuy

n vùng nhìn
119
-8-
Hình

7.2.5-10 Collabrotion Diagram: Di chuy

n vùng nhìn
120
Hình

7.2.5-11 Sequence Diagram: T

l

l

i b

n

120

Hình

7.2.5-12 Collaboration Diagram: T

l

l

i b

n

121
Hình

7.2.5-13 Sequence Diagram: Tìm a m
121
Hình

7.2.5-14 Collaboration Diagram: Tìm a m
122
Hình

7.2.5-15 Sequence Diagram: Tìm giao l


123
Hình

7.2.5-16 Collaboration Diagram: Tìm giao l



123
Hình

7.3.1-1 Khung nhìn t

ng quát v

giao di

n
124
Hình

7.3.1-2 Toolbar c

a ch ng trình
124
Hình

7.3.1-3 Các ch

c n

ng chính trên thanh công c


127
Hình


7.3.1-4 Thanh th

c n File
128
Hình

7.3.1-5 Thanh th

c n
View 128
Hình

7.3.1-6 Khung nhìn b

n thu nh


.130
Hình

7.3.1-7 Khung Layer


130
Hình

7.3.1-8 Khung hi

n th


thông tin it
ng 131
-9-
DANH



SÁCH



CÁC



B



NG
ng

2.2.4-1 Các m

i quan h

gi

a 2 l


p A va B

25
ng

2.2.5-1 Các ki

u Index c PERST h

tr

:
29
ng

2.6-1 H

ng s c nh ngh a s

n trong l

p
StorageImpl 42
ng

2.8-1 So sánh các c tính c

a các h


qu

n tr


.47
ng

2.8-2 B

ng so sánh k

t qu

c

a các h

qu

n tr

c

s

d

li


u h ng it
ng 49
ng

3.4-1 Các c

p Topology trong các l

p VPF

55
ng

3.4-2 Các c

t c yêu c

u nh ngh a quan h

Topology trong
VPF 56
ng

3.5-1. nh ngh a khung ch

nh

t nh

nh


t MBR


.59
ng

4.2-1 B

ng so sánh ki

u d

li

u Raster va
Vector
64
ng

7.1-1 Các ch

c n

ng chính
.
96
ng

7.2.4-1 L


p CDatabase


105
ng

7.2.4-2 L

p CMapView
105
ng

7.2.4-3 L

p CMapEvent
106
ng

7.2.4-4 Thu

c tính l

p CNode
107
ng

7.2.4-5

Ph ng th


c l

p CNode
108
ng

7.2.4-6

Thu

c tính l

p CEdge
110
ng

7.2.4-7

Ph ng th

c l

p
CEdge 111
ng

7.3.1-1 Các ch

c n


ng chính trên thanh th

c n
129
- 10 -
Khái ni

m nh ngh a Ghi chú
OODBMS (Object-
Oriented Database
Management System)
qu

n tr

c

s

d

li

u
ng it ng
PERST


m


t h

qu

n tr

c

s
li

u h ng it ng
Nhúng - -Embedded
Có ngh a là PERST c
tích h

p ch

t vào ch ng
trình,

g

n

nh kho

ng
cách


gi

a

database


ch ng

trình

r

t

nh

,
PERST

tr

c

ti

p

l


u

d
li

u

trong

các i

t ng
a ch ng trình và
không c

n có nh

ng n
mã làm công vi

c chuy

n
li

u

t c s d li


u
thành i t ng và ng c
i
Topology


c

u

trúc

cho



hình
ng l i giao thông
GIS ( Geography th

ng

thông

tin a
- 11 -
Information System )
lý.




m

t

công

ngh
a trên máy tính xây
ng

b

n ,

phân

tích


x lý

các i

t ng
n

t

i




các

s ki

n
y ra trên trái t.
Thông tin không gian
Thông

tin

v

nh

ng c
m

liên

quan n

hình
ng,

v


trí,

quan h

c

a
các it ng a lý.
Bao g

m hai d

ng:
ng

hình

h

c:


t các c m
hình

d

ng,

v


trí.


nh t

a c

a
m, ng…
D

ng

Topology:


t quan

h

gi

a
các i

t ng

hình
c. Ví d nh

nh

ng

vùng

nào

k
i

m

t

vùng

xác
nh.
T S KHÁI NI M, THU T NG VÀ T VI T T T
Thông tin phi không gian
( thông tin thu

c tính )
Thông

tin

v


nh

ng c
m liên quan n

th

ng
kê,

thông

tin

s

,

thông
tin c

tr

ng

gán

cho
i


thu

c

tính

c

a i


d nh tên ng
ph

, dân s


- 12 -
ng
PDA

(

Personal

Digital
Assistant )
Thi

t


b n

t h tr


nhân,

giúp

ng i

s
ng

l

u

tr các

thông
tin



nhân,

công


vi

c
n

thi

t

c

ng

nh các
ph

n

m

m

t

i

thi

u


trên
t thi

t b

nh

g

n
Pocket PC
Khái

ni

m

này



th
dùng ch :
+

H u

hành
nhúng


Pocket

PC

do
Microsoft

phát

tri

n
a

trên nhân c

a H
u

hành

Windows
CE
+ Các thi

t b
PDA s

d


ng h u
hành Pocket PC
Edge
it
ng c

nh trong mô
hình Topology
Trong bài, Edge t ng
ng v

i ng. Khi nh

c
i Edge, hay ng có th
hi

u ngh a nh

nhau.
- 13 -
Region it ng vùng
ây

không c

p n
qu

n


huy

n

nh

ng



th
hi

u Region là qu

n huy

n.
ID nh danh c

a i t ng
Trong

bài

không

nh


c

t

i
tên ng,

qu

n

huy

n


ch

nh

c t

i ID vì c

s

d
li

u không thông tin tên

ng. Và

khi nh

c t

i tên
a i

t ng

b

t

k thì
hi

u là ID.
- 14 -
CH NG 1 :

Hi

n

tr

ng




yêu

c

u
1.1 Hi

n tr

ng:
Trên th

gi

i hi

n nay

ã



nhi

u ph

n m


m gi

i quy

t các

bài toán v
n giao thông nh

: RouteSmart, BusStops, Arclogistics, Routronic 2000,
DynaRoute… Vi

t Nam nói riêng c

ng có m

t s

công ty nh

DolSoft, Hài
Hoà, …

ã có m

t s

s

n ph


m v

GIS nh

Street Finder, SmartMap…. Các
n ph

m trên

a ph

n s

d

ng c

s

d

li

u c t

ch

c trên các h


qu

n
tr

c

s

d

li

u quan h

ho

c t

t

o. Tuy nhiên v

n có v

n c t ra:
1.Chi phí c

a càc h


qu

n tr

c

s

d

li

u th ng m

i n

u có dùng.
2.S

khó kh

n và có khi là “r

c r

i” trong cách l

p trình giao ti

p v


i các
s

d

li

u ph

c t

p có nhi

u b

ng, quan h


Th

t ra, hai v

n trên có th c gi

i quy

t t ng i t

t b


ng cách
s
ng h

qu

n tr

c

s

d

li

u h ng it ng PERST (mã ngu

n m

).
PERST là m

t h

c

s


d

li

u t ng i nh

(so v

i các h

c

s

d

li

u
khác)

v

i

ph

n

lõi


ch

g

m

kho

ng

5000

dòng

mã.

Yêu

c

u

c

u

hình

c


a
PERST t ng i th

p. H

n n

a, PERST c

ng không c

n n “s

qu

n
tr ”
th ng th

y các h

c

s

d

li


u. M

c dù n gi

n nh

v

y nh

ng
PERST
n h

tr y tính ACID trong vi

c th

c hi

n giao tác (transaction) và h
tr

vi

c ph

c h

i (recovery) t ng i nhanh khi h


th

ng g

p s

c

.
Không ch

d

ng l

i ó mà PERST có h

tr

c

vi

c phát tri

n trên môi
tr ng compact.NET

framework


nên



kh

n

ng

phát

tri

n

ng

d

ng trên
các thi

t b

di ng dùng WinCE hay PocketPC.
- 15 -
Vì v


y, ta có th

th

y vi

c dùng PERST gi

i quy

t bài toán v

qu

n

th

ng thông tin a lý (GIS) là hoàn toàn kh

thi.
1.2 Gi

i quy

t bài toán:
t trong các y

u t


quan tr

ng quy

t nh s

thành công hay th

t b

i c

a
t h

th

ng thông tin a lí là vi

c l

a ch

n mô hình c

u trúc d

li

u thích

p, cho phép l

u tr

và khai thác thông tin m

t cách hi

u qu

. Và mô hình
Topology

th

hi

n t

t

nh

ng

òi h

i trên

(Mô


hình

này s c c

p

sau
trong lu

n v

n). Vì d

li

u Topology trên PERST không có s

n nên chúng ta
n xây d

ng l

i d

li

u theo mô hình Topology. D

li


u thô (d

li

u ngu

n)
c dùng trong

ng d

ng này là các t

p tin text.
Bài

toán s c

gi

i

quy

t

ch

y


u

b

ng

s

ph

i

h

p

các

ki

n

th

c

v
GIS,PERST và ho


.
- 16 -
CH NG 2 :
ng

quan

v

PERST
2.1 Gi

i thi

u:
PERST là m

t h

c

s

d

li

u “nhúng” dành cho các

ng d


ng c

n tính
ng l

u tr

. PERST c thi

t k

dành riêng cho l

p trình và không có giao
di

n h

a qu

n tr . Vi

c s

d

ng PERST khá n gi

n và t c

hi

u
ng t ng i cao. c m chính d

th

y nh

t c

a PERST là s

tích h

p
ch

t ch

c

a

PERST

v

i m


t

ngôn ng

l

p trình

xác nh.

Hi

n t

i
PERST
ch

h

tr

cho 2 ngôn ng

l

p trình là Java và C#.
Không

gi


ng

v

i

các

h

qu

n

tr

c s d li

u

h ng i

t ng

k
hác
(OODBMSes), PERST không c

n dùng n các b


biên d ch hay các b

ti

n
lý c bi

t khác. Nh

v

y, PERST có kh

n

ng cung c

p c “tính
trong
su

t” trong l

p trình m

c cao. Các hàm API c

a PERST ti


n l

i, d

s
ng và có t

c cao. Có th

l

y ví d

khi so sánh v

i Ozone (m

t h

c

s
li

u

h ng i

t ng


khác

vi

t

b

ng

Java).

V

i

gi

i

h

n

(benchmark)
007, PERST t

o database nhanh g

p 100 l


n và th

c hi

n phép duy

t qua các
it
ng trong c

s

d

li

u nhanh g

p 10 l

n so v

i Ozone. Và khi so v

i
t h

c


s

d

li

u h ng
it
ng th ng m

i khác là ObjectStore PSE
Pro, PERST nhanh h

n g

p 4 l

n.
PERST là m

t h

c

s

d

li


u t ng i nh

(so v

i các h

c

s

d

li

u
khác)

v

i

ph

n

lõi

ch

g


m

kho

ng

5000

dòng

mã.

Yêu

c

u

c

u

hình

c

a
PERST t ng i th


p. H

n n

a, PERST c

ng không c

n n “s

qu

n
tr ”
th ng th

y các h

c

s

d

li

u. M

c dù n gi


n nh

v

y nh

ng
PERST
n h

tr y tính ACID trong vi

c th

c hi

n giao tác (transaction) và h
tr

vi

c ph

c h

i (recovery) t ng i nhanh khi h

th

ng g


p s

c

.
- 17 -
Có hai b

n cài t c

a PERST, m

t b

ng ngôn ng

Java và m

t b

ng C#.
n cài t trên C# c chuy

n t

Java dùng b

chuy


n i Java sang
C#
(m

c dù ph

i có nhi

u thay i c

n th

c hi

n m

i có c b

n hoàn ch
nh).
c dù b

n cài t dùng C# h

tr

nhi

u ki


u “nguyên th

y”

h

n (g

m có
ki

u s

nguyên không d

u và ki

u li

t kê

(enum))

nh

ng

trong các

ph

ng
di

n khác, các tính n

ng c

a hai b

n là nh

nhau. Riêng PERST.NET có h
tr

c

vi

c

phát tri

n trên

môi

tr ng compact.NET

framework


nên có kh
ng

phát

tri

n ng

d

ng

trên

các

thi

t

b

di ng

dùng

WinCE

ha

y
PocketPC.
2.2 c tính:
Trong

ph

n

này

chúng

ta

s i

vào

các

tính

ch

t

quan

tr


ng

nh

t

c

a
PERST. C

th

chúng ta s

tìm hi

u phiên b

n cài t trên môi tr
ng.NET
(g

i t

t là PERST.NET). ây các tính ch

t có t


nguyên g

c ti

ng Anh s
c

gi nguyên

do

không



t ti

ng

Vi

t

thay

th

ng

n


g

n


úng
ngh a
2.2.1 Persistency by reachability:
Trong

ng d

ng dùng PERST, m

i it ng c

a các l

p c d

n xu

t
t
p Persistent u có kh

n

ng l


u tr

(persistent hay còn d ch là b

n v

ng).
t

bây gi

, ta s

g

i t

t các it ng này là các it ng persistent.
Các
it
ng này
ct
ng l

u vào database khi nó c tham chi

u t

m


t
it
ng persistent khác và ph ng th

c store c

a
it
ng khác

ó
c
i.



ngh a



ta

không

c

n

ph


i

g

i

tr

c

ti

p,

t ng

minh

ph ng

t
h

c
store c

a m

t it ng khi mu


n l

u it ng

ó.
- 18 -
Database có m

t
it
ng c bi

t g

i là root.
it
ng root này là
i
ng

duy

nh

t c

truy

xu


t

m

t

cách c

bi

t

(dùng

ph ng

t
h

c
Storage.getRoot).

Còn

các i

t ng

persistent


khác c

truy

xu

t

th
eo
cách bình th ng: ho

c truy xu

t b

ng tham chi

u t

các it ng persist
ent
nh

trên ho

c truy xu

t b


ng cách dùng các
it
ng bao ch

a
(container
class)

nh

Index,Link

hay Relation.

Không

gi

ng

nh

các

h

c

s


d

li

u
ng
it
ng khác, ch

có th

có duy nh

t m

t
it
ng root trong c

s
li

u.
PERST yêu c

u m

i l


p persistent u ph

i d

n xu

t t

l

p Persistent. Có
ngh a



các

l

p

“ngo

i

lai”

(không

d


n

xu

t

t l

p

Persistent)

không

th
c

l

u

trong

database. ây

chính




cái

giá

ph

i

tr

c

a

s n

gi

n


không dùng n các b

biên d ch hay ti

n x

lý c bi

t. Và các thành ph


n
a các l

p persistent c

ng b

gi

i h

n trong các ki

u sau:
Ki



u







h

ng (scalar type):

Bool, int, short, double, enum


Ki



u



chu



i

: Ki

u System.String.
Ki



u



ngày




tháng

: Ki

u System.DateTime.
Ki



u



tham



chi



u

n các
it
ng persistent : các l

p k


th

a t

l

p
Persistent hay các giao di

n (interface) k

th

a t

giao di

n IPersistent.
Ki



u



giá




tr


(value

type):

Các

ki

u

giá

tr

c

a

C#.

Các

giá

tr


này
c l

u tr

c ti

p trong it ng ch

a chúng.
Ki



u



d



li



u




nh



phân



thô

:

Các

l

p

c

a

C#

k

th

a


t giao

d
i

n
IPersistent

hay t

giao

di

n IValue

và c

ánh d

u



Serializable.

C
ch

Serialization


chu

n

s c

dùng óng

gói

d li

u

c

a

các
i
- 19 -

×