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:
- Co to jest ograniczenie klucza obcego?
- Zasady klucza obcego
- 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:
- Tabela z kluczem obcym nazywana jest tabelą podrzędną, a tabela, do której odwołuje się klucz obcy, nazywana jest tabelą nadrzędną.
- W kluczu obcym dozwolone są wartości Null
- Klucze obce mogą być duplikowane
- W tabeli może być więcej niż jeden klucz obcy
- 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.