We wszystkich DBMS (systemy zarządzania bazami danych)Istnieje kilka rodzajów relacji między tabelami. Wśród nich są relacje jeden do jednego, jeden do wielu, wiele do jednego (niektórzy mają tendencję do identyfikowania tych dwóch typów w jeden) i relacje wiele do wielu. Przykład tego drugiego, jego wyjaśnienie i zastosowanie w różnych systemach DBMS, takich jak Access lub SQL, zostanie rozważony w tym artykule.
Relacja wiele do wielu jest zdefiniowana jakokorespondencja z dowolnym wystąpieniem jednego z podmiotów wszystkich wystąpień drugiego. Innymi słowy, każde pole z pierwszej (drugiej) tabeli jest powiązane ze wszystkimi polami z drugiej (pierwszej).
Przedstawiony schemat wyraźnie odzwierciedla istotę tego związku.
Przykładem komunikacji wielu do wielu jest studentgrupa i grupa nauczycieli. Każdy uczeń uczy się od kilku profesorów jednocześnie, którzy z kolei prowadzą wykłady dla kilku studentów. Zdjęcie pokazuje różnicę między relacjami jeden do wielu i wiele do wielu.
Kiedy często potrzebne są relacje wiele do wieluprzy kompilowaniu dużych baz danych małe ilustracyjne przykłady są zwykle wykorzystywane wyłącznie do celów edukacyjnych, ale w praktyce okazuje się, że im więcej podmiotów w bazie danych i im więcej relacji między nimi, tym bardziej prawdopodobne będzie częste uzyskiwanie dostępu do relacji wielu do wielu.
Przykłady omawianych relacji nadal będądodane w tekście artykułu, ważne jest jednak nie tylko zrozumienie, co to jest, ale także jak można go wdrożyć. Szczegóły tego procesu zależą bezpośrednio od DBMS wybranego do działania, podczas gdy zasada pozostaje taka sama dla wszystkich.
Oprogramowanie Microsoft Officeznany na rynku oprogramowania od dłuższego czasu. Jest wyposażony w edytor tekstu Worfd, procesor arkuszy kalkulacyjnych Excel i inne w linii biurowej. Możesz kupić Access (czytany jako „dostęp”, dosłowne tłumaczenie to „dostęp”) i oddzielnie od jego „współpracowników”. Oczywiście zaleca się kupowanie licencjonowanego oprogramowania, ale nikomu nie jest tajemnicą, ile pirackich przepakowań można znaleźć w Internecie, w postaci zwykłych plików lub dystrybucji torrentów. Microsoft Access jest dostępny nawet w wersji przenośnej. To, które nie wymaga instalacji i specjalnych umiejętności obsługi komputera, najlepiej wybrać, jeśli oprogramowanie nie będzie używane przez długi czas i często.
Z kontekstu wynika, że Microsoft Accesssystem zarządzania bazą danych. I jeden z najpopularniejszych. Jest relacyjny, co oznacza, że opiera się na logicznym modelu danych, który w trakcie swojej pracy przechodzi do teorii mnogości i logiki pierwszego rzędu. Relacja wiele do wielu w programie Access (przykłady zostaną podane podczas objaśnienia) jest realizowana bardzo, bardzo prosto. Zastanów się nad nią.
Aby nie wymyślić niczego nowego, weźmiemywskazane w celu wyjaśnienia relacji wielu do wielu, przykład dotyczący studentów. Konieczne jest utworzenie tabeli „Uczniowie” i tabeli „Nauczyciele”. Zarówno pierwszy, jak i drugi mają klucze podstawowe. Aby połączyć wystąpienia tych dwóch jednostek, wymagana jest jeszcze jedna tabela, której pola są kluczami pierwszej i drugiej tabeli.
Jeśli spojrzysz na inny przykład:na przykład, gracze i drużyny (biorąc pod uwagę, że przynajmniej jeden z graczy grał dla różnych drużyn, a każda drużyna ma jedenastu graczy), istota budowania połączenia nie zmieni się. Potrzebne będą również trzy stoły. Spośród nich „Piłkarze” i „Drużyny” jako główni i jeden pośredni.
Relacje między tabelami w systemie Microsoft Access DBMSzaimplementowane przy użyciu zakładki „Schemat danych”. Wszystkie niezbędne elementy są dodawane do panelu, który się pojawi (w naszym przypadku wszystkie trzy tabele). Relacja wiele do wielu zostanie utworzona przy użyciu dwóch relacji jeden do wielu między głównymi (uczniami i nauczycielami) a tabelą pośrednią. W tym celu konieczne jest połączenie odpowiednich kluczy podstawowych.
Powyższa ilustracja pokazuje, jak wygląda zakładka Relacje. Liczba tabel dodanych do panelu jest nieograniczona. Lokalizacja jest w pełni regulowana przez użytkownika.
Projektowanie baz danych w SQL - wyzwanietrudniejsze niż w „Access”. Jeśli produkt Microsoft jest w pełni przystosowany do środowiska biurowego, ma ogromny i z każdą wersją i aktualizacją wszystko jest rozszerzalne, funkcjonalne, ale jednocześnie wygodne dla prostego interfejsu użytkownika, wówczas SQL jest oddzielnym nieprocesowym językiem programowania, którego można używać na różnych platformach Możesz pracować z bazami danych. Znane oprogramowanie do tego zadania: Oracle MySQL i DB2 (popularne, ale nie jedyne w swoim rodzaju). Pomimo faktu, że każdy z nich ma swoje subtelności i niuanse, język SQL „łączy je”. Ucząc się pracy z co najmniej jednym z nich, o wiele łatwiej będzie sobie poradzić z drugim.
Tworzenie, wypełnianie i bezpośrednie działanianad istniejącą bazą danych w SQL, której potrzebujesz za pomocą specjalnych kodów lub skryptów. Jednak ci, którzy dotarli już do sekcji „Relacje wiele do wielu”, których przykład w tym języku programowania zostanie podany poniżej, powinni znać przynajmniej podstawowe polecenia i zasady posługiwania się językiem SQL.
Długi wstęp może być nieco zagmatwany i„zaciemniać”, ale w rzeczywistości zasada realizacji połączenia pozostaje ta sama. Aby relacja wiele-do-wielu została zaimplementowana w praktyce nie tylko w programie Access, ale także w języku SQL, wymagane jest wstępne utworzenie dwóch tabel podstawowych i jednej pośredniej. Sytuacja jest podobna z kluczami: główne encje mają główne pola, z których każde jest zapisane w tabeli skrzyżowań. Oznacza to, że relacja SQL wiele-do-wielu nie różni się zasadniczo od relacji „Dostęp”.
Aby zaimplementować komunikację wiele do wielu w skryptachSQL używa OBCEGO KLUCZA podobnie do oryginalnych kluczy w głównych tabelach. Są one rejestrowane wraz ze wszystkimi polami podczas ich tworzenia i / lub edycji.
Ogólnie relacje między jednostkami w bazach danychużywane dla integralności przechowywanych w nich informacji. Tylko dobrze zaprojektowana baza danych ze wszystkimi niezbędnymi połączeniami gwarantuje bezpieczeństwo przechowywania, łatwość obsługi i jest strukturą odporną na wpływy i zmiany zewnętrzne. Zazwyczaj, jeśli baza danych zawiera dane o całej organizacji, firmie lub firmie, zawiera wiele jednostek z różnymi instancjami.
Oznacza to, że podczas tworzenia schematu danych (w formacie„Dostęp”) lub skryptów (w „Oracle” lub „DiBiTu”) będzie istnieć co najmniej jedna relacja „wiele do wielu”. Przykładem SQl często używanym w kursie Organizacja baz danych jest King's Database.
Ta przykładowa baza danych zawiera informacje o firmie King Corporation. Wśród tabel:
Małe tabele z nie więcej niż dwoma lub trzema polami są powiązane z co najwyżej jedną tabelą w relacji jeden do jednego lub jeden do wielu.
Tabele skalowania, na przykład „pracownicyfirmy ”,„ firmy kupujące ”,„ umowy sprzedaży ”i„ akty sprzedaży ”są powiązane z kilkoma podmiotami naraz, a z niektórymi - za pomocą„ pośredników ”relację wiele do wielu. Tabela„ firmy-kupujący ”sama jest pośrednikiem jako taka, ponieważ zawiera wiele pól zapożyczonych z innych tabel i są kluczami obcymi.Ponadto skala i wzajemne połączenia bazy danych King's Corporation są takie, że wszystkie relacje są ze sobą nierozerwalnie skorelowane i wpływają na siebie nawzajem. jeden z nich doprowadzi do zniszczenia integralności całej bazy danych.
Podczas wdrażania relacji wiele do wielu na zewnątrzw zależności od tego, który DBMS jest używany, bardzo ważne jest prawidłowe określenie kluczy, z którymi relacja będzie kompilowana. Nieprawidłowo zrealizowane połączenie nie spełni swojego głównego celu, a mianowicie zapewnienia integralności tabeli, w wyniku czego zamiast oczekiwanego komfortu użytkownik otrzyma niedogodności i dodatkowe problemy, zwłaszcza przy wypełnianiu tabel i edycji w nich danych.