<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Khóa ngoại Foreign Key trong SQL Server</title>
<meta name="description" content="Khóa ngoại Foreign Key trong SQL Server - Savefile - Tin Tức -...">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Khóa ngoại Foreign Key trong SQL Server">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;khoa-ngoai-foreign-key-trong-sql-server-10620.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/khoa-ngoai-foreign-key-trong-sql-server-10620.html">
<link rel="shortcut icon" href="https://nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/khoa-ngoai-foreign-key-trong-sql-server-10620.html">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://nguoicodonvn2008.info/">https://nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Khóa ngoại Foreign Key trong SQL Server</h1>
		<ul class="list-inline">
			<li>Thứ bảy - 21/06/2025 23:20</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Khóa ngoại Foreign Key trong SQL Server" src="https://st.quantrimang.com/photos/image/2019/05/10/foreign-key-sql-server.png" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;"><strong>Khóa ngoại trong SQL Server</strong>&nbsp;là khái niệm mà bất kỳ lập trình viên nào cũng cần biết. Ở bài viết này, hãy cùng Quantrimang.com tìm hiểu&nbsp;<strong>những điều cần biết về khóa ngoại SQL Server</strong>&nbsp;nhé!</p>

<p style="text-align: justify;"><img alt="Khóa ngoại trong SQL" data-i="0" data-src="https://st.quantrimang.com/photos/image/2019/05/10/foreign-key-sql-server.png" data-was-processed="true" height="335" src="https://st.quantrimang.com/photos/image/2019/05/10/foreign-key-sql-server.png" width="640" /></p>

<p style="text-align: justify;">Khóa ngoại cho phép admin quản lý cơ sở dữ liệu dễ dàng xác định những kết nối khác nhau tồn tại trong một hệ thống quản lý database.</p>

<p style="text-align: justify;">SQL thực hiện các phép tính toán dữ liệu trong một hệ thống quản lý cơ sở dữ liệu. Những database chứa các bảng khác nhau. Chúng lưu dữ liệu trên một đối tượng cụ thể. Ví dụ, nếu có cơ sở dữ liệu về thuê xe ô tô, một đối tượng (hay bảng) trong database sẽ là khách hàng. Những database chứa các liên kết bảng, mỗi hàng chứa một bản ghi và từng cột chứa dữ liệu thuộc tính nhất định.</p>

<p style="text-align: justify;">Trong hệ thống quản lý database, mỗi bản ghi (hoặc hàng) đều phải là duy nhất.</p>

<h2 style="text-align: justify;">Các khóa chính</h2>

<p style="text-align: justify;">Mặc dù quy định là mỗi bản ghi trong một bảng phải khác biệt, nhưng điều này không phải lúc nào cũng đúng. Tiếp tục với ví dụ về cơ sở dữ liệu cho thuê ô tô, nếu cơ sở dữ liệu chứa hai khách hàng có tên là “John Brown”, thì John Brown có thể sẽ trả lại một chiếc Mercedes-Benz mà anh ta không thuê.</p>

<p style="text-align: justify;">Tạo các khóa chính sẽ giảm thiểu rủi ro này. Trong hệ thống quản lý database SQL, một khóa chính là định danh duy nhất phân biệt một bản ghi này với bản ghi khác.</p>

<p style="text-align: justify;">Vì thế, mỗi bản ghi trong hệ thống quản lý database SQL đều cần có một khóa chính.</p>

<h3 style="text-align: justify;">Dùng khóa chính trong database</h3>

<p style="text-align: justify;">Để bao gồm các khóa chính trong hệ thống quản lý database bằng SQL, bạn có thể chỉ cần thêm nó như một thuộc tính bình thường khi tạo bảng mới. Về cơ bản, bảng của khách hàng sẽ chứa 4 thuộc tính (hay cột):</p>

<ul>
	<li style="text-align: justify;">ID chủ sở hữu xe (sẽ chứa khóa chính)</li>
	<li style="text-align: justify;">Tên gọi</li>
	<li style="text-align: justify;">Tên họ</li>
	<li style="text-align: justify;">Số điện thoại</li>
</ul>

<p style="text-align: justify;">Code mẫu:</p>

<pre id="pre0" style="text-align: justify;">
/* tạo bảng ghi mới trong bảng khách hàng */
INSERT INTO Customers VALUES
(&#039;0004&#039;,
&#039;John&#039;,
&#039;Brown&#039;,
&#039;111-999-5555&#039;);</pre>

<h2 style="text-align: justify;">Tại sao dùng khóa ngoại trong SQL?</h2>

<h3 style="text-align: justify;">Để bình thường hóa dữ liệu</h3>

<p style="text-align: justify;">Khóa ngoại giúp lập trình viên bình thường hóa dữ liệu trong nhiều bảng và giảm dư thừa. Điều đó có nghĩa một database có thể có nhiều bảng liên quan với nhau.</p>

<h3 style="text-align: justify;">Tránh sai dữ liệu khi chèn</h3>

<p style="text-align: justify;">Nếu hai bảng cơ sở dữ liệu có liên quan với nhau qua một trường (thuộc tính), dùng khóa ngoại đảm bảo dữ liệu sai không được chèn vào trường đó. Điều này giúp loại bỏ lỗi ở cấp database.</p>

<h3 style="text-align: justify;">Khóa ngoại trong SQL Server là gì?</h3>

<p style="text-align: justify;">Khóa ngoại được dùng để tăng tính tham chiếu trong cơ sở dữ liệu SQL Server. Khóa ngoại nghĩa là giá trị trong bảng này phải xuất hiện trong bảng khác.</p>

<p style="text-align: justify;">Bảng tham chiếu gọi là bảng mẹ, còn bảng chứa khóa ngoại gọi là bảng con. Khóa ngoại trong bảng con thường tham chiếu tới khóa chính&nbsp;PRIMARY KEY&nbsp;trong bảng mẹ.</p>

<p style="text-align: justify;">Khóa ngoại có thể được tạo bằng lệnh&nbsp;CREATE TABLE&nbsp;hoặc lệnh&nbsp;ALTER TABLE.</p>

<h3 style="text-align: justify;">Tạo khóa ngoại bằng lệnh CREATE TABLE</h3>

<p style="text-align: justify;"><strong>Cú pháp</strong></p>

<pre id="pre1" style="text-align: justify;">
CREATE TABLE bang_con
(
 cot1 kieudulieu &#91; NULL | NOT NULL &#93;,
 cot2 kieudulieu &#91; NULL | NOT NULL &#93;,
 …

 CONSTRAINT fk_ten
  FOREIGN KEY (cot_con1, cot_con2, … cot_con_n)
  REFERENCES bang_me (cot_me1, cot_me2, … cot_me_n)
  &#91; ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } &#93;
  &#91; ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } &#93;
);</pre>

<p style="text-align: justify;"><strong>bang_con</strong></p>

<p style="text-align: justify;">Tên của bảng con muốn tạo.</p>

<p style="text-align: justify;"><strong>cot1, cot2</strong></p>

<p style="text-align: justify;">Cột muốn tạo trong bảng. Mỗi cột có 1 loại dữ liệu, phải được chỉ định là chứa giá trị NULL hay NOT NULL, nếu không sẽ mặc định là NULL.</p>

<div style="text-align: justify;">&nbsp;</div>

<p style="text-align: justify;"><strong>fk_ten</strong></p>

<p style="text-align: justify;">Tên của ràng buộc khóa ngoại muốn tạo.</p>

<p style="text-align: justify;"><strong>cot_con1, cot_con2, … cot_con_n</strong></p>

<p style="text-align: justify;">Cột trong bang_con muốn tham chiếu tới khóa chính trong bang_me.</p>

<p style="text-align: justify;"><strong>bang_me</strong></p>

<p style="text-align: justify;">Tên của bảng mẹ chứa khóa chính được dùng trong bang_con.</p>

<p style="text-align: justify;"><strong>cot_me1, cot_me2, … cot_me_n</strong></p>

<p style="text-align: justify;">Cột tạo nên khóa chính trong bang_me. Khóa ngoại sẽ tạo ràng buộc giữa dữ liệu và các cột cot_con1, cot_con2, … cot_con_n trong bang_con.</p>

<p style="text-align: justify;"><strong>ON DELETE</strong></p>

<p style="text-align: justify;">Tùy chọn. Cho biết sẽ làm gì với dữ liệu con khi dữ liệu mẹ bị xóa. Có các lựa chọn NO ACTION, CASCADE, SET NULL và SET DEFAULT.</p>

<p style="text-align: justify;"><strong>ON UPDATE</strong></p>

<p style="text-align: justify;">Tùy chọn. Cho biết sẽ làm gì với dữ liệu con khi dữ liệu mẹ được cập nhật. Có các lựa chọn NO ACTION, CASCADE, SET NULL và SET DEFAULT.</p>

<p style="text-align: justify;"><strong>NO ACTION</strong></p>

<p style="text-align: justify;">Dùng với ON DELETE hoặc ON UPDATE, nghĩa là không làm gì với dữ liệu con khi dữ liệu mẹ bị xóa hoặc cập nhật.</p>

<p style="text-align: justify;"><strong>CASCADE</strong></p>

<p style="text-align: justify;">Dùng với ON DELETE hoặc ON UPDATE, nghĩa là dữ liệu con bị xóa hoặc cập nhật khi dữ liệu mẹ bị xóa hoặc cập nhật.</p>

<p style="text-align: justify;"><strong>SET NULL</strong></p>

<p style="text-align: justify;">Dùng với ON DELETE hoặc ON UPDATE, nghĩa là dữ liệu con được đặt là NULL khi dữ liệu mẹ bị xóa hoặc cập nhật.</p>

<p style="text-align: justify;"><strong>SET DEFAULT</strong></p>

<p style="text-align: justify;">Dùng với ON DELETE hoặc ON UPDATE, nghĩa là dữ liệu con được đặt thành giá trị mặc định khi dữ liệu mẹ bị xóa hoặc cập nhật.</p>

<div style="text-align: justify;">&nbsp;</div>

<p style="text-align: justify;"><strong>Ví dụ</strong></p>

<pre id="pre2" style="text-align: justify;">
CREATE TABLE sanpham
(id_sanpham INT PRIMARY KEY,
ten_sanpham VARCHAR(50) NOT NULL,
 phan_loai VARCHAR(25)
);

CREATE TABLE hangtonkho
( id_hangtonkho INT PRIMARY KEY,
  id_sanpham INT NOT NULL,
  soluong INT,
  luong_toithieu INT,
  luong_toida INT,
  CONSTRAINT fk_htk_id_sanpham
  FOREIGN KEY (id_sanpham)
  REFERENCES sanpham (id_sanpham)
);</pre>

<p style="text-align: justify;">Trong ví dụ trên, chúng ta tạo bảng mẹ là bảng sanpham có khóa chính gồm các trường trong id_sanpham. Tiếp theo là tạo bảng con hangtonkho.</p>

<p style="text-align: justify;">Lệnh CREATE TABLE được dùng để tạo khóa ngoại của bảng hangtonkho có tên là fk_htk_id_sanpham. Khóa ngoại hình thành mối liên kết giữa cột id_sanpham trong bảng hangtonkho và id_sanpham trong bảng sanpham.</p>

<p style="text-align: justify;">Ví dụ trên cho thấy cách tạo khóa ngoại gồm 1 cột. Giờ hãy tạo khóa ngoại có nhiều hơn 1 trường thông tin.</p>

<p style="text-align: justify;"><strong>Ví dụ</strong></p>

<pre id="pre3" style="text-align: justify;">
CREATE TABLE sanpham
( ten_sanpham VARCHAR(50) NOT NULL,
  diadiem VARCHAR(50) NOT NULL,
  phanloai VARCHAR(25)
  CONSTRAINT sanpham_pk PRIMARY KEY (ten_sanpham, diadiem)
);</pre>

<pre id="pre4" style="text-align: justify;">
CREATE TABLE hangtonkho
( id_hangtonkho INT PRIMARY KEY,
  ten_sanpham VARCHAR(50) NOT NULL,
  diadiem VARCHAR(50) NOT NULL,
  soluong INT,
  luong_toithieu INT,
  luong_toida INT,
  CONSTRAINT fk_htk_sanpham
  FOREIGN KEY (ten_sanpham, diadiem)
  REFERENCES sanpham (ten_sanpham, diadiem)
);</pre>

<p style="text-align: justify;">Ở ví dụ này, bảng mẹ sanpham có khóa chính gồm 2 cột là ten_sanpham và diadiem. Bảng con và khóa ngoại phải tham chiếu tới 2 cột này.</p>

<h3 style="text-align: justify;">Tạo khóa ngoại bằng lệnh ALTER TABLE</h3>

<p style="text-align: justify;"><strong>Cú pháp</strong></p>

<pre id="pre5" style="text-align: justify;">
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);</pre>

<p style="text-align: justify;"><strong>bang_con</strong></p>

<p style="text-align: justify;">Tên của bảng con muốn tạo.</p>

<p style="text-align: justify;"><strong>fk_ten</strong></p>

<p style="text-align: justify;">Tên của ràng buộc khóa ngoại muốn tạo.</p>

<p style="text-align: justify;"><strong>cot_con1, cot_con2, … cot_con_n</strong></p>

<p style="text-align: justify;">Cột trong bang_con muốn tham chiếu tới khóa chính trong bang_me.</p>

<p style="text-align: justify;"><strong>bang_me</strong></p>

<p style="text-align: justify;">Tên của bảng mẹ chứa khóa chính được dùng trong bang_con.</p>

<p style="text-align: justify;"><strong>cot_me1, cot_me2, … cot_me_n</strong></p>

<p style="text-align: justify;">Cột tạo nên khóa chính trong bang_me. Khóa ngoại sẽ tạo ràng buộc giữa dữ liệu và các cột cot_con1, cot_con2, … cot_con_n trong bang_con.</p>

<p style="text-align: justify;"><strong>Ví dụ</strong></p>

<pre id="pre6" style="text-align: justify;">
ALTER TABLE hangtonkho
ADD CONSTRAINT fk_htk_id_sanpham
 FOREIGN KEY (id_sanpham)
 REFERENCES sanpham (id_sanpham);</pre>

<p style="text-align: justify;">Ví dụ này tạo khóa ngoại trong bảng hangtonkho gọi là fk_htk_id_sanpham, tham chiếu tới bảng sanpham dựa trên cột id_sanpham.</p>

<p style="text-align: justify;">Có thể tạo khóa ngoại với nhiều hơn 1 trường như ví dụ dưới đây.</p>

<pre id="pre7" style="text-align: justify;">
ALTER TABLE hangtonkho
ADD CONSTRAINT fk_htk_sanpham
 FOREIGN KEY (ten_sanpham, diadiem)
 REFERENCES sanpham (ten_sanpham, diadiem);</pre>

<p style="text-align: justify;">Ví dụ trên tạo khóa ngoại có tên fk_htk_sanpham cho bảng hangtonkho, tham chiếu tới bảng sanpham dựa trên cột ten_sanpham và diadiem.</p>

<h2 style="text-align: justify;">Những hạn chế và giới hạn khi tạo mối quan hệ khóa ngoại</h2>

<ul>
	<li style="text-align: justify;">Ràng buộc khóa ngoại không phải chỉ được liên kết với một ràng buộc khóa chính trong bảng khác. Khóa ngoại cũng có thể được xác định để tham chiếu các cột của một ràng buộc UNIQUE trong bảng khác.</li>
	<li style="text-align: justify;">Khi một giá trị ngoài NULL được nhập vào cột ràng buộc khóa ngoại, giá trị phải tồn tại trong cột được tham chiếu. Nếu không, một thông báo lỗi vi phạm khóa ngoại sẽ được trả về. Để đảm bảo rằng tất cả giá trị của ràng buộc khóa ngoại thành phần đã được xác minh, chỉ định NOT NULL trên tất cả cột tham gia.</li>
	<li style="text-align: justify;">Ràng buộc khóa ngoại có thể chỉ tham chiếu các bảng trong cùng database trên cùng server.</li>
	<li style="text-align: justify;">Ràng buộc khóa ngoại có thể tham chiếu tới cột khác trong cùng bảng, và được tham chiếu dưới dạng tự tham chiếu.</li>
	<li style="text-align: justify;">Ràng buộc khóa ngoại ở cấp độ cột có thể liệt kê chỉ một cột tham chiếu. Cột này phải có cùng kiểu dữ liệu trên cột ràng buộc được xác định.</li>
	<li style="text-align: justify;">Một ràng buộc khóa ngoại đã được chỉ định ở cấp độ bảng phải có cùng số cột tham chiếu vì số cột nằm trong danh sách cột ràng buộc. Kiểu dữ liệu của từng tham chiếu cũng phải giống với cột tương ứng trong danh sách cột.</li>
</ul>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com:
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/khoa-ngoai-foreign-key-trong-sql-server-10620.html" title="Khóa ngoại Foreign Key trong SQL Server">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/khoa-ngoai-foreign-key-trong-sql-server-10620.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<script src="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://nguoicodonvn2008.info",
            "logo": "https://nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>