Operacje na bazie danych. Podstawy algebry relacyjnej

Operacje na bazach danych

Standardowym sposobem dostępu do danych bazy danych jest wprowadzanie danych po adresie asocjacyjnym (wzorze), realizowanym metodą „wyszukiwania według wzorca”. Argumentem operacji „wyszukiwania wzorców” jest struktura, której charakter może być bardzo różny. szeroki zasięg w zależności od funkcji realizowanych przez bazę danych. Wynikiem tej operacji jest zbiór (ewentualnie pusty – wynik ujemny) wszystkich desygnatów próbki argumentu, tj. fragmenty bazy danych, z których każdy reprezentuje odpowiedź na zapytanie określone w postaci tej próbki.

Można wyróżnić kilka rodzajów próbek.

Prosta próbka jest fragmentem konstrukcji tego samego typu co rama. W prostych wierzchołkach wzoru komponenty można określić częściowo, na przykład tylko nazwę lub tylko typ. Charakter procedury realizowanej przez operację „wyszukiwania wzorców” może być dwojakiego rodzaju:

Dokładne dopasowanie- desygnaty są izomorficzne w stosunku do próbki aż do brakujących elementów w próbce;

Zakrycie - można wykonać w przypadku, gdy określono częściowy porządek nad symbolami pełniącymi funkcję elementów wzoru. Desygnatami w tym przypadku są fragmenty ramki objęte próbką w tym sensie, że wykresy próbki i desygnatu są izomorficzne, a elementy próbki albo pokrywają się z odpowiednim symbolem desygnatu, albo znajdują się powyżej to w hierarchii.

Próbka pękająca - jest to zbiór prostych wzorów połączonych łukami specjalny typ, brak w ramce. W tym przypadku wykresy próbki i referenta nie są izomorficzne, ponieważ ten ostatni nie ma specjalnych łuków. Można powiedzieć, że przy nieciągłym wzorze wyszukiwanie odbywa się nie w samej ramce, ale w jej przechodnim domknięciu wzdłuż jednego lub kilku typów relacji. B. Wzorzec z negatywnym kontekstem reprezentuje parę

< положительный образец, отрицательный образец >,

w którym każda z próbek jest prosta lub nieciągła. Procedura wyszukiwania takiego wzorca jest zdefiniowana w następujący sposób. Wyszukiwanie odbywa się w oparciu o pozytywny wzorzec znaleziony przez referenta R wyznaczane są nazwy wierzchołków wspólnych dla próbek dodatnich i ujemnych. Nazwy te są wstawiane w odpowiednie pozycje we wzorcu negatywnym, który jest ponownie przeszukiwany. Jeśli zbiór referencji w tym przypadku jest pusty, to R jest traktowany jako odniesienie do wyszukiwania wzorców w negatywnym kontekście. W przeciwnym razie wyszukiwanie nie zwróci żadnych wyników.

Brak połączenia między próbkami dodatnimi i ujemnymi oznacza szczególny przypadek procedura opisana powyżej, w której poszukiwanie obu próbek odbywa się niezależnie, a wynik ogólny ustala się w ten sam sposób.

Złożona próbka - reprezentuje kombinację typów próbek wymienionych powyżej. Wynikiem złożonego wyszukiwania wzorców jest kombinacja procedur wyszukiwania dla każdej próbki w populacji.

Operację „wyszukiwania wzorców” podzielimy na dwa główne typy: jednowariantowe i wielowariantowe szukaj.

W przypadku wyszukiwania jednowariantowego w bazie danych odnajdowany jest pojedynczy (pierwszy pasujący) referent, natomiast w przypadku wyszukiwania wielowariantowego proces trwa do momentu znalezienia wszystkich możliwych fragmentów bazy, które mogą stanowić referencje dla danej próbki.

Jednym z istotnych czynników determinujących wynik operacji wyszukiwania wzorca w wyszukiwaniu jednowariantowym jest to, czy podczas wykonywania operacji wyszukiwania wzorca kolejność skanowania ramki jest stała, czy nie. Na przykład za pomocą ramy łańcuchowej można ją oglądać od lewej do prawej lub od prawej do lewej, w przypadku drzewa - od korzenia do liści lub w przeciwnym kierunku. W przypadkach, gdy kolejność oglądania jest charakterystyka zewnętrzna bazy danych, może być stała (wbudowana) lub zmienna w trakcie pracy (konfigurowalna).

Trwa dołączanie kolejnej operacji na bazie danych. Znaczenie tej operacji polega na dołączeniu nowych danych do danych w bazie danych. Argument tej operacji składa się z dwóch części: pierwsza to fragment dołączany do bazy danych i mający tę samą organizację, tj. składa się z ramy i zestawu elementów związanych z jej wierzchołkami; druga część to, ogólnie rzecz biorąc, adres asocjacyjny wskazujący, do których wierzchołków ramki zostanie dołączony nowy fragment.

Algebra relacyjna opiera się na teorii mnogości i stanowi podstawę logiki baz danych.
Kiedy dopiero studiowałem strukturę baz danych i SQL, wstępne zapoznanie się z algebrą relacyjną bardzo pomogło mi w prawidłowym ułożeniu dalszej wiedzy w mojej głowie i postaram się, aby ten artykuł miał podobny efekt.

Jeśli więc zamierzasz rozpocząć studia na tym kierunku lub jesteś po prostu zainteresowany, kliknij na kota.

Relacyjna baza danych

Na początek wprowadźmy koncepcję relacyjnej bazy danych, w której będziemy wykonywać wszystkie akcje.

Relacyjna baza danych to zbiór relacji zawierających wszystkie informacje, które muszą być przechowywane w bazie danych. W tę definicję Nas interesuje termin relacja, ale na razie pozostawimy go bez ścisłej definicji.
Wyobraźmy sobie lepiej tabelę produktów.

Tabela PRODUKTY

ID NAZWA FIRMA CENA
123 Ciasteczka Ciemna strona spółka z ograniczoną odpowiedzialnością 190
156 Herbata Ciemna strona spółka z ograniczoną odpowiedzialnością 60
235 Ananasy OJSC „Frukty” 100
623 Pomidory OOO „Warzywa” 130

Tabela składa się z 4 wierszy, wiersz w tabeli jest krotką w teorii relacji. Zbiór uporządkowanych krotek nazywany jest relacją.
Zanim zdefiniujemy relację, wprowadźmy jeszcze jedno pojęcie – domenę. Domeny w odniesieniu do tabeli to kolumny.

Dla przejrzystości wprowadzimy teraz ścisłą definicję relacji.

Niech będzie danych N zbiorów D1,D2, …. Dn (dziedziny), relacja R po tych zbiorach jest zbiorem uporządkowanych N-krotek postaci , gdzie d1 należy do D1, itd. Zbiory D1,D2,..Dn nazywane są dziedzinami relacji R.
Każdy element krotki reprezentuje wartość jednego z atrybutów odpowiadających jednej z dziedzin.

Klucze w relacjach
W relacji wymaga się, aby wszystkie krotki były odrębne. Aby jednoznacznie zidentyfikować krotkę, istnieje klucz podstawowy. Klucz podstawowy to atrybut lub zestaw minimalnej liczby atrybutów, który jednoznacznie identyfikuje konkretną krotkę i nie zawiera żadnych dodatkowych atrybutów.
Konsekwencją tego jest to, że wszystkie atrybuty klucza podstawowego muszą być konieczne i wystarczające do zidentyfikowania konkretnej krotki, a pominięcie któregokolwiek z atrybutów w kluczu sprawi, że będzie on niewystarczający do identyfikacji.
Przykładowo w takiej tabeli kluczem będzie kombinacja atrybutów z pierwszej i drugiej kolumny.

Tabela KIEROWCY

Można zauważyć, że organizacja może mieć kilku kierowców i aby jednoznacznie zidentyfikować kierowcę, wymagana jest zarówno wartość z kolumny „Nazwa organizacji”, jak i z kolumny „Nazwa kierowcy”. Taki klucz nazywany jest kluczem złożonym.

W relacyjnej bazie danych tabele są ze sobą powiązane i powiązane jako tabele główne i podrzędne. Połączenie między tabelami głównymi i podrzędnymi odbywa się za pomocą klucza podstawowego ( główny klucz) tabeli głównej i klucz obcy podtabeli.
Klucz obcy to atrybut lub zestaw atrybutów będący kluczem podstawowym w tabeli głównej.

Ta teoria przygotowawcza wystarczy do zapoznania się z podstawowymi operacjami algebry relacyjnej.

Działania algebry relacyjnej

Podstawowe osiem operacji algebry relacyjnej zaproponował E. Codd.
  • Stowarzyszenie
  • Skrzyżowanie
  • Odejmowanie
  • Produkt kartezjański
  • Próbka
  • Występ
  • Mieszanina
  • Dział
Pierwsza połowa operacji jest podobna do tych samych operacji na zbiorach. Niektóre operacje można wyrazić za pomocą innych operacji. Przyjrzyjmy się większości operacji na przykładach.

Dla zrozumienia należy pamiętać, że wynikiem dowolnej operacji algebry na relacjach jest kolejna relacja, którą można następnie wykorzystać w innych operacjach.
Stwórzmy kolejną tabelę, która będzie nam przydatna w przykładach.

Tabela SPRZEDAWCY

ID SPRZEDAWCA
123 OOO „Dart”
156 OJSC „Vedro”
235 CJSC „Baza Warzywna”
623 Spółka z ograniczoną odpowiedzialnością „Firma”

Przyjmijmy, że w tej tabeli ID jest kluczem obcym powiązanym z kluczem podstawowym tabeli PRODUCTS.

Najpierw przyjrzyjmy się najbardziej prosta obsługa- nazwa związku. Jej wynikiem będzie ta sama relacja, czyli wykonując operację PRODUCTS otrzymamy kopię relacji PRODUCTS.

Występ
Projekcja to operacja, podczas której pobierane są atrybuty relacji tylko z określonych dziedzin, czyli z tabeli wybierane są tylko niezbędne kolumny, a w przypadku uzyskania kilku identycznych krotek, to w tabeli pozostaje tylko jedna instancja takiej krotki wynikową relację.
Przykładowo zróbmy projekcję na tabelę PRODUCTS wybierając z niej ID i PRICE.

Składnia operacji:
π (ID, CENA) PRODUKTY

W przykładowym stanie możemy użyć dowolnego wyrażenie logiczne. Dokonajmy kolejnej selekcji z ceną większą niż 90 i identyfikatorem produktu mniejszym niż 300:

σ(CENA>90^ID<300) PRODUCTS

Mnożenie
Mnożenie lub iloczyn kartezjański to operacja wykonywana na dwóch relacjach, w wyniku której z dwóch początkowych relacji otrzymujemy relację ze wszystkimi dziedzinami. Krotki w tych dziedzinach będą wszystkimi możliwymi kombinacjami krotek z relacji początkowych. Będzie jaśniej na przykładzie.

Otrzymujemy iloczyn kartezjański tabel PRODUCTS i SELLERS.
Składnia operacji:

PRODUKTY × SPRZEDAWCY
Zauważysz, że te dwie tabele mają tę samą domenę identyfikatora. W tej sytuacji domeny o tej samej nazwie są poprzedzone nazwą odpowiedniej relacji, jak pokazano poniżej.
Dla uproszczenia nie mnożymy pełnych współczynników, ale próbki z identyfikatorem warunku<235

(te same krotki są podświetlone kolorem)

PRODUKTY.ID NAZWA FIRMA CENA SPRZEDAWCY.ID SPRZEDAWCA
123 Ciasteczka Ciemna strona spółka z ograniczoną odpowiedzialnością 190 123 OOO „Dart”
156 Herbata Ciemna strona spółka z ograniczoną odpowiedzialnością 60 156 OJSC „Vedro”
123 Ciasteczka Ciemna strona spółka z ograniczoną odpowiedzialnością 190 156 OJSC „Vedro”
156 Herbata Ciemna strona spółka z ograniczoną odpowiedzialnością 60 123 OOO „Dart”

Dla przykładu użycia tej operacji wyobraźmy sobie konieczność wybrania sprzedawców z cenami mniejszymi niż 90. Bez produktu konieczne byłoby najpierw uzyskanie identyfikatorów produktów z pierwszej tabeli, a następnie wykorzystanie tych identyfikatorów z drugiej tabeli w celu uzyskania niezbędnych nazwy SPRZEDAWCY i przy użyciu produktu następujące zapytanie będzie brzmiało:

π (SPRZEDAWCA) σ (ID PRODUKTU=ID SPRZEDAWCY ^ CENA<90) PRODUCTS × SELLERS

W wyniku tej operacji otrzymujemy zależność:

SPRZEDAWCA
OJSC „Vedro”
Połączenie i naturalne połączenie
Operacja łączenia jest odwrotnością operacji rzutowania i tworzy nową relację z dwóch istniejących. Nową relację uzyskuje się poprzez połączenie krotek pierwszej i drugiej relacji, natomiast konkatenacji podlegają relacje, w których wartości określonych atrybutów są zbieżne. W szczególności, jeśli połączysz relacje PRODUKTY i SPRZEDAWCY, atrybuty te będą atrybutami domen ID.

Ponadto, dla jasności, możesz sobie wyobrazić połączenie w wyniku dwóch operacji. Najpierw pobierany jest iloczyn tabel źródłowych, a następnie z powstałej relacji dokonujemy selekcji pod warunkiem równości atrybutów z tych samych dziedzin. W tym przypadku warunkiem jest zgodność PRODUCTS.ID i SELLERS.ID.

Spróbujmy połączyć relacje PRODUKTY i SPRZEDAWCY i uzyskać relację.

PRODUKTY.ID NAZWA FIRMA CENA SPRZEDAWCY.ID SPRZEDAWCA
123 Ciasteczka Ciemna strona spółka z ograniczoną odpowiedzialnością 190 123 OOO „Dart”
156 Herbata Ciemna strona spółka z ograniczoną odpowiedzialnością 60 156 OJSC „Vedro”
235 Ananasy OJSC „Frukty” 100 235 CJSC „Baza Warzywna”
623 Pomidory OOO „Warzywa” 130 623 Spółka z ograniczoną odpowiedzialnością „Firma”

Złączenie naturalne otrzymuje podobną relację, jednak jeśli mamy w bazie poprawnie skonfigurowany schemat (w tym przypadku klucz podstawowy tabeli PRODUCTS ID jest powiązany z kluczem obcym tabeli SELLERS ID), to otrzymana relacja zawiera tylko jedna domena identyfikacyjna.

Składnia operacji:
PRODUKTY ⋈ SPRZEDAWCY;

Otrzymujesz tę relację:

PRODUKTY.ID NAZWA FIRMA CENA SPRZEDAWCA
123 Ciasteczka Ciemna strona spółka z ograniczoną odpowiedzialnością 190 OOO „Dart”
156 Herbata Ciemna strona spółka z ograniczoną odpowiedzialnością 60 OJSC „Vedro”
235 Ananasy OJSC „Frukty” 100 CJSC „Baza Warzywna”
623 Pomidory OOO „Warzywa” 130 Spółka z ograniczoną odpowiedzialnością „Firma”
Przecięcie i odejmowanie.
Wynikiem operacji przecięcia będzie relacja składająca się z krotek, które są całkowicie zawarte w obu relacjach.
Wynikiem odejmowania będzie relacja składająca się z krotek, które są krotkami pierwszej relacji, a nie krotkami drugiej relacji.
Operacje te są podobne do tych samych operacji na zbiorach, więc myślę, że nie ma potrzeby ich szczegółowego opisywania.
Źródła informacji
  • Podstawy wykorzystania i projektowania baz danych – V. M. Ilyushechkin
  • przebieg wykładów Wprowadzenie do baz danych - Jennifer Widom, Uniwersytet Stanforda

Będę wdzięczny za uzasadnione uwagi

Relacja między rekordem właściciela a rekordem członka również wynosi 1:N.

Główna różnica między tymi modelami polega na tym, że w modelu sieciowym rekord może należeć do więcej niż jednej relacji grupowej. Zgodnie z tym modelem każda relacja grupowa ma swoją nazwę i dokonuje się rozróżnienia pomiędzy jej typem i instancją. Typ relacji grupowej jest określony przez jego nazwę i definiuje właściwości wspólne dla wszystkich instancji tego typu. Instancja relacji grupowej jest reprezentowana przez rekord właściciela i zestaw (prawdopodobnie pustych) rekordów podrzędnych. Istnieje następujące ograniczenie: rekordowa instancja nie może być członkiem dwóch instancji powiązań grupowych tego samego typu (tzn. pracownik z przykładu z ust. 1 nie może pracować np. w dwóch działach).

  • drzewa (a) i (b) pokazane na ryc. 4.2 zostają zastąpione jedną strukturą sieciową, w której kartoteka PRACOWNIK ujęta jest w dwóch relacjach grupowych;
  • aby wyświetlić typ M:N należy wprowadzić rekord EMPLOYEE_CONTRACT, który nie posiada pól i służy jedynie do powiązania rekordów CONTRACT i EMPLOYEE (patrz rys. 4.3). Należy pamiętać, że w tym rejestrze można przechowywać również przydatne informacje, np. udział danego pracownika w całkowitym wynagrodzeniu wynikającym z danej umowy.


Ryż. 4.3.

Każdy przypadek relacji grupowej charakteryzuje się następującymi cechami:

Jak uporządkować rekordy podrzędne:

  • arbitralny,
  • chronologiczny /kolejka/,
  • odwrotna chronologia /stos/,
  • mieszany.

Jeżeli rekord zostanie zadeklarowany jako podporządkowany kilku powiązaniom grupowym, to każdemu z nich można przypisać własny sposób porządkowania.

Tryb włączania rekordów podrzędnych:

  • automatyczny – nie ma możliwości wprowadzenia rekordu do bazy bez jego natychmiastowego przypisania do konkretnego właściciela;
  • ręczny - pozwala zapamiętać rekord podrzędny w bazie danych i nie uwzględniać go od razu w instancji relacji grupowej. Ta operacja jest później inicjowana przez użytkownika.

Tryb wyjątku.

Zwyczajowo wyróżnia się trzy klasy przynależności rekordów podrzędnych w relacjach grupowych:

  • Naprawił. Rekord podrzędny jest ściśle powiązany z rekordem właściciela i można go usunąć z relacji grupowej jedynie poprzez jego usunięcie. Gdy usuniesz rekord właściciela, wszystkie rekordy podrzędne zostaną automatycznie usunięte. W powyższym przykładzie stałe członkostwo zakłada relację grupową ZAWARCIA pomiędzy zapisami UMOWY i KLIENTA, ponieważ umowa nie może istnieć bez klienta.
  • Obowiązkowy. Możliwe jest przeniesienie rekordu podrzędnego na innego właściciela, ale nie może on istnieć bez właściciela. Aby usunąć rekord właściciela, nie może on mieć żadnych rekordów podrzędnych z wymaganym członkostwem. Rekordy „PRACOWNIK” i „DZIAŁ” są połączone tą relacją. W przypadku rozwiązania działu wszyscy jego pracownicy muszą zostać przeniesieni do innych działów lub zwolnieni.
  • Opcjonalny. Możesz wykluczyć rekord z relacji grupowej, ale zachować go w bazie danych bez przypisywania go innemu właścicielowi. Po usunięciu rekordu właściciela jego rekordy podrzędne – opcjonalni członkowie – pozostają w bazie danych i nie uczestniczą już w tego typu relacji grupowej. Przykładem takiego związku grupowego jest „PRACOWNIK” między „PRACOWNIKAMI” a „UMOWĄ”, ponieważ w organizacji mogą znajdować się pracownicy, których działalność nie jest związana z wypełnianiem jakichkolwiek zobowiązań umownych wobec klientów.

Operacje na danych w modelu sieciowej bazy danych

Dodać - dokonać zapisu w bazie danych i, w zależności od trybu włączenia, albo włączyć go w relację grupową, gdzie jest zadeklarowany jako podporządkowany, albo nie włączyć go do żadnej relacji grupowej.
Uwzględnij w relacji grupowej - powiązać istniejący rekord podrzędny z rekordem właściciela.
Przełącznik - powiązać istniejący rekord podrzędny z innym rekordem właściciela w tej samej relacji grupowej.
Aktualizacja - zmienić wartość elementów wcześniej wyodrębnionego rekordu.
Wyciąg - wyodrębniaj rekordy sekwencyjnie według wartości klucza, a także korzystając z relacji grupowych - możesz przejść od rekordu właściciela do rekordu członkowskiego i od rekordu podrzędnego do właściciela zbioru.
Usuwać - usunąć rekord z bazy danych. Jeżeli ten rekord jest właścicielem relacji grupowej, wówczas analizowana jest klasa członkostwa rekordów podrzędnych. Członkowie obowiązkowi muszą zostać najpierw wykluczeni z relacji grupowej, członkowie stali muszą zostać usunięci wraz z właścicielem, członkowie opcjonalni pozostaną w bazie danych.
Wyklucz z relacji grupowych - przerwać połączenie między rekordem właściciela a rekordem członka.

Ograniczenia integralności

Jak w model hierarchiczny Zapewnione jest jedynie zachowanie integralności referencyjnej (właściciel relacji jest członkiem relacji).

Zalety i wady wczesnych systemów DBMS

Zalety wczesnego DBMS:

  • zaawansowane sposoby zarządzania danymi w pamięci zewnętrznej na niskim poziomie;
  • możliwość ręcznego budowania efektywnych systemów aplikacyjnych;
  • możliwość oszczędzania pamięci poprzez separację podobiektów (w systemach sieciowych)

Wady wczesnego DBMS:

  • trudność użytkowania;
  • wysoki poziom wymagań dotyczących wiedzy na temat fizycznej organizacji bazy danych;
  • zależność systemów aplikacyjnych od fizycznej organizacji bazy danych;
  • przeciążanie logiki systemów aplikacyjnych szczegółami organizacji dostępu do bazy danych.

Zarówno hierarchiczne, jak i model danych sieciowych wymaga obecności wysoko wykwalifikowanych programistów. I nawet w takich przypadkach realizacja żądań użytkowników jest często opóźniona przez długi czas.

Obiektowy system zarządzania bazą danych

Pojawienie się obiektowych systemów zarządzania bazami danych spowodowane było potrzebami programistów języków OO, którzy potrzebowali narzędzi do przechowywania obiektów, które nie mieściły się w pamięci RAM komputera. Istotne było także zadanie zapisywania stanu obiektów pomiędzy wielokrotnymi uruchomieniami aplikacji. Dlatego większość OODBMS to biblioteki, których procedury zarządzania danymi są zawarte w programie użytkowym. Przykłady wdrożeń OODBMS jak serwer dedykowany bazy danych są niezwykle rzadkie.

Należy od razu zauważyć, że ogólnie przyjęta definicja „ obiektowy model danych„nie istnieje. Teraz możemy mówić tylko o pewnym „obiektowym” podejściu do logicznej reprezentacji danych i o różnych obiektowych sposobach jej realizacji.

Wiemy, że każdy model danych musi uwzględniać trzy aspekty: strukturalny, holistyczny i manipulacyjny. Zobaczmy, jak są one implementowane obiektowo paradygmaty programowania.

Struktura

Strukturę modelu obiektowego opisano za pomocą trzech kluczowych pojęć:

kapsułkowanie - każdy obiekt posiada pewien stan wewnętrzny (przechowuje w sobie zapis danych), a także zestaw metod - procedur, za pomocą których (i tylko w ten sposób) można uzyskać dostęp do danych określających stan wewnętrzny obiektu obiekt lub je zmień. Zatem przedmioty można uznać za niezależne byty, oddzielone od świata zewnętrznego;
dziedzictwo - implikuje możliwość tworzenia nowych klas obiektów z klas obiektów, które dziedziczą strukturę i metody swoich przodków, dodając do nich cechy odzwierciedlające ich własną indywidualność. Dziedziczenie może być proste (jeden przodek) lub wielokrotne (kilku przodków);
wielopostaciowość - różne obiekty mogą różnie reagować na te same zdarzenia zewnętrzne w zależności od tego, w jaki sposób zaimplementowano ich metody.

Integralność danych

Aby zachować integralność, podejście obiektowe sugeruje użycie następujących narzędzi:

  • automatyczne utrzymywanie relacji dziedziczenia, możliwość zadeklarowania niektórych pól danych i metod obiektu jako „ukrytych”, niewidocznych dla innych obiektów; takie pola i metody są wykorzystywane wyłącznie przez metody samego obiektu, tworząc procedury kontroli integralności w obrębie obiektu

Narzędzia manipulacji danymi

Niestety w programowaniu obiektowym brakuje powszechnych narzędzi do manipulacji danymi, takich jak algebra relacyjna czy rachunek relacyjny. Dane przetwarzane są przy użyciu jednego z obiektowych języków programowania ogólnego przeznaczenia, zwykle SmallTalk, C++ lub Java.

Podsumujmy teraz niektóre wyniki

Obiektowe bazy danych, w przeciwieństwie do relacyjnych, przechowują obiekty, a nie rekordy. Podejście obiektowe zapewnia bardziej zaawansowane sposoby reprezentowania świata rzeczywistego niż model relacyjny, będący naturalną reprezentacją danych. W modelu relacyjnym wszystkie relacje należą do tego samego poziomu, co komplikuje transformację hierarchicznych relacji modelu podmiot-relacja w model relacyjny. Model OO można oglądać warstwa po warstwie, na różnych poziomach abstrakcji. Można definiować nowe typy danych i operacje na nich.

W tym samym czasie OO - Model ma także szereg wad:

  • Nie ma skutecznych, nieproceduralnych sposobów pobierania obiektów z bazy danych. Wszystkie zapytania muszą być napisane w językach proceduralnych, problem ich optymalizacji jest przypisany programiście;
  • zamiast czysto deklaratywnego ograniczenia integralności(takie jak jawne deklarowanie kluczy podstawowych i obcych tabel relacyjnych za pomocą słów kluczowych GŁÓWNY KLUCZ I BIBLIOGRAFIA) lub półdeklaratywne wyzwalacze, musisz napisać kod proceduralny, aby zapewnić wewnętrzną integralność.

Oczywiście oba te niedociągnięcia wiążą się z brakiem rozwiniętych sposobów manipulacji danymi. Problem ten rozwiązuje się na dwa sposoby – rozszerzając języki OO w kierunku zarządzania danymi (standard ODMG), lub dodając właściwości obiektów do relacyjnych DBMS (SQL-3, a także tzw. obiektowo-relacyjnych DBMS).

Każda operacja obejmuje selekcję danych (selekcję) oraz akcje, które zostaną wykonane na wybranych danych. Główne operacje na relacyjnej bazie danych to operacje aktualizacji bazy danych i operacje przetwarzania relacji.

DO operacje aktualizacji bazy danych obejmują te operacje, które wstawiają nowe krotki, usuwają niepotrzebne i dostosowują wartości atrybutów istniejących krotek, a mianowicie: są to operacje Włączyć coś, Usuń, zaktualizuj.

Operacja Włączyć coś wymaga podania nazwy relacji i wstępnego wygenerowania wartości atrybutów nowej krotki. Należy określić klucz krotki.

Operacja Usuwać wymaga usunięcia nazwy relacji oraz identyfikacji krotki lub grupy krotek.

Operacja Aktualizacja jest wykonywana dla nazwanej relacji i może poprawić zarówno jedną, jak i kilka krotek. Na przykład, jeśli kierownictwo firmy zdecydowało się na podniesienie wynagrodzeń wszystkich pracowników o tę samą kwotę, wówczas w ramach jednej operacji aktualizacji zostanie skorygowanych kilka krotek na raz.

Dotyczący operacje przetwarzania, następnie są zapożyczone z algebry relacyjnej. Według podejścia E. Codda na algebrę relacyjną składa się osiem operacji, z których pięć ma charakter podstawowy: Próbka, Rzutowanie, mnożenie, sumowanie, odejmowanie.

Próbka- wybierz z relacji tylko te krotki, które spełniają podany warunek.

Na Projekcje względem danego zbioru jego atrybutów uzyskuje się nową relację, utworzoną poprzez wyodrębnienie z relacji pierwotnej krotek zawierających określone atrybuty.

Na Mnożenie(iloczyn kartezjański) dwóch relacji, otrzymuje się nową relację, której krotki są konkatenacją krotek pierwszej i drugiej relacji.

W rezultacie Wspomnienia dwóch relacji, uzyskuje się trzecią, obejmującą krotki zawarte w co najmniej jednej relacji, czyli zawierającą wszystkie elementy relacji pierwotnych.

Na Odejmowanie Zwracane są tylko te krotki pierwszej relacji, które pozostają po odjęciu drugiej relacji, to znaczy wszystkie krotki drugiej relacji są odrzucane z pierwszej relacji.

Pozostałe trzy operacje są pochodnymi, można je uzyskać z operacji głównych, nazywane są dodatkowymi: Połączenie, skrzyżowanie, Dział.

Operacja Mieszanina dotyczy dwóch relacji, które mają wspólny atrybut. Wynikiem tej operacji dla dwóch relacji pod pewnym warunkiem jest relacja krotek będących kombinacją pierwszej i drugiej relacji spełniającej podany warunek.

Skrzyżowanie dwie relacje to relacja obejmująca wszystkie krotki zawarte w obu relacjach.

Operacja Podziały zakłada, że ​​istnieją dwie relacje: jedna jest binarna (zawiera dwa atrybuty), druga jest unarna (zawiera jeden atrybut). Wynikiem jest relacja złożona z krotek, które zawierają wartości pierwszego atrybutu krotek pierwszej relacji, ale tylko te, dla których zbiór wartości drugiego atrybutu pierwszej relacji pokrywa się ze zbiorem wartości atrybutów drugiej relacji.

Charakterystyczną cechą operacji przetwarzania relacji jest to, że jednostką przetwarzania w nich nie są krotki, ale relacje: na wejściu każdej operacji używana jest jedna lub dwie relacje, a wynikiem operacji jest nowa relacja.

Przyjrzyjmy się bardziej szczegółowo niektórym z najczęściej używanych operacji algebry relacyjnej.

Operacja Stowarzyszenie- na wejściu podawane są dwie kompatybilne relacje o tym samym wymiarze: A i B. Wynikiem jest relacja o tej samej strukturze, zawierająca wszystkie krotki A i wszystkie krotki B

Skrzyżowanie zakłada obecność na wejściu dwóch relacji o tym samym wymiarze: A i B. Na wyjściu tworzona jest relacja o tej samej strukturze, zawierająca tylko te krotki A, które znajdują się w B.

Dział. Na wejściu operacji stosowane są dwie relacje: A i B. Niech relacja A, zwana podzielną, zawiera atrybuty (A 1, A 2, A 3,..., An n). Relacja B jest dzielnikiem i zawiera podzbiór atrybutów A: (A 1, A 2, ..., A k), gdzie k

Ogólnie rzecz biorąc, operacje relacyjnego modelu danych dają możliwość manipulowania relacjami, pozwalając na aktualizację bazy danych, a także wybieranie podzbiorów przechowywanych danych i prezentowanie ich w pożądanej formie.

Podczas projektowania i pracy z bazami danych te osiem operacji zwykle nie wystarcza. Dlatego dodawane są operacje takie jak zmiana nazwy atrybutów, tworzenie nowych obliczonych atrybutów, operacje przypisania, porównania itp.

Anomalie modyfikacyjne

Anomalie modyfikacyjne objawiają się tym, że zmiana wartości jednych danych może wiązać się ze przeskanowaniem całej tabeli i odpowiednią zmianą w niektórych innych rekordach tabeli.

Anomalie usuwania polega na tym, że gdy usuniesz jakiekolwiek dane z tabeli, mogą zniknąć także inne informacje, które nie są bezpośrednio związane z usuniętymi danymi.

Anomalie dodawania powstają w przypadkach, gdy nie można umieścić informacji w tabeli, dopóki nie są one niekompletne lub wprowadzenie nowego rekordu wymaga dodatkowego przeskanowania tabeli

Niech istnieje relacja przechowująca informacje o studentach, kursach, które uczęszczają i kosztach tych kursów. Z relacji tej usuwana jest krotka zawierająca (oprócz informacji o uczniu) informację o nazwie i koszcie kursu, w którym uczestniczy ten student. Jeżeli informacja o nazwie i koszcie kursu została zapisana w pojedynczym egzemplarzu tylko w tej krotce, to bezpowrotnie zniknie z relacji. Ta sytuacja nazywa się anomalia usuwania. Wykonanie operacji usuwania powoduje utratę informacji o dwóch podmiotach.

Tę samą zależność można zilustrować przykładem anomalia wstawiania. Załóżmy, że musimy dodać informacje o nazwie i koszcie określonego kursu, ale nie będziemy mogli dodać tych informacji, dopóki na kurs nie zapisze się żaden uczestnik. Obu anomalii możesz się pozbyć dzieląc istniejącą relację na dwie, z których każda będzie zawierała dane tylko z jednej encji. W takim przypadku usunięcie informacji o uczniu nie będzie miało wpływu na dane kursu.

Kiedy dzielisz związek na dwie części, pojawiają się również problemy. Na przykład, czy można zapisać studenta na kurs, który jeszcze nie istnieje? Problemy te należy rozwiązać poprzez omówienie zasad biznesowych. Jeśli reguły biznesowe wymagają, aby informacje o kursie i kosztach były dostępne w momencie zapisywania się studenta na ten kurs, zostanie przeprowadzone sprawdzenie, czy wymagany kurs istnieje w momencie zapisywania się studenta na kurs. Tego typu kontrole nazywane są ograniczenia integralności referencyjnej Lub ograniczenia integralności klucza obcego.

Integralność podmiotów -żadna wartość klucza podstawowego nie może zawierać wartości null.

Etapy projektowania:

Konceptualistyczny projektowanie – proces tworzenia bazy danych rozpoczyna się od analizy wymagań. Projektant na tym etapie rozwoju musi znaleźć odpowiedzi na pytania: jakie elementy danych należy przechowywać, kto będzie miał do nich dostęp i w jaki sposób. Powstaje model hiszpański. Informacje niezależne od aspektów fizycznych, docelowej bazy danych i języków programowania

Wartość logiczna - tworzona jest logiczna struktura bazy danych. W tym celu należy określić, w jaki sposób dane będą logicznie pogrupowane. Struktura bazy danych na tym etapie wyrażana jest w kategoriach obiektów aplikacji i relacji pomiędzy nimi. Zależy od docelowego systemu DBMS, sprawdzania redundancji, normalizacji.

Fizyczne - Logiczna struktura bazy danych jest przekształcana w strukturę fizyczną z uwzględnieniem aspektów wydajnościowych. Elementy danych na tym etapie otrzymują atrybuty i są definiowane jako kolumny w tabelach SZBD wybranych do realizacji bazy danych. Podstawowe relacje w organizacji plików i indeksów, ograniczenia integralności i środki bezpieczeństwa.

W razie czego - transakcje- niepodzielny skutek operacji przenoszących bazę danych z jednego stanu stabilnego do drugiego. Właściwości - atomowość (niepodzielność), spójność (z jednego stanu do drugiego), izolacja (transakcje użytkowników nie kolidują ze sobą), trwałość (wynik musi zostać zarejestrowany w bazie danych po wydaniu, nawet jeśli w następnej chwili ulegnie awarii) ).

Metoda relacji podmiot.

Metoda modelowania relacji podmiot-relacja podaje abstrakcyjny model dziedziny problemowej, wykorzystując następujące podstawowe pojęcia: istota(podmioty), relacje(związki) pomiędzy podmiotami i atrybuty(atrybuty) reprezentujące właściwości jednostek i relacji.

Dowolny fragment obszaru tematycznego można przedstawić jako zbiór podmiotów, pomiędzy którymi jest trochę wiele połączeń. Podajmy definicje:

Istota to przedmiot, który można zidentyfikować w sposób odróżniający go od innych obiektów. Przykłady: konkretna osoba, przedsiębiorstwo, wydarzenie itp.

Zestaw jednostek- zbiór bytów tego samego typu (posiadających te same właściwości). Przykłady: wszyscy ludzie, firmy, święta itp. Zbiory encji nie muszą być rozłączne. Na przykład byt należący do zbioru CZŁOWIEK należy również do zbioru LUDZIE.

Jednostka jest właściwie zbiorem atrybuty, które opisują właściwości wszystkich elementów danego zbioru jednostek. Domena był już wyższy.

Klucz jednostki- to jeden lub więcej atrybutów, które jednoznacznie definiują daną jednostkę.

Połączenie jest stowarzyszeniem utworzonym pomiędzy kilkoma podmiotami. Przykłady:

  • ponieważ każdy pracownik pracuje w jakimś dziale, istnieje relacja „pracuje w” lub DZIAŁ-PRACOWNIK pomiędzy jednostkami PRACOWNIK i DZIAŁ;

Niestety, nie ma ogólnych zasad określania, co jest uważane za byt, a co za relację. W omówionym powyżej przykładzie założyliśmy, że „prowadzenie” to połączenie. Możemy jednak rozważyć podmiot „menedżer”, który ma powiązania „zarządza” z podmiotem „dział” i „jest” z podmiotem „pracownik”.

Relacja może również mieć atrybuty. Na przykład dla relacji DEPARTMENT-EMPLOYEE można ustawić atrybut WORK_TERRENCE_IN_DEPARTMENT.

Rola podmiotu w relacji- funkcję, jaką pełni podmiot w danym połączeniu. Na przykład w relacji PARENT-DZIECKO jednostki OSOBA mogą mieć role „rodzic” i „dziecko”. Określenie ról w modelu podmiot-relacja jest opcjonalne i służy doprecyzowaniu semantyki relacji.

Zestaw połączeń- to jest związek pomiędzy N(I N nie mniej niż 2) podmioty, z których każdy należy do pewnego zbioru podmiotów.

Chociaż, ściśle rzecz biorąc, pojęcia „połączenie” i „zespół połączeń” są różne (pierwsze jest elementem drugiego), to jednak bardzo często są one mylone.

Gdy n=2, tj. kiedy relacja łączy dwa podmioty, nazywa się ją binarną. Udowodniono, że N-arny zestaw połączeń ( n>2) zawsze można zastąpić wieloma binarnymi, ale te pierwsze lepiej oddają semantykę obszaru tematycznego.

Liczba jednostek, które można powiązać poprzez zestaw połączeń z inną jednostką, nazywa się stopień połączenia. Uwzględnianie stopni jest szczególnie przydatne w przypadku relacji binarnych. Mogą istnieć następujące stopnie wiązań binarnych:

  • jeden do jednego (oznaczone 1: 1 ). Oznacza to, że w takiej relacji podmiotom posiadającym jedną rolę zawsze odpowiada co najwyżej jeden podmiot pełniący inną rolę.

Inną ważną cechą połączenia, poza jego stopniem, jest klasa członkostwa podmioty w nim zawarte lub kardynalność komunikacja.

„PRACOWNIK” ma obowiązkowa klasa członkostwa(na fakt ten wskazuje także wskazanie przedziału liczby możliwych wystąpień podmiotu w relacji, w tym przypadku jest to 1,1), a podmiot „DZIAŁ” ma opcjonalna klasa członkostwa(0,1). Teraz możemy opisać tę zależność jako 0,1:1,1 .

  • jeden za dużo ( 1: n). W tym przypadku podmiotowi posiadającemu jedną rolę może odpowiadać dowolna liczba podmiotów pełniących inną rolę.

Rysunek ten dodatkowo ilustruje fakt, że pomiędzy dwoma jednostkami można zdefiniować wiele zestawów relacji.

  • wiele do jednego ( n: 1). Ta relacja jest podobna do mapowania 1: n.

W tym przypadku z zupełnie oczywistych powodów (każda umowa zawierana jest z konkretnym klientem i każdy klient ma co najmniej jedną umowę, inaczej nie byłoby takiej) każdy podmiot ma obowiązkową klasę członkostwa.

  • wiele do wielu ( n: n). W tym przypadku każdy z powiązanych bytów może być reprezentowany przez dowolną liczbę instancji.

Jeżeli istnienie bytu x zależy od istnienia bytu y, to nazywa się x podmiot zależny(czasami byt x nazywany jest „słabym”, a „byt” y nazywany jest silnym). Jako przykład rozważmy relację pomiędzy wcześniej opisanymi podmiotami WORKING_GROUP i CONTRACT. Grupa robocza tworzona jest dopiero po podpisaniu umowy z klientem i przestaje istnieć po zakończeniu umowy. Następnie WORKING_GROUP jest zależna od jednostki CONTRACT. Podmiot zależny będziemy oznaczać podwójnym prostokątem, a jego połączenie z podmiotem silnym linią ze strzałką ( mieliśmy owal dla osoby zależnej)

Liczność połączenia dla silnego bytu zawsze będzie wynosić (1,1). Klasa członkostwa i stopień powiązania jednostki zależnej mogą być dowolne.

12. Hierarchiczne i sieciowe modele danych.

Model hierarchiczny to zbiór elementów ułożonych według kolejności ich podporządkowania od ogółu do szczegółu i tworzących drzewo (wykres) o odwróconej strukturze.

Podstawowe pojęcia struktury hierarchicznej obejmują poziom, węzeł i relację. Węzeł to zbiór atrybutów danych opisujących obiekt. Na diagramie drzewa hierarchicznego węzły są reprezentowane na wykresie jako wierzchołki. Każdy węzeł na niższym poziomie jest połączony tylko z jednym węzłem na wyższym poziomie. Drzewo hierarchiczne ma tylko jeden wierzchołek, niepodporządkowany żadnemu innemu wierzchołkowi i znajdujący się na najwyższym - pierwszym poziomie. Węzły zależne (podrzędne) znajdują się na drugim, trzecim itd. poziomie. Liczba drzew w bazie danych jest określana na podstawie liczby rekordów korzeni. Dla każdego rekordu bazy danych istnieje tylko jedna ścieżka hierarchiczna od rekordu głównego.

Organizację danych w hierarchicznym systemie DBMS definiuje się w kategoriach: element, agregat, rekord (grupa), relacja grupowa, baza danych.

  • Atrybut (element danych)- najmniejsza jednostka struktury danych. Zwykle każdemu elementowi opisu bazy danych nadawana jest unikalna nazwa. Podczas przetwarzania określa się go tą nazwą. Element danych jest często nazywany także polem.
  • Nagrywać- nazwany zbiór atrybutów. Korzystanie z rekordów pozwala na uzyskanie pewnego logicznie powiązanego zbioru danych w jednym dostępie do bazy danych. To właśnie rekordy są zmieniane, dodawane i usuwane. Typ rekordu zależy od składu jego atrybutów. Instancja rekordu - konkretny rekord z określoną wartością elementu
  • Postawa grupowa- hierarchiczna relacja pomiędzy rekordami dwóch typów. Rekord nadrzędny (właściciel relacji grupowej) nazywany jest rekordem źródłowym, a rekordy podrzędne (członkowie relacji grupowej) nazywane są rekordami podrzędnymi. Hierarchiczna baza danych może przechowywać tylko takie struktury drzewiaste.

Rekord główny każdego drzewa musi zawierać klucz o unikalnej wartości. Klucze rekordów innych niż główne muszą mieć unikalną wartość tylko w ramach relacji grupowej. Każdy rekord jest identyfikowany przez kompletny, połączony klucz, który jest zestawem kluczy wszystkich rekordów od korzenia wzdłuż ścieżki hierarchicznej.

W formie graficznej relacje grupowe są reprezentowane przez łuki grafu skierowanego, a typy rekordów są reprezentowane przez wierzchołki.

Dla relacji grupowych w modelu hierarchicznym dostępny jest tryb automatycznego włączania i stałe członkostwo. Oznacza to, że aby jakikolwiek rekord inny niż główny został zapamiętany w bazie danych, musi istnieć jego rekord nadrzędny. Kiedy rekord nadrzędny zostanie usunięty, wszystkie rekordy podrzędne zostaną automatycznie usunięte.

Przykład: Przedsiębiorstwo składa się z działów, w których pracują pracownicy. Każdy dział może mieć wielu pracowników, ale jeden pracownik nie może pracować w więcej niż jednym dziale.

Dlatego w przypadku systemu informacyjnego zarządzania personelem konieczne jest utworzenie relacji grupowej składającej się z rekordu nadrzędnego DZIAŁ (NAZWA DZIAŁU, LICZBA PRACOWNIKÓW) i rekordu podrzędnego PRACOWNIK (NAZWISKO, STANOWISKO, WYNAGRODZENIE). (Dla uproszczenia zakładamy, że istnieją tylko dwa rekordy podrzędne.) - ryż a (dalej)

Aby zautomatyzować rozliczanie umów z klientami, konieczne jest utworzenie kolejnej hierarchicznej struktury: klient - umowy z nim - pracownicy zaangażowani w pracę nad umową. W drzewie tym znajdą się rekordy KLIENT(NAZWA_KLIENTA, ADRES), UMOWA(NUMER, DATA, KWOTA), WYKONAWCA (NAZWISKO, STANOWISKO, NAZWA_DZIAŁU) - rys. B.

Wady hierarchiczne bazy danych:

  • Informacje pomiędzy rekordami są częściowo zduplikowane (takie rekordy nazywane są sparowanymi), a hierarchiczny model danych nie zapewnia wsparcia dla korespondencji pomiędzy sparowanymi rekordami.
  • Model hierarchiczny realizuje relację pomiędzy rekordami źródłowymi i podrzędnymi według schematu 1:N, czyli jednemu rekordowi nadrzędnemu może odpowiadać dowolna liczba rekordów podrzędnych. Załóżmy teraz, że wykonawca może brać udział w więcej niż jednym kontrakcie (tj. powstaje relacja typu M:N). W takim przypadku konieczne jest wprowadzenie do bazy kolejnej relacji grupowej, w której zapisem oryginalnym będzie WYKONAWCA, a zapisem KONTRAKT – potomkiem. Tym samym ponownie zmuszeni jesteśmy powielić informację (rysunek C).
  • dość złożone powiązania logiczne i związana z tym uciążliwość w przetwarzaniu danych

Zalety:

Najprostszy to w miarę efektywne wykorzystanie pamięci i dobra wydajność czasowa przy wykonywaniu operacji na danych. Jednak model ten jest wygodny głównie do pracy z informacjami zorganizowanymi hierarchicznie.

Operacje na danych zdefiniowanych w modelu hierarchicznym:

  • DODAĆ nowy wpis do bazy. Dla rekordu głównego konieczne jest wygenerowanie wartości klucza.
  • ZMIANA wartość danych poprzednio pobranego rekordu. Kluczowych danych nie należy zmieniać.
  • USUWAĆ jakiś zapis i wszystkie rekordy mu podporządkowane.
  • WYCIĄG:
    • wyodrębnij rekord główny według wartości klucza; dozwolone jest także sekwencyjne przeglądanie rekordów głównych
    • pobierz następny rekord (następny rekord zostanie pobrany w kolejności przechodzenia w lewo)

W operacji WYCIĄG możliwe jest określenie warunków selekcji.

Wszystkie operacje modyfikacyjne dotyczą tylko jednego „bieżącego” rekordu (który został wcześniej pobrany z bazy). Takie podejście do manipulacji danymi nazywa się „nawigacyjnym”.

Ograniczenia integralności.

Zachowana jest jedynie integralność relacji pomiędzy właścicielami a członkami relacji grupowej (żaden potomek nie może istnieć bez przodka). Zgodność sparowanych rekordów należących do różnych hierarchii nie jest zachowywana automatycznie.

Pierwsze systemy zarządzania bazami danych, które pojawiły się w połowie lat 60. XX wieku, umożliwiły pracę z hierarchiczną bazą danych. Najbardziej znanym był hierarchiczny system IMS firmy IBM. Znane są także inne systemy: PC/Focus, Team-Up, Data Edge oraz nasze: Oka, INES, MIRIS.

Sieciowy model danych.

Model sieciowy- struktura, w której dowolny element można powiązać z dowolnym innym elementem Sieciowa baza danych składa się ze zbiorów rekordów, które są ze sobą powiązane w taki sposób, że rekordy mogą zawierać wyraźne powiązania z innymi zbiorami rekordów. Zatem zestawy rekordów tworzą sieć. Relacje między rekordami mogą być dowolne, a relacje te są wyraźnie obecne i przechowywane w bazie danych.

Model danych sieciowych definiuje się w ten sam sposób, co model hierarchiczny. Składa się z wielu rekordów, które mogą być właścicielami lub członkami relacji grupowej. Relacja pomiędzy rekordem właściciela a rekordem członka również ma taką formę 1: N.

Główna różnica między tymi modelami polega na tym, że w modelu sieciowym członkiem może być rekord więcej niż jeden związek grupowy. Zgodnie z tym modelem każda relacja grupowa ma swoją nazwę i dokonuje się rozróżnienia pomiędzy jej typem i instancją. Typ relacji grupowej jest określony przez jego nazwę i definiuje właściwości wspólne dla wszystkich instancji tego typu. Instancja relacji grupowej jest reprezentowana przez rekord właściciela i zestaw (prawdopodobnie pustych) rekordów podrzędnych. Istnieje jednak następujące ograniczenie: instancja rekordu nie może być członkiem dwóch instancji relacji grupowych tego samego typu (pracownik nie może pracować w dwóch działach)

Hierarchiczna struktura z powyższego obrazka. jest konwertowany do sieci w następujący sposób

Drzewa (a) i (b) zostały zastąpione pojedynczą strukturą sieciową, w której wpis PRACOWNIK jest zawarty w dwóch relacjach grupowych; aby wyświetlić typ M:N należy wprowadzić rekord EMPLOYEE_CONTRACT, który nie posiada pól i służy jedynie do powiązania rekordów CONTRACT i EMPLOYEE

Każdy przypadek relacji grupowej charakteryzuje się następującymi cechami:

  • sposób organizowania rekordów podrzędnych:

arbitralny,

chronologiczny /kolejka/,

odwrotna chronologia /stos/,

mieszany.

Jeżeli rekord zostanie zadeklarowany jako podporządkowany kilku powiązaniom grupowym, to każdemu z nich można przypisać własny sposób porządkowania.

  • tryb włączania rekordów podrzędnych:

automatyczny – nie ma możliwości wprowadzenia rekordu do bazy bez jego natychmiastowego przypisania do konkretnego właściciela;

ręczny - pozwala zapamiętać rekord podrzędny w bazie danych i nie uwzględniać go od razu w instancji relacji grupowej. Ta operacja jest później inicjowana przez użytkownika).

  • tryb wyjątku Zwyczajowo wyróżnia się trzy klasy przynależności rekordów podrzędnych w relacjach grupowych:

Naprawił. Rekord podrzędny jest ściśle powiązany z rekordem właściciela i można go usunąć z relacji grupowej jedynie poprzez jego usunięcie. Gdy usuniesz rekord właściciela, wszystkie rekordy podrzędne zostaną automatycznie usunięte. W przykładzie stałe członkostwo zakłada relację grupową „ZAKONUJE” pomiędzy zapisami „UMOWA” i „KLIENT”, ponieważ umowa nie może istnieć bez klienta.

Obowiązkowy. Możliwe jest przeniesienie rekordu podrzędnego na innego właściciela, ale nie może on istnieć bez właściciela. Aby usunąć rekord właściciela, nie może on mieć żadnych rekordów podrzędnych z wymaganym członkostwem. Rekordy „PRACOWNIK” i „DZIAŁ” są połączone tą relacją. W przypadku rozwiązania działu wszyscy jego pracownicy muszą zostać przeniesieni do innych działów lub zwolnieni.

Opcjonalny. Możesz wykluczyć rekord z relacji grupowej, ale zachować go w bazie danych bez przypisywania go innemu właścicielowi. Po usunięciu rekordu właściciela jego rekordy podrzędne – opcjonalni członkowie – pozostają w bazie danych i nie uczestniczą już w tego typu relacji grupowej. Przykładem takiego związku grupowego jest „PERFORM” pomiędzy „PRACOWNIKAMI” a „UMOWĄ”, ponieważ organizacja może zatrudniać pracowników, których działalność nie jest związana z wypełnianiem jakichkolwiek zobowiązań umownych wobec klientów.

Operacje na danych.

DODAĆ- dokonać zapisu w bazie danych i, w zależności od trybu włączenia, albo włączyć go w relację grupową, gdzie jest zadeklarowany jako podporządkowany, albo nie włączyć go do żadnej relacji grupowej.

WŁĄCZAJ SIĘ W RELACJE GRUPOWE- powiązać istniejący rekord podrzędny z rekordem właściciela.

PRZEŁĄCZNIK- powiązać istniejący rekord podrzędny z innym rekordem właściciela w tej samej relacji grupowej.

AKTUALIZACJA- zmienić wartość elementów wcześniej wyodrębnionego rekordu.

WYCIĄG- wyodrębniaj rekordy sekwencyjnie według wartości klucza, a także korzystając z relacji grupowych - możesz przejść od rekordu właściciela do rekordu członkowskiego i od rekordu podrzędnego do właściciela zbioru.

USUWAĆ- usunąć rekord z bazy danych. Jeżeli ten rekord jest właścicielem relacji grupowej, wówczas analizowana jest klasa członkostwa rekordów podrzędnych. Członkowie obowiązkowi muszą zostać najpierw wykluczeni z relacji grupowej, członkowie stali muszą zostać usunięci wraz z właścicielem, członkowie opcjonalni pozostaną w bazie danych.
WYKLUCZ Z RELACJI GRUPOWYCH- przerwać połączenie między rekordem właściciela a rekordem członka.

Ograniczenia integralności.

Podobnie jak w modelu hierarchicznym zapewnione jest jedynie zachowanie integralności referencyjnej (właściciel relacji jest członkiem relacji).

Podstawy godność model sieciowy charakteryzuje się wysoką wydajnością i wydajnością pamięci. Wada– złożoność i sztywność schematu bazowego, a także trudność w zrozumieniu. Ponadto w tym modelu kontrola integralności jest osłabiona, ponieważ umożliwia ustanawianie dowolnych połączeń między rekordami. Złożoność wdrożenia DBMS, złożoność mechanizmu dostępu do danych i konieczność jasnego zdefiniowania połączeń danych na poziomie fizycznym

Do znanych systemów zarządzania sieciowymi bazami danych obejmują: DBMS, IDMS, TOTAL, VISTA, NETWORK, SETOR, COMPASS itp.

Porównując hierarchiczne i sieciowe bazy danych, możemy powiedzieć, co następuje. Ogólnie rzecz biorąc, modele hierarchiczne i sieciowe zapewniają dość szybki dostęp do danych. Ponieważ jednak w bazach sieciowych główna struktura prezentacji informacji ma postać sieci, w której każdy wierzchołek (węzeł) może mieć połączenie z dowolnym innym, to dane w bazie sieciowej są bardziej równe niż w bazie hierarchicznej, ponieważ dostęp do informacji można przeprowadzić zaczynając od dowolnego węzła.

Modele grafowe (hierarchiczne i sieciowe) implementowane są jako modele danych w systemach zarządzania bazami danych działających na komputerach typu mainframe. W przypadku komputerów osobistych bardziej powszechne są relacyjne bazy danych, chociaż istnieją również systemy zarządzania bazami danych obsługujące model sieciowy.