Logo InterData
  • Trang chủ
  • Blog
    • Máy chủ (Server)
    • Máy chủ ảo (VPS)
    • Cloud Server
    • Web Hosting
    • Website
    • Trí tuệ nhân tạo (AI)
    • Lập trình
  • Dịch vụ
    • Thuê chỗ đặt máy chủ
    • Thuê Cloud Server
    • Thuê Hosting
    • Thuê máy chủ
    • Thuê VPS
  • Sự kiện
  • Khuyến Mãi
  • Trang chủ
  • Blog
    • Máy chủ (Server)
    • Máy chủ ảo (VPS)
    • Cloud Server
    • Web Hosting
    • Website
    • Trí tuệ nhân tạo (AI)
    • Lập trình
  • Dịch vụ
    • Thuê chỗ đặt máy chủ
    • Thuê Cloud Server
    • Thuê Hosting
    • Thuê máy chủ
    • Thuê VPS
  • Sự kiện
  • Khuyến Mãi
Trang Chủ Lập trình

Foreign Key là gì trong DBMS? Ví dụ & Cú pháp khóa ngoại đầy đủ

Trong thiết kế cơ sở dữ liệu, Foreign Key (Khóa ngoại) đóng vai trò quan trọng giúp duy trì tính nhất quán và toàn vẹn dữ liệu. Đây là một trong những thành phần then chốt giúp thiết lập mối quan hệ giữa các bảng, từ đó tối ưu hóa thao tác truy vấn và nâng cao hiệu quả quản lý dữ liệu. Bài viết dưới đây từ InterData sẽ giúp bạn hiểu rõ Foreign Key là gì, cú pháp sử dụng, lợi ích thực tiễn trong hệ quản trị cơ sở dữ liệu và ví dụ minh họa để bạn hiểu sâu hơn về khóa ngoại.

NỘI DUNG

Toggle
  • Foreign Key là gì?
  • Ví dụ minh họa về Foreign Key
  • Lợi ích của Foreign Key trong DBMS
    • Đảm bảo tính toàn vẹn dữ liệu
    • Thiết lập mối quan hệ rõ ràng
    • Tối ưu hóa truy vấn
    • Hỗ trợ bảo trì cơ sở dữ liệu
    • Tăng cường bảo mật dữ liệu
  • Cú pháp tạo, xóa khóa ngoại trong DBMS
  • Câu hỏi thường gặp về Foreign Key
    • Foreign Key dùng để làm gì trong cơ sở dữ liệu?
    • Một bảng trong database có thể có nhiều hơn một Khóa ngoại được không?
    • Khóa ngoại có bắt buộc phải chứa giá trị (NOT NULL) không?
    • Khi thiết kế database, khi nào nên sử dụng Khóa ngoại?

Foreign Key là gì?

Khóa ngoại (Foreign Key – FK) là một cột hoặc tập hợp các cột trong bảng này – giá trị của chúng thiết lập liên kết bằng cách tham chiếu đến Khóa chính (Primary Key – PK) hoặc Khóa ứng viên (Candidate Key) ở một bảng khác trong cùng cơ sở dữ liệu quan hệ.

Mục đích chính của Khóa ngoại là thiết lập và duy trì mối quan hệ giữa các bảng. Điều này giúp chúng ta liên kết dữ liệu có liên quan với nhau giữa các thực thể khác nhau được lưu trữ ở các bảng riêng biệt trong hệ thống.

Foreign Key là gì?
Foreign Key là gì?

Bên cạnh đó, Khóa ngoại đóng vai trò cực kỳ quan trọng trong việc đảm bảo “tính toàn vẹn tham chiếu” (referential integrity). Nó hoạt động như một “người gác cổng”, ngăn chặn các thao tác dữ liệu bất hợp lệ có thể phá vỡ mối liên kết giữa các bảng đã được định nghĩa.

Vai trò đầu tiên và quan trọng nhất của Khóa ngoại chính là tạo “cầu nối” giữa các bảng. Khi bạn cần lưu thông tin về các đối tượng có quan hệ với nhau (ví dụ: Khách hàng và Đơn hàng), Khóa ngoại là cách để chỉ ra bản ghi nào ở bảng này liên kết với bản ghi nào ở bảng kia.

Vai trò không kém phần quan trọng là bảo vệ dữ liệu khỏi sự không nhất quán. Khóa ngoại đảm bảo rằng mọi giá trị trong cột Khóa ngoại của bảng con đều phải tương ứng với một giá trị Khóa chính/Khóa ứng viên tồn tại ở bảng cha, hoặc là NULL (nếu được phép).

Ví dụ minh họa về Foreign Key

Ví dụ 1:

Hãy tưởng tượng bạn có hai bảng trong database: KhachHang (lưu thông tin khách hàng) và DonHang (lưu thông tin đơn hàng). Bảng KhachHang có cột MaKhachHang là Khóa chính để định danh từng khách hàng.

Để biết mỗi đơn hàng thuộc về khách hàng nào, chúng ta thêm cột MaKhachHang vào bảng DonHang. Cột này trong bảng DonHang chính là Khóa ngoại, và nó sẽ tham chiếu ngược lại cột MaKhachHang (PK) trong bảng KhachHang.

Nhờ ràng buộc Khóa ngoại này, hệ thống sẽ ngăn bạn tạo ra một đơn hàng có MaKhachHang không tồn tại trong danh sách khách hàng. Ví dụ, nếu không có khách hàng nào có MaKhachHang là 123, bạn không thể tạo đơn hàng với giá trị Khóa ngoại MaKhachHang là 123.

XEM THÊM:  Đệ quy là gì? Giải thích A-Z, Ví dụ & So sánh Vòng lặp

Điều này giúp giữ cho database luôn trong trạng thái “sạch”, đảm bảo rằng mọi đơn hàng đều liên kết đến một khách hàng thực sự tồn tại trong hệ thống, tránh tình trạng dữ liệu “mồ côi” hay không hợp lệ.

Ví dụ 2:

Ví dụ về khóa ngoại
Ví dụ về khóa ngoại
  • dept_id là khóa chính trong bảng department_info.
  • dept_id là khóa ngoại trong bảng employee_info.

Điều này có nghĩa là trường dept_id của bảng employee_info chỉ có thể có những giá trị có trong trường dept_id của bảng department_info.

  • Trường dept_id trong bảng department_info dùng để nhận dạng duy nhất các bản ghi trong bảng.
  • Trường dept_id trong bảng employee_info dùng để biết nhân viên nào đang làm việc ở phòng ban nào.

Lợi ích của Foreign Key trong DBMS

Sử dụng Khóa ngoại (Foreign Key – FK) mang lại nhiều lợi ích thiết yếu cho cơ sở dữ liệu quan hệ. Chúng không chỉ giúp đảm bảo tính toàn vẹn và nhất quán dữ liệu, thiết lập mối quan hệ rõ ràng giữa các bảng, mà còn tối ưu hóa truy vấn, hỗ trợ bảo trì và tăng cường đáng kể bảo mật dữ liệu của bạn.

Việc triển khai Foreign Key là một yêu cầu cơ bản và quan trọng trong thiết kế database hiệu quả. Các lợi ích này cộng hưởng với nhau, tạo nên một nền tảng dữ liệu đáng tin cậy, dễ quản lý và có hiệu suất hoạt động tốt, là yếu tố then chốt cho mọi hệ thống sử dụng database.

Đảm bảo tính toàn vẹn dữ liệu

Lợi ích hàng đầu và cốt lõi của Khóa ngoại là duy trì “tính toàn vẹn tham chiếu” (referential integrity). Nó ngăn chặn việc tạo ra các bản ghi “mồ côi”, tức là những dòng dữ liệu ở bảng con lại tham chiếu đến một giá trị Khóa chính không hề tồn tại ở bảng cha tương ứng.

Nhờ ràng buộc Khóa ngoại, hệ quản trị cơ sở dữ liệu (DBMS) sẽ tự động thực hiện kiểm tra khi bạn thao tác dữ liệu (thêm, sửa, xóa). Nếu hành động nào có nguy cơ làm mất đi sự nhất quán hoặc phá vỡ mối liên kết giữa các bảng, hệ thống sẽ lập tức ngăn chặn điều đó xảy ra.

Điều này đảm bảo rằng dữ liệu luôn ở trạng thái chính xác, nhất quán giữa các bảng có quan hệ. Nó loại bỏ rủi ro nhập sai mã tham chiếu hoặc vô tình xóa đi dữ liệu cha trong khi vẫn còn dữ liệu con phụ thuộc vào nó, nâng cao độ tin cậy tổng thể.

Lợi ích của Foreign Key trong DBMS
Lợi ích của Foreign Key trong DBMS

Thiết lập mối quan hệ rõ ràng

Khóa ngoại là cơ chế tiêu chuẩn để định nghĩa và thể hiện mối quan hệ giữa các bảng trong mô hình cơ sở dữ liệu quan hệ. Chúng giúp làm sáng tỏ cách các thực thể (được lưu trong các bảng) liên kết với nhau, tạo ra một cấu trúc dữ liệu mạch lạc và dễ hiểu cho mọi người làm việc với nó.

Việc xác định và áp dụng đúng các Khóa ngoại là nền tảng quan trọng trong quá trình chuẩn hóa database (normalization). Điều này không chỉ giúp thiết kế database tuân thủ các nguyên tắc tốt, mà còn phân chia dữ liệu một cách hợp lý, tránh dư thừa và đảm bảo tính logic của toàn bộ cấu trúc.

Một sơ đồ database có định nghĩa Khóa ngoại rõ ràng giúp các nhà phát triển, quản trị viên, hay bất kỳ ai mới tiếp cận đều nhanh chóng nắm bắt được bức tranh tổng thể về cách dữ liệu được tổ chức và kết nối trong hệ thống.

XEM THÊM:  spaCy là gì? A-Z về thư viện spaCy trong NLP (Python)

Tối ưu hóa truy vấn

Khi các bảng trong database được liên kết thông qua Khóa ngoại, hệ quản trị cơ sở dữ liệu (DBMS) sẽ hiểu rõ mối quan hệ ngữ nghĩa giữa chúng. Thông tin này cực kỳ hữu ích cho trình tối ưu hóa truy vấn của DBMS để tìm ra cách thức truy xuất dữ liệu hiệu quả nhất.

Việc hiểu rõ mối quan hệ này cho phép DBMS sử dụng các kế hoạch thực thi truy vấn tối ưu hơn, đặc biệt khi bạn cần kết hợp dữ liệu từ nhiều bảng liên quan bằng các câu lệnh JOIN trong SQL. Điều này giúp truy xuất dữ liệu nhanh chóng và hiệu quả hơn so với việc không có Khóa ngoại.

Kết quả là các ứng dụng hoạt động nhanh hơn, thời gian phản hồi khi lấy dữ liệu giảm xuống. Khóa ngoại cung cấp manh mối quan trọng để DBMS có thể đi thẳng vào các dữ liệu liên quan thay vì phải xử lý toàn bộ dữ liệu một cách “mù quáng”, cải thiện hiệu suất đáng kể.

Hỗ trợ bảo trì cơ sở dữ liệu

Khóa ngoại đóng vai trò thiết yếu trong các tác vụ bảo trì database định kỳ và khẩn cấp. Chúng giúp đảm bảo rằng khi thực hiện các quy trình như sao lưu, phục hồi dữ liệu, chuyển đổi lược đồ (schema migration) hay nhập/xuất dữ liệu, tính toàn vẹn và sự nhất quán giữa các bảng luôn được duy trì.

Ràng buộc Khóa ngoại cung cấp một lớp bảo vệ tự động trong suốt quá trình bảo trì. Bất kỳ thay đổi nào có nguy cơ phá vỡ mối quan hệ đã được định nghĩa sẽ bị hệ thống cảnh báo hoặc ngăn chặn. Điều này giúp giảm thiểu rủi ro phát sinh lỗi dữ liệu sau khi hoàn thành công việc bảo trì.

Sự có mặt của Khóa ngoại giúp đơn giản hóa và an toàn hóa các quy trình bảo trì phức tạp. Thay vì phải viết các script kiểm tra tính nhất quán thủ công (rất dễ sai sót), bạn có thể dựa vào chính cơ chế của DBMS để đảm bảo database luôn trong trạng thái hoạt động đúng sau bảo trì.

Tăng cường bảo mật dữ liệu

Mặc dù không phải là cơ chế kiểm soát quyền truy cập trực tiếp, Khóa ngoại góp phần tăng cường bảo mật dữ liệu theo cách quan trọng. Chúng ngăn chặn các hành động sửa đổi hoặc xóa dữ liệu quan trọng trong bảng cha nếu việc đó làm mất đi mối liên kết với dữ liệu đang được tham chiếu bởi Khóa ngoại ở bảng con.

Điều này có nghĩa là, Khóa ngoại bảo vệ tính toàn vẹn của các mối quan hệ, qua đó gián tiếp bảo vệ tính hợp lệ của toàn bộ cấu trúc dữ liệu. Nó ngăn chặn các hành động độc hại hoặc vô ý có thể bị lạm dụng để làm hỏng hoặc làm sai lệch mối liên kết dữ liệu quan trọng trong database.

Bằng cách đảm bảo rằng dữ liệu luôn được kết nối đúng cách, Khóa ngoại giúp ngăn chặn các lỗ hổng bảo mật có thể phát sinh từ dữ liệu không nhất quán. Chúng bổ sung một lớp bảo vệ logic, đảm bảo chỉ những thao tác hợp lệ theo cấu trúc quan hệ mới được thực hiện trên database.

Cú pháp tạo, xóa khóa ngoại trong DBMS

Cú pháp để tạo khóa ngoại trong DBMS như sau:

Cú pháp tạo khóa ngoại bằng lệnh CREATE TABLE: 

CREATE TABLE bang_con
(
cot1 kieudulieu [ NULL | NOT NULL ],
cot2 kieudulieu [ NULL | NOT NULL ],
…

CONSTRAINT fk_ten
FOREIGN KEY (cot_con1, cot_con2, … cot_con_n)
REFERENCES bang_me (cot_me1, cot_me2, … cot_me_n)
[ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]
[ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]
);
  • bang_con: Là tên của bảng con bạn muốn tạo.
  • cot1,cot2: Là các cột sẽ được khai báo trong bảng con. Mỗi cột cần chỉ định rõ kiểu dữ liệu và trạng thái NULL/NOT NULL. Nếu không khai báo, mặc định cột sẽ được cho phép NULL.
  • fk_ten: Là tên của ràng buộc khóa ngoại bạn sẽ tạo.
  • cot_con1, cot_con2, … cot_con_n: Là các cột trong bảng con (bang_con) được sử dụng để tham chiếu tới các cột khóa chính trong bảng mẹ (bang_me).
  • bang_me: Là bảng mẹ chứa khóa chính được dùng để thiết lập quan hệ với bảng con.
  •  cot_me_n: Là các cột tạo nên khóa chính trong bảng mẹ. Việc tạo khóa ngoại sẽ ràng buộc các cột của bảng con với các cột này trong bảng mẹ.
  • ON DELETE: Tùy chọn này chỉ định hành vi áp dụng cho dữ liệu con khi dữ liệu mẹ bị xóa. Các tùy chọn bao gồm: NO ACTION, CASCADE, SET NULL, và SET DEFAULT.
  • ON UPDATE: Tùy chọn xác định hành vi áp dụng cho dữ liệu con khi dữ liệu mẹ được cập nhật. Các lựa chọn tương tự như ON DELETE: NO ACTION, CASCADE, SET NULL, SET DEFAULT.
  • NO ACTION: Khi sử dụng với ON DELETE hoặc ON UPDATE, tùy chọn này có nghĩa là không thực hiện bất kỳ thay đổi nào với dữ liệu con nếu dữ liệu mẹ bị xóa hoặc cập nhật.
  • CASCADE: Dùng trong ON DELETE hoặc ON UPDATE, nghĩa là dữ liệu con sẽ bị xóa hoặc cập nhật theo khi dữ liệu mẹ thay đổi.
  • SET NULL: Khi dữ liệu mẹ bị xóa hoặc cập nhật, dữ liệu con sẽ được đặt thành NULL nếu chọn tùy chọn này.
  • SET DEFAULT: Nghĩa là khi có sự thay đổi ở dữ liệu mẹ, dữ liệu con sẽ được gán về giá trị mặc định đã thiết lập trước đó.
XEM THÊM:  Constructor là gì? A-Z kiến thức về hàm khởi tạo trong Java
Cú pháp tạo, xóa khóa ngoại trong DBMS
Cú pháp tạo, xóa khóa ngoại trong DBMS

Cú pháp tạo khóa ngoại bằng lệnh ALTER TABLE

 ALTER TABLE bang_con
ADD CONSTRAINT fk_ten
FOREIGN KEY (cot_con1, cot_con2, … cot_con_n)
REFERENCES bang_me (cot_me1, cot_me2, … cot_me_n);
  • bang_con: Đây là tên của bảng con mà bạn muốn tạo trong cơ sở dữ liệu.
  • fk_ten: Là tên của ràng buộc khóa ngoại mà bạn sẽ thiết lập.
  • cot_con1, cot_con2, … cot_con_n: Các cột trong bảng con (bang_con) được sử dụng để tham chiếu tới khóa chính trong bảng mẹ (bang_me).
  • bang_me: Tên của bảng mẹ – nơi chứa khóa chính được tham chiếu bởi bảng con.
  • cot_me1, cot_me2, … cot_me_n: Các cột trong bảng mẹ tạo thành khóa chính. Khóa ngoại sẽ tạo mối ràng buộc giữa các cột này và các cột tương ứng trong bảng con.

Cú pháp để xóa khóa ngoại:

ALTER TABLE Child_table_name
DROP FOREIGN KEY Child_foreign_key_name;

Câu hỏi thường gặp về Foreign Key

Foreign Key dùng để làm gì trong cơ sở dữ liệu?

Foreign Key dùng để thiết lập mối quan hệ giữa các bảng trong database quan hệ. Nó đảm bảo rằng dữ liệu ở một bảng (bảng con) tham chiếu đến dữ liệu hợp lệ, đang tồn tại ở bảng khác (bảng cha), duy trì tính toàn vẹn tham chiếu của dữ liệu.

Một bảng trong database có thể có nhiều hơn một Khóa ngoại được không?

Được, một bảng hoàn toàn có thể có nhiều Khóa ngoại. Mỗi Khóa ngoại có thể tham chiếu đến Khóa chính của một bảng khác nhau hoặc thậm chí tham chiếu nhiều lần đến Khóa chính của cùng một bảng (dù trường hợp sau ít phổ biến hơn).

Khóa ngoại có bắt buộc phải chứa giá trị (NOT NULL) không?

Không bắt buộc. Mặc định, một cột Khóa ngoại có thể chứa giá trị NULL, trừ khi cột đó được định nghĩa rõ ràng với ràng buộc NOT NULL hoặc là một phần của Khóa chính/Khóa ứng viên trong bảng con đó.

Khi thiết kế database, khi nào nên sử dụng Khóa ngoại?

Bạn nên sử dụng Khóa ngoại bất cứ khi nào có mối quan hệ giữa hai bảng và bạn muốn đảm bảo rằng dữ liệu tham chiếu (ở bảng con) luôn tương ứng với dữ liệu gốc đang tồn tại (ở bảng cha), tức là cần đảm bảo tính toàn vẹn tham chiếu.

Qua bài viết, bạn đã nắm được khái niệm Foreign Key là gì, cách sử dụng, cũng như vai trò không thể thiếu của khóa ngoại trong việc xây dựng cơ sở dữ liệu hiệu quả và an toàn. Việc áp dụng đúng Foreign Key giúp bạn tạo ra hệ thống dữ liệu chặt chẽ, dễ bảo trì và ít lỗi hơn.

Để triển khai hệ thống cơ sở dữ liệu thực tế, cần môi trường máy chủ để thiết lập, quản trị và kiểm thử cơ sở dữ liệu (DBMS) như MySQL, PostgreSQL, SQL Server… Dịch vụ thuê VPS là giải pháp phù hợp. Nếu bạn đang tìm môi trường để thực hành hoặc triển khai hệ quản trị cơ sở dữ liệu (DBMS) có sử dụng khóa ngoại, dịch vụ VPS Linux với Full Root Access, hỗ trợ cài đặt hệ điều hành như Ubuntu, CentOS, Debian…, bạn dễ dàng tùy chỉnh cấu hình, tạo bảng, thiết lập khóa ngoại và kiểm thử toàn bộ hệ thống một cách chủ động.

Tại InterData, dịch vụ VPS Linux sử dụng ổ cứng SSD NVMe U.2 tốc độ cao, băng thông rộng và uptime đạt 99.9%, giúp hệ thống luôn ổn định trong suốt quá trình vận hành. Chỉ từ 95K/tháng, bạn đã có thể khởi tạo nhanh máy chủ riêng với hiệu suất mạnh mẽ, phù hợp cho cả học tập, phát triển phần mềm lẫn triển khai hệ thống dữ liệu chuyên nghiệp.

Share186Tweet117
Mỹ Y
Mỹ Y

Nguyễn Thị Mỹ Y - Tốt nghiệp chuyên ngành Marketing thương mại với 2+ năm kinh nghiệm trong lĩnh vực Content Công Nghệ và Phần Mềm. Hiện tại, tôi đang đảm nhiệm vị trí Nhân viên Digital Marketing tại InterData - một trong những công ty hàng đầu về giải pháp công nghệ thông tin tại Việt Nam, nơi tôi có cơ hội làm việc với các chuyên gia hàng đầu trong ngành công nghệ thông tin. Với vai trò là một nhân viên Digital Marketing, tôi có cơ hội được tham gia vào các dự án phát triển nội dung chất lượng cao về phần mềm mã nguồn mở, ứng dụng và giải pháp công nghệ hữu ích. Để không ngừng nâng cao chuyên môn, tôi thường xuyên tham gia các buổi workshop, khóa đào tạo chuyên sâu và tự học hỏi các xu hướng mới trong lĩnh vực công nghệ thông tin. Tôi tin rằng việc chia sẻ kiến thức mới mẻ là chìa khóa để xây dựng một cộng đồng công nghệ vững mạnh và phát triển. Với kiến thức chuyên sâu, kinh nghiệm thực tế và tâm huyết với nghề, tôi hy vọng có thể đóng góp một phần nhỏ vào sự phát triển của ngành công nghệ thông tin Việt Nam.

KHUYẾN MÃI NỔI BẬT
VPS InterData tích hợp sẵn n8n
VPS InterData Tích Hợp Sẵn n8n – Cài Đặt Nhanh Trong 1-Click
BÀI VIẾT MỚI NHẤT
Foreign Key là gì trong DBMS - Ví dụ & Cú pháp khóa ngoại đầy đủ
Foreign Key là gì trong DBMS? Ví dụ & Cú pháp khóa ngoại đầy đủ
Khóa chính là gì - Tính năng, cú pháp, ví dụ Primary Key dễ hiểu
Khóa chính là gì? Tính năng, cú pháp, ví dụ Primary Key dễ hiểu
Query là gì - Cách hoạt động - Các dạng truy vấn (Có ví dụ)
Query là gì? Cách hoạt động – Các dạng truy vấn (Có ví dụ)
Cách chọn Hosting phù hợp
Để lựa chọn Hosting phù hợp với website bạn cần lưu ý gì?
Cloud Hosting
Cloud Hosting là gì? Ưu nhược điểm và so sánh với Shared Hosting, VPS
WordPress Hosting
WordPress Hosting là gì? Lợi ích & So sánh với Hosting thường
NoSQL là gì - Lợi ích, Hạn chế, Phân loại cho người mới
NoSQL là gì? Lợi ích, Hạn chế, Phân loại cho người mới
SQL là gì? Giải thích đơn giản, dễ hiểu cho người mới bắt đầu
SQL là gì? Giải thích đơn giản, dễ hiểu cho người mới bắt đầu
Hệ quản trị cơ sở dữ liệu là gì - Phân loại & Lợi ích DBMS
Hệ quản trị cơ sở dữ liệu là gì? Phân loại & Ví dụ DBMS thực tế

logo interdata

VPĐD: 240 Nguyễn Đình Chính, P.11. Q. Phú Nhuận, TP. Hồ Chí Minh
VPGD: 211 Đường số 5, Lakeview City, An Phú, Thủ Đức, TP. Hồ Chí Minh
MST: 0316918910 – Cấp ngày 28/06/2021 – tại Sở KH và ĐT TP. HCM
Mã ĐDKD: 0001
Điện thoại: 1900.636822
Website: Interdata.vn

DỊCH VỤ

Thuê chỗ đặt máy chủ
Thuê Cloud Server
Thuê Hosting
Thuê máy chủ
Thuê VPS

THÔNG TIN

Blog
Giới thiệu
Liên hệ
Khuyến mãi
Sự kiện

CHÍNH SÁCH

Chính sách bảo hành
Chính sách bảo mật
Chính sách xử lý khiếu nại
Cam kết dịch vụ
Điều khoản sử dụng
GDPR
Hình thức thanh toán
Hướng dẫn thanh toán trên VNPAY
Quy định đổi trả và hoàn trả tiền
Quy định sử dụng tên miền