• Kiến thức
  • Kỹ năng
  • Nghề nghiệp
  • Công cụ hỗ trợ
  • Luật doanh nghiệp

Video

Business Analysis

Đăng ký nhận tin

 

Ý kiến học viên

  • Nguyễn Thị Mai Bình

    Business Analyst
    Với một người ngoại đạo như mình thì những chuyên đề về "kỹ thuật" của BA hết sức quan trọng. Ví dụ như sử dụng các diagram để mô hình hóa requirement, viết User Story/Use case, v...v..
     
    Đến với khóa học Fundamental Business Analysis, mình đã được gặp thầy Lộc, một người người rất nhiệt tình và có tâm. Ngoài việc chia sẻ các kinh nghiệm thực tế trên lớp thì thầy còn dành thời gian ra để tư vấn, hỗ trợ, góp ý CV cho mình. Bên cạnh đó trung tâm và anh Phụng cũng hỗ trợ gửi CV, kết nối học viên tới mạng lưới các công ty đối tác chất lượng, điều này giúp học viên như mình tìm được công việc phù hợp nhất. Cảm ơn BAC.
    Xem chi tiết +
  • Phạm Quế

    Business Analyst

    Khoá học Product Design của BAC đã cung cấp cho tôi nhiều kiến thức và nền tảng vô cùng hữu ích. Giảng viên giảng dạy rất nhiệt tình, truyền cho chúng tôi ngọn lửa đam mê và nhiệt huyết trong ngành. Đồng thời chia sẻ các kiến thức và kỹ năng cần thiết trong bài giảng một cách dễ hiểu hơn. Số lượng học viên không quá nhiều nên chất lượng giảng giạy vô cùng tốt. Giảng viên sửa bài tập 1-1 nên bài giảng sẽ chuyên sâu hơn.

    Xem chi tiết +
  • Nguyễn Văn Long

    Chuyên viên về chế độ kế toán & Giải pháp nghiệp vụ Tài chính kế toán trong ứng dụng CNTT - Tập đoàn Điện lực Việt Nam (EVN)

    Tôi đã tham gia khóa Phân tích nghiệp vụ phần mềm cơ bản 3.0 tại BAC. Ở đây, tài liệu đào tạo cung cấp nhiều nội dung bổ ích và trình bày dễ hiểu. Giảng viên rất nhiệt tình, ngoài nội dung giảng dạy theo giáo trình còn chia sẻ nhiều kinh nghiệm thực tiễn, các câu hỏi của học viên đều được giải đáp ngay trên lớp và có minh họa từ các dự án trong thực tế. Sau tất cả, tôi cảm ơn BAC và Thầy giáo Thái Sơn.

    Xem chi tiết +
BAC TRAINING & CONSULTANCY VN BAC TRAINING & CONSULTANCY VN BAC TRAINING & CONSULTANCY VN
Language  
Điện thoại tư vấn0909 310 768
Facebook Youtube Linkedin

Jul 30, 2021

Cách sử dụng ràng buộc FOREIGN KEY trong SQL

FOREIGN KEY còn gọi là khóa ngoại, cũng là một trong những ràng buộc của SQL. Nếu so sánh với khóa chính (PRIMARY KEY) thì khóa ngoại cũng đóng một vai trò quan trọng không kém. Bài viết này sẽ giúp làm rõ các vấn đề liên quan đến FOREIGN KEY.

Tham khảo: Cách sử dụng PRIMARY KEY trong SQL

1. Ràng buộc FOREIGN KEY trong SQL

Ràng buộc FOREIGN KEY hay khóa ngoại được sử dụng để ngăn các hành động sẽ làm hủy bỏ liên kết giữa các bảng.

Một FOREIGN KEY là một trường (hoặc tập hợp các trường) trong một bảng, đề cập đến PRIMARY KEY trong một bảng khác.

Một bảng với khóa ngoại được gọi là bảng con và bảng với khóa chính được gọi là bảng cha hay bảng tham chiếu.

Để dễ hình dung, bạn hãy nhìn vào ví dụ dưới đây:

Chú ý đến cột PersonID của bảng Orders, bạn sẽ thấy cột này trỏ đến cột PersonID của bảng Persons.

Cột PersonID trong bảng Persons là PRIMARY KEY trong bảng Persons.

Cột PersonID trong bảng Orders là FOREIGN KEY trong bảng Orders.

Ràng buộc FOREIGN KEY ngăn các dữ liệu không hợp lệ được chèn vào cột khóa ngoại, bởi vì nó phải là một trong những giá trị có trong bảng cha.

2. Tạo ràng buộc FOREIGN KEY

Có hai cách để tạo ràng buộc trong SQL, cách thứ nhất là thêm ràng buộc khi tạo bảng bằng câu lệnh CREATE TABLE. Cách thứ hai để tạo ràng buộc là sử dụng câu lệnh ALTER TABLE, cách này thường dùng để chỉnh sửa ràng buộc có sẵn hoặc thêm mới.

Tham khảo: Cách sử dụng câu lệnh ALTER TABLE trong SQL

Để thực hiện các ví dụ này, bạn cần nhập cơ sở dữ liệu mẫu Northwind vào SQL Server Management Studio. Hãy xem bài viết hướng dẫn ngay dưới đây:

Tham khảo: Hướng dẫn tải và cài đặt dữ liệu mẫu Northwind trong SQL Server Management Studio

  • Sử dụng CREATE TABLE

Đầu tiên, bạn cần tạo một bảng Persons có ràng buộc PRIMARY KEY trên cột PersonID bằng cú pháp sau:

CREATE TABLE Persons (

    PersonID int NOT NULL PRIMARY KEY,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Age int

);

Tiếp theo, dùng câu lệnh SQL dưới đây để tạo ra một FOREIGN KEY trên cột “PersonID” khi tạo bảng “OrderTest”:

CREATE TABLE OrderTest (

    OrderID int NOT NULL PRIMARY KEY,

    OrderNumber int NOT NULL,

    PersonID int FOREIGN KEY REFERENCES Persons(PersonID)

);

Lưu ý: Nếu bạn sử dụng cơ sở dữ liệu mẫu Northwind, đã có một bảng tên là Orders, nên bạn không thể tạo thêm bảng cùng tên. Bạn có thể đặt một tên khác cho bảng như ví dụ trên là OrderTest.

Ngoài ra, bạn cũng có thể đặt tên cho FOREIGN KEY và xác định nó trên nhiều cột bằng câu lệnh như sau:

CREATE TABLE OrderTest (

    OrderID int NOT NULL,

    OrderNumber int NOT NULL,

    PersonID int,

    PRIMARY KEY (OrderID),

    CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)

    REFERENCES Persons(PersonID)

);

Sau khi đã tạo bảng, bạn không thể tạo một bảng trùng tên. Vì vậy, hãy xóa bảng Persons đã tạo trên, trước khi tiếp tục thực hiện các ví dụ dưới đây. Đối với các ví dụ thêm ràng buộc bằng câu lệnh ALTER TABLE, bạn hãy tạo bảng không chứa ràng buộc PRIMARY KEY.

  • Sử dụng ALTER TABLE

Để tạo một ràng buộc FOREIGN KEY trên cột “PersonID” khi bảng đã tạo trước đó và chưa có ràng buộc, hãy dùng câu lệnh sau:

ALTER TABLE OrderTest

ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

Nếu bạn muốn đặt tên cho một ràng buộc FOREIGN KEY và xác định một ràng buộc trên nhiều cột, hãy dùng cú pháp sau:

ALTER TABLE OrderTest

ADD CONSTRAINT FK_PersonOrder

FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

Nếu bạn đang dùng cơ sở dữ liệu Northwind, hệ thống có thể báo lỗi trùng tên, hãy đổi tên FK_PersonOrder thành một cái tên khác.

3. Xóa một ràng buộc FOREIGN KEY

Để xóa một ràng buộc FOREIGN KEY trong SQL, hãy dùng cú pháp sau:

ALTER TABLE OrdersTest

DROP CONSTRAINT FK_PersonOrder;

Lưu ý: Bạn cần nhập đúng tên bảng chứa ràng buộc và tên của ràng buộc khi tiến hành xóa.

Trên đây là những thông tin cơ bản mà bạn cần biết về khóa ngoại hay FOREIGN KEY. Trong các bài viết tiếp theo chúng ta sẽ tiếp tục với những kiến thức hữu ích khác về SQL nói riêng và dữ liệu nói chung, đừng quên đón đọc tại BAC's Blog.

Nguồn tham khảo:

https://www.w3schools.com/

Nhu cầu đào tạo doanh nghiệp

BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.

Tham khảo chương trình đào tạo: 
  • Phân tích và trực quan hóa dữ liệu với Tableau
  • Phân tích và trực quan hóa dữ liệu với Power BI

Các bài viết liên quan SQL: 

  • 50 Câu hỏi phỏng vấn về SQL thường gặp
  • Các câu hỏi phỏng vấn SQL phổ biến dành cho Business Analyst

Các bài viết liên quan Power BI: 

  • Power BI là gì?
  • Chỉnh sửa và định hình dữ liệu trong Power BI Desktop
  • Kết hợp dữ liệu trong Power BI Desktop
  • Hướng dẫn kết nối dữ liệu trong Power BI Desktop
  • Hướng dẫn tải & cài đặt Power BI trên máy tính
  • Khóa học Phân tích và trực quan hóa dữ liệu với Power BI

Các bài viết liên quan: 

  • TABLEAU - Giải pháp BUSINESS INTELLIGENCE (BI) - click vào đây
  • Hướng dẫn cài đặt và Sử dụng TABLEAU - click vào đây
  • Tính năng mới trên tableau - verion 2019.1 - click vào đây

BAC - Biên soạn và tổng hợp nội dung

 

Click để đọc tiếp

  • Hướng dẫn cách dùng ChatGPT như một trợ lý ảo
    Hướng dẫn cách dùng ChatGPT như một trợ lý ảo

    Trợ lý ảo cá nhân là khái niệm đã có từ khá lâu nhưng lại trở nên phổ biến thời gian gần đây. Với sự xuất hiện của Trí tuệ nhân tạo mà cụ thể là ChatGPT, giờ đây, việc sở hữu một trợ lý ảo cá nhân đã không trở nên đơn giản hơn rất nhiều.

  • Hướng dẫn cách dùng ChatGPT để viết Content (Blog, Quảng Cáo, Email)
    Hướng dẫn cách dùng ChatGPT để viết Content (Blog, Quảng Cáo, Email)

    Việc sử dụng ChatGPT để tạo ra các nội dung như blog, quảng cáo hay email ngày càng phổ biến. Hãy cùng BAC tìm hiểu cách viết Prompt hiệu quả để sáng tạo nội dung trong ChatGPT nhé.

  • NotebookLM - Công cụ AI hỗ trợ nghiên cứu và ghi chú của Google
    NotebookLM - Công cụ AI hỗ trợ nghiên cứu và ghi chú của Google

    NotebookLM là một công cụ AI do Google phát triển. Với NotebookLM, bạn có thể tiết kiệm hàng giờ đồng hồ để lưu trữ, ghi chú, nghiên cứu và tổng hợp dữ liệu. Bài viết này sẽ giúp bạn tìm hiểu và biết cách ứng dụng NotebookLM.

  • 10 trực quan hàng đầu tại Iron Viz 2025
    10 trực quan hàng đầu tại Iron Viz 2025

    Trực quan hóa dữ liệu là một lĩnh vực hấp dẫn và mang lại nhiều lợi ích thiết thực. Cuộc thi trực quan dữ liệu Iron Viz 2025 đã đi đến hồi kết với những tác phẩm ấn tượng. Hãy cùng BAC điểm qua 10 trực quan tốt nhất và xem cách họ đã thực hiện điều đó.

Bình luận

CÔNG TY CỔ PHẦN ĐÀO TẠO VÀ TƯ VẤN BAC

Mã số doanh nghiệp: 0312713743 do Sở Kế hoạch & Đầu tư TP.HCM cấp ngày 28/03/2014
Trụ sở chính: Lầu 6 - Tòa nhà Thiên Phước 1, 244 Cống Quỳnh, Phường Phạm Ngũ Lão, Quận 1, TP. HCM.
Chi nhánh: Lầu 11, Tòa nhà Hải Âu, Số 39B Trường Sơn, Quận Tân Bình, Tp.HCM.
Email: info@bacs.vn - Web: www.bacs.vn - Điện thoại: (84) 909 310 768

Đã thông báo bộ công thương
DMCA.com Protection Status

Copyright © 2014 BAC JSC.
All Rights Reserved.

BAC - Business Analyst Training Center