6. Bố cục luận văn
3.5. KẾT CHƢƠNG 3
Với giả thiết hệ thống quản lý đa dạng thực vật đã tồn tại và đang hoạt động với CSDL bao gồm số lƣợng lớn bản ghi, chƣơng này đã thực hiện chuyển đổi CSDL từ mô hình dữ liệu quan hệ truyền thống sang CSDL quan hệ đƣợc thiết kế theo AM để quản lí đa dạng thực vật.
Ngoài ra bằng công cụ Anchor Modeler cho phép sinh mã SQL để tạo CSDL, bao gồm cả các bảng mô tả các tập thực thể, thuộc tính và các mối quan hệ cũng nhƣ các hàm theo thời điểm và các khung nhìn cho phép truy cập đến dữ liệu vào bất kỳ thời điểm nào trong quá khứ. Luận văn đã xây dựng kịch bản (script) để tự động hóa tối đa quá trình chuyển đổi CSDL này và thực hiện điều chỉnh chức năng tìm kiếm của hệ thống có sử dụng cơ sở dữ liệu theo AM. Kết quả cho thấy hệ thống sẽ quản lý đa dạng thực vật theo thời gian, nghĩa là, ngƣời dùng chọn thời điểm mong muốn làm việc trong hệ thống, mọi dữ liệu hiển thị sẽ theo bối cảnh thời điểm mà ngƣời dùng đã chọn. Hệ thống sẽ đƣa ra những giá trị dữ liệu mới nhất tại thời điểm ngƣời dùng đang chọn để làm việc trong hệ thống.
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
Qua quá trình nghiên cứu và tìm hiểu về các vấn đề liên quan đến AM, luận văn đã hoàn thành và đạt đƣợc một số kết quả sau:
Luận văn đã tìm hiểu đƣợc cơ sở lí thuyết liên quan đến AM và thảm thực vât. Nghiên cứu qui trình thiết kế CSDL Anchor cho hệ thống quản lí thảm thực vật, ngoài ra luận văn cũng tìm hiểu các công cụ Anchor Modeller, Microsoft SQL Sever 2014 và Webgis để xây dựng kho dữ liệu ứng dụng cho hệ thống quản lí thảm thực vật. Anchor Modeler cho phép sinh mã SQL để tạo CSDL
Đề tài là nền tảng trong việc nghiên cứu và ứng dụng AM để quản lí kho dữ liệu, phục vụ lĩnh vực hiển thị thông tin thảm thực vật, góp phần vào việc phát triển và mở rộng mô hình thiết kế CSDL hiện nay theo hƣớng các thay đổi chỉ yêu cầu mở rộng chứ không sửa đổi. Tính năng này là cơ sở cho một số lợi ích đƣợc cung cấp bởi mô hình hóa AM, bao gồm dễ dàng truy vấn thời gian và hiệu suất thời gian chạy cao, làm giảm bớt sự cần thiết để quản lý dữ liệu di sản khi một hệ thống đƣợc nâng cấp hỗ trợ cho các nhà sinh học, địa lý, các nhà môi trƣờng trong việc quản lý và hiển thị thông tin thảm thực vật. Đồng thời cung cấp một phƣơng tiện tìm hiểu, tìm kiếm vị trí phân bố các loài thực vật một cách nhanh chóng, hiệu quả và thân thiện.
Bên cạnh những kết quả đạt đƣợc, để đƣa kho dữ liệu thảm thực vật vào ứng dụng một cách hiệu quả hơn thì cần tiếp tục đầu tƣ thu thập dữ liệu về thảm thực vật nhiều hơn nữa. Bản thân tôi nhận thấy đây là hƣớng tiếp cận đúng đắn và có tính thực tiễn cao.
Hƣớng phát triển
Trong tƣơng lai, giải pháp đề xuất có thể tăng tốc truy cập dữ liệu thảm thực vật, thống kê, phân tích dữ liệu, hoàn thiện hơn các chức năng quản lý dữ
liệu. Xây dựng kho dữ liệu phong phú, đa dạng hơn về thông tin và chi tiết hơn về thể loại, dữ liệu đƣợc cung cấp đầy đủ, cập nhật thƣờng xuyên và chính xác.
TÀI LIỆU THAM KHẢO Tiếng Việt
[1]. Đ. T. P. Anh, Khu hệ động thực vật và nhân tố ảnh hưởng, đề xuất phương án bảo tồn sử dụng hợp lý khu bảo tồn thiên nhiên Bán Đảo Sơn Trà, Báo cáo tổng kết đề tài.
[2]. T. Q. Bảo (2008), Tìm hiểu về chuẩn OGC (Open Geospatial Consortium) và ứng dụng để đưa dữ liệu du lịch của Thành phố Hồ Chí Minh lên WebGIS, Luận văn tốt nghiệp kỹ sƣ Công nghệ thông tin, Đại học Khoa học Tự nhiên TP. Hồ Chí Minh.
[3]. Lê Thị Lệ Quyên, Nghiên cứu đặc trưng sinh thái thảm thực vật Vườn quốc gia Bidoup-Núi Bà và đề xuất giải pháp bảo tồn, Trƣờng Đại học Khoa học Tự nhiên, Luận văn Thạc sĩ Khoa học môi trƣờng. [4]. Nguyễn Trần Quốc Vinh, Huỳnh Xuân Hiệp, Trần Đăng Hƣng, Hoàng
Ngọc Hiển, Nguyễn Văn Vƣơng, Sinh tự động Trigger trên ngôn ngữ T-SQL hỗ trợ Anchor modeling trong SQL Server, Trƣờng Đại học Sƣ phạm Hà Nội.
[5]. Nguyễn Trần Quốc Vinh, "Viết lại truy vấn để sử dụng khung nhìn thực có hàm thống kê trong PostgreSQL", Kỷ yếu HTKH quốc gia Nghiên cứu cơ bản và ứng dụng công nghệ thông tin, FAIR-VIII-2015, 2015, trang 760-767.
Tiếng Anh
[6]. A. Artale and E. Franconi, Reasoning with Enhanced Temporal Entity- Relationship Models, in: Proc. of the 10th Int. Workshop on Database and Expert Systems Applications, Florence, Italy, IEEE Computer Society, 1999, pp. 482–486.
[7]. B. Bebel, J. Eder, C. Koncilia, T. Morzy, and R. Wrembel, Creation and Management of Versions in Multiversion Data Warehouses, in: Hisham Haddad.
[8]. C. E. Date, H. Darwen, and N. A. Lorentzos (2003), Temporal Data and the Relational Model, Elsevier Science.
[9]. C. S. Jensen and R. T. Snodgrass (1999), Temporal Data Management, IEEE Transactions on Knowledge and Data Engineering, Vol. 11, No. 1, pp. 36–44.
[10]. D. Theodoratos and T. K. Sellis (1999), Dynamic Data Warehouse Design, in: M. K. Mohania and A. M. Tjoa (Eds.) 1st Intl. Conf. on Data Warehousing and Knowledge Discovery, DaWaK ‘99, Italy, Springer Berlin/Heidelberg, LNCS, Vol. 1676 1999, pp. 1–10.
[11]. H. J. Watson and T. Ariyachandra (2005), Data Warehouse Architectures: Factors in the Selection Decision and the Success of the Architectures, Technical Report, Terry College of Business, University of Georgia, Athens, GA, July 2005.
[12]. H. Gregersen and J.S. Jensen (1999), Temporal Entity-Relationship Models – A Survey, IEEE Transactions on Knowledge and Data Engineering, Vol. 11, No. 3, pp. 464–497.
[13]. H. Gregersen, C.S. Jensen (1998), The Consensus Glossary of Temporal Database Concepts, in: O. Etzion et al. (Eds.) Temporal Databases: Research and Practice, Springer, LNCS, Vol. 1399, pp. 367–405. [14]. J. F. Roddick, A Survey of Schema Versioning Issues for Database
Systems, Information and Software Technology, Vol. 37, Issue 7, (1995), pp. 383–393.
[15]. J. F. Roddick, A Survey of Schema Versioning Issues for Database Systems, Information and Software Technology, Vol. 37.
[16]. L. Ronnb ¨ ack, O. Regardt, M. Bergholtz, P. Johannesson, and P. Wohed ¨ , Anchor Modeling: Naming Convention.
[17]. M. Golfarelli, J. Lechtenborger, S. Rizzi, and G. Vossen ¨ Schema versioning in data warehouses: Enabling cross-version querying via schema augmentation, Data & Knowledge Engineering, Vol. 59, Issue 2, (2006), pp. 435–459.
[18]. O. Regardt, L. Ronnb ¨ ack, M. Bergholtz, P. Johannesson, and P. Wohed ¨ , Analysis of normal forms for anchor models, http://www.anchormodeling.com/wp-
content/uploads/2010/08/6nf.pdf, valid at September 16th 2010. [19]. Rönnbäcka L., Regardtb O., Bergholtzc M., Johannessonc P., Wohedc
P., "Anchor modeling — Agile information modeling in evolving data environments", Data & Knowledge Engineering, 69(12), 2010, pp. 1229.
[20]. Rönnbäck L., "Anchor Modeling – A Technique for Information under Evolution", <http://www.anchor modeling.com/wp- content/uploads/2011/05/Anchor-Modeling-Open-AMW.pdf> (Truy cập: 03/06/2016).
[21]. R¨onnb¨ack L., Regardt O., Bergholtz M., Johannesson P., Wohed P., "From Anchor Model to Relational Database", <http://www.anchormodeling.com/wp-content/uploads/2010/09/AM- RDB.pdf> (Truy cập: 20/4/2013).
[22]. Rönnbäck L., "Anchor Modeling – A Technique for Information under Evolution", <http://www.anchor modeling.com/wp- content/uploads/2011/05/Anchor-Modeling-Open-AMW.pdf> (Truy cập: 03/06/2016).
[23]. X. Li (2006), Building an Agile Data Warehouse: A Proactive Approach to Managing Changes, in: M. H. Hamza (Ed.), Proc. of the 4th IASTED Intl. Conf. on Communications, Internet, and Information Technology, USA, ACTA Press.
Websites
[24]. Microsoft, "Create Indexed Views (SQL Server 2016)", <https://msdn.microsoft.com/en-
us/library/ms191432.aspx?f=255&MSPPError=-2147217396> (Truy cập: 27/5/2016).
[25]. Microsoft, "Create Indexed Views (SQL Server 2016)", <https://msdn.microsoft.com/en-
us/library/ms191432.aspx?f=255&MSPPError=-2147217396> (Truy cập: 27/5/2016).
[26]. ―Sinh vật rừng Việt Nam,‖ [Trực tuyến]. Available: http://www.vncreatures.net. [Đã truy cập 12 4 2016].
[27]. WIKIPEDIA - Cơ sở dữ liệu thời gian,
http://en.wikipedia.org/wiki/Temporal_database, có hiệu lực ngày 17 tháng 9 năm 2010.
PHỤ LỤC
A. Mã nguồn đặc tả mô hình Anchor
<schema format="0.99" date="2017-05-26" time="11:37:11">
<metadata changingRange="datetime" encapsulation="dbo" identity="int" metadataPrefix="Metadata" metadataType="int" metadataUsage="true"
changingSuffix="ChangedAt" identitySuffix="ID" positIdentity="int" positGenerator="true" positingRange="datetime" positingSuffix="PositedAt" positorRange="tinyint"
positorSuffix="Positor" reliabilityRange="decimal(5,2)" reliabilitySuffix="Reliability" deleteReliability="0" assertionSuffix="Assertion" partitioning="false"
entityIntegrity="true" restatability="true" idempotency="false" assertiveness="true" naming="improved" positSuffix="Posit" annexSuffix="Annex" chronon="datetime2(7)" now="sysdatetime()" dummySuffix="Dummy" versionSuffix="Version"
statementTypeSuffix="StatementType" checksumSuffix="Checksum" businessViews="false" decisiveness="true" equivalence="false" equivalentSuffix="EQ" equivalentRange="tinyint" databaseTarget="SQLServer" temporalization="uni"/>
<knot mnemonic="PHA" descriptor="PhanHang" identity="tinyint" dataRange="varchar(max)">
<metadata capsule="dbo" generator="false"/>
<layout x="294.67" y="449.02" fixed="true"/>
</knot>
<knot mnemonic="GTI" descriptor="GioiTinh" identity="3" dataRange="nvarchar(10)">
<metadata capsule="dbo" generator="false"/>
<layout x="-168.80" y="29.92" fixed="true"/>
</knot>
<knot mnemonic="QUY" descriptor="Quyen" identity="smallint" dataRange="varchar(max)">
<metadata capsule="dbo" generator="false"/>
<layout x="-127.94" y="-24.95" fixed="true"/>
</knot>
<knot mnemonic="NHO" descriptor="NHOM" identity="smailint" dataRange="nvarchar(max)">
<metadata capsule="dbo" generator="false"/>
<layout x="-37.78" y="-331.40" fixed="true"/>
</knot>
<anchor mnemonic="GI" descriptor="Gioi" identity="int">
<metadata capsule="dbo" generator="true"/>
<attribute mnemonic="GKH" descriptor="DanhPhapKhoaHoc" dataRange="varchar(max)">
<metadata capsule="dbo"/>
<layout x="-123.92" y="307.17" fixed="true"/>
</attribute>
<attribute mnemonic="GDI" descriptor="DacDiem" timeRange="datetime" dataRange="nvarchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="54.90" y="323.54" fixed="true"/>
</attribute>
<attribute mnemonic="GTV" descriptor="TenGoiTiengViet" dataRange="nvarchar(max)">
<metadata capsule="dbo"/>
<layout x="-134.95" y="396.49" fixed="true"/>
</attribute>
<layout x="-45.84" y="372.65" fixed="true"/>
</anchor>
<anchor mnemonic="NG" descriptor="Nganh" identity="int">
<metadata capsule="dbo" generator="true"/>
<attribute mnemonic="NDD" descriptor="DacDiem" timeRange="datetime" dataRange="nvarchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="60.01" y="590.28" fixed="true"/>
</attribute>
<attribute mnemonic="NTV" descriptor="TenGoiTiengViet" dataRange="nvarchar(max)">
<metadata capsule="dbo"/>
<layout x="-148.96" y="657.99" fixed="true"/>
</attribute>
<attribute mnemonic="NKH" descriptor="DanhPhapKhoaHoc" dataRange="varchar(max)">
<metadata capsule="dbo"/>
<layout x="-130.28" y="561.10" fixed="true"/>
</attribute>
<layout x="-56.73" y="624.14" fixed="true"/>
</anchor>
<anchor mnemonic="LO" descriptor="Lop" identity="int">
<metadata capsule="dbo" generator="true"/>
<attribute mnemonic="LKH" descriptor="DanhPhapKhoaHoc" dataRange="varchar(max)">
<layout x="-126.43" y="885.45" fixed="false"/>
</attribute>
<attribute mnemonic="LDD" descriptor="DacDiem" timeRange="datetime" dataRange="nvarchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="-100.62" y="927.48" fixed="false"/>
</attribute>
<attribute mnemonic="LTV" descriptor="TenGoiTiengViet" dataRange="nvarchar(max)">
<metadata capsule="dbo"/>
<layout x="-167.39" y="849.38" fixed="true"/>
</attribute>
<layout x="-76.58" y="837.78" fixed="true"/>
</anchor>
<anchor mnemonic="BO" descriptor="Bo" identity="int">
<metadata capsule="dbo" generator="true"/>
<attribute mnemonic="BKH" descriptor="DanhPhapKhoaHoc" dataRange="varchar(max)">
<metadata capsule="dbo"/>
<layout x="237.46" y="798.08" fixed="true"/>
</attribute>
<attribute mnemonic="BTV" descriptor="TenGoiTiengViet" dataRange="nvarchar(max)">
<metadata capsule="dbo"/>
<layout x="195.44" y="981.37" fixed="true"/>
</attribute>
<attribute mnemonic="BDD" descriptor="DacDiem" timeRange="datetime" dataRange="nvarchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="287.66" y="972.03" fixed="true"/>
</attribute>
<layout x="203.61" y="865.80" fixed="true"/>
</anchor>
<anchor mnemonic="HO" descriptor="Ho" identity="int">
<metadata capsule="dbo" generator="true"/>
<attribute mnemonic="HKH" descriptor="DanhPhapKhoaHoc" dataRange="varchar(max)">
<metadata capsule="dbo"/>
<layout x="557.34" y="788.75" fixed="true"/>
</attribute>
<attribute mnemonic="HTV" descriptor="TenGoiTiengViet" dataRange="nvarchar(max)">
<metadata capsule="dbo"/>
<layout x="613.38" y="925.33" fixed="true"/>
</attribute>
<attribute mnemonic="HDD" descriptor="DacDiem" timeRange="datetime" dataRange="nvarchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="535.16" y="966.19" fixed="true"/>
</attribute>
<layout x="538.66" y="870.46" fixed="true"/>
</anchor>
<anchor mnemonic="GO" descriptor="Giong" identity="int">
<metadata capsule="dbo" generator="true"/>
<attribute mnemonic="GKH" descriptor="DanhPhapKhoaHoc" dataRange="varchar(max)">
<metadata capsule="dbo"/>
<layout x="1088.52" y="677.84" fixed="true"/>
</attribute>
<attribute mnemonic="GDD" descriptor="DacDiem" timeRange="datetime" dataRange="nvarchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="1089.69" y="778.24" fixed="true"/>
</attribute>
<attribute mnemonic="GTV" descriptor="TenGoiTiengViet" dataRange="nvarchar(max)">
<metadata capsule="dbo"/>
<layout x="1087.35" y="882.14" fixed="true"/>
</attribute>
<layout x="878.38" y="824.94" fixed="true"/>
</anchor>
<anchor mnemonic="LA" descriptor="Loai" identity="int">
<metadata capsule="dbo" generator="true"/>
<attribute mnemonic="TTG" descriptor="TenThuongGoi" timeRange="datetime" dataRange="nvarchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="671.75" y="404.66" fixed="true"/>
</attribute>
<metadata capsule="dbo"/>
<layout x="688.09" y="582.11" fixed="true"/>
</attribute>
<attribute mnemonic="TLD" descriptor="TaiLieuDan" timeRange="datetime" dataRange="varchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="647.23" y="363.80" fixed="true"/>
</attribute>
<attribute mnemonic="TTR" descriptor="TinhTrang" timeRange="datetime" dataRange="nvarchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="700.93" y="485.21" fixed="true"/>
</attribute>
<attribute mnemonic="IMG" descriptor="Image" timeRange="datetime" dataRange="varchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="528.15" y="625.30" fixed="true"/>
</attribute>
<attribute mnemonic="PHA" descriptor="PhanHang" timeRange="datetime" knotRange="PHA">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="382.22" y="494.55" fixed="true"/>
</attribute>
<attribute mnemonic="GTR" descriptor="GiaTri" timeRange="datetime" dataRange="nvarchar(50)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="458.11" y="534.24" fixed="true"/>
</attribute>
<attribute mnemonic="PBO" descriptor="PhanBo" timeRange="datetime" dataRange="nvarchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="494.67" y="567.96" fixed="true"/>
</attribute>
<attribute mnemonic="SHS" descriptor="SinhHocVaSinhThai" timeRange="datetime" dataRange="nvarchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="419.58" y="392.99" fixed="true"/>
</attribute>
<attribute mnemonic="DDN" descriptor="DacDiemNhanDang" timeRange="datetime" dataRange="varchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="688.09" y="439.68" fixed="true"/>
</attribute>
<attribute mnemonic="XXU" descriptor="XuatXu" timeRange="datetime" dataRange="nvarchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="417.25" y="332.28" fixed="true"/>
</attribute>
<attribute mnemonic="TKH" descriptor="TenKhac" timeRange="datetime" dataRange="nvarchar(max)">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="710.27" y="531.91" fixed="true"/>
</attribute>
<layout x="557.31" y="497.10" fixed="true"/>
</anchor>
<anchor mnemonic="TT" descriptor="ThongTinPhanBoThucVat" identity="int">
<metadata capsule="dbo" generator="true"/>
<attribute mnemonic="NPH" descriptor="NgayGioPhatHienThongTin" timeRange="datetime" dataRange="datetime">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="534.86" y="159.29" fixed="true"/>
</attribute>
<attribute mnemonic="MDO" descriptor="MatDo" timeRange="datetime" dataRange="smallint">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="681.12" y="154.50" fixed="true"/>
</attribute>
<attribute mnemonic="SLC" descriptor="SoLuongCaThe" timeRange="datetime" dataRange="bigint">
<metadata capsule="dbo" restatable="true" idempotent="false"/>
<layout x="765.19" y="97.09" fixed="true"/>
</attribute>
<attribute mnemonic="DTI" descriptor="DienTich" timeRange="datetime" dataRange="int">