ĐẠI HỌC QUỐC GIA HÀ NỘI
ĐẠI HỌC KHOA HỌC TỰ NHIÊN
NGUYỄN BÍCH HẰNG
MỘT SỐ VẤN ĐỀ CƠ SỞ DỮ LIỆU KHÔNG GIAN
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
Người hướng dẫn: PGS.TS Đặng Văn Đức
HÀ NỘI
ĐẠI HỌC QUỐC GIA HÀ NỘI
ĐẠI HỌC KHOA HỌC TỰ NHIÊN
NGUYỄN BÍCH HẰNG
MỘT SỐ VẤN ĐỀ CƠ SỞ DỮ LIỆU KHÔNG GIAN
Mã số
: 1.01.10
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
HÀ NỘI
MỤC LỤC
Lời cảm ơn .................................................. Error! Bookmark not defined.
Danh mục các ký hiệu, chữ viết tắt......................................................... 1
Mở đầu ..................................................................................................... 2
Chương 1 - Giới thiệu chung về cơ sở dữ liệu không gian .................... 4
1.1
Giới thiệu chung về cơ sở dữ liệu ........................................................ 4
1.1.1
Mô hình quan hệ................................................................................. 5
1.1.2
Mô hình hướng đối tượng ................................................................... 6
1.1.3
Mô hình đối tượng-quan hệ ................................................................ 6
1.2
Giới thiệu về GIS (Geographic information system) ............................ 6
1.3
Mô hình cơ sở dữ liệu không gian ..................................................... 10
1.3.1
Giới thiệu ......................................................................................... 10
1.3.2
Sử dụng mô hình cơ sở dữ liệu quan hệ ............................................ 11
1.3.3
Sử dụng kiến trúc song song. ............................................................ 12
1.3.4
Tích hợp trên cơ sở mở rộng hệ quản trị cơ sở dữ liệu ...................... 14
1.4
Kết luận ............................................................................................. 14
Chương 2 - Mô hình dữ liệu, mối quan hệ và ràng buộc không gian . 15
2.1 Giới thiệu............................................................................................... 15
2.2 Mô hình dữ liệu không gian ................................................................... 16
2.2.1 Mô hình dữ liệu raster ............................................................................. 17
2.2.2 Mô hình dữ liệu Vectơ ............................................................................. 20
2.2.3 Mô hình dữ liệu không gian trên có sở các ràng buộc ............................. 25
2.3 Mối quan hệ không gian ........................................................................ 31
2.3.1 Quan hệ tôpô........................................................................................... 31
2.4 Các ràng buộc không gian ...................................................................... 38
2.4.1 Ràng buộc toàn vẹn tôpô ......................................................................... 40
2.4.2 Ràng buộc ngữ nghĩa .............................................................................. 41
2.4.3 Các ràng buộc do người dùng tự định nghĩa............................................ 42
Chương 3 - Cấu trúc dữ liệu không gian, các thuật toán cơ sở và
phương thức xâm nhập. .................................................................................. 43
3.1 Giới thiệu. .............................................................................................. 43
3.2 Cấu trúc dữ liệu dữ liệu không gian ....................................................... 44
3.3 Một số thuật toán cơ sở cho các đối tượng không gian ........................... 49
3.3.1 Kiểm tra điểm có nằm trong đa giác hay không? ..................................... 49
3.3.2 Giao của các polyline.............................................................................. 51
3.3.3 Giao của hai đa giác ............................................................................... 57
3.3.4 Bài toán windowing................................................................................. 58
3.3.5 Bài toán Clipping .................................................................................... 60
3.3.6 Tính diện tích của đa giác và các toán tử liên quan ................................. 63
3.4 Các phương thức truy cập không gian và xử lý truy vấn ........................ 64
3.4.1 Các phương thức truy cập không gian ..................................................... 64
3.4.2 Xử lý truy vấn.......................................................................................... 79
Chương 4 - Khảo sát hệ quản trị cơ sở dữ liệu không gian thương mại
và phát triển chương trình ứng dụng ............................................................. 92
4.1 Giới thiệu chung .................................................................................... 92
4.2 Oracle spatial ......................................................................................... 94
4.3 Phát triển ứng dụng thử nghiệm ........................................................... 101
4.3.1 Phát biểu bài toán ..................................................................................101
4.3.2 Công cụ, phương pháp sử dụng phát triển .............................................101
4.3.3 Kết quả đạt được ....................................................................................104
Kết luận................................................................................................ 111
Tài liệu tham khảo .............................................................................. 113
1
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
Ký hiệu
Tên đầy đủ
Ý nghĩa
ADT
Astract data type
Kiểu dữ liệu trừu tượng
DBMS
Database Management System
Hệ quản trị cơ sở dữ liệu
DB
Database
Cơ sở dữ liệu
GIS
Geographic information
Hệ thống thông tin địa lý
system
JDBC
Java Database Connectivity
Kết nối cơ sở dữ liệu với
Java
LRU
Least Recently Used
Phương pháp thay thế các
thành phần ít được sử dụng
gần nhất
Mmb
Minimal bounding box
Hình chữ nhật nhỏ nhất bao
quanh đối tượng
OODBMS
Object-oriented database
Hệ quản trị cơ sở dữ liệu
management system
hướng đối tượng
QEP
Query Execution Plan
Chiến lược xử lý truy vấn
SDB
Spatial databasse
Cơ sở dữ liệu không gian
SDBMS
Spatial database management
Hệ quản trị cơ sở dữ liệu
system
không gian
Spatial access method
Phương thức truy cập không
SAM
gian
2
MỞ ĐẦU
Hệ thống thông tin địa lý (GIS - Geographic information system ) đã được
nghiên cứu và ứng dụng rộng rãi trên thế giới. Từ vài năm gần đây, Việt Nam
đang có nhiều cố gắng đưa hệ thống thông tin địa lý vào ứng dụng thực tế vì lợi
ích to lớn của chúng trong việc hỗ trợ ra quyết định, lập kế hoạch trong nhiều
lĩnh vực khác nhau. Tuy nhiên, vấn đề nghiên cứu về lĩnh vực này ở Việt Nam
còn rất nhiều hạn chế. Việc hiểu biết sâu sắc về GIS sẽ giúp ta ứng dụng một
cách hiệu quả các hệ thống GIS có sẵn cũng như cho khả năng xây dựng các hệ
thống GIS phù hợp với đặc thù của Việt Nam.
GIS không chỉ là công cụ tạo ra các bản đồ mà còn lưu trữ dữ liệu địa lý,
cung cấp các công cụ phân tích, mô phỏng ở nhiều bề mặt khác giúp các nhà
chuyên môn tổ chức công việc một cách hiệu quả ở nhiều lĩnh vực ví dụ như:
quản lý mạng lưới giao thông, các ứng dụng phục vụ cho quân đội hay các hệ
thống thông tin về môi trường … Một trong những công việc chính của GIS đó
là quản lý một cách hiệu quả cơ sở dữ liệu với khối lượng lớn các thông tin phức
tạp, được tích hợp vào hệ quản trị cơ sở dữ liệu (DBMS).
Luận văn với chủ đề “Một số vấn đề về cơ sở dữ liệu không gian”, em chủ
yếu tập trung vào nghiên cứu những đặc trưng của cơ sở dữ liệu (Spatial
database), một số khái niệm, công nghệ và thuật toán cơ bản đã được phát triển
xung quanh vấn đề quản lý cơ sở dữ liệu, bao gồm:
Chương 1: Giới thiệu chung về cơ sở dữ liệu không gian. Chương này tập
trung vào giới thiệu hệ quản trị cơ sở dữ liệu DBMS, trên cơ sở đó phát triển và
quản trị dữ liệu không gian.
3
Chương 2. Mô hình hóa dữ liệu, các mối quan hệ không gian và ràng
buộc toàn vẹn dữ liệu. Chương này tập trung giới thiệu cách xây dựng mô hình
dữ liệu và biểu diễn các mối quan hệ không gian. Dữ liệu không gian tích hợp
trong cơ sở dữ liệu cần duy trì tính nhất quán điều này được thể hiện ở ràng buộc
toàn vẹn dữ liệu không gian.
Chương 3. Cấu trúc dữ liệu không gian, các thuật toán cơ sở và phương
thức xâm nhập dữ liệu. Chương này giới thiệu cấu trúc dữ liệu không gian, các
thuật toán hình học được phát triển để thao tác với dữ liệu không gian và phương
thức xâm nhập dữ liệu không gian
Chương 4. Khảo sát hệ quản trị cơ sở dữ liệu không gian thương mại và
phát triển ứng dụng
4
Chương 1 - Giới thiệu chung về cơ sở dữ liệu không gian
1.1 Giới thiệu chung về cơ sở dữ liệu
Cơ sở dữ liệu (Database) là tập dữ liệu có mối quan hệ tương quan nhau
và lưu trữ trong môi trường máy tính, Database có thể được xem như một hoặc
vài file lưu trữ trên một số thiết bị nhớ ngoài. Hệ quản trị cơ sở dữ liệu
(Database Management System - DBMS) là tập các phần mềm quản lý cấu trúc
cơ sở dữ liệu và điều khiển truy nhập (minh họa hình 1.1) bao gồm:
Định nghĩa cơ sở dữ liệu (Chỉ ra các kiểu dữ liệu, cấu trúc và các ràng
buộc),
Thao tác, Truy vấn và Cập nhật cơ sở dữ liệu.
Người sử dụng/người lập trình
Chương trình ứng dụng /Truy vấn
Phần mềm xử lý truy vấn
Phần mềm truy cập dữ liệu
Lưu trữ DB
Lưu trữ định nghĩa DB
(metadata)
Hình 1.1. Môi trường hệ thống cơ sở dữ liệu đơn giản
5
Phần mềm của hệ quản trị cơ sở dữ liệu bao gồm hai phần, phần trên làm
nhiệm vụ xử lý các truy vấn của người sử dụng, phần dưới cho phép truy nhập
vào dữ liệu lưu trữ trên máy tính.
Hệ quản trị cơ sở dữ liệu thường được xây dựng trên cơ sở mô hình dữ
liệu sử dụng, trước kia có mô hình dữ liệu phân cấp (hierarchical) và mô hình dữ
liệu mạng (network). Ngày nay, ba mô hình cơ sở dữ liệu đang được phát triển
và sử dụng rộng rãi đó là mô hình cơ sở dữ liệu quan hệ (relational), hướng đối
tượng (object-oriented), đối tượng-quan hệ (object-relational).
Mô hình dữ liệu phân cấp ngày nay đã quá lỗi thời, hệ quản trị cơ sở dữ
liệu phân cấp (hierarchical DBMS) giả sử rằng dữ liệu có mối quan hệ thứ
bậc cha và con. Cấu trúc dữ liệu bắt buộc phải xây dựng phù hợp với mô
hình này để thực hiện được lợi ích và hiệu quả trong quản lý.
Hệ quản trị cơ sở dữ liệu mạng (network DBMS) cho phép các cấu trúc dữ
liệu phức tạp được xây dựng nhưng không có tính mềm dẻo và đòi hỏi
thiết kế phải hết sức cẩn thận, tuy nhiên lợi ích của mô hình này là nhanh
và hiệu quả.
1.1.1 Mô hình quan hệ
Cơ sở dữ liệu quan hệ phát triển trên cơ sở mô hình quan hệ, ở đó dữ liệu
tổ chức vào các quan hệ hay các bảng. Một lược đồ quan hệ bao gồm tập các tên
thuộc tính và chúng được ánh xạ tới miền giá trị, lược đồ quan hệ chỉ ra cấu trúc
của quan hệ chứ không chứa dữ liệu. Quan hệ là tập các bản ghi lưu dữ liệu của
các tập thuộc tính trong lược đồ quan hệ.
6
Hệ quản trị cơ sở dữ liệu quan hệ được sử dụng một cách áp đảo so với
các hệ quản trị cơ sở dữ liệu khác bởi lợi ích nhanh chóng và tin cậy. Tuy nhiên,
với những ứng dụng lớn nó tỏ ra chậm chạp vì relation DBMS phải sử dụng rất
nhiều bảng cho hàng loạt các quy tắc
1.1.2 Mô hình hướng đối tượng
Hệ quản trị cơ sở dữ liệu hướng đối tượng OODBMS (Object-oriented
database management system) tích hợp giữa hướng đối tượng và cơ sở dữ liệu.
Cơ sở dữ liệu hướng đối tượng được đặc trưng bởi mô hình dữ liệu hướng đối
tượng và ngôn ngữ lập trình hướng đối tượng, ở đó các đơn vị dữ liệu là các đối
tượng cơ sở. Các đối tượng này có định danh, thuộc tính và hành vi được định
nghĩa qua phương thức, tất cả được bao gói trong chính đối tượng đó.
1.1.3 Mô hình đối tượng-quan hệ
Mô hình Object-relational được mở rộng từ mô hình dữ liệu quan hệ, mô
hình này là sự thỏa hiệp giữa hai khái niệm hướng đối tượng và quan hệ. Ở đó
các đặc trưng hướng đối tượng được tích hợp trong cơ sở dữ liệu quan hệ nhằm
sử dụng sức mạnh của mô hình hướng đối tượng trong khi đó vẫn duy trì đầy đủ
các chức năng trong mô hình quan hệ
1.2 Giới thiệu về GIS (Geographic information system)
Có rất nhiều định nghĩa về GIS, một cách dễ hiểu có thể hình dung GIS là
hệ thống thông tin địa lý, về khía cạnh bản đồ học thì GIS là kết hợp của lập bản
đồ và công nghệ cơ sở dữ liệu, GIS không chỉ là công cụ tạo bản đồ mà còn lưu
trữ và biểu diễn dữ liệu. Sau đây là một số định nghĩa về GIS hay được sử dụng
[1].
7
Định nghĩa của dự án The Geographer's Craft, Khoa Địa lý, Trường
Đại học Texas
GIS là cơ sở dữ liệu số chuyên dụng trong đó hệ trục tọa độ không gian là
phương tiện tham chiếu chính. GIS bao gồm các công cụ để thực hiện các công
việc sau đây:
Nhập dữ liệu từ bản đồ giấy, ảnh vệ tinh, ảnh máy bay, số liệu điều tra và
các nguồn khác.
Lưu trữ dữ liệu, khai thác, truy vấn cơ sở dữ liệu
Biến đổi dữ liệu, phân tích, mô hình hóa, bao gồm cả dữ liệu thống kê và
dữ liệu không gian.
Lập báo cáo, bao gồm bản đồ chuyên đề, các bảng biểu, biểu đồ và kế
hoạch.
Từ định nghĩa trên thấy rõ ba vấn đề sau của GIS.
Thứ nhất, GIS có quan hệ với ứng dụng cơ sở dữ liệu. Toàn bộ thông tin
trong GIS đều liên kết với tham chiếu không gian như phương tiện chính
để lưu trữ và xâm nhập thông tin.
Thứ hai, GIS là công nghệ tích hợp. Hệ GIS đầy đủ có đầy đủ khả năng
phân tích, bao gồm phân tích ảnh máy bay, ảnh vệ tinh hay tạo lập mô
hình thống kê, vẽ bản đồ... Cuối cùng, GIS được xem như tiến trình không
chỉ là phần cứng, phần mềm rời rạc mà GIS còn được sử dụng vào trợ
giúp quyết định. Cách thức nhập, lưu trữ, phân tích dữ liệu trong GIS phải
phản ánh đúng cách thức thông tin sẽ được sử dụng trong công việc lập
quyết định hay nghiên cứu cụ thể.
8
Định nghĩa của Viện Nghiên cứu Hệ thống Môi trường ESRI, Mỹ
GIS là công cụ trên cơ sở máy tính để lập bản đồ và phân tích những cái
đang tồn tại và các sự kiện xảy ra trên Trái đất. Công nghệ GIS tích hợp các thao
tác cơ sở dữ liệu như truy vấn và phân tích thống kê với lợi thế quan sát và phân
tích thống kê bản đồ. Các khả năng này sẽ phân biệt GIS với các hệ thông tin
khác. Có rất nhiều chương trình máy tính sử dụng dữ liệu không gian như
AutoCAD và các chương trình thống kê, nhưng chúng không phải là GIS vì
chúng không có khả năng thực hiện các thao tác không gian.
Định nghĩa của David Cowen, NCGIA, Mỹ
GIS là hệ thống phần cứng, phần mềm và các thủ tục được thiết kế để thu
thập, quản lý, xử lý, phân tích, mô hình hóa và hiển thị các dữ liệu qui chiếu
không gian để giải quyết các vấn đề quản lý và lập kế hoạch phức tạp.
Độ phức tạp của thế giới thực là không giới hạn. Càng quan sát thế giới
gần hơn càng thấy được chi tiết hơn. Con người mong mỏi lưu trữ, quản lý đầy
đủ các dữ liệu về thế giới thực. Nhưng sẽ dẫn đến phải có cơ sở dữ liệu lớn vô
hạn để lưu trữ mọi thông tin chính xác về chúng. Do vậy, để lưu trữ được dữ
liệu không gian của thế giới thực vào máy tính thì phải giảm số lượng dữ liệu
đến mức có thể quản lý được bằng tiến trình đơn giản hóa hay trừu tượng hóa
(hình 1.2).
9
Trừu tượng hóa
1.1.1.1.1.1.6 G
Phần
I
mềm
công
Người sử dụng
cụ
C
đơn giản hóa
S
Thế giới thực
SDL
Kết quả
Hình 1.2 Hệ thông tin địa lý
Ý nghĩa chủ yếu của tin học hóa thông tin địa lý là khả năng tích hợp các
kiểu và nguồn dữ liệu khác biệt. Mục tiêu của GIS là cung cấp cấu trúc một cách
hệ thống để quản lý các thông tin địa lý khác nhau và phức tạp, đồng thời cung
cấp các công cụ, các thao tác hiển thị, truy vấn, mô phỏng....
Tầng
Tầng Khách
Tầng Đường
hàng
Tần
g Nhà
quốc
lộ ở
hố
Biên
h
ành
chính
Hình 1.3 Tầng bản đồ
GIS lưu trữ thông tin thế giới thực thành các tầng (layer) bản đồ chuyên
đề mà chúng có khả năng liên kết địa lý với nhau (hình 1.3). Mỗi nhóm người sử
dụng sẽ quan tâm nhiều hơn đến một hay vài loại thông tin. Thí dụ, Sở Giao
thông công chính sẽ quan tâm nhiều đến hệ thống đường phố. Sở Nhà đất quan
10
tâm nhiều đến các khu dân cư và công sở. Sở Thương mại quan tâm nhiều đến
phân bổ khách hàng trong vùng. Tư tưởng tách bản đồ thành tầng tuy đơn giản
nhưng khá mềm dẻo và hiệu quả, giúp giải quyết rất nhiều vấn đề về thế giới
thực.
1.3 Mô hình cơ sở dữ liệu không gian
1.3.1 Giới thiệu
Như phần trên đã giới thiệu thì dữ liệu GIS cần phải được lưu trữ và quản
lý cả dữ liệu không gian và dữ liệu số và được điều khiển trực tiếp bởi ứng dụng
hoặc hệ quản trị cơ sở dữ liệu. Hệ thống ứng dụng GIS có thể điều khiển dữ liệu
trực tiếp từ file, tuy nhiên điều này dẫn đến mất đi tính độc lập, bảo mật và sự
thống nhất trong điều khiển dữ liệu do những đặc trưng sau [2]:
Cấu trúc dữ liệu không gian rất phức tạp. Một đối tượng có thể chỉ đơn
thuần là một điểm nhưng cũng có thể được tạo nên từ hàng nghìn đa giác
phân bố tuỳ ý trong không gian. Việc lưu trữ tập dữ liệu như thế không thể
sử dụng một bảng quan hệ với các bản ghi kích thước cố định mà đòi hỏi
phải xây dựng cấu trúc dữ liệu khác phù hợp
Dữ liệu không gian luôn có sự thay đổi, do đó cần phải linh hoạt trong tổ
chức dữ liệu, hỗ trợ các thao tác bổ sung, loại bỏ, cập nhật với thời gian
đáp ứng nhanh nhất.
Dữ liệu không gian thường có dung lượng rất lớn. Việc lưu các bản đồ địa
lý có thể cần đến hàng gigabyte bộ nhớ
Với những lý do này thì hệ quản trị cơ sở dữ liệu, cần phải tích hợp, biểu
diễn và tháo tác với thông tin địa lý cùng với dữ liệu truyền thống tại mức logic
11
và hỗ trợ một cách hiệu quả ở mức vật lý để lưu trữ và xử lý thông tin về không
gian. Sau đây là các yêu cầu cần thiết cho việc xây dựng cơ sở dữ liệu không
gian (Spatial database - SDB -).
Trước hết, đó phải là một hệ cơ sở dữ liệu,
Các kiểu dữ liệu không gian phải được cung cấp trong các mô hình dữ liệu
và ngôn ngữ truy vấn, các phép toán truy vấn quan hệ như phép nối, chọn,
… Có thể được sử dụng ở Hệ quản trị cơ sở dữ liệu không gian (SDBMSSpatial database management system- ). Cần thiết xây dựng thêm một số
phép toán mới với các kiểu dữ liệu hình học,
Biểu diễn dữ liệu logic phải được mở rộng tới dữ liệu kiểu hình học và
thoả mãn tính độc lập dữ liệu, duy trì tính đơn giản nhất có thể và tính
đóng đối với người sử dụng,
Ngôn ngữ truy vấn phải tích hợp với các hàm nhằm hỗ trợ xây dựng ứng
một cách phong phú các đối tượng hình học,
Có thể biểu diễn vật lý một cách hiệu quả dữ liệu không gian,
Truy nhập dữ liệu không gian một cách hiệu quả, hiện nay, B-tree không
còn là tiếp cận với truy nhập dữ liệu không gian. Và theo đó chúng ta cần
xây dựng cấu trúc mới cho việc đánh chỉ mục cơ sở dữ liệu không gian.
Xuất phát từ những yêu cầu trên, có ba cách tiếp cận khi xây dựng hệ quản
trị cơ sở dữ liệu không gian Relational DBMS.
1.3.2 Sử dụng mô hình cơ sở dữ liệu quan hệ
Sử dụng hệ quản trị cơ sở dữ liệu quan hệ để quản lý GIS có những đặc
trưng chính như:
12
Biểu diễn các đối tượng bằng các quan hệ (bảng). Mỗi hàng thể hiện
một đối tượng, mỗi cột là thuộc tính mô tả đối tượng đó,
Thuộc tính có kiểu alphanumeric (ví dụ như Strinh hay real),
Truy vấn dựa vào SQL,
Đây là cách tiếp cận xoay quanh chuẩn SQL, nhưng khi điều khiển các
ứng dụng về không gian địa lý có những hạn chế sau:
Vi phạm nguyên lý độc lập dữ liệu, các truy vấn trên đối tượng đòi hỏi có
hiểu biết về cấu trúc các đối tượng không gian. sự thay đổi cấu trúc dẫn
đến phải tổ chức lại cơ sở dữ liệu và thay đổi công thức truy vấn,
Cần đến số lượng lớn các dòng dữ liệu thể hiện dữ liệu không gian,
Cuối cùng là thiếu đi sự thân thiện với người sử dụng. Rất khó định nghĩa
kiểu không gian mới, đặc biệt là khó kiểm tra các phép toán cơ bản.
1.3.3 Sử dụng kiến trúc song song.
Hiện nay rất nhiều hệ đã được biết đến khi xây dựng các ứng dụng GIS
như: ArcInfo (ESRI), MGE và TIGISs sử dụng cách tiếp cận này. Kiến trúc này
tách riêng việc quản lý dữ liệu mô tả (dữ liệu dạng alphanumeric) với quản lý dữ
liệu không gian, gồm hai hệ thống cùng xuất hiện hình 1.4.
13
Các chương trình ứng dụng
Hệ quản trị cơ sở dữ liệu
Các xử lý hình học
quan hệ (SQL chuẩn)
DB
file
Hình 1.4. Kiến trúc song song
Bao gồm:
Hệ quản trị cơ sở dữ liệu quan hệ và một số thành phần ở đó mô tả dữ
liệu kiểu alphanumeric,
Các chức năng cho việc quản lý dữ liệu không gian.
Tuy nhiên tiếp cận này cũng có mặt hạn chế như:
Hai thành phần trên xuất hiện cùng nhau mà mô hình dữ liệu của
chúng lại không đồng nhất, do vậy khi mô hình phải sử dụng kết hợp
những thực thi khác nhau,
Mất một phần chức năng cơ bản của Hệ quản trị cơ sở dữ liệu như:
Phục hồi, sao lưu dữ liệu, truy vấn và tối ưu dữ liệu.
14
1.3.4 Tích hợp trên cơ sở mở rộng hệ quản trị cơ sở dữ liệu
Mô hình này đã nhận được sự quan tâm rất lớn từ nhiều năm trước đó ở
nhiều ứng dụng và được phát triển trên cơ sở thêm các kiểu, các toán tử mới vào
hệ thống cơ sở dữ liệu quan hệ như sau:
Ngôn ngữ truy vấn SQL được mở rộng để thực thi dữ liệu không
gian. Toán tử không gian được điều khiển trên cơ sở các kiểu dữ liệu
alphanumeric,
Một số chức năng khác của cơ sở dữ liệu như tối ưu hoá truy vấn,
được sửa đổi nhằm thích nghi với các dữ liệu không gian một cách
hiệu quả.
Hầu hết các hệ quản trị cơ sở dữ liệu có sẵn đều sử dụng cách tiếp cận mở
rộng không gian ví dụ như Oracle (Bắt đầu từ phiên bản 8i) và PostgreSQL.
1.4 Kết luận
Xây dựng và phát triển cơ sở dữ liệu không gian hiệu quả sử dụng mô
hình object-relational hay có thể nói tích hợp dữ liệu không gian vào cơ sở dữ
liệu quan hệ trên cơ sở mở rộng hệ quản trị cơ sở dữ liệu, như vậy sẽ tận dụng
được sức mạnh của hướng đối tượng mà vẫn duy trì được các chức năng quan
trọng trong cơ sở dữ liệu quan hệ. Tích hợp dữ liệu không gian như thế nào? Sẽ
được đề cập ở chương 3. Cấu trúc dữ liệu không gian, các thuật toán cơ sở và
phương thức xâm nhập.
15
Chương 2 - Mô hình dữ liệu, mối quan hệ và ràng buộc
không gian
2.1 Giới thiệu
Mô hình hóa dữ liệu không gian là vô cùng quan trọng trong việc tích hợp
và biểu diễn dữ liệu không gian trong cơ sở dữ liệu. Các mối quan hệ không gian
cũng rất cần thiết bởi các lý do sau:
Cho việc thực thi các truy vấn không gian. Truy vấn trong cơ sở dữ liệu
không gian hay GIS thường được thực hiện trên cơ sở các mối quan hệ
giữa các đối tượng không gian. Ví dụ, lấy toàn bộ lô đất kề với lô đất A,
truy vấn này liên quan đến các điều kiện mà ngôn ngữ SQL thông thường
không đáp ứng được. Các mối quan hệ không gian là cần thiết cho cả công
thức truy vấn và các mức xử lý,
Thỏa mãn tính nhất quán của cơ sở dữ liệu. Các mối quan hệ không gian
cũng được sử dụng để tính toán các ràng buộc trong cơ sở dữ liệu không
gian. Ví dụ kiểm tra ràng buộc “Hai lô đất phải chồng lên nhau” trong cơ
sở dữ liệu địa chính chẳng hạn. Các mối quan hệ không gian cung cấp ý
nghĩa trong việc định nghĩa và điều khiển các ràng buộc trong cơ sở dữ
liệu do đó các công thức cơ sở cho các mối quan hệ không gian được
thành lập và là thành phần quan trọng trong việc phát triển GIS.
Các ràng buộc toàn vẹn và thống nhất dữ liệu là điều kiện cần cho việc
điều khiển và thống nhất dữ liệu trong cơ sở dữ liệu sao cho nó thỏa mãn tính
nhất quán, hợp lệ và dễ sử dụng.
16
Các phần dưới đây sẽ trình bày kĩ hơn về mô hình dữ liệu không gian, mối
quan hệ và ràng buộc không gian.
2.2 Mô hình dữ liệu không gian
Cơ sở dữ liệu không gian cho phép quản lý dữ liệu không gian trong mô
hình dữ liệu và ngôn ngữ truy vấn, vấn đề rất quan trọng cần quan tâm là làm thế
nào để mô hình hóa các đối tượng không gian. Có hai vấn đề mà cần được biểu
diễn đó là: (i) Đối tượng trong không gian, là các đối tượng thực trong tự nhiên
được mô tả bởi hình dáng của nó như: sông, thành phố, rừng và (ii) không gian.
Nói một cách khác hai vấn đề này có thể được xem như: (i) Các đối tượng đơn lẻ
và (ii) Tập các đối tượng không gian.
Các đối tượng độc lập được biểu diễn một cách trừu tượng bởi điểm, đọan
thẳng và miền (minh họa hình 2.1).
Hình 2.1. Các kiểu cơ bản: Điểm, đoạn thẳng và miền
Tập các đối tượng có hai vấn đề đó phân cắt và mạng, phân cắt được xem
như tập các đối tượng (miền) không giao nhau, các miền này phân chia vùng
thành nhiều vùng con (hình 2.2), mạng có các đặc trưng như nút và tập đọan
thẳng mô tả các cạnh, chi tiết sẽ được thể hiện ở phần sau.
17
Hình 2.2. Phân cắt và mạng
Dữ liệu không gian được tổ chức theo những cách khác nhau và được
minh họa như hình 2.3. Gồm mô hình raster và vectơ, chúng thường được xem
như mô hình field-based hay object-based. Biểu diễn raster sử dụng tessellations
cho việc mô hình hóa tập dữ liệu và biểu diễn vectơ thì đối tượng là đơn vị cơ
sở, đồng thời có hai cấu trúc thể hiện tập các đối tượng đó là: Có cấu trúc (như
tôpô, network) và phi cấu trúc (spagetti). Mô hình tôpô tương đối phổ biến, nó
ko đơn giản như cấu trúc spagetti.
Mô hình dữ liệu
không gian
Vector
Object-base hay
Entity base
Raster
Field-base
Tessellation
Lưới đều
Tessellation
Lưới không đều
Có cấu trúc
Tôpô, Network
Không cấu trúc
Spagetti
Hình 2.3. Các mô hình dữ liệu không gian
2.2.1 Mô hình dữ liệu raster
Phương pháp biểu diễn các đặc trưng địa lý bằng các điểm ảnh được gọi là
phương pháp raster hay mô hình dữ liệu raster. Tiến trình xây dựng lưới tế bào
được thực hiện như sau:
18
Giả sử phủ một lưới trên bản đồ gốc, dữ liệu raster được lập bằng cách mã
hóa mỗi tế bào bằng một giá trị dựa theo các đặc trưng trên bản đồ (hình 2.4).
Trong thí dụ này, đặc trưng "đường" được mã hóa là 2, đặc trưng "điểm" được
mã hóa là 1 còn đặc trưng "vùng" được mã hóa là 3. Kiểu dữ liệu của tế bào
trong lưới phụ thuộc vào thực thể được mã hóa; Có thể sử dụng số nguyên, số
thực, ký tự hay tổ hợp chúng để làm giá trị. Độ chính xác của mô hình này phụ
thuộc vào kích thước hay độ phân giải của các tế bào lưới. Một điểm có thể là
một tế bào, một đường là vài tế bào kề nhau, một vùng là tập hợp nhiều tế bào.
Mỗi đặc trưng là tập tế bào đánh số như nhau (có cùng giá trị).
Đ
ường
ùng
V
iểm
Đ
Bản đồ gốc
Lưới
Ma trận lưu trữ
H
C
àng
Hình
ột 2.4 Biểu diễn raster
Hình dạng hình học bao phủ toàn bộ mặt phẳng được gọi là "khảm"
(tessellation). Minh họa hình 2.5.
19
Tế bào chữ nhật
Tế bào lục giác
Tế bào tam giác
Hình 2.5 "Khảm" mặt phẳng
Biểu diễn raster phù hợp với mô hình dữ liệu field-based bởi đối với kiểu
dữ liệu entity-base thì đối tượng không gian trong không gian hai chiều được
biểu diễn bởi tập các điểm nằm trong nó, mỗi điểm được coi như một điểm ảnh,
vị trí của nó chính là địa chỉ của điểm ảnh và việc thể hiện đối tượng một cách
trung thực là một điều vô cùng quan trọng nhưng mỗi đối tượng chiếm một
không gian bộ nhớ khá lớn, ngoài ra còn có thêm các toán tử trên các đối tượng.
Đây chính là điểm hạn chế dẫn đến phải có cách biểu diễn khác với mô hình dữ
liệu entity base tuy nhiên, thông tin đôi khi có thể được nén.
Đối với dữ liệu field-base thì thực tế phương pháp này có thể gặp ở trong
các ứng dụng xử lý ảnh chụp từ xa (ảnh vệ tinh), dự báo thời tiết hoặc ô nhiễm
môi trường. Do vậy dữ liệu field- base thể hiện hàm từ không gian tới phạm vi
như nhiệt độ hoặc là độ cao so với mặt biển. Tuy nhiên miền các hàm này không
còn là tập giới hạn các điểm nữa mà là tập vô hạn các điểm. Nói một cách khác
không gian không được coi như trường liên tục nữa mà rời rạc khi biểu diễn dữ
liệu.
Tóm lại, Lợi thế lớn nhất của hệ thống raster là dữ liệu hình thành nên bản
đồ trong bộ nhớ máy tính, các thao tác kiểu như so sánh lưới tế bào được thực
hiện dễ dàng. Tuy nhiên hệ thống raster sẽ không thuận tiện cho việc biểu diễn
20
đường, điểm vì mỗi loại là tập các tế bào trong lưới. Đường thẳng có thể bị đứt
đoạn hay rộng hơn.
2.2.2 Mô hình dữ liệu Vectơ
Trong phương pháp này, các đối tượng được cấu trúc chính từ các thành
phần cơ sở như: điểm, đọan thẳng (danh sách các điểm) và bề mặt của đối tượng
(danh sách các các cạnh). Hình 2.6 là minh họa cho phương pháp này. Trái với
biểu diễn raster, biểu diễn vector không tốn bộ nhớ.
Kiểu thành
phần sơ cấp
Biểu diễn bằng đồ họa
Biểu diễn số
Tọa độ (x,y) trong
2D
và (x,y,z) trong
3D
1. Danh sách tọa độ
2.
Hàm toán học
Điểm
Đường
1.
Vùng
2.
Đường có điểm đầu và cuối trùng
nhau
Tập các đường nếu vùng có lỗ hổng
1. Ma trận điểm 2. Tập các tam giác
3. Hàm toán học 4. Đường bình độ
Bề mặt
Khối
Tập bề mặt
Hình 2.6 Các thành phần hình học cơ sở
Như vậy, mô hình dữ liệu vectơ sử dụng các đoạn thẳng hay điểm rời rạc
để nhận biết các vị trí của thế giới thực (hình 2.7).