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

Ứ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

163 387 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

Định dạng
Số trang 163
Dung lượng 4,64 MB

Nội dung

Thông tin phi không gian thông tin thu c tính... 2.2.3 Automatic scheme evaluation PERST h tr “lazy automatic scheme evaluation”... C th Embedded Standalone relation thì dùng ph ng th c

Trang 2

KHOA CÔNG NGH THÔNG TIN MÔN CÔNG NGH PH N M M

e&f

NGUY N TH LÝ - 0112187 NGUY N SAO K - 0112186

Trang 3

-2-IC M N

Chúng em chân thành cám n Khoa Công ngh Thông tin, tr ng ih cKhoa 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 tnghi 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 cô 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 và luôn ng viên tinh th ncho 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 2005Nguy n Th Lý – 0112187Nguy n Sao K - 0112186

Trang 4

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 i t 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

Trang 5

-4-C L -4-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

Trang 6

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

Trang 7

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

Trang 8

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 Topology 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

Trang 9

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

Trang 10

-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

Trang 11

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

OODBMS

(Object-Oriented Database

Management System)

qu n tr c s d li u

ng i t ng

li u h ng i t ng

Trang 12

Nhúng - -Embedded Có ngh a là PERST c

tích h p ch t vào ch ngtrình, g n nh kho ngcách gi a database và

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 uthành i t ng và ng ci

ng l i giao thôngGIS ( Geography th ng thông tin a

Trang 14

T S KHÁI NI M, THU T NG- 11 - VÀ T VI T T T

12

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

Bao g m hai d ng:

ng hình h c:

mô t các c mhình d ng, v trí Ví

nh t a c a

m, ng…

D ng Topology:

mô t quan h gi acác i t ng hình

c Ví d nh

nh ng vùng nào k

i m t vùng xácnh

Thông tin phi không gian

( thông tin thu c tính )

Trang 15

13

-ngPDA ( Personal Digital

Assistant )

Thi t b n t h tr

cá nhân, giúp ng i s

ng l u tr các thôngtin cá 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 nPocket PC Khái ni m này có th

dùng ch :

+ H u hànhnhúng Pocket PC doMicrosoft phát tri n

a trên nhân c a H

u hành WindowsCE

+ Các thi t bPDA s d ng h uhành Pocket PC

Trang 16

14

-CH

NG 1 : Hi n tr ng và yêu c u

1.1 Hi n tr ng:

Trên th gi i hi n nay ã có 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

Trang 17

Hoà, … ã có m t s s n ph m v GIS nh Street Finder, SmartMap… Các

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 có kh n ng phát tri n ng d ng trêncá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 lý

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:

Trang 18

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ìnhTopology th hi n t t nh ng òi h i trên (Mô hình này s c c p sautrong 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 vGIS,PERST và ho

16

Trang 19

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 khá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 PSEPro, 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 ukhá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 aPERST 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

Trang 20

-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 hayPocketPC

Trong ph n này chúng ta s i vào các tính ch t quan tr ng nh t c aPERST 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 có t ti ng Vi t thay th ng n g n mà úngngh a

2.2.1 Persistency by reachability:

Trong ng d ng dùng PERST, m i i t 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 i t ng này là các i t 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 Có ngh a là ta không c n ph i g i tr c ti p, t ng minh ph ng th c

Trang 21

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 th c

cách bình th ng: ho c truy xu t b ng tham chi u t các i t ng persistent

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

u vô 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.

Trang 22

IPersistent hay t giao di n IValue và c ánh d u là Serializable C

ch Serialization chu n s c dùng óng gói d li u c a các i

19

-ng thành các m -ng byte và l u chú-ng vào database Các l p này s

c ánh d u là Serializable và không c ch a các tham chi u n các

u Link : i di n cho quan h m t-nhi u trong mô hình c s d

li u Hay nhìn theo góc l p trình ây chính là ki u m ng ng ch a các

Trang 23

nh ph

Cách th hai là dùng ph ng th c Persistent.Modify: Ph ng th c này chánh d u các i t ng r ng chúng ã b thay i ch không l u ngay l p t cvào database Cách này c bi t h u d ng khi it ng c thay i nhi u

20

-n tro-ng m t giao tác Lúc ó, thao tác ghi a ch ph i th c hi n m t l nvào cu i giao tác, t ng hi u su t lên áng k

2.2.2 Semi transparent object loading:

Nh ã c p trên, PERST không dùng b t c b biên d ch hay ti n x

lý c bi t nào Và vì C# không cung c p thông tin v các tr ng thái(behavior) hay s thay i tr ng thái các it ng trong th i gian th c thi(runtime) nên không th cài t c c u l u tr c a PERST hoàn toàn “trong

su t” (transparent) c (ngh a là không th truy xu t các it ng c

u tr và không c l u tr m t cách hoàn toàn gi ng nhau vì ta không thphân bi t c khi nào ta ang truy xu t vào it ng c l u tr haykhông c l u tr ) Thay cho s cài t “trong su t” hoàn toàn, PERST ã

g ng cung c p s “trong su t” trong a ph n các tr ng h p

Giao di n IPersistent cung c p cho chúng ta ph ng th c

(return) giá tr true Có ngh a là PERST s load (vào b nh chính) m t cách

quy các it ng c tham chi u t m t it ng ngu n khi it ngngu n này c load Có ngh a là c ch này s gây ra vi c load ng m nh

Trang 24

toàn b các it ng vào b nh chính C ch này t ng t cách làm vi c

a c ch “chu i hóa” (serialization)

tránh v n tràn b nh x y ra khi load it ng lên b nh chính

(do c ch recursiveLoading gây ra), chúng ta ph i quá t i (overload)

ph ng th c recursiveLoading trong m t vài l p b ng cách tr v (return) giá tr false trong hàm Các it ng c tham chi u t các i t ngthu c các l p ã nói trên s không c load ng m nh n a mà ph i c

21

-load m t cách t ng minh b ng ph ng th c Persistent.Load V y ta th y

ng ph ng th c recursiveLoading có th dùng u khi n cách th cload các i t ng t b nh ph vào b nh chính

u ý r ng các it ng dùng ”ch a” các it ng khác (container

thi t, không load t t c theo c ch recusiveLoading Ngoài ra, vi c truy xu t

các i t ng thành ph n c a m t l p ki u container u thông qua các

ph ng th c c a nó

PERST dùng ph ng th c kh i t o m c nh (không có tham s ) kh i

ob c ban u các it ng c load t b nh ph u này có ngh alà:

1.M i l p có kh n ng l u tr c (persistent capable class) u nên có

ph ng th c kh i t o m c nh (ho c là không có ph ng th c kh i t o nào,khi ó trình biên d ch s t t o ra cho ta) Ph ng th c này có th có m i t mtruy xu t có th c (public, private,protected … )

Trang 25

o nh các thành ph n transient nói trên, ta c n kh i t o chúng trong hàm

nh chính

22

-Tóm l i, các c ch trên cho chúng ta s thu n ti n, d dàng và m m d otrong l p trình, vì nó không yêu c u l p trình viên ph i load t ng minh các

it ng trong khi v n cho phép vi c này, nói cách khác là PERST h tr

p trình viên trong vi c ki m soát vi c load các it ng Ch có các l p

“ch a” các it ng khác là ph i load t ng minh các it ng mà nó

ch a (vì các l p này ã m c nh c overload ph ng th c

recursiveLoading có giá tr tr v (return) false).

2.2.3 Automatic scheme evaluation

PERST h tr “lazy automatic scheme evaluation” Khi nh ngh a c a

t l p b thay i (thay iv s l ng bi n thành viên, thay i v ki u

a bi n thành viên…), PERST s chuy n các it ng ã c load sang

nh d ng m i N u it ng ó trong quá trình ho t ng có thay i và

Trang 26

n ph i l u, nó s cl ud i d ng m i PERST có kh n ng h tr các

ki u thay i nh d ng sau:

1.Các thay i “t ng thích” l n nhau gi a các ki u d li u vô

ng (thay i mà không c t b t d li u) Ví d nh thay i t ki u int sang float hay int sang long,… nh ng ng c l i thì không c

2.Thay i th t các thành ph n trong l p hay thêm, b t các thành

ph n trong l p này vào l p cha hay l p d n x t c a nó

3.Thêm vào hay b l p kh i cây th a k c a l p

4.Thay i nh d ng c a l p b ng cách thay i ý ngh a c a cácgiá tr

i thay i khác trong c u trúc l p ( i tên cho thành ph n, chuy n ki ukhông t ng thích i v i các thành ph n…) u không c qu n lý b i c

ng tham chi u (references) trong C# Nh ng trong nhi u tr ng h p chúng

ta c n n quan h m t-nhi u hay quan h nhi u-nhi u PERST cung c p

giao di n (interface) Link dùng cho các tr ng h p này Giao di n này a ra

Trang 27

2 D ng c l p (standalone relation): Khi ó relation là m t i

ng riêng bi t, ch a các tham chi u n các it ng

C hai d ng trên u cài t giao di n Link C th Embedded

Standalone relation thì dùng ph ng th c Storage.createRelation.

B ng sau ây minh h a các m i quan h gi a 2 l p A và B:

24

-Ki u quan h Object A Object B

t-nhi u Link bref; A aref;

Nhi u-m t B bref; Link aref;

Nhi u-nhi u Link bref; Link aref;

Trang 28

ng 2.2.4-1 Các m i quan h gi a 2 l p A va B

2.2.5 Index:

Thông th ng it ng c truy xu t t m t it ng khác b ng tham

chi u hay b ng Link nh trên Tuy nhiên, chúng ta c ng c n truy xu t các i

ng thông qua khóa Trong môi tr ng.NET, l p Hashtable là m t ví d

cho vi c truy xu t theo khóa này i v i c s d li u, vi c truy xu t i

ng theo khóa d nhiên là t ng i ph c t p Và vi c cài t trong PERST

n m t ch c n ng d ch các câu truy v n SQL là không kh thi vì nó s làmcho PERST phình to ra và ch m i Tuy nhiên trong ph n l n tr ng h p,các ng d ng ch th c hi n các l nh truy v n d li u t ng i n gi n nhtìm theo m t khóa chính xác hay trong m t kho ng giá tr nào ó TrongPERST vi c này c th c hi n b ng cách cài t các giao di n (interface)

Index và FieldIndex Giao di n Index dùng cho các khóa c l p và các giá

tr t ng ng c a khóa ó Còn giao di n FieldIndex thì dùng l p indexcho các it ng v i khóa chính là m t thành ph n c a it ng

Index c t o trong PERST b ng ph ng th c Storage.createIndex i

i Index hay Storage.createFieldIndex i v i FieldIndex Có th có vài

cách cài t Index nh ng hi n t i PERST ch dùng B+Tree cài t

25

-(B+Tree là c u trúc d li u hi u qu nh t cho database trên b nh ph ) Các

Trang 29

ph ng th c c a giao di n Index và FieldIndex cho phép thêm, xóa, tìm

ki m it ng theo khóa b ng giá tr chính xác ho c trong m t kho ng giá

tr nào ó Vì v y các tr ng h p tìm ki m sau ây là th c hi n c:

1 Khóa b ng giá tr VAL

2 Khóa thu c kho ng [MIN_VAL,MAX_VAL]

3 Khóa thu c kho ng [MIN_VAL,MAX_VAL)

4 Khóa thu c kho ng (MIN_VAL,MAX_VAL]

5 Khóa thu c kho ng (MIN_VAL,MAX_VAL)

6 Khóa l n h n giá tr MIN_VAL

7 Khóa l n h n hay b ng giá tr MIN_VAL

8 Khóa bé h n giá tr MAX_VAL

9 Khóa bé h n hay b ng giá tr MAX_VAL

Có m t s cách ch n i t ng theo khóa khác nhau nh sau :

a.IPersistent get(Key key): Ch n it ng b ng khóa chính xác v i khóanày nên là khóa duy nh t c a it ng

b.IPersistent[] get(Key from,Key till): L y ra m t m ng it ng có khóa

Trang 30

m trong m t kho ng giá tr cho tr c gi i h n b i giá tr from và till Trong ó from và till có th mang giá tr tùy ý k c null.

c.IEnumerator GetEnumerator(): L y ra m t IEnumerator, có th dùng

câu l nh foreach duy t qua toàn b các it ng trong index này theochi u t ng c a khóa

26

-d.IEnumerator GetEnumerator(Key from, Key till, IterationOrder order):

y ra m t IEnumerator v i khóa n m trong kho ng giá tr xác nh b i

from và till Ta có th duy t qua IEnumerator này v i chi u khóa t ng hay

Ki u vông,chu i hay

ki u thamchi u

B+Tree Storage.CreateIndex

Index Nh trên nh ng áp

ng cho tr ng

Ki u vông,

B+Tree Storage.CreateThinkI

ndex

Trang 31

Storage.createSet T p h p (set) c cài t b ng B+Tree v i object ID(OID) là khóa.

Ngoài ra, PERST còn h tr r t m nh cho d li u “không gian” (spatial

Trang 32

data) b ng cách cung c p c u trúc SpatialIndex h tr vi c thêm, xóa, tìm

ki m các it ng “không gian” d dàng SpatialIndex c cài t b ng

u trúc RTree c a Guttman v i thu t toán “quadratic split” khá hi u qu

Trang 33

trong vi c tìm ki m các it ng R2 (tìm ki m các it ng không gian

i khóa tìm ki m là các giá tr liên quan n t a )

Trang 38

B ng d i ây tóm t t các ki u Index c PERST h tr :

27

Trang 39

ki u thamchi u.

B+Tree Storage.CreateFieldIn

dex

BitIndex BitIndex dùng

tìm i t ng v ikhóa cógiá tr nhphân

Storage.CreateScalableSet

i ki u T-Tree Storage.CreateStorage

Collection

Trang 40

nh kh i t o khi b t c m t l nh update c s d li u nào c th c hi n và

ch m d t t ng minh b ng l nh commit, rollback hay close.

Vi c commit m t giao tác s làm cho các trang (page) b thay i trongquá trình th c hi n giao tác c ghi vào b nh ph ng b (Asynchronous

khác) Công vi c này là công vi c có chi phí r t cao Trung bình vi c nh v

29

-i v -i các a hi n i là kho ng 10ms, ngh a là ch kho ng 100 thao tác

nh v trong 1 giây Thêm vào ó các giao tác th ng ch a các thao tácupdate kho ng vài trang c s d li u nên trung bình ch còn kho ng 10 giaotác m i giây

c dù v y, hi u su t th c thi s c nâng cao áng k khi ta h n ch s

n th c hi n l nh commit, có ngh a là m t giao tác s l n h n, th c hi n

Ngày đăng: 03/10/2014, 23:29

HÌNH ẢNH LIÊN QUAN

Hình d ng, v trí. Ví nh      t a            c a - Ứ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
Hình d ng, v trí. Ví nh t a c a (Trang 17)
Hình dung giao tác là m t t p các l nh ph i th c hi n và ph i ho c là th c - Ứ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
Hình dung giao tác là m t t p các l nh ph i th c hi n và ph i ho c là th c (Trang 37)
Hình 3.2-1 Các i t ng trong mô hình Topology t s khái ni m c b n trong mô hình Topology. - Ứ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
Hình 3.2 1 Các i t ng trong mô hình Topology t s khái ni m c b n trong mô hình Topology (Trang 64)
Hình bao - Ứ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
Hình bao (Trang 69)
Hình 3.4-2 Quan h Topology c p 1 và 2 - Ứ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
Hình 3.4 2 Quan h Topology c p 1 và 2 (Trang 72)
Hình 3.4-3 Quan h Topology c p 3 - Ứ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
Hình 3.4 3 Quan h Topology c p 3 (Trang 73)
Hình 4.2-2 D li u Vector - Ứ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
Hình 4.2 2 D li u Vector (Trang 79)
Hình 4.3-2 Ph ng pháp s hoá Ph ng pháp Vector hoá: M t vài h th ng máy tính chuyên nghi p có th - Ứ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
Hình 4.3 2 Ph ng pháp s hoá Ph ng pháp Vector hoá: M t vài h th ng máy tính chuyên nghi p có th (Trang 82)
Hình 4.5.1-1 Cây t phân - Ứ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
Hình 4.5.1 1 Cây t phân (Trang 84)
Hình 4.5.2-1 K-D Tree - Ứ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
Hình 4.5.2 1 K-D Tree (Trang 85)
Hình 4.6.1-1 Các ki u b n - Ứ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
Hình 4.6.1 1 Các ki u b n (Trang 89)
Hình 4.6.2-1 Các i t ng chính trong b n - Ứ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
Hình 4.6.2 1 Các i t ng chính trong b n (Trang 90)
Hình 5.1-1 H phân c p các ki u d li u hình h c c a OpenGIS. - Ứ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
Hình 5.1 1 H phân c p các ki u d li u hình h c c a OpenGIS (Trang 93)
Hình 5.3.1-1 L p khái ni m Trong 9 c p trên, c p Project world là quan tr ng nh t cho m c ích - Ứ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
Hình 5.3.1 1 L p khái ni m Trong 9 c p trên, c p Project world là quan tr ng nh t cho m c ích (Trang 104)
Hình 5.3.2-1 Quan h gi a các ch trong mô hình tr u t ng - Ứ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
Hình 5.3.2 1 Quan h gi a các ch trong mô hình tr u t ng (Trang 107)
Hình 7.2.1-1 S s d ng t ng quát - Ứ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
Hình 7.2.1 1 S s d ng t ng quát (Trang 117)
Hình 7.2.2.3-1 Use Case – Tìm ng i ng n nh t - Ứ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
Hình 7.2.2.3 1 Use Case – Tìm ng i ng n nh t (Trang 120)
Hình 7.2.2.4-1 Use-Case - Tim chu trình t i u - Ứ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
Hình 7.2.2.4 1 Use-Case - Tim chu trình t i u (Trang 122)
Hình 7.2.3.1-1 S t ng quát - Ứ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
Hình 7.2.3.1 1 S t ng quát (Trang 123)
Hình 7.2.3.2-1 S l p d li u - Ứ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
Hình 7.2.3.2 1 S l p d li u (Trang 124)
Hình 7.2.3.4-1 S s ki n 7.2.4 Mô t các l p: - Ứ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
Hình 7.2.3.4 1 S s ki n 7.2.4 Mô t các l p: (Trang 125)
Hình 7.2.5-1 Sequense Diagram: Hi n th b n - Ứ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
Hình 7.2.5 1 Sequense Diagram: Hi n th b n (Trang 137)
Hình 7.2.5-7 Sequence Diagram: Tìm chu trình t i u - Ứ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
Hình 7.2.5 7 Sequence Diagram: Tìm chu trình t i u (Trang 142)
Hình 7.2.5-10 Collabrotion Diagram: Di chuy n vùng nhìn - Ứ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
Hình 7.2.5 10 Collabrotion Diagram: Di chuy n vùng nhìn (Trang 145)
Hình 7.2.5-15 Sequence Diagram: Tìm giao l - Ứ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
Hình 7.2.5 15 Sequence Diagram: Tìm giao l (Trang 148)
Hình 7.3.1-1 Khung nhìn t ng quát v giao di n - Ứ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
Hình 7.3.1 1 Khung nhìn t ng quát v giao di n (Trang 149)
Hình 7.3.1-3 Các ch    c n ng chính trên thanh công c - Ứ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
Hình 7.3.1 3 Các ch c n ng chính trên thanh công c (Trang 154)
Hình 7.3.1-4 Thanh th c n File - Ứ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
Hình 7.3.1 4 Thanh th c n File (Trang 155)
Hình 7.3.1-6 Khung nhìn b n thu nh - Ứ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
Hình 7.3.1 6 Khung nhìn b n thu nh (Trang 157)
Hình 7.3.1-8 Khung hi n th thông tin i t ng - Ứ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
Hình 7.3.1 8 Khung hi n th thông tin i t ng (Trang 158)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w