Tìm hiểu khóa ngoại là gì, cách chúng hoạt động và tại sao chúng lại quan trọng để xây dựng cơ sở dữ liệu SQL hiệu suất cao.
Bạn đang xem : khóa foriegn là gì
Các khóa ngoại đặt “quan hệ” trong “cơ sở dữ liệu quan hệ” – chúng giúp xác định mối quan hệ giữa các bảng. Chúng cho phép các nhà phát triển duy trì tính toàn vẹn tham chiếu trên cơ sở dữ liệu của họ. Khóa ngoại cũng giúp người dùng cuối bằng cách ngăn ngừa lỗi và cải thiện hiệu suất của bất kỳ hoạt động nào lấy dữ liệu từ các bảng được liên kết bằng khóa ngoại được lập chỉ mục.
Ở cấp độ kỹ thuật, khóa ngoại là một ràng buộc liên kết một cột trong một bảng ( table_1.column_a
) với một cột trong một bảng khác ( table_2.column_b code >) và đảm bảo rằng một giá trị có thể được thêm vào
column_a
chỉ khi giá trị tương tự đã tồn tại trong column_b
.
Ví dụ: một bảng đơn đặt hàng của khách hàng có thể có cột user
với thuộc tính khóa ngoại liên kết nó với cột user_id
trong bảng người dùng. Bằng cách này, mỗi hàng trong bảng đơn hàng có thể được liên kết với một người dùng cụ thể từ bảng người dùng - và không đơn hàng nào có thể vào hệ thống mà không có người dùng hợp lệ được liên kết với họ.
Các khóa nước ngoài thực sự hoạt động như thế nào trong thực tế? Hãy bắt tay vào thực tế và tìm hiểu thêm về các khóa ngoại bằng cách xem cách chúng hoạt động trong ngữ cảnh của một cơ sở dữ liệu SQL đơn giản.
Trong bài viết này, chúng tôi sẽ đề cập đến:
- Sự khác biệt giữa khóa chính và khóa ngoại
- Tại sao khóa ngoại lại quan trọng trong cơ sở dữ liệu quan hệ
- Cách tạo bảng có khóa ngoại bằng SQL
- Kiểm soát mức độ ảnh hưởng của việc xóa và cập nhật đến nhiều bảng bằng các thao tác chính ngoài
Hãy đi sâu vào!
Cơ sở dữ liệu mẫu của chúng tôi
Dưới đây, chúng tôi đã thiết lập một cơ sở dữ liệu mẫu mà chúng tôi sẽ làm việc cùng. Nó đại diện cho cơ sở dữ liệu bán hàng của một cửa hàng sách trực tuyến hư cấu. Chúng ta có thể thấy có ba bảng:
-
người dùng
chứa dữ liệu về những người dùng đã đăng ký trên trang web -
đơn hàng
chứa dữ liệu về các đơn hàng cụ thể được đặt qua trang web -
books
chứa dữ liệu về những cuốn sách có sẵn để bán
Không cần phải nói, cơ sở dữ liệu của một hiệu sách ngoài đời thực sẽ lớn hơn và phức tạp hơn nhiều so với cơ sở dữ liệu này! Tuy nhiên, cơ sở dữ liệu mẫu này sẽ giúp dễ dàng minh họa cách hoạt động của khóa ngoại hơn và các nguyên tắc áp dụng ở đây sẽ áp dụng theo cách giống hệt như vậy trong các cơ sở dữ liệu lớn hơn và phức tạp hơn.
(Nếu bạn muốn thử làm việc thực tế với cơ sở dữ liệu này, hãy chuyển đến phần cuối của bài viết để biết các hướng dẫn sẽ hữu ích cho bạn thiết lập nó trên một cụm chuyên dụng CockroachDB miễn phí trong vòng chưa đầy năm phút).
Sự khác biệt giữa khóa chính và khóa ngoại là gì?
Để hiểu cách hoạt động của khóa ngoại, trước tiên bạn cần hiểu khóa chính.
Khóa chính là gì?
Khóa chính là một cột trong bảng được sử dụng làm mã định danh duy nhất cho mỗi hàng. Nó hoạt động hơi giống địa chỉ của hàng và được sử dụng cho chỉ mục chính của bảng. (Về mặt kỹ thuật, một khóa chính có thể được tạo thành từ nhiều cột, nhưng vì mục đích của chúng tôi, ở đây chúng ta hãy nghĩ về nó như một cột duy nhất).
Bạn có thể coi khóa chính giống như số ID của một hàng. Cũng giống như ID chính phủ của bạn xác định duy nhất bạn ngay cả khi người khác chia sẻ tên của bạn hoặc sống ở địa chỉ của bạn, cột khóa chính của bảng xác định từng hàng duy nhất ngay cả khi một số giá trị khác trong hàng được chia sẻ với các hàng khác.
Vì vậy, cột khóa chính của bảng phải là duy nhất và không được để trống hoặc NULL
.
Xem xét bảng đơn hàng
trong cơ sở dữ liệu mẫu của chúng tôi. Trong bảng này, khóa chính là order_no
, một số duy nhất xác định từng đơn hàng riêng lẻ.
Trên thực tế, trong bảng này, order_no
là cột duy nhất có thể được sử dụng làm khóa chính. user_id
có thể chứa dữ liệu trùng lặp, vì cùng một khách hàng có thể đặt nhiều đơn hàng và product_sku
cũng có thể chứa dữ liệu trùng lặp, vì hai khách hàng khác nhau có thể đặt hàng cùng một sản phẩm. < / p>
Dưới đây là giao diện cơ sở dữ liệu của chúng tôi với các cột khóa chính cho mỗi bảng được đánh dấu:
Khoá Ngoại
Khóa ngoại liên kết dữ liệu trong một bảng với dữ liệu trong bảng khác. Cột khóa ngoại trong bảng trỏ đến cột có các giá trị duy nhất trong bảng khác (thường là cột khóa chính) để tạo cách tham chiếu chéo giữa hai bảng. Nếu một cột được gán khóa ngoại, thì mỗi hàng của cột đó phải chứa một giá trị tồn tại trong cột 'ngoại' mà cột đó tham chiếu. Cột được tham chiếu (tức là "ngoại") chỉ được chứa các giá trị duy nhất - thường nó là khóa chính của bảng.
Để có một ví dụ rõ ràng, hãy xem lại bảng đơn hàng
trong cơ sở dữ liệu của chúng tôi. Cột user_id
ở đây tương ứng với cột user_id
trong bảng users
và cột product_sku
tương ứng với < code> product_sku trong bảng books
.
Khi chúng tôi thiết lập bảng này, sẽ rất hợp lý nếu thêm các quy tắc khóa ngoại vào cả order.user_id
và order.product_sku
:
-
order.user_id
phải tham chiếu đếnusers.user_id
-
order.product_sku
nên tham chiếubooks.product_sku
Việc sử dụng các khóa ngoại này giúp chúng tôi không phải lưu trữ nhiều lần cùng một dữ liệu – chúng tôi không phải lưu tên người dùng trong bảng đơn hàng
, vì chúng tôi có thể sử dụng order.user_id
để tham chiếu hàng duy nhất của người dùng đó trong users.user_id
để lấy tên và thông tin khác về họ.
Nhưng mục đích thực sự của khóa ngoại là chúng thêm một hạn chế: các mục nhập vào bảng có khóa ngoại phải có giá trị tương ứng với cột bảng “ngoại”.
Hạn chế này được gọi là hạn chế khóa ngoại. Hãy cùng xem xét chi tiết hơn về các ràng buộc khóa ngoại.
Ràng buộc khóa ngoại là gì?
Ràng buộc khóa ngoại là các quy tắc được tạo khi chúng tôi thêm khóa ngoại vào bảng. Ràng buộc khóa ngoại trong bảng A
liên kết đến một cột có các giá trị duy nhất trong bảng B
và nói rằng một giá trị trong cột của A
chỉ hợp lệ nếu nó cũng tồn tại trong cột của B
.
(Lưu ý: khóa ngoại có thể là khóa tổng hợp, vì vậy khóa ngoại cho một cột có thể là hai hoặc nhiều cột trong bảng khác. Trong bài viết này, để đơn giản hơn, chúng tôi sẽ tập trung vào việc liên kết một cột trong một bảng thành một cột trong một cột khác.)
Ví dụ: hãy tưởng tượng chúng tôi đã thiết lập bảng đơn hàng
với các khóa ngoại mà chúng tôi đã đặt ra trước đó: order.user_id
reference users.user_id mã> và
order.product_sku
tham chiếu books.product_sku
. Các quy tắc này có nghĩa là:
1. Mọi giá trị được nhập vào order.user_id
phải tồn tại trong users.user_id
.
Nói cách khác, đơn đặt hàng phải do người dùng đã đăng ký đặt - bảng đơn hàng
sẽ không chấp nhận hàng mới hoặc cập nhật hàng nếu giá trị trong order.user_id code > không tồn tại trong
users.user_id
.
2. Mọi giá trị được nhập vào order.product_sku
phải tồn tại trong books.product_sku
.
Nói cách khác, người dùng chỉ có thể đặt hàng các sản phẩm tồn tại trong cơ sở dữ liệu - bảng đơn hàng
sẽ không chấp nhận hàng mới hoặc cập nhật hàng nếu giá trị trong đơn hàng.product_sku < / code> chưa tồn tại trong
books.product_sku
.
Cách hoạt động của khóa ngoại
Dưới đây là minh họa về cách hoạt động trực quan của ràng buộc khóa ngoại:
Mặc dù đây là một ví dụ đơn giản hóa, nhưng chúng ta có thể thấy cách các ràng buộc khóa ngoại giúp thiết lập mối quan hệ rõ ràng giữa các bảng trên cơ sở dữ liệu và thúc đẩy tính nhất quán bằng cách không thể (ví dụ) thêm một hàng trong một đơn hàng bảng mã> có người dùng không tồn tại trong bảng
người dùng
.
Lưu ý rằng khóa ngoại không bắt buộc và một bảng có thể không có khóa ngoại. Ngược lại, mọi cột trong bảng có thể có ràng buộc khóa ngoại. Nơi bạn sử dụng khóa ngoại phụ thuộc vào thông tin chi tiết cụ thể của dữ liệu bạn đang lưu trữ trong cơ sở dữ liệu của mình, cách các điểm dữ liệu khác nhau liên quan đến nhau và cách bạn muốn dữ liệu của mình được xác thực khi các hàng được thêm, cập nhật hoặc xóa.
Cách sử dụng khóa chính và khóa ngoài với SQL
Giờ chúng tôi đã hiểu khóa chính và khóa ngoại là gì và cách chúng hoạt động, hãy xem nhanh cách chúng tôi có thể gán các giá trị này khi tạo bảng trong cơ sở dữ liệu của mình.
Lưu ý: chúng tôi sẽ sử dụng cú pháp SQL CockroachDB . Các hương vị khác nhau của SQL có thể tiếp cận các tác vụ này hơi khác nhau, nhưng chúng tôi sẽ gắn bó với Cockroach vì nó cung cấp cơ sở dữ liệu đám mây miễn phí , rất tuyệt vời cho bất kỳ dự án nào! p>
Để tạo bảng đơn hàng
từ cơ sở dữ liệu của chúng tôi bằng các khóa ngoại:
TẠO
BẢNG
đơn đặt hàng (
đặt hàng
_no INT CHÍNH
KEY
,
user_id INT THAM KHẢO
người dùng (user_id),
product_sku INT TÀI LIỆU THAM KHẢO
sách (product_sku),
);
Trong đoạn mã trên, chúng tôi đang đặt cột order_no
làm khóa chính, sau đó đặt các quy tắc ở dạng ràng buộc khóa ngoại cho hai cột còn lại cột:
-
user_id
cóusers.user_id
làm khóa ngoại của nó (tức là mọi giá trị trongorder.user_id
phải đã tồn tại trong người dùng. user_id
). -
product_sku
cóbooks.product_sku
làm khóa ngoại (tức là mọi giá trị trongorder.product_sku
phải đã tồn tại trongbooks. product_sku
).
Bạn có thể kiểm tra xem khóa ngoại và các ràng buộc khác đã tồn tại trong cơ sở dữ liệu CockroachDB như thế này:
HIỂN THỊ
CÁC ĐIỀU KHIỂN
TỪ
đơn đặt hàng;
Các khóa ngoại cung cấp cho chúng tôi sức mạnh để xác định mối quan hệ giữa hai hoặc nhiều bảng. Điều này thật tuyệt nhưng điều đó có nghĩa là chúng ta cần suy nghĩ kỹ về điều gì sẽ xảy ra khi một giá trị được liên kết giữa các bảng bị thay đổi hoặc bị xóa.
Ví dụ: giả sử Mohamed, một trong những khách hàng của hiệu sách của chúng tôi, đã yêu cầu chúng tôi xóa tài khoản của anh ấy và tất cả dữ liệu liên quan đến tài khoản đó. Chúng tôi có thể chạy truy vấn sau để xóa anh ta khỏi bảng người dùng
:
XÓA
TỪ
người dùng Ở ĐÂU
user_id = p>
11
;
Tuy nhiên, cách chúng tôi thiết lập bảng hiện tại sẽ chỉ xóa hàng có liên quan trong người dùng
. Hai đơn đặt hàng được liên kết với người dùng này cũng tồn tại trong bảng đơn đặt hàng
và những đơn hàng đó sẽ không tự động bị xóa; chúng ta phải nhớ làm điều đó theo cách thủ công.
Rất may, có một cách dễ dàng hơn để xử lý vấn đề này! Khi thêm khóa ngoại, chúng tôi cũng có thể đặt quy tắc về cách cơ sở dữ liệu của chúng tôi sẽ hoạt động nếu một giá trị được liên kết giữa các bảng bị thay đổi.
Ví dụ: với cơ sở dữ liệu CockroachDB, chúng tôi có thể tạo một bảng như sau:
TẠO
BẢNG
đơn đặt hàng (
đặt hàng
_no INT CHÍNH
KEY
,
user_id INT KHÔNG PHẢI
KHÔNG ĐỦ
TÀI LIỆU THAM KHẢO
người dùng (user_id) BẬT
XÓA
CASCADE
BẬT
CẬP NHẬT
CASCADE
,
product_sku INT NOT
NULL
TÀI LIỆU THAM KHẢO
sách (product_sku) BẬT
XÓA
CASCADE
BẬT
CẬP NHẬT
CASCADE
,
);
Trong đoạn mã trên, BẬT XÓA CASCADE
và BẬT CẬP NHẬT CASCADE
chỉ định rằng khi một hàng bị xóa hoặc một giá trị được cập nhật ( tương ứng) trong một bảng, thao tác tương tự phải được thực hiện trên giá trị hoặc hàng được liên kết trong các bảng khác.
Vì vậy, nếu chúng tôi tạo bảng của mình như vậy và sau đó chạy truy vấn XÓA khỏi người dùng WHERE user_id = 11;
, dữ liệu được liên kết với Mohamed (người dùng 11
) sẽ bị xóa khỏi bảng người dùng và các đơn hàng được liên kết với tài khoản của anh ấy cũng sẽ bị xóa khỏi bảng đơn hàng
.
Tương tự, chúng tôi có thể chạy truy vấn này…
CẬP NHẬT
người dùng
ĐẶT
user_id =
100
WHERE
user_id =
11
;
… và giá trị user_id của Mohamed trong người dùng
sẽ được cập nhật từ 11
thành 100
và < code> user_id giá trị liên quan đến đơn đặt hàng của anh ấy trong bảng đơn đặt hàng
cũng sẽ được cập nhật.
Tùy thuộc vào các trường hợp, chúng tôi có thể muốn cơ sở dữ liệu của mình làm điều gì đó khác đi. Ví dụ: chúng tôi cũng có thể sử dụng ON DELETE SET NULL
để đặt tất cả các cột của hàng tham chiếu thành NULL
nếu hàng trong bảng mà hàng tham chiếu bị xóa. Chúng tôi cũng có thể chỉ định rằng chúng tôi muốn cơ sở dữ liệu thực hiện KHÔNG HÀNH ĐỘNG
, mặc dù điều này không hoàn toàn cần thiết, vì đây là quy tắc mặc định mà cơ sở dữ liệu sẽ tuân theo nếu chúng tôi không chỉ định hành động khác cho nó lấy.
Toàn bộ các hành động mà chúng tôi có thể sử dụng với khóa ngoại được nêu chi tiết trong tài liệu của CockroachDB .
Tự kiểm tra: bạn đã thành thạo các khóa ngoại chưa?
Làm mới bản thân bằng cơ sở dữ liệu tưởng tượng của chúng tôi và các ràng buộc khóa ngoại mà chúng tôi đã thêm vào bảng đơn hàng
trước đó trong bài viết này ( order.user_id
tham chiếu users.user_id
và order.product_sku
tham chiếu books.product_sku
):
Bây giờ, hãy xem liệu bạn có thể trả lời những câu hỏi sau không:
Kết quả của việc chạy lệnh SQL sau là gì?
CHÈN
VÀO
đơn đặt hàng (order_no, user_id, product_sku)
GIÁ TRỊ
( 97
, 14
, 456
);
Trả lời: Điều này sẽ dẫn đến lỗi và hàng sẽ không được chèn vì giá trị user_id
14
không tồn tại trong users.user_id
.
Bảng books
có bất kỳ ràng buộc nào về khóa ngoại không?
Trả lời: Không, và trong trường hợp này, nó không cần bất kỳ. Mặc dù bảng đơn hàng
tham chiếu đến books.product_sku
, không cột nào trong bảng books
tương ứng với giá trị trong các bảng khác theo cách có thể thêm một ràng buộc khóa ngoại có lợi.
Kết quả của việc chạy lệnh SQL sau là gì?
CHÈN
VÀO
đơn đặt hàng (order_no, user_id, product_sku)
GIÁ TRỊ
( 412
, 10
, 101
);
Trả lời: Nó sẽ dẫn đến một hàng mới với các giá trị đó được thêm vào bảng order
, vì nó đáp ứng tất cả các ràng buộc mà khóa chính và khóa ngoại áp đặt trên các cột của đơn đặt hàng
:
-
412
là một giá trị duy nhất chưa tồn tại trongorder_no
và do đó hợp lệ (ràng buộc khóa chính) -
10
là ID người dùng tương ứng với người dùng hiện có trongusers.user_id
và do đó hợp lệ (ràng buộc khóa ngoại) -
101
là SKU sản phẩm tương ứng với một cuốn sách hiện có trongbooks.product_sku
và do đó hợp lệ (ràng buộc khóa ngoại)
Bắt tay vào!
Bạn muốn xây dựng một chút trải nghiệm thực tế với các khóa ngoại và thử làm việc với cơ sở dữ liệu này cho chính mình trên đám mây? Đừng lo lắng, sẽ chỉ mất vài phút!
Bước 1: đăng ký tài khoản Cockroach Cloud miễn phí và làm theo hướng dẫn tại đó để tạo một nhóm.
Bước 2: Làm theo hướng dẫn tại đây để cài đặt CockroachDB cục bộ. Nếu bạn đã cài đặt nó, bạn có thể bỏ qua bước này.
Bước 3: Tải xuống tệp .sql này , có chứa các truy vấn SQL cần thiết để tạo cơ sở dữ liệu như hình trên. Chạy lệnh sau trong thiết bị đầu cuối của bạn và dữ liệu và bảng sẽ tự động được thêm vào cơ sở dữ liệu defaultdb
của cụm của bạn.
(Lưu ý rằng bạn cần thay thế một số chi tiết trong lệnh bên dưới bằng các chi tiết cụ thể cho tài khoản Cockroach Cloud của bạn và đảm bảo rằng bạn đã chỉ định đúng thư mục cho Foreign_keys.sql
và cc-ca.crt
.)
cat Foreign_keys.sql | gián sql --url 'postgres: // tên người dùng: password@free-tier.gcp-us-central1.cockroachlabs.cloud: 26257 / defaultdb? sslmode = verify-full & amp; sslrootcert = cc-ca.crt & amp; options = - cluster = cluster-name '
Bước 4: Chạy lệnh sau trong thiết bị đầu cuối của bạn để khởi động trình bao SQL CockroachDB và kết nối với cụm chuyên dụng CockroachDB của bạn:
gián sql --url 'postgres: // tên người dùng: password@free-tier.gcp-us-central1.cockroachlabs.cloud: 26257 / defaultdb? sslmode = verify-full & amp; sslrootcert = cc-ca.crt & amp; options = - cluster = cluster-name '
Bạn đã tham gia! Hãy thoải mái chọc ngoáy. Tài liệu CockroachDB về khóa ngoại sẽ là tài liệu tham khảo hữu ích. Một số câu hỏi để bạn bắt đầu:
- Điều gì xảy ra nếu bạn cố gắng bỏ bảng
người dùng
? - Điều gì sẽ xảy ra trong
đơn đặt hàng
nếu tài khoản của người dùng bị xóa? (Gợi ý:HIỂN THỊ KẾT QUẢ TỪ đơn đặt hàng;
) - Bạn có thể thay đổi các ràng buộc khóa ngoại trong bảng đơn hàng để thực hiện một hành động khác khi một giá trị được liên kết bị xóa không?
- Bạn có thể thêm các cột mới vào các bảng này và liên kết chúng bằng khóa ngoại không?
Xem thêm những thông tin liên quan đến chủ đề chìa khóa foriegn là gì
The Fastest Way to Learn a New Language: The Video Game Map Theory
- Tác giả: Johnny Harris
- Ngày đăng: 2021-03-11
- Đánh giá: 4 ⭐ ( 2602 lượt đánh giá )
- Khớp với kết quả tìm kiếm: How video games helped me rethink language learning.
Get 50% OFF your first 6-bottle box http://bit.ly/brightcellarsjharris . Bright Cellars is the monthly wine club that matches you with wine that you’ll love. Get started by taking the taste palate quiz to see your personalized matches.Here's in-depth language learning course I mentioned: https://brighttrip.com/course/language/
My iTalki Teachers:
Margherita https://www.italki.com/teacher/7035984/?ref=FcdB0d
Federica https://www.italki.com/teacher/6511159/?ref=FcdB0dNathaniel's take on this topic : https://youtu.be/95NgtNgmnWA
- ways to support -
My Patreon: https://www.patreon.com/johnnyharris
Our custom Presets & LUTs: https://store.dftba.com/products/johnny-iz-luts-and-presets- where to find me -
Instagram: https://www.instagram.com/johnny.harris/
Tiktok: https://www.tiktok.com/@johnny.harris
Facebook: https://www.facebook.com/JohnnyHarrisVox
Iz's (my wife’s) channel: https://www.youtube.com/iz-harris- how i make my videos -
Tom Fox makes my music, work with him here: https://tfbeats.com/
I make maps using this AE Plugin: https://aescripts.com/geolayers/?aff=77
All the gear I use: https://www.izharris.com/gear-guide- my courses -
Learn a language: https://brighttrip.com/course/language/
Visual storytelling: https://www.brighttrip.com/courses/visual-storytelling- about -
Johnny Harris is a filmmaker and journalist. He currently is based in Washington, DC, reporting on interesting trends and stories domestically and around the globe. Johnny's visual style blends motion graphics with cinematic videography to create content that explains complex issues in relatable ways. He holds a BA in international relations from Brigham Young University and an MA in international peace and conflict resolution from American University.- press -
NYTimes: https://www.nytimes.com/2021/11/09/opinion/democrats-blue-states-legislation.html
NYTimes: https://www.nytimes.com/video/opinion/100000007358968/covid-pandemic-us-response.html
Vox Borders: https://www.youtube.com/watch?v=hLrFyjGZ9NU
Finding Founders: https://findingfounders.co/episodes/johnny-harris-2esj3-c3pet-2pg4c-xbtwa-5gaaa
NPR Planet Money: https://www.npr.org/transcripts/1072164745
Hợp đồng chìa khóa trao tay là gì?
- Tác giả: nganhangphapluat.lawnet.vn
- Đánh giá: 4 ⭐ ( 1899 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Qua tìm hiểu thì tôi biết hợp đồng xây dựng có khá nhiểu loại, dựa trên nhưng cơ sở khác nhau, theo đó tôi có nghe nói đến hợp đồng chìa khóa trao tay, nhưng không biết gì về nó nên Ban tư vấn vui lòng cho tôi biết: Hợp đồng chìa khóa trao tay là gì? Rất mong nhận được phản hồi.(***@gmail.com)
Chìa Khóa Hiss Là Gì ? Chia Sẻ Với Các Bác Một
- Tác giả: snnphutho.vn
- Đánh giá: 4 ⭐ ( 6662 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Làm chìa khoá HISS sử dụng máy móc công nghệ nhập khẩu, Vậy chìa khóa hiss là gì, có làm lại được không?Các công đoạn làm chìa hiss như thế nào? Trong bài viết này Sửa khóa MINH ANH sẽ giải thích các vấn đề về chìa khóa hiss trong giới hạn hiểu mình của mình cho các bạn
Chìa khóa trao tay là gì
- Tác giả: anhhung.mobi
- Đánh giá: 5 ⭐ ( 7148 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Khái niệm XÂY NHÀ CHÌA KHOÁ TRAO TAY và những lợi ích không ngờ của phương pháp xây nhà nàyCuộc sống hiện đại đi kèm với nhiều áp lực, khiến cho mọi người bị cuốn vào guồng quay công việc, không có nhiều thời gian để lo toan cho những vấn đề xung quanh cuộc sống của mình, Hiểu được những bận tâm đó, gói thầu xây nhà chìa khóa trao tay ra đời để giúp họ bớt đi những gánh nặng khi xây nhà
Master key là gì? Master key thường dùng trong trường hợp nào?
- Tác giả: work247.vn
- Đánh giá: 4 ⭐ ( 1629 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Khái niệm master key là gì? Có những loại master key nào, cơ chế hoạt động của master key có đặc điểm gì? Nên sử dụng master key vào những trường hợp nào?
Từ điển Thành ngữ Tiếng Việt
- Tác giả: tudienso.com
- Đánh giá: 4 ⭐ ( 8527 lượt đánh giá )
- Khớp với kết quả tìm kiếm: tay hòm chìa khoá trong Thành ngữ Tiếng Việt là gì? Định nghĩa, khái niệm, giải thích ý nghĩa câu tay hòm chìa khoá trong văn hóa Việt Nam. Hiểu thêm ca dao, tục ngữ, thành ngữ Việt Nam.
"Chìa khóa trao tay" là gì?
- Tác giả: www.xaydungnamphong.com.vn
- Đánh giá: 3 ⭐ ( 6431 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Công Ty TNHH Kỹ Thuật Nam Phong địa chỉ 326 Độc Lập, Phường Tân Quý, Quận Tân phú, TP Hồ Chí Minh. Hotline: 0917 81 82 80
Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình