intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Luận vă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"

Chia sẻ: Lê Trung Hiếu | Ngày: | Loại File: PDF | Số trang:0

126
lượt xem
20
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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ở lý thuyết và hướng tiếp cận. Chương 2: Cách tổ chức cơ sở dữ liệu hướng đối tượ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 đối tượng khác.

Chủ đề:
Lưu

Nội dung Text: Luận vă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"

  1. 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
  2. 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Ý - 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-
  3. 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 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 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-
  4. 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 lý 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-
  5. CL 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 i t 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 i t ng trong Topology: ............................................................................51 3.4 Các c p c a Topology: ...............................................................................................53 -5-
  6. 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 i t 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 t s 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-
  7. 6.4.2 V n t i u t 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-
  8. DANH SÁCH CÁC HÌNH Hình 3.2-1 Các i t 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 i t 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-
  9. 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 i t ng.................................................................131 -9-
  10. 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 i t 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 -
  11. T S KHÁI NI M, THU T NG VÀ T VI T T T Khái ni m nh ngh a Ghi chú OODBMS (Object- qu n tr c s d li u Oriented Database ng it ng Management System) PERST Là 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 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 u thành it ng và ng c i Topology Là c u trúc cho mô hình ng l i giao thông GIS ( Geography th ng thông tin a - 11 -
  12. Information System ) lý. Là m t công ngh a trên máy tính xây ng b n , phân tích và x lý các i t ng n t i và 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 Bao g m hai d ng: m liên quan n hình ng hình h c: ng, v trí, quan h c a mô t các c m các it ng a lý. hình d ng, v trí. Ví nh t a c a m, ng… D ng Topology: mô 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. Thông tin phi không gian Thông tin v nh ng c Ví d nh tên ng ( thông tin thu c tính ) m liên quan n th ng ph , dân s … kê, thông tin s , thông tin c tr ng gán cho i thu c tính c a i - 12 -
  13. ng PDA ( Personal Digital Thi t b n t h tr Assistant ) cá nhân, giúp ng i s ng l u tr các thông tin 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 n Pocket PC Khái ni m này có 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ô Trong bài, Edge t ng hình Topology ng v i ng. Khi nh c i Edge, hay ng có th hi u ngh a nh nhau. - 13 -
  14. Region it ng vùng ây không c p n qu n huy n nh ng có th hi u Region là qu n huy n. ID nh danh c a it ng Trong bài không nh c t i tên ng, qu n huy n mà 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 -
  15. 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 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 có 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 -
  16. 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: 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 -
  17. 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 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 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 -
  18. 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 hay 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 có t ti ng Vi t thay th ng n g n mà ú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. Có ngh a là ta không c n ph i g i tr c ti p, t ng minh ph ng th c store c a m t it ng khi mu n l u it ng ó. - 18 -
  19. 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 Storage.getRoot). Còn các i t ng persistent khác c truy xu t theo cách bình th ng: ho c truy xu t b ng tham chi u t các it 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 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 là 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 là cái giá ph i tr c a s n gi n và 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 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. 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 di n 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 -
  20. 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 it ng persistent khác. Ki u m ng: Các m ng m t chi u v i thành ph n là các ki u d li u c nêu trên. Ki 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 it ng persistent. Có m t v n là PERST không t bi t c r ng li u m t it ng persistent nào ó ã có thay i gì ch a trong quá trình làm vi c. Mu n bi t c u ó ch có cách là ta t so sánh t ng field c a tr ng thái c và m i i nhau. Nh ng nh v y chi phí r t cao. Vì th nên trong PERST, l p trình viên hoàn toàn ch u trách nhi m v vi c l u it ng nào vào c s d li u. Có hai cách trong PERST ta có th l u m t it ng vào c s d li u: Cách th nh t là dùng ph ng th c Persistent.Store. Ph ng th c này khi cg ib i it ng nào s l u b n thân it ng ó và các it ng c tham chi u t nó m t cách tr c ti p hay không tr c ti p mà ch a c u. Có ngh a là n u ta g i ph ng th c Store này iv i it ng g c c a t cây thì l n l t t t c các it ng c a cây này s c l u xu ng b 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 it ng r ng chúng ã b thay i ch không l u ngay l p t c vào database. Cách này c bi t h u d ng khi it ng c thay i nhi u - 20 -
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2