Database
 sql >> Baza danych >  >> RDS >> Database

SQL klucza obcego:wszystko, co musisz wiedzieć o operacjach na kluczach obcych

Na dzisiejszym rynku, na którym wiele międzynarodowych firm korzysta z relacyjnych baz danych do obsługi danych, bardzo ważne jest zrozumienie, w jaki sposób każda tabela może być ze sobą powiązana. Tak więc w tym artykule na temat obcego klucza SQL omówię klucz obcy w tabelach, aby ułatwić zrozumienie relacji między tabelami.

W tym artykule zostaną omówione następujące tematy:

  1. Co to jest ograniczenie klucza obcego?
  2. Zasady klucza obcego
  3. Operacje na klawiszach zagranicznych:
    • Klucz obcy SQL przy tworzeniu tabeli
    • Klucz obcy SQL w alternatywnej tabeli
    • Upuść klucz obcy

Co to jest ograniczenie klucza obcego?

Klucz obcy to rodzaj klucza używany do łączenia dwóch tabel w bazie danych. Tak więc klucz obcy to atrybut lub zbiór atrybutów w jednej tabeli, który odwołuje się do klucza podstawowego w innej tabeli.

Na przykład, jeśli Tabela A i Tabela B są ze sobą powiązane, to jeśli Tabela A składa się z klucza podstawowego, ta tabela będzie nazywana tabelą odniesienia lub tabelą nadrzędną. Podobnie, jeśli Tabela B składa się z klucza obcego, wówczas ta tabela jest znana jako tabela referencyjna lub tabela podrzędna. Zobacz poniższy obrazek:

Teraz, gdy już wiesz, czym jest klucz obcy, w następnym artykule na temat SQL klucza obcego, pozwól nam zrozumieć zasady tego klucza obcego.

Zasady klucza obcego

Zasady klucza obcego są następujące:

  1. Tabela z kluczem obcym nazywana jest tabelą podrzędną, a tabela, do której odwołuje się klucz obcy, nazywana jest tabelą nadrzędną.
  2. W kluczu obcym dozwolone są wartości Null
  3. Klucze obce mogą być duplikowane
  4. W tabeli może być więcej niż jeden klucz obcy
  5. Relacja ustalona między tabelami jest znana jako integralność referencyjna

Teraz, gdy wiesz, jakie są zasady klucza obcego, w następnym artykule na temat SQL klucza obcego, zobaczmy operacje na kluczu obcym.

Operacje na klawiszach zagranicznych:

Aby zrozumieć różne operacje występujące na kluczu obcym, rozważ następujące dwie tabele:

Tabela klientów:

Identyfikator klienta Nazwa klienta Numer telefonu
1 Rohan 9876543210
2 Sonali 9876567864
3 Ajay 9966448811
4 Geeta 9765432786
5 Shubham 9944888756

Tabela kursów:

Identyfikator kursu

Nazwa_kursu

Identyfikator klienta

c01

DevOps

2

c02

Uczenie maszynowe

4

c03

RPA

1

c04

Tabela

3

c05

AWS

2

Teraz, jeśli zaobserwujesz, kolumna customerID w tabeli kursów odnosi się do kolumny customerID w tabeli klientów. Kolumna customerID z tabeli customers to klucz podstawowy, a kolumna customerID z tabelicourses to klucz obcy tej tabeli.

Zaczynając od pierwszej operacji:

Klucz obcy przy tworzeniu tabeli

Możesz użyć następującej składni, aby utworzyć klucz obcy w kolumnie „customerID” podczas tworzenia tabeli „kursy”:

#For SQL Server/ MS Access/ Oracle
CREATE TABLE courses (
courseID varchar NOT NULL PRIMARY KEY,
courseName varchar NOT NULL,
customerID int FOREIGN KEY REFERENCES customers(customerID)
);
#For MySQL
CREATE TABLE courses (
courseID varchar NOT NULL PRIMARY KEY,
courseName varchar NOT NULL,
customerID int
PRIMARY KEY (courseID),
FOREIGN KEY (customerID) REFERENCES customers(customerID)
);

Zastosuj klucz obcy w wielu kolumnach

Aby zastosować klucz obcy w wielu kolumnach podczas tworzenia tabeli, zapoznaj się z następującym przykładem:

CREATE TABLE courses (
courseID varchar NOT NULL,
courseName varchar NOT NULL,
customerID int, PRIMARY KEY (courseID),
CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID)
REFERENCES customers(customerID)
);

Następnie, w tym artykule na temat obcego klucza SQL, zobaczmy, jak używać obcego klucza w Alter Table.

Klucz obcy na innym stole

Możesz użyć następującej składni, aby utworzyć klucz obcy w kolumnie „customerID”, gdy tabela „kursy” jest już utworzona i chcesz po prostu ją zmienić:

ALTER TABLE courses
ADD FOREIGN KEY (customerID) REFERENCES customers(customerID);

Jeśli chcesz dodać nazwę do ograniczenia klucza obcego i zdefiniować go w wielu kolumnach, użyj następującej składni SQL:

ALTER TABLE courses
ADD CONSTRAINT FK_CustomerCourse
FOREIGN KEY (customerID) REFERENCES Customers(customerID);

Następnie, w tym artykule na temat obcego klucza SQL, wyjaśnijmy, jak usunąć klucz obcy

Upuść klucz obcy

Aby usunąć klucz obcy, możesz skorzystać z następującego przykładu:

#For SQL Server/ MS Access/ Oracle
ALTER TABLE courses
DROP CONSTRAINT FK_CustomerCourse;
For MYSQL
ALTER TABLE courses
DROP FOREIGN KEY FK_CustomerCourse;

Na tym kończymy ten artykuł. Mam nadzieję, że rozumiesz, jak używać klucza obcego w SQL. Jeśli chcesz dowiedzieć się więcej o MySQL i poznaj tę relacyjną bazę danych typu open source, a następnie zapoznaj się z naszą Szkolenie certyfikacyjne MySQL DBA , który obejmuje szkolenie na żywo prowadzone przez instruktora i doświadczenie w rzeczywistych projektach. To szkolenie pomoże ci dogłębnie zrozumieć MySQL i pomoże ci osiągnąć mistrzostwo w tym temacie.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego artykułu na temat „Foreign Key SQL”, a ja odezwę się do Ciebie.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak analizować stan indeksów bazy danych

  2. Progi optymalizacji — grupowanie i agregowanie danych, część 2

  3. Model danych aplikacji szkoleniowej Marathon

  4. Ulepszanie naszego modelu danych internetowego portalu pracy

  5. Samouczek łączenia SQL