Cập nhật dữ liệu cho cột DS_2000 của Table CL_RGHC.TAB dựa vào Table DANSO.TAB; thực hiện theo các bước sau:
- Menu Table - Update Column, xuất hiện cửa sổ Update Column như sau:
Hình: Cập nhật dữ liệu giữa hai Table
Trong trường hợp này hai lớp dữ liệu có số hàng như nhau, chúng ta chọn trường dữ liệu khoá của hai Table bằng cách vào Join …
Hình: Chọn trường dữ liệu liên kết 2. Calculate: Sum
Tính tổng dân số năm 2000 của từng vùng thuộc thị xã Cao Lãnh; thực hiện theo các bước sau:
- Menu Table - Update Column, xuất hiện cửa sổ Update Column, khai báo như sau:
Table to Update: CL_VUNG Column to Update: DS_2000
Get Value from Table: DANSO Calculate: Sum
Of: DS_2000
Hình: Cập nhật dữ liệu giữa hai Table
Trong trường hợp này chúng ta chọn tên cột liên kết giữa hai lớp dữ liệu trong cửa sổ Join … là Vung
Hình: Chọn trường dữ liệu liên kết III.5 - chọn và kết hợp dữ liệu theo điều kiện
III.5.1 - Chọn các đối tượng theo điều kiện trong một lớp dữ liệu
Trong quá trình làm việc với cơ sở dữ liệu, hệ thống Mapinfo phát sinh lớp thông tin Selection. Các Selection có các đặc tính sau đây: chúng là những lớp thông tin trung gian (Temporary table) với tên mở rộng là Query, Query 1, Query 2,…
Để chọn các đối tượng theo điều kiện thực hiện ta vào: Menu Query - Select, khai báo các mục trong cửa sổ Select như sau:
Hình: Chọn dữ liệu theo điều kiện
- Mục Select Records from Table: Chọn lớp dữ liệu cần chọn theo điều kiện
- Mục that Satisfy: nhập một biểu thức luận lý hợp lệ
- Store Results in Table: lưu kết quả vào Table nào đó, có thể giữ mặc định là Selection. Muốn lưu dữ liệu này phải vào File - Save As
- Sort Results by Column: chọn tên cột muốn sắp xếp thứ tự
Với Select chúng ta xây dựng được một lớp dữ liệu mới thỏa điều kiện đặt ra. Lớp dữ liệu này thường có ít đối tượng (số hàng) nhưng giữ nguyên cấu trúc của dữ liệu (số cột). Dĩ nhiên chúng ta có thể thay đổi cấu trúc theo ý đồ của chúng ta, Mapinfo có một chức năng để thực hiện trực tiếp điều này đó là SQL
Select. Ngoài ra, SQL Select còn thực hiện một số chức năng khác.
Để thực hiện chức năng chọn bằng SQL Select vào Menu Query - SQL Select, cửa sổ SQL Select như sau:
- from Table: nhập tên lớp dữ liệu, chúng ta có thể nhập trực tiếp từ bàn phím tên của lớp dữ liệu, nhưng nên click khung Table để chọn
- Select Column: nếu chọn tất cả các cột thì giữ dấu * (mặc định), nếu chỉ chọn một số cột thì xóa dấu * rồi click khung Column để chọn. Ngoài ra ta còn có thể xây dựng các biểu thức tính toán và hình thành thêm các cột mới. Điều này có nghĩa lớp dữ liệu mới sẽ có một số cột cũ hay ít hơn cũng có thể nhiều hơn.
Để đặt tên cho cột mới của một biểu thức tính toán, chúng ta ghi tên cột trong dấu ngoặc kép ngay sau biểu thức.
Ví dụ: DS_2000/area(obj, “sq km”) “Mat do”
- Where condition: có thể để trống hay nhập biểu thức luận lý hợp lệ. Trường hợp là một biểu thức luận lý thì chỉ những hàng phù hợp với điều kiện biểu thức này mới xuất hiện trong lớp dữ liệu tạm thời (selection)
- Group by column: chọn cột muốn tính gộp cho các giá trị giống nhau (subtotal) trong cột đó.
- Order by column: chọn cột muốn sắp xếp thứ tự, mặc định là sắp xếp theo thứ tự tăng dần; muốn sắp xếp theo thứ tự giảm dần, chúng ta thêm desc đằng sau tên cột đã chọn.
Để xây dựng các biểu thức toán trong SQL Select, ngoài các thành phần thông thường là tên cột, hàm và toán tử; Mapinfo còn có thêm các hàm thống kê như: Avg (trung bình cộng), Sum (tổng), Min (giá trị tối thiểu), Max (giá trị tối
đa), WtAvg (trung bình gia trọng) và Count (đếm số lượng), các hàm thống kê này được liệt kê trong Aggregates
Các lớp dữ liệu mới phát sinh từ các hàm thống kê là lớp dữ liệu tổng hợp của một cột nào đó, chúng được lưu tạm trong các Query hay selection
Ví dụ 1:
Sử dụng lớp dữ liệu DANSO.TAB
Select Column: Count(*) “So xa”, sum(DS_2000) “Danso 2000”
Kết quả là:
So xa Danso 2000
13 142.037
Trường hợp có xét Group by Column số hàng sẽ là số giá trị khác nhau của cột này.
Ví dụ 2:
Select Column: Vung, Count(*) “So xa”, sum(DS_2000) “Danso 2000” Group by Column: Vung
Order by Column: Vung
Kết quả là:
III.5.2 - Kết hợp với một lớp dữ liệu khác
Để kết hợp hai lớp dữ liệu với các thông tin khác nhau, chúng ta mở hai lớp dữ liệu này, sau đó vào Query - SQL Select. Trong cửa số SQL Select khai báo như sau:
- from table: chọn các lớp dữ liệu để liên kết
Sau khi chọn các lớp dữ liệu, trong vùng Where Condition tên cột dữ liệu để liên kết hai lớp dữ liệu với nhau
- Select Column: dấu * là chọn tất cả các cột của hai lớp dữ liệu. Chúng ta có thể chọn các cột tuỳ ý và có thể tạo các biểu thức tính toán để phát sinh các cột mới
- Group by column: chọn cột muốn tính gộp cho các giá trị giống nhau (subtotal) trong cột đó.
- Order by column: chọn cột muốn sắp xếp thứ tự, mặc định là sắp xếp theo thứ tự tăng dần; muốn sắp xếp theo thứ tự giảm dần, chúng ta thêm desc đằng sau tên cột đã chọn.
Chương IV