{"id":9967,"date":"2022-10-03T19:20:41","date_gmt":"2022-10-03T17:20:41","guid":{"rendered":"https:\/\/dhosting.pl\/pomoc\/?post_type=manual_kb&#038;p=9967"},"modified":"2023-05-18T16:03:11","modified_gmt":"2023-05-18T14:03:11","slug":"jaka-jest-struktura-modelu-relacyjnej-bazy-danych","status":"publish","type":"manual_kb","link":"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jaka-jest-struktura-modelu-relacyjnej-bazy-danych\/","title":{"rendered":"Jaka jest struktura modelu relacyjnej bazy danych?"},"content":{"rendered":"<p>E. F. Codd, w\u00f3wczas m\u0142ody programista w IBM, wymy\u015bli\u0142 relacyjn\u0105 baz\u0119 danych w 1970 roku. W swoim artykule &#8220;A Relational Model of Data for Large Shared Data Banks&#8221; Codd zaproponowa\u0142 przej\u015bcie od przechowywania danych w strukturach hierarchicznych lub nawigacyjnych do organizowania danych w tabelach zawieraj\u0105cych wiersze i kolumny.<\/p>\n<p>Ka\u017cda tabela, zwana czasem relacj\u0105, w relacyjnej bazie danych zawiera jedn\u0105 lub wi\u0119cej kategorii danych w kolumnach lub atrybutach. Ka\u017cdy wiersz, zwany r\u00f3wnie\u017c rekordem lub krotk\u0105, zawiera unikaln\u0105 instancj\u0119 danych &#8212; lub klucz &#8212; dla kategorii zdefiniowanych przez kolumny. Ka\u017cda tabela ma unikalny klucz g\u0142\u00f3wny, kt\u00f3ry identyfikuje informacje w tabeli. Relacje pomi\u0119dzy tabelami mog\u0105 by\u0107 ustalone poprzez u\u017cycie kluczy obcych &#8212; pole w tabeli, kt\u00f3re \u0142\u0105czy si\u0119 z kluczem g\u0142\u00f3wnym innej tabeli.<\/p>\n<p>Na przyk\u0142ad typowa biznesowa baza danych do wprowadzania zam\u00f3wie\u0144 zawiera\u0142aby tabel\u0119 opisuj\u0105c\u0105 klienta z kolumnami dla nazwiska, adresu, numeru telefonu i tak dalej. Inna tabela opisuje zam\u00f3wienie, zawieraj\u0105c informacje takie jak produkt, klient, data i cena sprzeda\u017cy.<\/p>\n<p>U\u017cytkownik mo\u017ce otrzyma\u0107 raport z bazy danych pokazuj\u0105cy dane, kt\u00f3rych potrzebuje. Na przyk\u0142ad kierownik oddzia\u0142u mo\u017ce chcie\u0107 uzyska\u0107 raport dotycz\u0105cy wszystkich klient\u00f3w, kt\u00f3rzy kupili produkty po okre\u015blonej dacie. Kierownik dzia\u0142u finansowego w tej samej firmie m\u00f3g\u0142by, na podstawie tych samych tabel, uzyska\u0107 raport dotycz\u0105cy rachunk\u00f3w, kt\u00f3re wymagaj\u0105 zap\u0142aty.<\/p>\n<p>Podczas tworzenia relacyjnej bazy danych u\u017cytkownicy okre\u015blaj\u0105 domen\u0119 mo\u017cliwych warto\u015bci w kolumnie danych oraz ograniczenia, kt\u00f3re mog\u0105 dotyczy\u0107 tej warto\u015bci danych. Na przyk\u0142ad domena mo\u017cliwych klient\u00f3w mo\u017ce dopuszcza\u0107 do 10 mo\u017cliwych nazw klient\u00f3w, ale w jednej tabeli jest ograniczona do umo\u017cliwienia okre\u015blenia tylko trzech z tych nazw klient\u00f3w.<\/p>\n<p>Dwa ograniczenia odnosz\u0105 si\u0119 do integralno\u015bci danych oraz kluczy g\u0142\u00f3wnych i obcych:<\/p>\n<ul>\n<li>Integralno\u015b\u0107 encji zapewnia, \u017ce klucz g\u0142\u00f3wny w tabeli jest unikalny, a jego warto\u015b\u0107 nie jest ustawiona na null.<\/li>\n<li>Integralno\u015b\u0107 referencyjna wymaga, aby ka\u017cda warto\u015b\u0107 w kolumnie klucza obcego znalaz\u0142a si\u0119 w kluczu podstawowym tabeli, z kt\u00f3rej pochodzi.<\/li>\n<\/ul>\n<p>Ponadto relacyjne bazy danych posiadaj\u0105 fizyczn\u0105 niezale\u017cno\u015b\u0107 danych. Odnosi si\u0119 to do zdolno\u015bci systemu do wprowadzania zmian w wewn\u0119trznym schemacie bez zmiany zewn\u0119trznych schemat\u00f3w lub program\u00f3w aplikacji. Zmiany w schemacie wewn\u0119trznym mog\u0105 obejmowa\u0107:<\/p>\n<ul>\n<li>zastosowanie nowych urz\u0105dze\u0144 do przechowywania danych;<\/li>\n<li>modyfikacj\u0119 indeks\u00f3w;<\/li>\n<li>zmiana z okre\u015blonej metody dost\u0119pu na inn\u0105;<\/li>\n<li>wykorzystanie innych struktur danych;<\/li>\n<li>stosowanie r\u00f3\u017cnych struktur pami\u0119ci masowej lub organizacji plik\u00f3w.<\/li>\n<\/ul>\n<p>Logiczna niezale\u017cno\u015b\u0107 danych to zdolno\u015b\u0107 systemu do zarz\u0105dzania schematem poj\u0119ciowym bez zmiany schematu zewn\u0119trznego lub program\u00f3w aplikacyjnych. Zmiany schematu koncepcyjnego mog\u0105 obejmowa\u0107 dodawanie lub usuwanie nowych relacji, podmiot\u00f3w lub atrybut\u00f3w bez zmiany istniej\u0105cych schemat\u00f3w zewn\u0119trznych lub przepisywania program\u00f3w u\u017cytkowych.<\/p>\n","protected":false},"author":6,"featured_media":10957,"parent":0,"menu_order":0,"template":"","format":"standard","manualknowledgebasecat":[97,95],"manual_kb_tag":[785,655,3517,2873,2876,3516],"class_list":["post-9967","manual_kb","type-manual_kb","status-publish","format-standard","has-post-thumbnail","hentry","manualknowledgebasecat-bazy-danych","manualknowledgebasecat-hosting","manual_kb_tag-baza-danych","manual_kb_tag-hosting","manual_kb_tag-polski-hosting","manual_kb_tag-relacyjna-baza-danych","manual_kb_tag-struktura-bazy-danych","manual_kb_tag-web-hosting"],"_links":{"self":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/9967","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/users\/6"}],"version-history":[{"count":0,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/9967\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media\/10957"}],"wp:attachment":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media?parent=9967"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manualknowledgebasecat?post=9967"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb_tag?post=9967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}