{"id":634,"date":"2023-09-04T17:00:29","date_gmt":"2023-09-04T15:00:29","guid":{"rendered":"https:\/\/piotrgabriel.pl\/wiki\/?p=634"},"modified":"2023-09-05T14:50:40","modified_gmt":"2023-09-05T12:50:40","slug":"wykorzystanie-kluczy-obcych-w-mysql","status":"publish","type":"post","link":"https:\/\/piotrgabriel.pl\/wiki\/wykorzystanie-kluczy-obcych-w-mysql\/","title":{"rendered":"Wykorzystanie kluczy obcych w MySQL"},"content":{"rendered":"<p>Klucze obce to jeden z podstawowych, wr\u0119cz fundamentalnych element\u00f3w baz danych, kt\u00f3ry pozwala na tworzenie relacji mi\u0119dzy tabelami. W tym artykule przyjrzymy si\u0119, jak wykorzysta\u0107 klucze obce w systemie zarz\u0105dzania baz\u0105 danych MySQL, aby zapewni\u0107 integralno\u015b\u0107 i sp\u00f3jno\u015b\u0107 danych.<!--more--><\/p>\n<h2>Czym jest klucz obcy?<\/h2>\n<p>Klucz obcy to kolumna lub zestaw kolumn w jednej tabeli, kt\u00f3ra odnosi si\u0119 do klucza g\u0142\u00f3wnego w innej tabeli. Klucz obcy s\u0142u\u017cy do zapewnienia sp\u00f3jno\u015bci danych mi\u0119dzy tabelami, umo\u017cliwiaj\u0105c tworzenie relacji mi\u0119dzy nimi.<\/p>\n<h2>Jak tworzy\u0107 klucze obce?<\/h2>\n<p>Aby utworzy\u0107 klucz obcy w MySQL, mo\u017cemy u\u017cy\u0107 klauzuli FOREIGN KEY podczas tworzenia tabeli. Na przyk\u0142ad, je\u015bli mamy dwie tabele: &#8222;uzytkownicy&#8221; i &#8222;zamowienia&#8221;, i chcemy stworzy\u0107 relacj\u0119 mi\u0119dzy nimi, mo\u017cemy to zrobi\u0107 w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n<p><code><br \/>\nCREATE TABLE zamowienia (<br \/>\nid INT PRIMARY KEY AUTO_INCREMENT,<br \/>\nid_uzytkownika INT,<br \/>\ndata DATE,<br \/>\nFOREIGN KEY (id_uzytkownika) REFERENCES uzytkownicy(id)<br \/>\n);<br \/>\n<\/code><\/p>\n<p>W powy\u017cszym przyk\u0142adzie klucz obcy &#8222;id_uzytkownika&#8221; w tabeli &#8222;zamowienia&#8221; odnosi si\u0119 do klucza g\u0142\u00f3wnego &#8222;id&#8221; w tabeli &#8222;uzytkownicy&#8221;.<\/p>\n<h2>Jakie s\u0105 korzy\u015bci z u\u017cywania kluczy obcych?<\/h2>\n<ul>\n<li><strong>Integralno\u015b\u0107 danych:<\/strong> Klucze obce zapewniaj\u0105, \u017ce dane w jednej tabeli odpowiadaj\u0105 danym w innej tabeli, co zapobiega b\u0142\u0119dom i niesp\u00f3jno\u015bci.<\/li>\n<li><strong>Sp\u00f3jno\u015b\u0107 danych:<\/strong> Dzi\u0119ki kluczom obcym mo\u017cemy \u0142atwo \u0142\u0105czy\u0107 dane z r\u00f3\u017cnych tabel, tworz\u0105c z\u0142o\u017cone zapytania.<\/li>\n<li><strong>Eliminacja redundancji:<\/strong> Klucze obce pozwalaj\u0105 na przechowywanie danych w jednym miejscu, eliminuj\u0105c potrzeb\u0119 ich duplikowania w wielu tabelach.<\/li>\n<\/ul>\n<h2>Wnioski<\/h2>\n<p>Klucze obce s\u0105 niezb\u0119dnym narz\u0119dziem w relacyjnych bazach danych, kt\u00f3re pozwalaj\u0105 na tworzenie skomplikowanych struktur danych i zapewniaj\u0105 ich integralno\u015b\u0107 oraz sp\u00f3jno\u015b\u0107. Dzi\u0119ki nim mo\u017cemy tworzy\u0107 aplikacje bazodanowe, kt\u00f3re s\u0105 wydajne, niezawodne i \u0142atwe w zarz\u0105dzaniu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Klucze obce to jeden z podstawowych, wr\u0119cz fundamentalnych element\u00f3w baz danych, kt\u00f3ry pozwala na tworzenie relacji mi\u0119dzy tabelami. W tym artykule przyjrzymy si\u0119, jak wykorzysta\u0107 klucze obce w systemie zarz\u0105dzania baz\u0105 danych MySQL, aby zapewni\u0107 integralno\u015b\u0107 i sp\u00f3jno\u015b\u0107 danych.<\/p>\n","protected":false},"author":1,"featured_media":155,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48],"tags":[224,24],"class_list":["post-634","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bazy-danych","tag-bazy-danych","tag-mysql"],"_links":{"self":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/comments?post=634"}],"version-history":[{"count":0,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/634\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media\/155"}],"wp:attachment":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media?parent=634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/categories?post=634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/tags?post=634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}