Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
2,08 MB
Nội dung
1 DỮ LIỆU KHÔNG GIAN TRÊN MICROSOFT SQL SERVER 2008 2 Chương 1: GIỚI THIỆU VỀ MICROSOFT SQL SERVER 2008 1.1. Tổng quan về SQL Server Microsoft SQL Server là hệ thống quản trị cơ sở dữ liệu quan hệ (Relational DataBase Management System - RDBMS) do Microsoft phát triển, n sử dụng ngôn ngữ lập trình và truy vấn cơ sở dữ liệu Transact-SQL để trao đổi dữ liệu giữa máy trm (Client) và máy ch (Server). Transact-SQL dựa trên ngôn ngữ vấn tin c cấu trúc chuẩn (ANSI-SQL: là ngôn ngữ vấn tin c cấu trúc do học viện quốc gia Hoa Kỳ đưa ra), ANSI-SQL thường được gọi là SQL, ngôn ngữ này là cách thức chuẩn để giao tiếp với cơ sở dữ liệu (CSDL). 1.2. Mô hnh hot đng ca SQL Server SQL Server là hệ quản trị CSDL hot động trên mng, c thể thực hiện trao đổi dữ liệu theo nhiều mô hình mng khác nhau, nhiều giao thức và phương thức truyền tin khác nhau. Hnh 1.1 Mô hnh chung ca SQL Server Trong đ c ba kiểu kết nối cơ bản đến SQL Server là: Kết nối trên Desktop: C thể trên cùng máy tính với SQL Server hoặc kết nối qua mng nội bộ. Trên một Desktop c thể c nhiều ứng dụng, mỗi ứng dụng c thể thực hiện thao tác với nhiều CSDL. 3 Hnh 1.2 Mô hnh Desktop ca SQL Server Kết nối qua mng diện rng: Thông qua đường truyền mng xa kết nối đến SQL Server. SQL Server c thể thực hiện trao đổi dữ liệu với các ứng dụng theo nhiều giao thực truyền tin khác nhau (TCP/IP, NetBeUI, Names Pipes,…), các ứng dụng c thể sử dụng nhiều phương thức kết nối khác nhau (OLE DB, ODBC, DB-Library). Hnh 1.3 Mô hnh Client / Server ca SQL Server 4 Kết nối qua mng Internet: nếu xét riêng các ứng dụng kết nối với SQL Server trên mng Internet, các máy ch SQL Server sẽ được quản lý thông qua các hệ thống máy ch mng, hệ điều hành mng, các ứng dụng (COM+, ASP, IIS) sẽ thông qua máy ch mng kết nối đến SQL Server, mô hình này c thể áp dụng cho các mng nội bộ, diện rộng, ứng dụng được khai thác trên trình duyệt Internet Browser. Hnh 1.4 Mô hnh kết nối ứng dụng trên mạng Internet ca SQL Server 1.3. Tính năng cơ bản Cho phép quản trị một hệ CSDL lớn, c tốc độ xử lý dữ liệu nhanh đáp ứng yêu cầu về thời gian. Cho phép nhiều người cùng khai thác trong một thời điểm đối với một CSDL và toàn bộ quản trị CSDL. Sử dụng câu lệnh truy vấn dữ liệu Transaction-SQL. C hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật ca công nghệ NT (Network Technology) hoặc sử dụng hệ thống bảo vệ độc lập ca SQL Server. Hỗ trợ trong việc triển khai CSDL phân tán và phát triển ứng dụng trên Internet. Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng xây dựng các ứng dụng đặc thù (Visual Basic, C, C++, ASP, ASP.NET, XML, ). 1.4. Lưu trữ dữ liệu không gian Khái niệm Hệ quản trị cơ sở dữ liệu không gian (SDBMS – Spatial Database Manage System), đây là một hệ quản trị cơ sở dữ liệu, c hỗ trợ mô hình dữ liệu không gian, kiểu dữ liệu không gian (SDT – Spatial Data Types) và ngôn ngữ truy vấn SQL 5 không gian, hỗ trợ kiểu dữ liệu không gian trong lập trình : cung cấp chỉ số không gian (Spatial Indexing) và thuật toán liên kết không gian (Spatial Joins). Cơ sở dữ liệu không gian là một cơ sở dữ liệu trong đ c chứa đối tượng không gian. Đối tượng không gian c được biểu diễn thông qua các đối tượng hình học cơ bản (điểm, đường và vùng) hoặc được biểu diễn dng ảnh (raster). Dữ liệu không gian biểu diễn thông tin vị trí địa lý và hình dng ca các đối tượng trên trái đất. Hnh 1.5 Minh ha cơ s d liu không gian Hiện nay c rất nhiều hệ quản trị CSDL không gian như: DB2 (phần mở rộng IBM DB2 Spatial Extender), Oracle (Oracle Spatial), PostgreSQL (phần mở rộng PostGIS), Sqlite (phần mở rộng SpatialLite), và Microsoft SQL Server phiên bản 2008 trở lên. Trong SQL Server 2008 giới thiệu các 2 kiểu dữ liệu không gian là: Kiểu dữ liệu hnh học (Geometry): Là kiểu dữ liệu không gian cơ bản được sử dụng để biểu diễn các đối tượng trong hệ tọa độ Euclide (tọa độ phẳng), đối tượng không c thông tin về SRID (Spatial Reference Identifiers, đây là một hệ quy chiếu đã được định nghĩa trước ứng với một số nguyên). Kiểu dữ liệu đa l (Geography): Là kiểu dữ liệu không gian cơ bản được sử dụng để biểu diễn các đối tượng trong hệ tọa độ trái đất (tọa độ Ellipsoid). Đối tượng c chứa thông tin về SRID. Hnh 1.6 Mô hnh thiết kế ca cc đối tưng khô ng gian 6 Trong SQL Server 2008, các đối tượng hình học trên bản đ được mô tả bởi Well-Know Text (WKT) hoặc Well-Known Binary (WKB), các định nghĩa đầu tiên được đưa ra bởi Open Geospatial Consortium (OGC) trong đ: Well-Know Text (WKT): ngôn ngữ đánh dấu kiểu văn bản dùng để biểu diễn cho các đối tượng hình học ở định dng vector trên bản đ. WKT bao gm các thông tin về kiểu ca đối tượng và các tọa độ dng đối tượng Ví Dụ: Ngoài ra, WKT cũng được sử dụng để mô tả hệ quy chiếu như Datum, Geoid, Hệ tọa độ và Phép chiếu bản đ ca các đối tượng không gian. Well-Known Binary (WKB): ngôn ngữ đánh dấu kiểu nhị phân dùng để biểu diễn cho các đối tượng hình học trên bản đ (tương tự như WKT) ở hệ thập lục phân. Ví Dụ: Với sự hỗ trợ làm việc với các đối tượng không gian, người sử dụng SQL Server 2008 c thể thực hiện việc lưu trữ dữ liệu không gian cũng như thực hiện truy vấn không gian mà các hệ quản trị cơ sở dữ liệu truyền thống (không chứa thành phần không gian – non spatial database) không thể thực hiện được. Tính năng này sẽ cung cấp cho các nhà quản lý trong các lĩnh vực liên quan đến yếu tố không gian một hệ quản trị CSDL phù hợp, đặc biệt là những nhà quản lý về tài nguyên-môi trường, nhà quản lý giao thông, các hệ thống điện – cấp thoát nước, người nghiên cứu về địa lý, cũng như các nhà quy hoch phát triển kinh tế. POINT(0 0) LINESTRING(0 0,1 1,1 2) POLYGON((0 0,4 0,4 4,0 4,0 0),(11, 2 1, 2 2, 1 2,1 1)) MULTIPOINT(0 0,1 2) MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4)) MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 - 2,-2 -2,-2 -1,-1 -1) GEOMETRYCOLLECTION(POINT(2 3),LINESTRING(2 3,3 4)) POINT(2.0 4.0) đưc th hin bng: 000000000140000000000000004010000000000000 1-byte integer 00 or 0: big endian 4-byte integer 00000001 or 1: POINT (trên mt phng) 8-byte float 4000000000000000 or 2.0: ta đ x 8-byte float 4010000000000000 or 4.0: ta đ y 7 Chương 2: TẠO CƠ SỞ DỮ LIỆU 2.1. To Database Bước 1: Vào Server cần to, click chuột phải vào Database > New Database. Bước 2: Đặt tên cho Database 2.2. To bảng Bước 1: Vào Database cần to, click chuột phải vào Table > New Table. 8 Bước 2: To các trường thuộc tính cho bảng Ví dụ: To một bảng c tên là “Khong_gian” trong cơ sở dũ liệu “dialy” 2.3. To dữ liệu không gian a. To đối tượng dng điểm x, y: tọa độ điểm SRID: thông số quy định lưới chiếu insert into [ten_bang] ([ten_cot]) values (geography::STPointFromText(‘Point (x y)’, SRID) 9 Ví dụ: To một đối tượng điểm c tọa độ là (7 12) thuộc hệ quy chiếu WGS-84. Bước 1: Bước 2: Bước 3: Kết quả: 10 b. To dữ liệu dng đường linestring_tagged_text: c dng Linestring(x1 y1, x2 y2,… xn yn ); SRID: thông số quy định lưới chiếu. Ví dụ: To đối tượng dng đường c tọa độ điểm bắt đầu là (0 0) và kết thúc là (7 8) thuộc hệ quy chiếu WSG-84. Thực hiện các bước tương tự như đối với đối tượng điểm. Kết quả: c. To dữ liệu dng vùng polygon_tagged_text: c dng POLYGON(x1 y1, x2 y2,… xn yn, x1 y1 ); SRID: thông số quy định lưới chiếu. Ví dụ: To một Polygon c tọa độ là (-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653) thuộc hệ quy chiếu WGS-84. insert into [ten_bang] ([ten_cot]) values (geography::STLineFromText(‘linestring_tagged_text’, SRID) insert into [ten_bang] ([ten_cot]) values (geography::STPolyFromText(‘polygon_tagged_text’, SRID) [...]... 3: CHUYỂN DỮ LIỆU TỪ SHAPEFILE SANG SQL SERVER 2008 3.1 Chuyển dữ liệu từ Shapefile sang SQL Server bằng câu lệnh Comandline Cú pháp sử dụng để chuyển dữ liệu từ Shapefile sang SQL Server 2008: shp2sqlserver.exe -h Usage: shp2sqlserver.exe [OPTIONS]+ "connectionString" "path to shapefile" Loads a shapefile into Microsoft SQL Server 2008 example: shp2sqlserver.exe "Data Source=.\SQLExpress2008;Initial... đối shapefile sang SQL Sever 2008 12 Chương 4: CÁC CÂU TRUY VẤN KHÔNG GIAN TRÊN SQL SERVER 2008 Để có thể thực hiện truy vấn không gian bằng ngôn ngữ SQL, thì SQL Server đã cài đặt sẵn các hàm hỗ trong việc truy vấn dữ liệu không gian Đối với mỗi hệ quản trị CSDL khác nhau thì tên hàm cũng khác nhau Những hàm dưới đây là các hàm thường dùng nhất và đã được định nghĩa trong SQL Server 2008 4.1 Các hàm... lý thuyết về CSDL không gian và một số khái niệm liên quan • Cách thức tạo ra CSDL không gian, cách xử lý với dữ liệu không gian đặc biệt là nắm được tác dụng và cách sử dụng các hàm hỗ trợ việc truy vấn dữ liệu không gian của SQL Server 2008 • Áp dụng các hàm đó vào truy vấn không gian thông qua các bài toán cụ thể mà nhóm đặt ra Với đặc điểm là hệ quản trị cơ sở dữ liệu được Microsoft phát triển... thương mại, nên SQL Server 2008 có thể đáp ứng một cách đầy đủ các yêu cầu cơ bản đối với một hệ quản trị cơ sở dữ liệu Đặc biệt từ phiên bản này, SQL Server đã có khả năng làm việc với dữ liệu không gian, đây là một việc làm tất yếu trong bối cảnh các hệ quản trị cơ sở dữ liệu khác đều có hướng phát triển cho việc hỗ trợ cơ sở dữ liệu không gian, đặc biệt là các hệ quản trị cơ sở dữ liệu mã nguồn... lĩnh vực Hệ thống thông địa lý, thì yêu cầu của một hệ quản trị cơ sở dữ liệu không chỉ có chức năng quản lý dữ liệu thuộc tính thông thường, mà còn phải có chức năng quản lý dữ liệu không gian Với những tìm hiểu về hệ quản trị cơ sở dữ liệu SQL Server 2008, nhóm đã thấy được vai trò quan trọng và ý nghĩa của dữ liệu không gian đối với người nghiên cứu về Địa lý, cũng như các lĩnh vực khác trong... lưới chiếu(SRID) Mặc định là -1 Tên cột chứa dữ liệu không gian Tên bảng Tên của cột được xác địng làm khóa chính Tạo một chỉ mục không gian (spatial index) Thêm dữ liệu không gian (spatial data) dưới dạng Geography Append data Hiển thị thông báo và kết thúc 3.2 Chuyển dữ liệu từ Shapefile sang SQL Server bằng phần mềm Sử dụng phần mềm ShapeFile to SQL Server của Morten Nielsen (www.sharpgis.net)... CSDL không gian Bài tiểu luận chỉ trình bày một số truy vấn cơ bản cho CSDL không gian, có thể tìm hiểu thêm các truy vấn khác trong phần trợ giúp người dùng của phần mềm Hình 4.1 Phần trợ giúp người dùng trong SQL Sever 2008 4.5 Minh họa Dưới đây là một số ví dụ về câu lệnh truy vấn SQL không gian, sử dụng ngôn ngữ truy vấn SQL và các hàm truy vấn không gian được định nghĩa trong SQL Sever 2008. .. đối tượng không gian là tập hợp của tất cả các điểm thuộc giao giữa đối tượng không gian A và đối tượng không gian B Nếu không có điểm chung giữa hai đối tượng kết quả trẻ về là rỗng (null) 17 Cú pháp Đối tượng A STIntersection (đối tượng B) Ví dụ: tìm giao giữa một vùng và đường thẳng c STUnion Trả về một đối tượng không gian là là tập hợp của đối tượng không gian này và đối tượng không gian khác... tượng A hay không 21 h STOverlaps Trả về giá trị 1 nếu các đối tượng không gian có chung phần giao nhau nhưng không hoàn toàn chứa nhau Ngược lại trả về giá trị 0 Cú pháp Đối tượng A.STOverlaps(đối tượng B) Ví dụ: xét hai đối tượng Polygon có chung phần giao nhau nhưng không chứa nhau hay không? Hệ quản trị CSDL SQL Server 2008 sử dụng ngôn ngữ lập trình và truy vấn cơ sở dữ liệu Transact -SQL nên hỗ... vùng và đường có giao nhau hay không? d STTouches Trả về giá trị là 1 nếu các đối tượng không gian có ít nhất 1 điểm chung nhưng không giao nhau Ngược lại, trả về giá trị 0 nếu hai đối tượng không có điểm chung Cú pháp Đối tượng A STTouches (đối tượng B) Ví dụ: xét hai đối tượng đường và điểm có điểm chung hay không? e STCrosses Trả về giá trị 1 nếu hai đối tượng không gian có chung một phần giao . 1 DỮ LIỆU KHÔNG GIAN TRÊN MICROSOFT SQL SERVER 2008 2 Chương 1: GIỚI THIỆU VỀ MICROSOFT SQL SERVER 2008 1.1. Tổng quan về SQL Server Microsoft SQL Server là hệ thống. SQL 5 không gian, hỗ trợ kiểu dữ liệu không gian trong lập trình : cung cấp chỉ số không gian (Spatial Indexing) và thuật toán liên kết không gian (Spatial Joins). Cơ sở dữ liệu không gian. Hệ quản trị cơ sở dữ liệu không gian (SDBMS – Spatial Database Manage System), đây là một hệ quản trị cơ sở dữ liệu, c hỗ trợ mô hình dữ liệu không gian, kiểu dữ liệu không gian (SDT – Spatial