Bàn về chương trình tìm kiếm TỈNH, HUYỆN, XÃ trong nước

Liên hệ QC

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,930
Trước đây có vài người làm chương trình này rồi nhưng vài hôm trước tôi chợt nghĩ ra giải thuật tìm kiếm mới, tin chắc sẽ cho tốc độ tìm kiếm nhanh hơn rất nhiều so với những gì ta đã làm
Hiện tại tôi đang có trong tay:
- Toàn bộ CSDL tỉnh huyện xã trong nước
- Giải thuật tìm kiếm
Vấn đề đang gặp phải của tôi là:
- Tôi không biết người dùng cần 1 chương trình như thế nào?
- Người dùng cần 1 giao diện như thế nào?
- Tương tác giữa chương trình và bảng tính ra sao?

Vân.. vân...
Nói chung, tôi không làm trong cơ quan hành chính nhà nước nên chưa mường tượng được sẽ xây dựng chương trình này theo kiểu gì
Vậy hy vọng những ai cần dùng chương trình này đóng góp ý kiến (như phần tô màu xanh ở trên), tôi sẽ ra chương trình đúng như nhu cầu của số đông
(nói thêm rằng: tôi không cần dùng chương trình này để làm gì cả, chỉ là... có "hứng" muốn viết chơi)
 
Tôi có 1 ý tưởng, ví dụ như sau:
Có 4 cột: Tỉnh (TP) - Huyện (Quận, TP, TX) - Xã (Phường) - Ấp (thôn)
1/ Nếu tôi nhập cột Tỉnh, cột Huyện sẽ có List các Huyện (Quận, TP, TX) của tỉnh (TP) đó, tương tự cho các cột Huyện, Xã.
2/ Nếu tôi nhập Huyện(Quận, TP, TX):
2.1- Nếu Không trùng thì tự động cột Tỉnh điền tên Tỉnh(TP), kèm List cho cột Xã (Phường).
2.2- Nếu có trùng thì cột Tỉnh sẽ có list để chọn tỉnh(TP), khi chọn tỉnh (TP) xong sẽ có list cho cột Xã (Phường)
3/ Nếu tôi nhập tên Xã (Phường):
3.1 - Nếu Không trùng thì tự động cột Huyện điền tên Huyện(Quận), kèm List cho cột Xã (Phường).
3.2- Nếu có trùng thì cột Huyện sẽ có list để chọn Huyện(Quận), khi chọn Huyện (Quận) xong sẽ kèm List cho cột Xã (Phường).
4/ ...
5/ ...

Híc! Viết một hồi lại thấy "lung tung beng"
Em đang có ý này đây. Tức là chỉ cần nhớ 1 địa danh nào đó (không cần biết nó là Tỉnh hay Huyện hay Xã). Ta cứ gõ vào là lập tức nó sẽ liệt kê những cái tên liên quan
-------------------------
Riêng vụ Thôn Ấp thì em thua, bởi không có dữ liệu
Danh sách này em có được từ Tổng cụ thống kê nhà nước
http://www.gso.gov.vn/dmhc2015/Default.aspx
Trong đó chỉ liệt kê đến cấp xã thôi anh à!
 
Upvote 0
Chuyện dùng ký tự đầu là bình thường. Gặp những chỗ trùng ký tự thì tìm cách dùng ký tự đặc thù của vùng đó.
VN có nhiều tỉnh bắt đầu bằng H. Ta có thể chọn:
HG = hà giang
HN = hà nội
HB = hoà bình
HH = hà tĩnh
HM = hà nam
HC = HCM
HT = hà tiên
Việc đặt huyện, xã trùng tên quá nhiều thì có thể bỏ từ đầu, bắt đầu bằng từ thứ hai.

Có ai đã nghiên cứu thử xem các nước ngoài ngừoi ta tổ chức ra sao chưa? Điển hình là cách đặt tên tiểu bang ở Mỹ. Mỹ có 8 tiểu bang bắt đầu bằng M và 6 tiểu bang bắt đầu bằng N
 
Upvote 0
Em đang có ý này đây. Tức là chỉ cần nhớ 1 địa danh nào đó (không cần biết nó là Tỉnh hay Huyện hay Xã). Ta cứ gõ vào là lập tức nó sẽ liệt kê những cái tên liên quan
-------------------------
Riêng vụ Thôn Ấp thì em thua, bởi không có dữ liệu
Danh sách này em có được từ Tổng cụ thống kê nhà nước
http://www.gso.gov.vn/dmhc2015/Default.aspx
Trong đó chỉ liệt kê đến cấp xã thôi anh à!

Cái này cần nhiều kinh nghiệm về dò "gần đúng". Tỉnh thì có thể thống nhất chứ tên huyện xã thì có thể ngừoi ta đánh vần khác nhau.
 
Upvote 0
Chuyện dùng ký tự đầu là bình thường. Gặp những chỗ trùng ký tự thì tìm cách dùng ký tự đặc thù của vùng đó.
VN có nhiều tỉnh bắt đầu bằng H. Ta có thể chọn:
HG = hà giang
HN = hà nội
HB = hoà bình
HH = hà tĩnh
HM = hà nam
HC = HCM
HT = hà tiên
Việc đặt huyện, xã trùng tên quá nhiều thì có thể bỏ từ đầu, bắt đầu bằng từ thứ hai.
Có ai đã nghiên cứu thử xem các nước ngoài ngừoi ta tổ chức ra sao chưa? Điển hình là cách đặt tên tiểu bang ở Mỹ. Mỹ có 8 tiểu bang bắt đầu bằng M và 6 tiểu bang bắt đầu bằng N
Mỗi người mỗi ý, riêng cá nhân mình cảm thấy cách đặt mã này thiếu tính khoa học vì nó không dùng được vào việc gì cả. Khi nhập liệu chẳng ai thèm nhớ mã để làm gì, họ chỉ cần nhớ cái tên và gõ. Mã ở đây chỉ có tác dụng giúp mình quản lý dữ liệu tốt hơn (không có tác dụng cho nhập liệu)
---------------------------------------
Tỉnh thì có thể thống nhất chứ tên huyện xã thì có thể ngừoi ta đánh vần khác nhau.
Bởi vậy thống nhất về một mối: Lấy dữ liệu từ tổng cục tống kê nhà nước là tương đối nhất. Ai có cách viết khác hoặc phát âm khác, họ tự chịu (ví dụ Bắc Cạn thay vì phải là Bắc Kạn, Đắc Lắc thay vì phải là Đắk Lắk...)
 
Upvote 0
Nếu theo bạn thì những người sử dụng fải biết & nhớ địa lí VN trình độ 'B' trở lên; Theo mình có nghĩa là fải đạt 60 - 80 % câu trả lời là tỉnh cụ thể nào đó ở vùng, miền nào!
Chuyện này có thể là không tưởng, . . . ( /(hà, Khà, khà,. . . )
Nên đổi qua trường hợp: Nhập 1 kí tự đầu tên tỉnh, thì xuất hiện trong danh sách các tỉnh có kí tự đầu như đã gõ.

Đã lâu rồi giờ mới lại xuất hiện Thắng nhỉ?
Dạo này nhậu còn khỏe không?


Cảm ơn bạn nhiều, vụ gì chứ nhậu vẫn đều, có phần tăng đô. Do công việc nên ít lên GPE.
Ý kiến phản biện của bạn rất hợp lý, mình xin tiếp thu. Như vậy, theo mình vẫn nên dung ô thứ 1: miền, để hạn chế số tỉnh xuất hiện và kết hợp với giải pháp của bạn.
Thân mến
 
Upvote 0
Làm theo gợi ý của anh @Ba Tê , tức gõ đại tên gì đó (mà mình nhớ) vào TextBox, không cần biết đó là Tỉnh, Huyện hay Xã, miễn tìm thấy thì sẽ liệt kê ra listBox những địa chỉ liên quan
Mời xem file
-----------------------------------------
Code này chỉ mới "sơ khai", còn phải cải tiến rất nhiều nữa, chẳng hạn cải tiến sao cho có thể gõ tên dạng "phối hợp" vừa tên xã vừa tên huyện để rút gọn danh sách tìm kiếm. Chẳng hạn:
- Gõ Quang Trung, sẽ ra 1 danh sách rất nhiều từ khóa liên quan đến Quang Trung
- Nhưng nếu gõ Quang Trung, Đống Đa thì danh sách lập tức rút gọn chỉ còn 1 địa chỉ "Phường Quang Trung, Quận Đống Đa, Thành phố Hà Nội"
Chỗ cải tiến này mình phải suy nghĩ thêm!
 

File đính kèm

  • Danh muc TINH, HUYEN, XA_V1.3.xlsb
    234.6 KB · Đọc: 72
Upvote 0
Cải tiến tiếp như đã nói:
:
- Gõ Quang Trung, sẽ ra 1 danh sách rất nhiều từ khóa liên quan đến Quang Trung
- Nhưng nếu gõ Quang Trung, Đống Đa thì danh sách lập tức rút gọn chỉ còn 1 địa chỉ "Phường Quang Trung, Quận Đống Đa, Thành phố Hà Nội"
Chỗ cải tiến này mình phải suy nghĩ thêm!
bằng cách thiết kế lại Sub AutoOpen như sau:
Mã:
Public dicVNAddress As Scripting.Dictionary
Public arrSource    As Variant
Public arrAddress   As Variant
Private Sub Auto_Open()
  Dim wksVNAddress      As Worksheet
  Dim lRow              As Long
  Dim strID             As String
  Dim strParentID       As String
  Dim strFullAddress    As String
  Dim strShortAddress   As String
  On Error Resume Next
  Set wksVNAddress = ThisWorkbook.Worksheets("VNAddress")
  arrSource = wksVNAddress.Range("A2", wksVNAddress.Range("C60000").End(xlUp)).Value
  ReDim arrAddress(LBound(arrSource, 1) To UBound(arrSource, 1), 1 To 1)
  Set dicVNAddress = New Scripting.Dictionary
  For lRow = 1 To UBound(arrSource, 1)
    strID = arrSource(lRow, 1)
    strShortAddress = arrSource(lRow, 3) & " " & arrSource(lRow, 2)
    If Len(strID) <= 2 Then
      strFullAddress = strShortAddress
    Else
      strParentID = Left(strID, Len(strID) - 2)
      strFullAddress = strShortAddress & ", " & dicVNAddress.Item(strParentID)
    End If
    arrAddress(lRow, 1) = strFullAddress
    dicVNAddress.Add strID, strFullAddress
  Next
  If Err.Number Then MsgBox Err.Description
End Sub
Các chỗ khác gần như để nguyên
Giờ mở form lên và chẳng hạn:
- Ta muốn tìm "Thạnh Phú" nhưng không nhớ nó là xã hay huyện, chỉ nhớ nó ở Đồng Nai, vậy ta gõ: thạnh phú*đồng nai rồi Enter sẽ có kết quả "Xã Thạnh Phú, Huyện Vĩnh Cửu, Tỉnh Đồng Nai"
- Nếu gõ thạnh phú*long an sẽ nhận được kết quả "Xã Thạnh Phú, Huyện Thuận Hóa, Tỉnh Long An"
- Nếu gõ thạnh phú*bến tre sẽ nhận được một đống kết quả (Bị Bến Tre có huyện Thạnh Phú nên dẫn đến có một đống xã liên quan)
- Tương tự như trên, cũng có một đống kết quả khi gõ đống đa*hà nội nhưng đống đa*gia lai thì chỉ có một
--------------------------------------------
Code còn chưa được "sáng" lắm, sẽ cải tiến tiếp!
 

File đính kèm

  • Danh muc TINH, HUYEN, XA_V1.4.xlsb
    223.7 KB · Đọc: 48
Upvote 0
Cải tiến tiếp như đã nói:

bằng cách thiết kế lại Sub AutoOpen như sau:
Mã:
Public dicVNAddress As Scripting.Dictionary
Public arrSource    As Variant
Public arrAddress   As Variant
Private Sub Auto_Open()
  Dim wksVNAddress      As Worksheet
  Dim lRow              As Long
  Dim strID             As String
  Dim strParentID       As String
  Dim strFullAddress    As String
  Dim strShortAddress   As String
  On Error Resume Next
  Set wksVNAddress = ThisWorkbook.Worksheets("VNAddress")
  arrSource = wksVNAddress.Range("A2", wksVNAddress.Range("C60000").End(xlUp)).Value
  ReDim arrAddress(LBound(arrSource, 1) To UBound(arrSource, 1), 1 To 1)
  Set dicVNAddress = New Scripting.Dictionary
  For lRow = 1 To UBound(arrSource, 1)
    strID = arrSource(lRow, 1)
    strShortAddress = arrSource(lRow, 3) & " " & arrSource(lRow, 2)
    If Len(strID) <= 2 Then
      strFullAddress = strShortAddress
    Else
      strParentID = Left(strID, Len(strID) - 2)
      strFullAddress = strShortAddress & ", " & dicVNAddress.Item(strParentID)
    End If
    arrAddress(lRow, 1) = strFullAddress
    dicVNAddress.Add strID, strFullAddress
  Next
  If Err.Number Then MsgBox Err.Description
End Sub
Các chỗ khác gần như để nguyên
Giờ mở form lên và chẳng hạn:
- Ta muốn tìm "Thạnh Phú" nhưng không nhớ nó là xã hay huyện, chỉ nhớ nó ở Đồng Nai, vậy ta gõ: thạnh phú*đồng nai rồi Enter sẽ có kết quả "Xã Thạnh Phú, Huyện Vĩnh Cửu, Tỉnh Đồng Nai"
- Nếu gõ thạnh phú*long an sẽ nhận được kết quả "Xã Thạnh Phú, Huyện Thuận Hóa, Tỉnh Long An"
- Nếu gõ thạnh phú*bến tre sẽ nhận được một đống kết quả (Bị Bến Tre có huyện Thạnh Phú nên dẫn đến có một đống xã liên quan)
- Tương tự như trên, cũng có một đống kết quả khi gõ đống đa*hà nội nhưng đống đa*gia lai thì chỉ có một
--------------------------------------------
Code còn chưa được "sáng" lắm, sẽ cải tiến tiếp!
Em nghĩ kết quả chỉ nên trả về đến cấp có từ khóa mà thôi, liệt kê hết như thế rất rối và không cần thiết.
Ví dụ như em muốn tìm từ khóa "Hà Giang" thì kết quả trả về chỉ bao gồm: Tỉnh Hà Giang; Thành phố Hà Giang, Tỉnh Hà Giang; Xã Hà Giang, Huyện Hà Trung, Tỉnh Thanh Hóa.
Muốn xem chi tiết tỉnh Hà Giang thì nhấp vào sẽ liệt kê ra các thành phố, thị xã và huyện của tỉnh Hà Giang... Kiểu giống như cây thư mục.
 
Upvote 0
Hình như các bạn đã bước sang chuyện tìm kiếm địa danh;
Nhưng 1 CSDL, trước chuyện này fải là chuyện nhập địa danh cho 1 CSDL
Mà chuyện nhập địa danh thì biến hóa khôn lường kia đấy; Ví dụ
705 Lô C CC Ngô Gia Tự, Quận 10, TP HCM
125B đường Trần Hưng Đạo, Q. 5, TF Hồ Chí Minh.
Chuyện cấp quận hay thành fố ta có thể thỏa thuận thống nhất, nhưng cách mà người ta không ghi tên fường trong địa chỉ thì hơi rối khi nhập liệu.
Trong những trường hợp như vậy thì xử lí thế nào để chuyện từ bản khai trích ngang sang file nhân sự?
 
Upvote 0
Em nghĩ kết quả chỉ nên trả về đến cấp có từ khóa mà thôi, liệt kê hết như thế rất rối và không cần thiết.
Ví dụ như em muốn tìm từ khóa "Hà Giang" thì kết quả trả về chỉ bao gồm: Tỉnh Hà Giang; Thành phố Hà Giang, Tỉnh Hà Giang; Xã Hà Giang, Huyện Hà Trung, Tỉnh Thanh Hóa.
Muốn xem chi tiết tỉnh Hà Giang thì nhấp vào sẽ liệt kê ra các thành phố, thị xã và huyện của tỉnh Hà Giang... Kiểu giống như cây thư mục.
Ừ thì sao cũng được!
Có nghĩa là mình biết là với cách bố trí dữ liệu như vậy, cách đặt mã như vậy... mình sẽ làm được tất cả mọi yêu cầu. Còn yêu cầu từng người dùng ra sao, có thể chỉnh sửa thoải mái
Có tình huống thế này:
- Anh bạn mới quen bảo rằng anh ấy ở Thuận An
- Tôi lại quên hỏi là Thuận An nào
- Tôi chỉ chắc rằng quê anh ấy không phải ở Miền Nam
- Vậy là tôi gõ từ khóa Thuận An vào form tìm kiếm, ra được kết quả thế này:

Untitled.jpg

- Loại bỏ các vùng ở khu vực phía Nam, tôi có được 2 kết quả: Hoặc là thị trấn Thuận An ở Thừa Thiên Huế, hoặc là xã Thuận An ở Đắk Nông
Hợp lý chứ bộ!
Đương nhiên sắp tới đây, với cách đặt mã như thế, mình đã nghĩ đến sơ đồ dạng cây và đang tiến hành cải tiến
---------------------------------
Sửa lại 1 chút về cách gõ. Khỏi cần đánh dấu "*", chỉ cần các địa danh cách nhau bằng dấu phẩy là được
Ngồi buồn "vọc chơi":
- Gõ ku, lắk ---> ra một thúng
- Gõ lắk, ku ---> Hổng có cái nào
(kỳ vậy ta???)
 

File đính kèm

  • Danh muc TINH, HUYEN, XA_V1.4.xlsb
    227.5 KB · Đọc: 51
Upvote 0
Ngồi buồn "vọc chơi":
- Gõ ku, lắk ---> ra một thúng
- Gõ lắk, ku ---> Hổng có cái nào
(kỳ vậy ta???)
Tui có ý thế này:
- Chỉ gõ địa danh: cho ra tất cả những gì nó tìm thấy liên quan đến cái vừa nhập
- Gõ Tỉnh Hà Nội cũng lọc ra được TP Hà Nội (cùng cấp)
- Gõ "Huyện Chợ Mới" thì sẽ ra kết quả Huyện (Quận, TX, TP) Chợ Mới nếu có - Nghĩa là cùng cấp.
- Tương tự cho Xã, Phường...
 
Upvote 0
Tui có ý thế này:
- Chỉ gõ địa danh: cho ra tất cả những gì nó tìm thấy liên quan đến cái vừa nhập
- Gõ Tỉnh Hà Nội cũng lọc ra được TP Hà Nội (cùng cấp)
- Gõ "Huyện Chợ Mới" thì sẽ ra kết quả Huyện (Quận, TX, TP) Chợ Mới nếu có - Nghĩa là cùng cấp.
- Tương tự cho Xã, Phường...
Gì cũng được hết anh. Anh thích kiểu nào thì anh cứ chủ động nạp vào dictionary lúc khởi động file là được. Việc lọc dữ liệu chỉ là khâu cuối cùng. Tức là anh CÓ ĐẦU VÀO thì mới CÓ ĐẦU RA
 
Upvote 0
Trong thực tế nhập liệu cho các trường (côt) như [Nơi sinh], [Địa chỉ TT], [Địa chỉ CQ], [Nơi cư ngụ],. . . .
ta thường gặp cảnh này:
PHP:
'
Mã NV  . . . .                    Nơi sinh     '
NHH00 . . . .      Số 5 Hồ Tùng Mậu, F15, Q. Phú Nhuận, Tf Hồ Chí Minh
NTH00 . . . .      Ấp Tân Tiến, X. Tân Lập, H. Châu Thành, T. Tây Ninh
GPE.09 . . . .     05 Nguyễn Tri Phương, X. Tân Thành, H. Tiền Hải, T. Thái Bình
. . . .    . . . . .  . . . .
Để nhập địa chỉ dạng này ta sẽ fải cần 1 TextBox & 3 ComboBox chăng?
Các bạn có cao kiến gì khác hơn để áp dụng vô thực tế!

Rất mong các bạn tiếp tục hưởng ứng đề tài này!
 
Upvote 0
Rất đồng ý với anh Hai Lúa Miền Tây về "quan hệ" như trên. Hiện tại em thấy có ứng dụng đăng ký MST cá nhân của tổng cục thuế phát hành, cách thức nhập liệu giống như kiểu "quan hệ" trên. Tuy nhiên cái tệ của ứng dụng là phải kéo thanh trược combobox để chọn từng cái thay vì mình nên gõ ký tự để lọc tại conbo.
 
Upvote 0
Đó là cách xây dựng CSDL cực chuẩn!
Lúc trước mình cũng làm vậy. Tuy nhiên phải nói rằng trong một vài trường hợp cụ thể ta có thể "phá cách" (Chẳng hạn bài này đây). Nếu làm theo hướng chuẩn như trên thì sẽ khó khăn trong việc tìm kiếm 1 từ khóa mà ta chưa biết nó thuộc "cấp" nào (chứ không phải không tìm được)
- Nếu ta xây dựng giao diện theo kiểu 3 ComboBox: Tìm tỉnh ---> suy ra huyện ---> suy ra xã... thì CSDL như Hai Lúa là quá tuyệt vời
- Nếu ta xây dựng giao diện theo kiểu 1 TextBox + 1 ListBox, với TextBox dùng để gõ từ khóa (mà chưa biết nó thuộc cấp nào) thì mình sẽ dùng cách của mình (ở những bài cuối)
-----------------------------------------------
Nói chung là tùy trường hợp Hai Lúa à! Biết người dùng muốn điều gì để tạo CSDL và viết code theo hướng có lợi nhất
(và chính cái tô màu đỏ ở trên là cái mà mình đang băn khoăn chứ không phải không biết xây dựng CSDL hay viết code)
 
Upvote 0
Đó là cách xây dựng CSDL cực chuẩn!
Lúc trước mình cũng làm vậy. Tuy nhiên phải nói rằng trong một vài trường hợp cụ thể ta có thể "phá cách" (Chẳng hạn bài này đây). Nếu làm theo hướng chuẩn như trên thì sẽ khó khăn trong việc tìm kiếm 1 từ khóa mà ta chưa biết nó thuộc "cấp" nào (chứ không phải không tìm được)
- Nếu ta xây dựng giao diện theo kiểu 3 ComboBox: Tìm tỉnh ---> suy ra huyện ---> suy ra xã... thì CSDL như Hai Lúa là quá tuyệt vời
- Nếu ta xây dựng giao diện theo kiểu 1 TextBox + 1 ListBox, với TextBox dùng để gõ từ khóa (mà chưa biết nó thuộc cấp nào) thì mình sẽ dùng cách của mình (ở những bài cuối)
-----------------------------------------------
Nói chung là tùy trường hợp Hai Lúa à! Biết người dùng muốn điều gì để tạo CSDL và viết code theo hướng có lợi nhất
(và chính cái tô màu đỏ ở trên là cái mà mình đang băn khoăn chứ không phải không biết xây dựng CSDL hay viết code)
Chưa chắc đã chuẩn (?)
Chỉ chuẩn theo kiểu sách giáo khoa thôi
Vì ở đây dữ liệu tên tỉnh huyện phường xã,... đều là cùng kiểu cả đối tượng text cả và quy mô trong 1 nước số lượng cũng không nhiều, và Excel lại là môi trường database không chuẩn nếu không muốn nói là lỏng lẻo nên sử dụng quan hệ trong chính nội hàm của mã vẫn đáng giá hơn
 
Upvote 0
Trong thực tế nhập liệu cho các trường (côt) như [Nơi sinh], [Địa chỉ TT], [Địa chỉ CQ], [Nơi cư ngụ],. . . .
ta thường gặp cảnh này:
PHP:
'
Mã NV  . . . .                    Nơi sinh     '
NHH00 . . . .      Số 5 Hồ Tùng Mậu, F15, Q. Phú Nhuận, Tf Hồ Chí Minh
NTH00 . . . .      Ấp Tân Tiến, X. Tân Lập, H. Châu Thành, T. Tây Ninh
GPE.09 . . . .     05 Nguyễn Tri Phương, X. Tân Thành, H. Tiền Hải, T. Thái Bình
. . . .    . . . . .  . . . .
Để nhập địa chỉ dạng này ta sẽ fải cần 1 TextBox & 3 ComboBox chăng?
Các bạn có cao kiến gì khác hơn để áp dụng vô thực tế!

Rất mong các bạn tiếp tục hưởng ứng đề tài này!
Tùy thuộc ứng dụng, nhưng hãy nghĩ đơn giản như Google 1 textbox đa chức năng, tìm hình ảnh, video , gợi ý từ quen ...vv

Còn nếu phức tạp thì Google phải có nhiều textbox cho hình ảnh, video, website, vvv
 
Upvote 0
Chưa chắc đã chuẩn (?)
Chỉ chuẩn theo kiểu sách giáo khoa thôi
Vì ở đây dữ liệu tên tỉnh huyện phường xã,... đều là cùng kiểu cả đối tượng text cả và quy mô trong 1 nước số lượng cũng không nhiều, và Excel lại là môi trường database không chuẩn nếu không muốn nói là lỏng lẻo nên sử dụng quan hệ trong chính nội hàm của mã vẫn đáng giá hơn

Có lẽ bạn muốn nói chuẩn theo luật của CSDL LH (Relational Database)?
Theo tôi hiểu thì yêu cầu của chủ thớt là sắp xếp cấp bậc (Hierarchical). Vì vậy, thiết kế CSDL chỉ cần chuẩn bậc 1 là đủ rồi. Bậc 2 trở lên là thừa, nếu không muốn nói là sẽ không bảo đảm hiệu quả, (trừ phi ta muốn truy vấn bằng SQL hoặc cách tương tự).

Từ bài #29, tôi có đề nghị khảo sát và xác định dữ liệu. Theo cách trả lời ở bài #30 thì tôi đoán được là chủ thớt đã có chủ ý về dữ liệu và CSDL rồi.
Tóm tắt lại, chủ thớt đã có Database và các cách thức truy vấn (giao diện Database) rồi. Trong bài này, thớt chỉ hỏi giao diện với người dùng (xác định rõ lại ở bài #57).

Nói cách khác, thớt đã có máy và sườn xe rồi. Bạn chỉ cần cho ý kiến về số tay hay tự động, bao nhiêu ghế ngồi, đèn đóm vân vân thôi.
 
Upvote 0
Web KT
Back
Top Bottom