Thiết kế website cơ sở dữ liệu

25/12/2020
(5/5) - 147 bình chọn.
Thiết kế website cơ sở dữ liệu. Khi chúng ta suy nghĩ về website đa ngôn ngữ, dịch nội dung thường là tư duy đầu tiên xuất hiện trong đầu chúng ta.

Ứng dụng website đa ngôn ngữ, thực chất là việc dịch nội dung ?

Khi chúng ta suy nghĩ về website đa ngôn ngữ, dịch nội dung thường là tư duy đầu tiên xuất hiện trong đầu chúng ta. Ý nghĩ thứ hai là "Chúng ta cần một mô hình cơ sở dữ liệu mạnh mẽ và hiệu quả để lưu trữ nội dung dịch trên nhiều ngôn ngữ".

Thiết kế website cơ sở dữ liệu

Ảnh minh họa

Giả sử chúng ta được yêu cầu thiết kế một mô hình dữ liệu cho một website thương mại điện tử đa ngôn ngữ. Chúng ta cần lưu trữ các trường văn bản như product_name và product_description bằng các ngôn ngữ khác nhau. Chúng ta cũng cần phải lưu trữ các trường văn bản trong các bảng khác, chẳng hạn như bảng customer bằng tất cả các ngôn ngữ này.

Các cách thiết kế cơ sở dữ liệu cho ứng dụng website đa ngôn ngữ

Để hiểu về việc làm thế nào để thiết kế mô hình dữ liệu đa ngôn ngữ, tôi sẽ đưa ra các cách tiếp cận và phân tích ưu nhược điểm của nó. Tất nhiên, cách tiếp cận phù hợp với ứng dụng của bạn sẽ dựa trên yêu cầu của riêng bạn.

Cách tiếp cận 1 - Thêm cột ngôn ngữ riêng cho từng trường trong bảng dữ liệu

Đây là cách tiếp cận đơn giản nhất về phát triển. Nó được thực hiện bằng cách thêm các cột ngôn ngữ cho từng trường trong bảng.

Ưu điểm

  • Rất dễ dang để thực hiện
  • Không có sự phức tạp trong việc viết SQL để tìm nạp các dữ liệu cơ bản bằng bất kỳ ngôn ngữ nào.

Nhược điểm

  • Không có khả năng mở rộng: mỗi khi cần thêm một ngôn ngữ mới, hàng chục cột cần bổ sung vào giữa các bảng.
  • Có thể gây mất nhiều thời gian, đặc biệt với website cần phải có nhiều ngôn ngữ.
  • Developers phải viết truy vấn cho từng ngôn ngữ. Vì vậy, tất cả các câu SQL trong ứng dụng của bạn phải thay đổi khi một ngôn ngữ mới được thêm vào

Các tiếp cận 2 - Tạo ra một bảng riêng cho việc dịch các dữ liệu

Trong cách tiếp cận này, một bảng riêng biệt được sử dụng để lưu trữ văn bản dịch; trong ví dụ bên dưới là bảng translation

Thiết kế website cơ sở dữ liệu

Ảnh minh họa

Ưu điểm

  • Là cách tiếp cận tốt nếu đa ngôn ngữ được thực hiện trên một mô hình dữ liệu đã có sẵn.
  • Chỉ cần thêm một cột duy nhất cho bảng translation nêu như có một ngôn ngữ mới được thêm vào

Nhược điểm

  • Vẫn đòi hỏi một sự thay đổi trong mô hình dữ liệu.
  • Có thể có nhiều dữ liệu null không cần thiết trong bảng
  • Sự phúc tạp khi viết các câu truy vấn join tăng theo số lượng ngôn ngữ trong ứng dụng, khi đó tốc độ truy xuất sẽ rất chậm

Cách tiếp cận này có thể có một biến thể khác đó là tạo ra từng bảng translation cho từng bảng dữ liệu, ví dụ product_translation, customer_translation

Cách tiếp cận 3 - Bảng dịch với các hàng cho mỗi ngôn ngữ

Cách này khá giống với cách tiếp cận thứ hai, nhưng nó lưu trữ các giá trị cho bản dịch trong các hàng thay vì các cột.

Ưu điểm

  • Developers dễ dang viết truy vấn
  • Không cần thay đổi mô hình dữ liệu khi bạn thêm ngôn ngữ mới; chỉ cần thêm thông tin cho ngôn ngữ mới.
  • Không tốn bộ nhớ không cần thiết khi một tập hợp các trường không dùng một ngôn ngữ nào đó.
  • Sự phức tạp của truy vấn được giảm đi với ứng dụng có nhiều ngôn ngữ

Nhược điểm

  • Tương đối nhiều join khi viết truy vấn cho việc lấy dữ liệu dịch
  • Qua thời gian, bảng translation phình to, vì chỉ có một bảng dịch, tất cả các dữ liệu dịch trên website sẽ đổ về bảng này. Khi dữ liệu đủ lớn, lên hàng triệu record cho bảng này, ta sẽ cảm thấy tốc độ truy xuất dữ liệu bị chậm

Thiết kế website cơ sở dữ liệu

Ảnh minh họa

Cách tiếp cận này cũng có thể có một biến thể khác để khắc phục nhược điểm thứ hai vừa nêu trên. Cách làm cũng giống như biến thể của cách tiếp cận 2 đó là tạo ra từng bảng translation cho từng bảng dữ liệu

Cách tiếp cận 4 - Tạo lớp đối tượng cho các trường cần dịch và các trường không cần dịch

Trong giải pháp này, các bảng cần dịch được chia thành hai bảng: một cho các trường cần dịch, và một cho các trường không cần dịch.

Ưu điểm

  • Không cần phải join bảng translation nếu không có trường cần dịch. Vì vậy các dữ liệu không cần dịch giữ được hiệu xuất tốt hơn
  • Cần ít join để lấy dữ liệu dịch mong muốn
  • Truy vấn SQL đơn giản
  • Là cách tiếp cận dễ dàng để kết hợp đa ngôn ngữ với thực thể dữ liệu

Ứng dụng website đa ngôn ngữ - Những điều cần lưu ý ngoài việc dịch nội dung

Đa ngôn ngữ cho website không chỉ là dịch nội dung đơn của bạn sang ngôn ngữ khác. Có những đặc tính văn hoá và chức năng cần được chú ý với mỗi quốc gia. Ví dụ: giá trị ngày được định dạng là 'MM/DD/YYYY' ở Bắc Mỹ, nhưng ở phần lớn Châu Á người ta thích dùng 'DD/MM/YYYY' hơn.

Ngoài ví dụ trên thì ta có thể lấy thêm ví dụ về việc hiển thị first name - last name (họ - tên) khi hiển thị tên người dùng, và vô vàn các trường hợp khác...

Một cách nhìn rộng hơn về ứng dụng website đa ngôn ngữ

Đa ngôn ngữ cho website của bạn khi tiếp cận thị trường ở các quốc gia là cần thiết. Khi đa ngôn ngữ hóa ứng dụng website hãy nhìn một cách tổng thể, việc xây dựng đa ngôn ngữ không chỉ nằm ở việc đảm bảo hiệu suất và tính mở rộng của ứng dụng. Hãy làm cho ứng dụng của bạn có khả năng làm chủ các nền văn hoá địa phương, hành vi, và cả cách nghĩ cách sống của người dùng mà bạn hướng đến.

Thiết kế website cơ sở dữ liệu

Ảnh minh họa

Ngày nay đối với các website lớn về thương mại điện tử, sản phẩm và dịch vụ lớn người ta có xu hướng xây dựng website riêng cho từng ngôn ngữ ở các quốc gia hướng đến nhằm tối ưu tốt hơn về hiệu suất cùng như trải nghiệm, điều mà rất nhiều ông lớn như Google, Amazon ... đã làm. Đa ngôn ngữ trên một website dường như chỉ phù hợp với những website mang tính thương hiệu giới thiệu chung về công ty, tập đoàn.

Các nội dung trình bày ở trên được tham khảo nhiều từ các hệ thống trên internet cùng quan điểm cá nhân. Nếu bạn có ý kiến khác hay bổ sung hay cho chúng tôi biết trong phần bình luận dưới bài viết nhé !

Nếu quý khách đang có nhu cầu hoặc tìm hiểu về dịch vụ thiết kế website chuẩn SEO hay cần một website để giới thiệu hoặc bán hàng, Vicogroup tự tin có 14+ năm kinh nghiệm đủ khả năng tư vấn và đáp ứng mọi yêu cầu của quý khách.

Vui lòng để lại thông tin, bộ phận chăm sóc sẽ liên hệ tư vấn cho quý khách sớm nhất.

Thiết kế website bán máy ảnh
24/12/2020

Thiết kế website bán máy ảnh

Thiết kế website bán máy ảnh. VicoGroup muốn cung cấp cho quý khách hàng gói dịch vụ Thiết kế website mua bán máy ảnh.
Thiết kế website rao vặt
24/12/2020

Thiết kế website rao vặt

Thiết kế website mua bán, rao vặt là một hình thức quảng cáo, tiếp thị hiệu quả, cực kì thu hút truyền thông với chi phí cực rẻ và đáng tin cậy.
Thiết kế website quán bar
24/12/2020

Thiết kế website quán bar

Quán bar là một hình thức kinh doanh phục vụ các thức uống chứ cồn (bia, rượu,…) tại chỗ. Ngoài đồ uống ra các quầy bar cũng phục vụ những bữa ăn nhẹ cho khách đến: bánh ngọt, hoa quả,… và một số loại hình giải trí nghệ thuật trên sân khấu như: ban nhạc sống, vũ công,…
Thiết kế website hóa chất
24/12/2020

Thiết kế website hóa chất

Thiết kế website hóa chất. Vì sao gói thiết kế website theo yêu cầu ngày càng phổ biến và được nhiều doanh nghiệp ưa chuộng nhất hiện nay?
Thiết Kế Website Gia Đình
24/12/2020

Thiết Kế Website Gia Đình

Thiết kế website gia đình hiện nay đang phát triển và ngày càng có nhiều khách hàng tìm đến gói thiết kế websie của công ty thiết kế website VicoGroup.
Thiết kế website dịch thuật
24/12/2020

Thiết kế website dịch thuật

Thiết kế website dịch thuật. Thị trường người dùng Internet sẽ không ngừng phát triển, và trở nên màu mỡ hơn với tất cả các doanh nghiệp.
Chat Zalo với Vicogroup