Chuyên trang chia sẻ nghề Data Analyst
  • Trang chủ
  • SQL
  • Power BI
  • Tableau
  • Python
  • Kĩ năng data
  • Khóa học data
    • Khóa Practical SQL – Làm chủ kho dữ liệu với SQL
    • Khóa DA Fullstack – Chinh phục mục tiêu pass job DA
    • Khóa Practical Data Analyst – Trở thành người làm báo cáo giỏi nhất
    • Khóa Import & Cleaning Data – Tự động thu thập và chuẩn hóa dữ liệu không cần code
    • Khóa Python 4 Data – Thu thập và khai phá dữ liệu với Python
  • Sự kiện data
SQL

Khóa ngoại trong sql

Bởi Kiên Smart Data 02/10/2022
Được viết bởi Kiên Smart Data 02/10/2022 0 Nhận xét
Khóa ngoại trong SQL

Mục lục

  1. Khóa ngoại là gì?
  2. Tạo khóa ngoại trong SQL trong khi tạo bảng
  3. Tạo khóa ngoại trong SQL khi bảng đã được tạo trước
  4. Xóa khóa ngoại

Khóa ngoại trong sql thực chất là một con trỏ có chức năng trỏ tới khóa chính của bảng khác nhằm tạo ra các quan hệ liên kết ràng buộc giữa các bảng.

Khóa ngoại là gì?

Khóa ngoại thực chất là một trường hoặc một tập hợp các trường trong một bảng, tham chiếu tới khóa chính (PRIMARY KEY) của bảng khác. Để dễ hình dùng hơn bạn có hãy xem xét ví dụ phía dưới:

Giả sử ta có một bảng EMPLOYEE lưu trữ thông tin nhân viên như sau:

+----+----------+-----------+-----------+ | ID | NAME | SALARY | MONTH | +----+----------+-----------+-----------+ | 1 | kien | 1000 | 1 | | 2 | ngoc | 2000 | 1 | | 3 | nghia | 3000 | 1 | | 4 | trang | 1000 | 2 | | 5 | ngoc | 1000 | 2 | +----+----------+-----------+-----------+

Bảng này có khóa chính là trường ID

Và một bảng EMPLOYEE_ADDRESS lưu trữ thông tin địa chỉ của nhân viên

+----+----------+-----------+-----------+ | ID | ADDRESS1 | ADDRESS2 |EMPLOYEE_ID| +----+----------+-----------+-----------+ | 1 | Ha noi | Ha noi 1 | 1 | | 1 | Ha noi | Ha noi 2 | 2 | | 1 | Ha noi | Ha noi 3 | 3 | | 1 | Ha noi | Ha noi 4 | 4 | | 1 | Ha noi | Ha noi 5 | 5 | | 1 | Ha noi | Ha noi 6 | 6 | +----+----------+-----------+-----------+

Bảng EMPLOYEE_ADDRESS này có khóa chính là trường ID và có khóa ngoại là trường EMPLOYEE_ID, khóa ngoại này tham chiếu đến khóa chính ID của bảng

Như vậy, ta hoàn toàn có thể biết được thông tin danh sách địa chỉ của nhân viên có tên X bất kì nào đó thông qua việc tìm ra ID của nhân viên ở bảng EMPLOYEE và từ ID đó tìm ra địa chỉ thông qua EMPLOYEE_ID trong bảng EMPLOYEE_ADDRESS

Tạo khóa ngoại trong SQL trong khi tạo bảng

Trong MYSQL:

CREATE TABLE EMPLOYEE_ADDRESS ( ID int NOT NULL, ADDRESS1 varchar NOT NULL, ADDRESS2 varchar NOT NULL, PRIMARY KEY (ID), FOREIGN KEY (EMPLOYEE_ID) REFERENCES EMPLOYEE(ID) ); 

Trong SQL Server / Oracle:

CREATE TABLE EMPLOYEE_ADDRESS ( ID int NOT NULL PRIMARY KEY, ADDRESS1 varchar NOT NULL, ADDRESS2 varchar NOT NULL, EMPLOYEE_ID int FOREIGN KEY REFERENCES EMPLOYEE(ID) ); 

Tạo khóa ngoại trong SQL khi bảng đã được tạo trước

Để tạo khóa ngoại khi các bảng đã được tạo sẵn, ta dùng cú pháp như sau, áp dụng cho MYSQL / SQL Server / Oracle

ALTER TABLE EMPLOYEE_ADDRESS ADD CONSTRAINT FK_EMPLOYEE_ID ADD FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID) 

Xóa khóa ngoại

Trong MYSQL

ALTER TABLE EMPLOYEE_ADDRESS DROP FOREIGN KEY FK_EMPLOYEE_ID;

Trong SQL Server / ORACLE

ALTER TABLE EMPLOYEE_ADDRESS DROP CONSTRAINT FK_EMPLOYEE_ID; 

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa:

  • Fanpage
  • Youtube
  • Trang chủ
  • Cộng động Data Analyst
Khóa học SQL cho Data Analyst
sqlsql cơ bản
Chia sẻ
0
Facebook
Kiên Smart Data

Hiện mình đang là một kỹ sư công nghệ thông tin. Phương châm sống rất đơn giản "Luôn mong muốn chia sẻ và lan tỏa những giá trị tốt đẹp nhất đến những người xung quanh."

Bài viết trước
Top 5 câu lệnh truy vấn SQL cơ bản
Bài viết kế tiếp
Bài 1 – Giới thiệu ngôn ngữ lập trình python

Bài viết liên quan

Tổng quan về cơ sở dữ liệu SQL...

28/11/2023

Hướng dẫn thi chứng chỉ Google Data Analytics...

24/11/2023

Cơ sở dữ liệu mẫu cho Data Analyst

12/08/2023

Window Functions trong SQL (phần 3)

10/08/2023

Window Functions trong SQL (phần 2)

10/08/2023

Window Functions trong SQL (phần 1)

10/08/2023

Giới thiệu về Window Functions trong SQL

10/08/2023

SQL cho Data Analyst

01/08/2023

Hàm SECOND trong MySQL

31/07/2023

Hàm HOUR trong MySQL

31/07/2023

Để lại nhận xét Hủy bỏ phản hồi

Lưu lại thông tin cho lần nhận xét kế tiếp

Smart Data
  • Trang chủ
  • SQL
  • Power BI
  • Tableau
  • Python
  • Kĩ năng data
  • Khóa học data
    • Khóa Practical SQL – Làm chủ kho dữ liệu với SQL
    • Khóa DA Fullstack – Chinh phục mục tiêu pass job DA
    • Khóa Practical Data Analyst – Trở thành người làm báo cáo giỏi nhất
    • Khóa Import & Cleaning Data – Tự động thu thập và chuẩn hóa dữ liệu không cần code
    • Khóa Python 4 Data – Thu thập và khai phá dữ liệu với Python
  • Sự kiện data

Copyright @2022 – Bản quyền thuộc Học viện dữ lệu Smart Data

fapjunk.com kurtköy escort anadolu escort mecidiyeköy escort fethiye escort
Facebook Youtube Instagram
Chuyên trang chia sẻ nghề Data Analyst
  • Trang chủ
  • SQL
  • Power BI
  • Tableau
  • Python
  • Kĩ năng data
  • Khóa học data
    • Khóa Practical SQL – Làm chủ kho dữ liệu với SQL
    • Khóa DA Fullstack – Chinh phục mục tiêu pass job DA
    • Khóa Practical Data Analyst – Trở thành người làm báo cáo giỏi nhất
    • Khóa Import & Cleaning Data – Tự động thu thập và chuẩn hóa dữ liệu không cần code
    • Khóa Python 4 Data – Thu thập và khai phá dữ liệu với Python
  • Sự kiện data
  • Gọi điện ngayGọi điện
  • ZaloZalo
  • MessengerMessenger