Thursday, August 23, 2018

Kết nối dữ liệu giữa các bảng trong cơ sở dữ liệu - Lý thuyết

Chúng ta đã biết dùng lệnh select để truy vấn dữ liệu từ bảng thông tin lô rừng PLOT, tuy nhiên trong thực tế chúng ta lại cần nhiều thông tin hơn là các thông tin có sẵn trong bảng PLOT.
Ví dụ 1: bảng chứa thông tin lô rừng PLOT chỉ chứa trường dữ liệu mã xã (commune_code) nhưng chúng ta lại muốn lọc ra cả mã xã, mã huyện, mã tỉnh. Mà trường mã huyện và mã tỉnh thì lại không có trong bảng PLOT.
Ví dụ 2: Trong bảng PLOT chỉ có trường mã xã nhưng trong danh sách chúng ta lại muốn xuất hiện tên xã tương ứng.

Dưới đây là mô hình kết nối của Bảng PLOT với một số bảng khác trong cơ sở dữ liệu.
Bảng ví dụ về các liên kết trong cơ sở dữ liệu

Nhìn vào bảng trên chúng ta có thể thấy:
Liên kết 1: Bảng PLOT (lô rừng) sẽ có 1 liên kết cơ sở dữ liệu với bảng FOREST_TYPE (Loại đất loại rừng) thông qua trường forest_type_code (Mã loại đất loại rừng) 

Điều này có nghĩa là nếu chúng ta muốn lấy trường forest_type_def (Tên Loại đất loại rừng) từ bảng FOREST_TYPE (Loại đất loại rừng) trong danh sách lọc ra cùng với bảng PLOT thì ta chỉ cần liên kết bảng PLOT với bảng FOREST_TYPE (loại đất loại rừng) thông qua trường forest_type_code (mã loại đất loại rừng)

Liên kết 2: Bảng PLOT (lô rừng) sẽ có 1 liên kết cơ sở dữ liệu với bảng COMMUNE (Xã) thông qua trường commune_code (Mã xã) 
Do đó khi chúng ta đang truy vấn trên bảng PLOT mà muốn có tên xã thì chỉ cần liên kết bảng PLOT với bảng COMMUNE là được.

Liên kết 3: Bảng PLOT (lô rừng) sẽ có 1 liên kết cơ sở dữ liệu với bảng TREE_SPECIE(Loài cây) thông qua trường tree_spec_code (Mã loài cây) 

Liên kết 4: Bảng COMMUNE (Xã) sẽ có 1 liên kết cơ sở dữ liệu với bảng DISTRICT (huyện) thông qua trường district_code (Mã huyện) 
Nên chúng ta có thể:
- Khi truy vấn trong bảng COMMNUE (Xã) nếu bạn muốn lấy tên huyện tương ứng với mã huyện thì ta chỉ cần liên kết giữa bảng xã với bảng huyện.
- Khi Truy vấn với bảng PLOT mà cần có thông tin về tên huyện ta sẽ thực hiện 2 liên kết. Đầu tiên liên kết giữa PLOT với COMMUNE (xã) để có được trường district (mã huyện) từ  bảng COMMUNE, sau đó liên kết tiếp với bảng DISTRICT (huyện) để lấy trường tên huyện.

Lý thuyết là như vậy, còn việc kết nối bằng lệnh như thế nào mình sẽ hướng dẫn mọi người ở các bài tiếp theo.

Xem thêm:
- Kết nối dữ liệu giữa 2 bảng PLOT (lô rừng) và COMMUNE (Xã) bằng lệnh Select
- Kết nối dữ liệu giữa 2 bảng PLOT (lô rừng) và FOREST_TYPE (Loại đất loại rừng) bằng lệnh Select
- Kết nối dữ liệu giữa 2 bảng PLOT (lô rừng) và FOREST_ACTOR (chủ rừng) bằng lệnh Select
- Kết nối dữ liệu giữa 2 bảng PLOT (lô rừng) và TREE_SPECIE (Loài cây) bằng lệnh Select
Nếu thấy hữu ích hảy chia sẻ bài viết này trên:  

0 nhận xét:

Post a Comment