Podstawowe modele baz danych. Modele baz danych

Każda baza danych odzwierciedla informacje o konkretnym Tematyka. W zależności od poziomu abstrakcji, na którym reprezentowany jest dany obszar tematyczny, istnieją różne poziomy modele danych. Pod model informacyjny dane odnoszą się do sposobu opisu informacji zawartych w obszarze tematycznym. Poniżej zostaną rozważone modele danych strukturalnych. W przypadku tych modeli wyróżnia się cztery główne poziomy modeli: infologiczny (pojęciowy), datalogiczny lub logiczny, fizyczny oraz poziom modeli zewnętrznych.

Na pierwszym poziomie opis obszaru tematycznego jest konstruowany tak, aby był jak najbardziej ogólny, nie zależał od cech wybranego później SZBD, a informacja była dostępna dla szerokiej kategorii użytkowników: od klientów po programiści systemowi kto zaprojektuje bazę danych w oparciu o ten model. W tym celu wstępne informacje dotyczące obszaru tematycznego są analizowane i przedstawiane w jakiejś sformalizowanej formie. Ten sformalizowany opis obszaru tematycznego powinien odzwierciedlać jego specyfikę i być stosowany na kolejnych etapach projektowania struktury bazy danych w kontekście cech wybranego konkretnego SZBD. Taki sformalizowany opis obszaru tematycznego nazywany jest modelem infologicznym lub konceptualnym.

Następnie budowany jest model pod kątem konkretnego systemu DBMS wybranego do projektowania bazy danych. Poziom ten nazywany jest modelem datalogicznym (logicznym). Opis struktury datalogicznej bazy danych w języku wybranego SZBD nazywany jest jej schematem.

Następny poziom to model fizyczny dane. W ramach tego modelu określane są metody fizycznego umieszczania danych w środowisku pamięci masowej oraz opracowywany jest tzw. schemat przechowywania danych. Ponieważ różne systemy DBMS mają różne możliwości i cechy fizycznej organizacji danych, zatem modelowanie fizyczne przeprowadzono dopiero po opracowaniu modelu datalogicznego.

Wiersz nowoczesny system DBMS posiadać umiejętność opisu struktury bazy danych z punktu widzenia konkretnego użytkownika. Opis ten nazywa się model zewnętrzny. Dla każdego typu użytkownika modelowanie zewnętrzne pozwala na opracowanie podschematu bazy danych w oparciu o potrzeby różnych kategorii użytkowników. Takie podejście jest wygodne z punktu widzenia ułatwienia pracy użytkowników z bazą danych, gdyż użytkownik, nie znając całej struktury bazy danych, może pracować tylko z tą jej częścią, która jest z nim bezpośrednio związana. Ponadto służy mechanizm tworzenia podobwodów dodatkowe środki ochrona informacji przechowywanych w bazie danych.

Zatem, jeśli SZBD obsługuje możliwość tworzenia podschematów, wówczas architektura bazy danych staje się trójpoziomowa: poziom schematu przechowywania, poziom schematu i poziom podschematu.

Rozważmy teraz główne typy modeli danych.

Hierarchiczny model bazy danych jest jednym z pierwszych modeli baz danych. Wynika to przede wszystkim z faktu, że to właśnie ten model w najbardziej naturalny sposób odzwierciedla wielokrotne powiązania między obiektami świata rzeczywistego, gdy jeden obiekt pełni rolę rodzica, z którym powiązana jest duża liczba obiektów podrzędnych.

Zasada hierarchicznego modelu bazy danych polega na tym, że wszystkie powiązania między danymi opisuje się poprzez konstrukcję uporządkowanego wykresu (drzewa). Drzewo uporządkowane jest według hierarchii zbiorów elementów zwanych węzłami. Wszystkie węzły są połączone ze sobą gałęziami. W tym przypadku do opisu schematu hierarchicznej bazy danych stosuje się pojęcie „drzewa” jako specyficznego typu danych. Ten typ danych jest złożony i może zawierać podtypy lub poddrzewa. Baza danych to zbiór drzew, z których każde w języku modelu hierarchicznego nazywane jest fizyczną bazą danych. Każde drzewo składa się z pojedynczego typu głównego (głównego, nadrzędnego) i powiązanego z nim uporządkowanego zestawu typów podrzędnych (podrzędnych). Typ główny to taki, który ma podtypy i nie ma typów nadrzędnych. Typy podrzędne, które mają ten sam typ nadrzędny, nazywane są bliźniakami. Każdy z typów podrzędnych dla danego typu głównego może być prosty lub typ kompozytowy"nagrywać".

Istnieją trzy rodzaje drzew – drzewa zrównoważone, niezrównoważone i drzewa binarne. W zrównoważonym drzewie każdy węzeł ma taką samą liczbę gałęzi. Ten typ organizacji danych jest fizycznie najprostszy, ale często struktura logiczna dane wymagają zmiennej liczby gałęzi w każdym węźle, co odpowiada niezrównoważonemu drzewu. Drzewa binarne dopuszczają co najwyżej dwie gałęzie na węzeł.

Zatem hierarchiczny model bazy danych można interpretować jako uporządkowany zbiór instancji drzewa, z których każda zawiera instancje rekordów. Rzeczywista zawartość bazy danych przechowywana jest w polach rekordów. Pole rekordu definiuje się jako najmniejszą, niepodzielną jednostkę danych.

Budując hierarchiczny model bazy danych, należy zawsze pamiętać o zapewnieniu integralności relacji, co oznacza, że:

  • - zawsze dostępne co najmniej jeden typ nadrzędny, który może mieć dowolną liczbę typów potomnych;
  • - typy potomne nie mogą istnieć bez obecności typu nadrzędnego, a dla każdego typu podrzędnego w bazie danych istnieje jedna warstwa główna;
  • - typ główny niekoniecznie ma typy podrzędne.

Należy zauważyć, że w niektórych oznaczeniach można stosować inną terminologię. Zatem w notacji American Database Association DBTG (Data Base Task Group) termin „rekord” odpowiada terminowi „segment”, a rekord to cały zbiór rekordów należących do jednej instancji „drzewa” typ.

Główną zaletą hierarchicznego modelu bazy danych jest względność wysoka prędkość przetwarzanie informacji podczas uzyskiwania dostępu do danych. Wady obejmują jego uciążliwość w obecności złożonych logicznych powiązań między danymi.

Model sieciowej bazy danych jest w pewnym sensie uogólnieniem modelu hierarchicznego. Główna różnica między modelem sieciowym a modelem hierarchicznym polega na tym, że w modelu sieciowym typ podrzędny może mieć dowolną liczbę typów nadrzędnych. Główne pojęcia modelu sieci to zbiór, agregat, zapis i element danych. Poniżej elementu danych w w tym przypadku powinno oznaczać to samo, co w modelu hierarchicznym - minimalna jednostka dane. Istnieją dwa typy agregatów danych: agregat wektorowy i agregat grup powtarzalnych. Agregat typu wektor odpowiada zbiorowi elementów danych. Agregat typu grupa powtarzalna odpowiada zbiorowi wektorów danych. Rekord to zbiór agregatów danych. Każdy rekord ma określony typ i składa się z kolekcji instancji rekordów. Zbiór to graf łączący dwa typy rekordów. Zatem zbiór odzwierciedla hierarchiczną relację pomiędzy obydwoma typami rekordów. Wpisz rekord nadrzędny ten zestaw nazywany jest właścicielem zestawu, a typ rekordu podrzędnego nazywany jest elementem tego samego zestawu. Dla dowolnych dwóch typów rekordów można określić dowolną liczbę zestawów je łączących. W tym przypadku można rozróżnić pomiędzy obydwoma rodzajami zapisów inna ilość zestawy. Jednak ten sam typ rekordu nie może być jednocześnie właścicielem i członkiem zestawu.

Niewątpliwą zaletą sieciowego modelu danych jest możliwość bardziej elastycznego wyświetlania wielokrotnych połączeń pomiędzy obiektami. Jeden z najbardziej istotne niedociągnięcia polega na dużej złożoności schematu budowy bazy danych, którą pogłębia osłabienie kontroli nad integralnością połączeń ze względu na ich dużą liczbę.

Relacyjny model danych opiera się na koncepcji relacji, która jest dwuwymiarową tabelą zawierającą wiele wierszy (krotek) i kolumn (pól lub atrybutów). Tabela odpowiada konkretnemu obiektowi z obszaru tematycznego, jej pola opisują właściwość tego obiektu i ciągi znaków są konkretnymi instancjami obiektu. Każda relacja musi zawsze zawierać atrybut lub zestaw atrybutów, który jednoznacznie identyfikuje jedyną krotkę tej relacji - główny klucz. Aby odzwierciedlić relacje między obiektami, tabele są łączone według określonych zasad za pomocą tzw. kluczy obcych, co zostanie szczegółowo omówione w kolejnych podrozdziałach.

Główną zaletą modelu relacyjnego jest jego prostota i logiczne zamknięcie, wadą natomiast jest złożoność systemu opisu różne połączenia między stołami.

Rozwój modelu relacyjnego doprowadził do powstania tzw. postrelacyjnego modelu danych, którego główną różnicą jest dopuszczalność pól wielowartościowych (pól, których wartości składają się z wielu podwartości). Pola wielowartościowe można interpretować jako niezależne tabele osadzone w tabeli źródłowej. Ponadto model postrelacyjny obsługuje wiele powiązanych pól, które razem tworzą powiązanie: w każdym wierszu pierwsza wartość jednej kolumny asocjacji odpowiada pierwszym wartościom wszystkich pozostałych kolumn asocjacji.

Główną zaletą modelu postrelacyjnego jest to, że pozwala on na efektywniejsze przechowywanie danych, a liczba tabel w tym modelu jest zauważalnie mniejsza w porównaniu do modelu relacyjnego. Wadą jest to, że trudno jest zachować logiczną spójność danych.

Aktywnie rozwija się teoria wielowymiarowych modeli danych Ostatnio. Pojęcie modelu wielowymiarowego oznacza wielowymiarowość logicznej reprezentacji struktury informacji. Główne pojęcia modelu wielowymiarowego to wymiar i komórka.

Wymiar to zbiór danych tego samego typu, który tworzy ścianę n-wymiarowego sześcianu. Komórka to pole, którego wartość wyznacza cały zbiór pomiarów. Wartość komórki może być zmienną lub formułą.

Pracować z modele wielowymiarowe danych stosuje się specjalne wielowymiarowe SZBD, które opierają się na koncepcjach agregowalności, historyczności i przewidywalności. Agregowalność danych odnosi się do różnych poziomów uogólnienia informacji. Historyczność danych oznacza wysoki poziom statyczny charakter zarówno samych danych, jak i powiązań między nimi, a także uporządkowanie danych w czasie podczas ich przetwarzania i prezentacji użytkownikom. Zapewnienie przewidywalności jest określane za pomocą funkcje specjalne prognozowanie.

Wielowymiarowe systemy DBMS wykorzystują dwa schematy organizacji danych - wielosześcienny i hipersześcienny. W modelu polisześciennym n-wymiarowe kostki mogą mieć jedno i drugie różne wymiary i różne wymiary-twarze. W modelu hipersześciennym wszystkie wymiary kostek są takie same, a wymiary różnych kostek są takie same.

Plasterek to pewien podzbiór n-wymiarowego sześcianu, zdefiniowany poprzez ustalenie danej liczby wymiarów. Plasterek ma wymiar mniejszy niż n i służy w szczególności do prezentacji użytkownikom informacji w postaci czytelnych dwuwymiarowych tabel. Obrót jest również często używany do reprezentowania danych w dwóch wymiarach i wiąże się ze zmianą kolejności wymiarów. Operacje agregacji i drążenia oznaczają bardziej ogólną lub bardziej szczegółową prezentację informacji.

Wielowymiarowe modele danych są szczególnie wygodne w pracy z dużymi bazami danych, gdyż pozwalają na efektywne przetwarzanie znacznych ilości informacji, co jest ich niewątpliwą zaletą.

Główną różnicą pomiędzy modelem obiektowym a omówionymi powyżej jest zastosowanie obiektowych metod manipulacji danymi – enkapsulacji, dziedziczenia i poliformizmu.

Hermetyzacja oznacza zdolność różnicowania dostępu różne programy, aplikacji, metod i funkcji (w szerszym znaczeniu i dostępu różnych kategorii użytkowników) do różnych właściwości obiektów danych. W kontekście terminu „hermetyzacja” często używa się pojęcia widzialności – stopnia dostępności poszczególnych właściwości obiektu. Nowoczesne systemy programowania obiektowego (takie jak Delphi czy C++ Builder) posiadają kolejne poziomy enkapsulacja (widoczność), które zwykle nazywane są sekcjami:

  • 1. Sekcje Publiczne, Publiczne i Zautomatyzowane - z drobnymi cechy charakterystyczne właściwości obiektu opisane jako należące do tych sekcji są w pełni dostępne.
  • 2. Sekcja prywatna – ta sekcja nakłada najsurowsze ograniczenia na widoczność właściwości obiektu. Z reguły takie właściwości są dostępne tylko dla właściciela tego obiektu ( moduł oprogramowania, w którym ten obiekt został utworzony).
  • 3. Sekcja chroniona – w odróżnieniu od sekcji Prywatne, właściwości obiektu stają się dostępne dla spadkobierców właściciela obiektu.

W przeciwieństwie do enkapsulacji, dziedziczenie polega na całkowitym przeniesieniu wszystkich właściwości obiektu nadrzędnego na obiekty podrzędne. W razie potrzeby dziedziczenie właściwości jednego obiektu można rozszerzyć na obiekty niebędące jego dziećmi.

Polimorfizm oznacza zdolność tej samej aplikacji do manipulowania danymi różne rodzaje- aplikacje (metody, procedury i funkcje) przetwarzające obiekty różne rodzaje, może mieć tę samą nazwę.

Główną zaletą modeli obiektowych jest możliwość modelowania różnorodnych złożonych relacji pomiędzy obiektami.

Dane w bazach danych zorganizowane są według jednego z modeli danych.

Za pomocą modelu danych można przedstawić obiekty dziedzinowe i relacje między nimi. To. Podstawą każdej bazy danych jest model danych.

Model danych - zbiór struktur danych i operacji służących do ich przetwarzania.

DO klasyczne modele Reprezentacje danych obejmują hierarchiczną, sieciową i relacyjną. Hierarchiczne i sieciowe modele danych zaczęto stosować w systemach zarządzania bazami danych na początku lat 60-tych. Na początku lat 70-tych zaproponowano model relacyjny dane. Te trzy modele różnią się głównie sposobem przedstawiania relacji między obiektami.

Podstawowe modele prezentacji danych:

1. Hierarchiczny reprezentuje model danych wyświetlacze informacyjne obiekty świata rzeczywistego – byty i ich powiązania w formie Kierowany wykres lub drewno (ryc. 2). Węzły i gałęzie tworzą hierarchiczną strukturę drzewa. Węzeł to zbiór atrybutów opisujących obiekt. Najwyższy węzeł w hierarchii nazywany jest węzłem głównym (tzn główny typ obiekt). Węzeł główny znajduje się na pierwszym poziomie. Węzły zależne (podrzędne typy obiektów) znajdują się na drugim, trzecim i innych poziomach. W takim modelu każdy obiekt ma tylko jedno źródło (z wyjątkiem obiektu głównego), ale w zasadzie może być ich kilka zależnych (dzieci).

Ryc. 17. Hierarchiczna struktura modelu

Rozgałęzienia pomiędzy obiektami odzwierciedlają obecność jakiegoś związku, a na krawędzi wypisana jest nazwa związku. Przykładowo pomiędzy obiektami „klient” i „zamówienie” może istnieć relacja zwana „robi”, a pomiędzy „zamówieniem” a „produktami” może istnieć relacja zwana „składa się z”. Model ten odzwierciedla powiązania pionowe, podporządkowanie dolnego poziomu wyższemu, czyli tzw. Każdy rekord bazy danych ma tylko jedną (hierarchiczną) ścieżkę prowadzącą do rekordu głównego.

Przykładem takiego modelu może być baza danych zawierająca informacje o uczelni (na przykładzie Państwowej Akademii Rolniczej BelState)

2. Model sieciowy – jest rozwinięciem modelu hierarchicznego , Natomiast istnieją połączenia poziome (ryc. 3). W tym modelu danych dowolny obiekt może być zarówno obiektem głównym, jak i podrzędnym. Strukturę nazywamy siecią, jeśli w relacjach pomiędzy danymi wygenerowany element ma więcej niż jeden element nadrzędny. Model sieciowy daje większe możliwości w porównaniu do modelu hierarchicznego, jest jednak trudniejszy do wdrożenia i wykorzystania. Przykładem może być struktura bazy danych zawierającej informacje o studentach biorących udział w pracach badawczych. Możliwe jest uczestnictwo jednego studenta w kilku tematach, a także kilku uczniów w opracowaniu jednego tematu.

Ryż. 18. Reprezentacja połączeń w modelu sieci

3. Model relacyjny. Koncepcja relacyjnego modelu danych (z języka angielskiego relacja) jest związana z rozwojem Ericha Codda. Model ten charakteryzuje się prostą strukturą danych, przyjazną dla użytkownika prezentacja tabelaryczna oraz umiejętność wykorzystania aparatu algebry relacyjnej do przetwarzania danych.


Model relacyjny koncentruje się na organizowaniu danych w postaci dwuwymiarowych tabel połączonych pewnymi relacjami.

Tabela relacyjna ma następujące elementy nieruchomości :

ü tabela musi mieć nazwę;

ü każdy element tabeli jest jednym elementem danych;

ü wszystkie kolumny w tabeli są jednorodne, tj. mają wszystkie elementy w kolumnie taki sam typ(numeryczny, znakowy lub inny) i długość;

ü każda kolumna ma unikalna nazwa;

ü w tabeli nie ma identycznych wierszy;

ü kolejność wierszy i kolumn może być dowolna;

ü tabela powinna być prosta, tj. nie zawierają kolumn złożonych;

Klucz podstawowy musi być znany.

Tabela relacyjnej bazy danych składa się z określonej liczby rekordów tego samego typu, czyli krotek. Słowo „ten sam typ” oznacza, że ​​wszystkie rekordy mają ten sam zestaw atrybutów lub pól, chociaż każdy atrybut może mieć swoją własną wartość.

Rozważ tabelę zawierającą dane o pracownikach przedsiębiorstwa

Istnieje wiele sposobów implementacji elementarnych jednostek danych, dlatego znane są różnorodne modele danych. Model danych zapewnia zasady jego strukturyzowania. Z reguły operacje na danych związane są z ich strukturą. Odmiany istniejące modele dane odpowiadają różnym aplikacjom i preferencjom użytkownika.

Do reprezentacji danych wykorzystywane są modele bazujące na formach reprezentacji informacji. Takie modele nazywane są syntaktyczny.

W literaturze specjalistycznej znajduje się opis dość duża ilość modele danych. Powszechnie stosowane są metody hierarchiczne, sieciowe i relacyjne. Oprócz nich do najbardziej znanych zalicza się model binarny i sieć semantyczna.

Za oparty na nim uważa się klasyczny, najdłużej używany model danych struktura hierarchiczna rodzaj drewna(fragment pokazano na ryc. 10). Często stosowany jest również model „uporządkowanego drzewa”, w którym istotna jest względna kolejność poddrzew. W takim modelu każda kolejna jednostka informacji jest powiązana tylko z jedną poprzednią, a poprzednie można powiązać z kilkoma kolejnymi.


Sieciowy model danych opiera się na reprezentacji informacji, z którą można powiązać jedną informację Jakikolwiek numer inne (ryc. 11).


Relacyjny model danych oparte na metody tabelaryczne oraz sposoby prezentacji danych i manipulowania nimi. W takim modelu informacja o obszarze tematycznym prezentowana jest w tabeli zwanej „relacją” (rys. 12). Wiersz w takiej tabeli nazywa się krotką, a kolumna nazywa się atrybutem. Każdy atrybut może przyjmować podzbiór wartości z określonego obszaru – domeny.

Zdecydowana większość systemów DBMS skupiała się na komputery osobiste, to systemy zbudowane w oparciu o relacyjny model danych – relacyjny DBMS.

Binarny model danych to model grafu, w którym wierzchołki odzwierciedlają reprezentacje prostych, jednoznacznych atrybutów, a łuki reprezentują reprezentacje binarnych relacji między atrybutami (rys. 13).


Model binarny nie jest powszechnie stosowany, ale w niektórych przypadkach się sprawdza praktyczne użycie. Tak, w okolicy sztuczna inteligencja Od dawna prowadzone są badania nad reprezentacją informacji w postaci relacji binarnych.

Sieci semantyczne zostały zaproponowane jako modele danych przez badaczy pracujących nad nimi różne problemy sztuczna inteligencja. Podobnie jak w modelach sieciowych i binarnych, podstawowe struktury sieć semantyczna można przedstawić za pomocą wykresu, którego zbiór wierzchołków i łuków tworzy sieć. Jednakże sieci semantyczne zaprojektowano tak, aby reprezentowały i systematyzowały wiedzę o bardzo ogólnym charakterze.

Zatem dowolny model grafu (na przykład oznaczony graf binarny) można uznać za sieć semantyczną, jeśli początkowo zostanie jasno określone, co oznaczają wierzchołki i łuki oraz jak są one wykorzystywane.

Sieci semantyczne są bogatym źródłem pomysłów na modelowanie danych, które są niezwykle przydatne w rozwiązywaniu problemu reprezentacji trudne sytuacje. Można ich używać niezależnie lub w połączeniu z pomysłami leżącymi u podstaw innych modeli danych. Ich interesująca funkcja służy do odtwarzania odległości mierzonej w sieci (odległość semantyczna lub metryka). ważna rola, określający bliskość powiązanych ze sobą pojęć. Jednocześnie można wyraźnie podkreślić, że dystans semantyczny jest duży. Jak pokazano na ryc. 14, SKLEP koreluje z osobowością SPRZEDAWCY, a jednocześnie SPRZEDAWCA charakteryzuje się WAGĄ. Związek między osobowością a specjalizacją jest oczywisty, ale niekoniecznie oznacza to związek między SKLEPEM a WAGĄ.


Trzeba powiedzieć, że modele danych, takie jak sieć semantyczna, pomimo całego bogactwa ich możliwości w modelowaniu złożonych sytuacji, charakteryzują się złożonością i pewną nieefektywnością pod względem koncepcyjnym.

Rozważmy bardziej szczegółowo relacyjne, hierarchiczne i modele sieciowe dane.

Model relacyjny dane charakteryzują się następującymi elementami:

– konstrukcja informacji: relacja o strukturze dwupoziomowej;

– ważne operacje: projekcja, selekcja, połączenie i inne;

– ograniczenia: zależności funkcjonalne pomiędzy atrybutami relacji.

Każda klasa obiektów Rświat materialny jest powiązany np. z pewnym zestawem atrybutów A 1 , A 2 , ..., Jakiś. Obiekt jednoklasowy R opisane ciągiem wartości ( 1, 2, ..., jakiś), Gdzie ja- wartość atrybutu A ja.

Linia ( 1, 2, ..., jakiś) nazywa się krotką. Całej klasie obiektów odpowiada zbiór krotek zwany relacją. Oznaczmy relację opisującą klasę obiektów R, także przez R.

Wyrażenie R(1, 2, ..., Jakiś) nazywa się schematem relacji R.

Dla każdego komponentu krotki należy określić jego związek z odpowiednim atrybutem. W relacyjnym modelu danych, aby zapewnić to połączenie, kolejność składników krotki pokrywa się z kolejnością atrybutów w schemacie relacji.

Każda relacja odzwierciedla stan klasy obiektów w pewnym momencie. W rezultacie różne relacje mogą odpowiadać temu samemu schematowi relacji w różnych momentach.

Zbiór wartości relacji można przedstawić w formie tabeli, w której obserwuje się następujące zależności:

– nazwa tabeli i lista nazw kolumn odpowiadają diagramowi relacji;

– wiersz tabeli odpowiada krotce relacji;

– wszystkie wiersze tabeli (a co za tym idzie wszystkie krotki) są różne;

– kolejność wierszy i kolumn jest dowolna (w szczególności relacyjny model danych nie wymaga specjalnego sortowania wierszy).

Opis procesów przetwarzania relacji można przeprowadzić na dwa sposoby:

– wskazanie listy operacji, których wykonanie prowadzi do wymaganego rezultatu (podejście proceduralne),

– opis właściwości, jakie musi spełniać otrzymana relacja (podejście deklaratywne).

Rozważmy podejście proceduralne. Tworzy się zbiór relacji i operacji na nich algebra relacyjna. Zazwyczaj lista operacji zawiera rzutowanie, zaznaczanie, sumę, przecięcie, odejmowanie i łączenie.

Rzutowanie to operacja, która przenosi kolumny pierwotnej relacji określonej w warunku operacji do relacji wynikowej. Algebraiczna reprezentacja rzutu ma postać

T = R[X],

Gdzie R– postawa wyjściowa; T– wynikowa relacja; X– lista atrybutów w strukturze relacji T(warunek projekcji).

Rozważ relację O 1, zawierający informację o sprzedaży wyrobów w 2010 roku (tabela 1).

Tabela 1

Postawa T 1, zawierający jedynie informację o rzeczywistej produkcji wyrobów, uzyskuje się w wyniku wykonania projekcji

T 1 = O 1[Sklep, Produkty, Fakt]

i wygląda jak stół. 2.

Tabela 2

Kolumny można określić w dowolnej kolejności:

T 1 = O 1 [Produkty, Sklep, Fakt].

Selekcja to operacja polegająca na przeniesieniu do relacji wynikowej tych wierszy z relacji pierwotnej, które spełniają warunek selekcji. Warunek wyboru jest testowany indywidualnie dla każdego wiersza relacji i nie może obejmować informacji w wielu wierszach. Istnieją dwa najprostsze typy warunków próbkowania:

1) Nazwa atrybutu 1<знак сравнения>Wartość, gdzie dozwolone są znaki porównania =, #, >, ≥<, ≤. Например: Цена > 100.

Nazwy atrybutów muszą być zawarte w strukturze relacji źródłowej. Zapis algebraiczny próbki ma postać

T = R[P],

Gdzie R– postawa wyjściowa; T– wynikowa relacja; R– warunek pobierania próbek.

Na przykład otrzymujemy wartości T 2 = O 1 [Produkty = „P 1”] (Tabela 3).

Tabela 3

Operacje sumowania, przecinania i odejmowania są wykonywane na dwóch oryginalnych relacjach o tej samej strukturze.

Oznaczmy relacje początkowe przez R 1 i R 2, wynikowy – przez T.

Stowarzyszenie T = U(R 1 , R 2) zawiera wiersze obecne albo w relacji R 1 lub w R 2 .

Skrzyżowanie T = I(R 1 , R 2) zawiera wiersze występujące w relacjach R 1 i R 2 jednocześnie.

Odejmowanie T = M(R 1 , R 2) zawiera te linie z R 1, którego brakuje R 2 .

Operacja łączenia relacji jest wykonywana na dwóch relacjach źródłowych i tworzy jedną relację wynikową. Każdy wiersz pierwszej relacji źródłowej porównywany jest kolejno ze wszystkimi wierszami drugiej relacji i jeśli dla tej pary wierszy zostanie spełniony warunek złączenia, wówczas są one łączone i tworzą kolejny wiersz w powstałej relacji. Warunek połączenia ma postać

Nazwa atrybutu 1<знак сравнения>Nazwa atrybutu 2,

gdzie nazwa atrybutu 1 znajduje się w jednej relacji źródłowej, a nazwa atrybutu 2 w innej. Do operacji łączenia będziemy używać następującej notacji:

T = R l [ P] R 2 ,

Gdzie R 1 i R 2 – relacje początkowe; T– wynikowa relacja; R– stan połączenia.

Jeden z najważniejszych specjalnych przypadków łączenia nazywa się łączeniem naturalnym i ma następujące cechy:

– znakiem porównania w warunku połączenia jest „=”;

– Nazwa atrybutu 1 i nazwa atrybutu 2 muszą być zgodne, a raczej zawierać przecięcie list atrybutów relacji źródłowych;

– lista atrybutów powstałej relacji powstaje w wyniku połączenia list atrybutów relacji pierwotnej.

Oznaczenie związku naturalnego nie zawiera warunku złożonego i ma formę T = R ja* R 2 .

Podejście deklaratywne do przetworzenia relacyjne bazy danych dane opierają się na interpretacji pojęć i metod logiki matematycznej. W szczególności rachunek relacyjny opiera się na rachunku predykatów. Nazwijmy pojęcia logiki matematycznej niezbędne w rachunku relacyjnym.

1. Symbole zmiennych i stałych. W konstrukcjach językowych rachunku relacyjnego odpowiadają one nazwom atrybutów i zmiennych, a także stałym.

2. Łączniki logiczne „i”, „lub”, „nie” oraz znaki porównania =, # (nierówne), >,<, ≥, ≤.

3. Terminy, czyli dowolne stałe i zmienne oraz funkcje, których argumentami są terminy.

4. Formuły elementarne to predykaty, których argumentami są terminy. Predykaty połączone operacjami „i”, „lub”, „nie” są również formułami elementarnymi. Elementarnymi formułami są na przykład wyrażenia Nazwisko = „Petrov” i Kwota ≤ Razem.

5. Formuły, czyli wynik zastosowania kwantyfikatorów ogólności lub istnienia do wzorów elementarnych. Formuła odpowiada zapytaniu do relacyjnej bazy danych wyrażonej w rachunku relacyjnym.

Głównym zadaniem projektowania bazy danych EIS jest określenie liczby relacji (lub innych składowych jednostek informacji) i ich składu atrybutów.

Problem grupowania atrybutów w relacje, których zbiór nie jest z góry ustalony, pozwala na wiele różnych rozwiązań. Opcje racjonalnego grupowania muszą uwzględniać następujące wymagania:

– zestaw relacji powinien zapewniać minimalną redundancję w prezentacji informacji;

– dostosowanie relacji nie powinno prowadzić do niejednoznaczności lub utraty informacji;

– restrukturyzacja zbioru relacji przy dodawaniu nowych atrybutów do bazy powinna być minimalna.

Normalizacja to jedna z najlepiej zbadanych metod przekształcania relacji, pozwalająca na poprawę charakterystyki bazy danych zgodnie z wymienionymi kryteriami.

Istnieje wiele ograniczeń dotyczących wartości przechowywanych w relacyjnej bazie danych. Przestrzeganie tych ograniczeń w określonych aspektach wiąże się z występowaniem tzw. form normalnych. Proces przekształcania relacji w bazie danych do tej lub innej postaci normalnej nazywa się normalizacją relacji . Formy normalne są numerowane sekwencyjnie od 1 w kolejności rosnącej. Im większy numer formularza normalnego, tym więcej ograniczeń dotyczących przechowywanych wartości należy przestrzegać w odpowiednim zakresie.

Ograniczeniami typowymi dla relacyjnego modelu danych są zależności funkcjonalne i wielowartościowe oraz ich uogólnienia. W zasadzie zestaw dodatkowych ograniczeń może wzrosnąć, a zatem wzrośnie liczba form normalnych. Zastosowane ograniczenia mają na celu redukcję zbędnych informacji w relacyjnej bazie danych.

Relacja w pierwszej postaci normalnej (1NF) jest relacją zwyczajną o strukturze dwupoziomowej. Kolejne formy normalne (druga i trzecia) wykorzystują ograniczenia związane z koncepcją zależności funkcjonalnej. Zależności funkcjonalne definiowane są dla atrybutów znajdujących się w tej samej relacji, która spełnia 1NF.

Najprostszy przypadek zależności funkcjonalnej obejmuje dwa atrybuty. W związku R(A, B, ..., J) atrybut A funkcjonalnie definiuje atrybut W, jeśli w dowolnym momencie każda wartość A W(oznaczone AW).

Innymi słowy, W funkcjonalnie zależy od A (W = F(A)). Pierwsze oznaczenie okazuje się wygodniejsze, gdy liczba zależności funkcjonalnych rośnie, a ich relacje stają się trudne do dostrzeżenia; będzie on używany w przyszłości. Brak zależności funkcjonalnej oznacza się jako AW.

Dla atrybutów A I W pewnym związku, możliwe są następujące sytuacje:

– brak zależności funkcjonalnej;

- Dostępność AW(Lub WA), ale nie obie zależności razem;

– obecność korespondencji indywidualnej AW.

Pojęcie zależności funkcjonalnej rozciąga się na sytuacje z trzema lub więcej atrybutami w poniższej formie. Grupa atrybutów ( A, W, Z) funkcjonalnie definiuje atrybut D w związku T(A, B, C, D, ..., J), jeśli każda kombinacja wartości<a, b, Z> pasuje do jednej wartości D (A- oznaczający A; B- oznaczający W; Z- oznaczający Z; D- oznaczający D). Obecność takiej zależności funkcjonalnej zostanie oznaczona przez A, W, ZD.

Istnienie zależności funkcjonalnych jest związane ze stosowanymi sposobami kodowania atrybutów. Tym samym w przypadku wielu instytucji można postawić tezę, że każdy wydział (jako przedmiot obszaru tematycznego) należy do jednej instytucji. Jednak to nie wystarczy, aby udowodnić zależność funkcjonalną Departament → Instytucja. Jeśli w każdej instytucji wydziały są numerowane sekwencyjnie, zaczynając od 1, to związek funkcjonalny jest nieprawidłowy. Jeżeli kod wydziału oprócz numeru zawiera także kod instytucji (lub w inny sposób zapewniona jest unikalność kodów), wówczas obowiązuje relacja funkcjonalna Dział → Instytucja.

Dla wskaźnika z wieloma atrybutami R = (R 1 , R 2 , ..., P. n) i atrybut podstawowy Q zależność funkcjonalna jest ważna RQ, choć nie można powiedzieć, że jest to jedyna zależność od określonych atrybutów.

Prawdopodobna wskazówka relacja to taki zbiór atrybutów, którego każda kombinacja wartości występuje tylko w jednym wierszu relacji i żaden podzbiór atrybutów nie posiada tej właściwości. W relacji może istnieć kilka możliwych kluczy. O ich znaczeniu w przetwarzaniu danych decyduje fakt, że próbkowanie według znanej wartości prawdopodobnego klucza skutkuje powstaniem jednego wiersza relacji lub brakiem.

W praktyce atrybuty klucza prawdopodobnego relacji kojarzone są z właściwościami obiektów i zdarzeń, o których informacja jest przechowywana w relacji. Jeśli w wyniku dostosowania relacji zmienią się nazwy atrybutów tworzących klucz, wówczas informacje zostaną poważnie zniekształcone. Dlatego systematyczne sprawdzanie właściwości klucza prawdopodobnego pozwala kontrolować wiarygodność informacji w relacji.

Gdy w relacji występuje wiele kluczy kandydujących, jednoczesne ich obserwowanie jest bardzo trudne. Wskazane jest wybranie jednego z nich jako głównego (podstawowego). Główny klucz Relacja nazywana jest prawdopodobnym kluczem, którego wartości służą do kontrolowania wiarygodności informacji w relacji.

W przypadku informacji gospodarczych w zdecydowanej większości przypadków relacje uzyskane z istniejących dokumentów gospodarczych zawierają jeden klucz prawdopodobny, będący jednocześnie kluczem podstawowym. Dzieje się tak dlatego, że treść dokumentów gospodarczych jest jednakowo rozumiana przez wszystkich użytkowników. W dalszej części będziemy mieć na uwadze tylko takie relacje. Obecność dwóch lub więcej prawdopodobnych wskazówek w związku ze znaczącą informacją można wytłumaczyć obecnością kilku możliwych sposobów interpretacji tych samych danych. Klucz podstawowy jest często nazywany po prostu kluczem.

W relacjach z dużą liczbą wierszy znalezienie klucza podstawowego poprzez bezpośrednie zastosowanie definicji jest dość trudne. Dodatkowo na etapie projektowania EIS wartości wielu relacji są po prostu nieznane, dlatego praktycznie klucz podstawowy relacji wyliczany jest na podstawie istniejących zależności funkcjonalnych.

Każda wartość klucza podstawowego pojawia się tylko w jednym wierszu relacji. Wartość dowolnego atrybutu w tej linii jest również unikalna. Jeśli przez DO wskazać atrybuty klucza podstawowego w relacji R(A, B, C, ..., J), wówczas obowiązują następujące zależności funkcjonalne: DOA, DOW, DOZ, ..., DOJ. Zestaw atrybutów klucza podstawowego funkcjonalnie definiuje dowolny atrybut relacji. Dzieje się tak również na odwrót: jeśli zostanie znaleziona grupa atrybutów, która funkcjonalnie definiuje indywidualnie wszystkie atrybuty relacji, a tej grupy nie da się zredukować, wówczas zostaje znaleziony klucz podstawowy relacji.

Dla początkowego zbioru zależności funkcjonalnych istnieje szereg wzorców, których znajomość pozwala uzyskać zależności pochodne. Zwróćmy uwagę na niektóre z nich:

- Jeśli A, WA, Następnie A, WW;

- AW I AZ wtedy i tylko kiedy ASłońce;

- Jeśli AW I WZ, To AZ;

- Jeśli AW, To ACW (Z dowolnie);

- Jeśli AW, To ACSłońce (Z dowolnie);

- Jeśli AW I SłońceD, To ACD.

Jeśli z góry wiadomo, że w relacji istnieje tylko jeden prawdopodobny klucz, to można go znaleźć w prosty sposób. Klucz prawdopodobny (jeśli jest unikalny, tj. pasuje do klucza podstawowego) to zbiór atrybutów, które nie występują po prawej stronie wszystkich zależności funkcjonalnych. Innymi słowy, z pełnej listy atrybutów relacji należy usunąć atrybuty znajdujące się po prawej stronie wszystkich zależności funkcjonalnych. Pozostałe atrybuty tworzą klucz podstawowy.

Relacja jest w drugiej postaci normalnej (2NF), jeśli odpowiada 1NF i nie zawiera niepełnych zależności funkcjonalnych.

Niekompletna zależność funkcjonalna składa się z dwóch zależności:

– prawdopodobny klucz relacji funkcjonalnie definiuje jakiś atrybut niekluczowy,

– część klucza prawdopodobnego funkcjonalnie definiuje ten sam atrybut niekluczowy.

Relacja niespełniająca 2NF charakteryzuje się redundancją przechowywanych danych. Baza danych znajduje się w 2NF, jeśli wszystkie jej relacje są w 2NF.

Relacja odpowiada 3NF, jeśli odpowiada 2NF i pomiędzy jej atrybutami nie ma przechodnich zależności funkcjonalnych (FD).

Przechodnie prawo federalne obejmuje dwie ustawy federalne:

– prawdopodobny klucz relacji funkcjonalnie definiuje atrybut niekluczowy;

– Ten atrybut funkcjonalnie definiuje inny atrybut niekluczowy.

Jeśli DO– klucz relacji, A, W– atrybuty niekluczowe i DOA, AW są sprawiedliwymi prawami federalnymi, to są one przechodnie. Szczególnym przypadkiem przechodniego prawa federalnego jest niekompletne prawo federalne, gdy DO = Z, mi I DOmi, miA.

Baza danych znajduje się w 3NF, jeśli wszystkie jej relacje są w 3NF.

Relacyjna baza danych, odpowiadająca generalnie trzeciej postaci normalnej, charakteryzuje się szeregiem właściwości, których znajomość ułatwia i usprawnia procesy przetwarzania danych. Implementację zapytań do baz danych z wykorzystaniem operatorów algebry relacyjnej można opisać następującymi regułami.

1. W słownym sformułowaniu żądania zaznacz nazwy atrybutów tworzących powłokę, dane wejściowe i wyjściowe żądania, a także warunki wyboru.

2. Napraw wiele atrybutów powłoki. Jeżeli wszystkie niezbędne atrybuty znajdują się w jednej relacji, wówczas późniejsze operacje selekcji i rzutowania przeprowadzane są tylko z nią. Jeśli wymagane atrybuty są rozproszone w kilku relacjach, wówczas relacje te muszą być połączone. Każdą parę relacji łączy warunek równości atrybutów o odpowiadających im nazwach (lub zdefiniowanych we wspólnej domenie). Po każdym połączeniu za pomocą projekcji można odciąć atrybuty, które są niepotrzebne przy kolejnych operacjach.

4. Jeżeli zapytanie można podzielić na części (podzapytania), to jego realizacja także jest dzielona na części, przy czym wynik każdego podzapytania jest osobną relacją.

5. Ta sekwencja działań jest standardowa, ale może stworzyć zbyt duże relacje pośrednie. Wadę tę można zrekompensować dokonując selekcji i rzutów na oryginalne relacje (przed wykonaniem połączenia) oraz zmieniając względną kolejność wymaganych połączeń.

Baza danych sieci jest reprezentowany jako zbiór relacji i relacji z fanami. Relacje dzielą się na pierwotne i zależne.

Relacja fanów W(R, S) to para relacji składających się z jednej głównej ( R), jedna zależność zależna ( S) i powiązania między nimi, pod warunkiem, że każda wartość relacji zależnej jest powiązana z jedną wartością relacji głównej. Warunek ten jest cechą ograniczającą modelu danych sieci jako całości. Sposób wdrożenia tego ograniczenia w pamięci komputera jest inny dla różnych sieciowych systemów zarządzania bazami danych.

Operacje dozwolone w modelu danych sieci reprezentują różne opcje próbkowania.

Sieciowe bazy danych, w zależności od ograniczeń w wejściu relacji w relacje fanowskie, dzielą się na sieci dwupoziomowe i wielopoziomowe.

Ograniczeniem sieci dwupoziomowych jest to, że każda relacja może pełnić jedną z następujących ról:

– poza jakimikolwiek relacjami z fanami;

– jako główna relacja w dowolnej liczbie relacji fanowskich;

– jako związek zależny w dowolnej liczbie relacji fanowskich.

Niedopuszczalne jest, aby związek istniał jako związek główny w jednym kontekście i jednocześnie zależny w innym.

Sieci wielopoziomowe nie przewidują żadnych ograniczeń w zakresie łączenia relacji wentylatorów; w niektórych sieciowych systemach DBMS dozwolone są nawet cykliczne struktury sieciowe.

W przypadku dwupoziomowych SZBD sieci wprowadza się jeszcze dwa ograniczenia (z teoretycznego punktu widzenia opcjonalne):

– klucz podstawowy relacji głównej może mieć tylko jeden atrybut;

– relacja wachlarzowa istnieje, jeśli klucz główny relacji głównej jest częścią klucza głównego relacji zależnej.

Aby uporządkować w pamięci komputera relację wachlarzową, do struktury relacji głównej i zależnej wprowadza się dodatkowy atrybut zwany adresem komunikacyjnym. Wartości adresów komunikacyjnych współpracują ze sobą, aby zapewnić, że każda zależna wartość relacji odpowiada relacji wachlarzowej S do jednej wartości głównej relacji R.

Wartość współczynnika przechowywana w pamięci komputera jest często nazywana rekordem. Adres komunikacyjny to atrybut rekordu przechowujący adres początkowy lub numer następnego rekordu do przetworzenia.

Połączenie między wartościami relacji zależnej a pojedynczą wartością relacji głównej w najprostszym przypadku jest zapewnione w następujący sposób. Adres łącza określonego rekordu relacji zależnej wskazuje na jeden z rekordów relacji zależnej (wartością adresu łącza relacji głównej jest adres początkowy tego rekordu relacji zależnej), adres łącza określonego rekordu relacji zależnej wskazuje na następny rekord relacji zależnej powiązany z tym samym rekordem relacji głównej itp. Ostatni rekord relacji zależnej w tym łańcuchu odnosi się do głównego rekordu relacji wymienionego powyżej. W rezultacie powstaje struktura pierścieniowa adresów komunikacyjnych tzw jak fan, gdzie rolę „uchwytu” wachlarza pełni zapis głównej relacji. Na ilustracjach graficznych adres komunikacyjny oznaczony jest strzałką skierowaną od adresu komunikacyjnego danego rekordu do rekordu, którego adres początkowy (liczba) jest wartością tego adresu komunikacyjnego.

Istnieją standardowe konwencje dotyczące uwzględniania i wykluczania danych w relacjach z fanami. Metodę aktywacji można scharakteryzować jako automatyczną lub nieautomatyczną.

Metoda automatyczna wskazuje, że gdy pojawia się nowa wartość relacji głównej, zostaje ona natychmiast powiązana z jakąś wartością relacji zależnej i tworzy nowy element relacji wachlarzowej. Nieprzestrzeganie tej zasady jest typowe dla metody nieautomatycznej.

Metody wykluczania mogą być obowiązkowe lub opcjonalne. W metodzie obowiązkowej, gdy wartość zostanie zawarta w relacji głównej, staje się ona stałym członkiem relacji głównej. Można go zaktualizować, ale nie można go usunąć z relacji. Metoda opcjonalna umożliwia usunięcie dowolnej wartości z relacji bazowej.

Z analogii definicji relacji fanowskiej i zależności funkcjonalnej wynika stwierdzenie: jeśli istnieje relacja fanowska, to klucz relacji zależnej funkcjonalnie wyznacza klucz relacji głównej i odwrotnie, jeśli klucz jednej relacja funkcjonalnie określa klucz drugiej relacji, wówczas pierwsza relacja może być zależna, a druga – główna w pewien wachlarzowy sposób.

Na diagramie bazy danych sieci relacje i relacje fanowskie są często traktowane jako pliki i połączenia, co pozwala na postrzeganie struktury sieci jako zestawu plików

F = {F l ( X 1), F 2 (X 2), ..., Fi(X ja), ..., Fn(X rz)},

Gdzie X ja– kluczowe atrybuty w pliku Fi.

Dodatkowo wprowadzono wykres struktury sieci W z wierzchołkami ( X ja, X 2 , ..., X ja, ..., X rz). Łuk<X ja, Xj> w kolumnie W istnieje jeśli X ja jest częścią Xj I Fj[X ja] jest podzbiorem Fi. Ostatni warunek ma to samo znaczenie, co syntaktyczne włączenie relacji do relacyjnego modelu danych. Zakłada się, że klucz pliku głównego znajduje się w pliku zależnym. Wykres W podobny do wykresu połączeń dla relacyjnej bazy danych.

Baza danych Administrator danych zwany acykliczny, jeśli znajduje się pomiędzy dowolnymi dwoma wierzchołkami grafu W istnieje co najwyżej jedna ścieżka. Sieci dwuwarstwowe są zawsze acykliczne .

Dla wielu plików F acykliczna baza danych Administrator danych operacja jest całkiem odpowiednia

M(Administrator danych) = F 1 & F 2 & ... & Fi & ...& Fn,

zwany maksymalne przecięcie. Jego odpowiednikiem może być sekwencja połączeń w relacyjnej bazie danych.

W sieciowych systemach DBMS liczba operacji próbkowania jest dość duża. Funkcje operacji projekcji dla sieciowego systemu zarządzania bazami danych opisują podschemat sieciowej bazy danych. Schemat sieciowej bazy danych to opis wszystkich relacji wskazujący skład atrybutów i klucze każdej relacji, a także relacje fanowskie. W programie użytkowym można zadeklarować część relacji sieciowej bazy danych, w każdej relacji pewien podzbiór atrybutów (z obowiązkowym zachowaniem kluczowych atrybutów) i tylko niektóre relacje fanowskie. Odpowiedni opis danych nazywany jest podschematem. Relacje, relacje fanowskie i atrybuty nieokreślone w podschemacie stają się niedostępne dla programu użytkowego. W odróżnieniu od operacji projekcji, baza danych odpowiadająca podschematowi nie jest tworzona fizycznie, lecz poprzez ograniczenie dostępu do źródłowej bazy danych, która jest zdefiniowana w schemacie.

Wyniki prawidłowych połączeń są faktycznie rejestrowane w sieciowym systemie DBMS za pomocą łańcuchów adresów komunikacyjnych. Dostęp do wyników ewentualnego łączenia rozpoczyna się od jakiejś głównej relacji do wachlarza wartości w odpowiedniej relacji zależnej, osiągnięte wartości kluczowe w relacji zależnej są zapamiętywane i wykorzystywane do wyszukiwania w jakiejś innej głównej relacji; z tego głównego związku możliwe jest przejście do nowego zależnego itp.

Model hierarchiczny dane mają wiele podobieństw do modelu danych sieciowych, który chronologicznie pojawił się jeszcze wcześniej; Prawidłowe struktury informacyjne w hierarchicznym modelu danych to relacja, relacja wachlarzowa i hierarchiczna baza danych. W odróżnieniu od omówionych wcześniej modeli danych, w których przyjęto, że mapowanie informacyjne jednego obszaru tematycznego stanowi jedną bazę danych, model hierarchiczny umożliwia mapowanie jednego obszaru tematycznego na kilka hierarchicznych baz danych.

Pojęcia relacji i relacji fanowskiej w hierarchicznym modelu danych nie ulegają zmianie.

Hierarchiczna baza danych to zbiór relacji i relacji fanowskich, dla których spełnione są dwa ograniczenia:

1) istnieje jedna relacja, zwana pierwiastkiem, która nie jest zależna w żadnej relacji wachlarzowej;

2) wszystkie pozostałe relacje (z wyjątkiem rdzenia) są relacjami zależnymi tylko w jednej relacji wachlarzowej.

Hierarchiczny schemat bazy danych ma identyczny skład jak sieciowa baza danych. Powyższe ograniczenia są obsługiwane przez hierarchiczne systemy DBMS.

Ograniczeniem utrzymywanym w hierarchicznym modelu danych jest niemożność naruszenia wymagań zawartych w definicji hierarchicznej bazy danych. Ograniczenie to zapewnia specjalny układ wartości relacji w pamięci komputera. Poniżej przyjrzymy się jednej z najprostszych implementacji układania hierarchicznej bazy danych.

Należy zauważyć, że istnieją różne możliwości przechodzenia przez hierarchicznie zorganizowane wartości w sekwencji liniowej. Zasada stosowana w przypadku hierarchicznych baz danych nazywa się koniec przejścia. Wypiszmy jego zasady.

1. Zaczynając od pierwszej wartości relacji źródłowej, wyszczególniane są pierwsze wartości odpowiednich relacji na każdym poziomie, aż do ostatniej.

2. Wyświetlane są wszystkie wartości w relacji wentylatora, w których zatrzymano krok 1.

3. Wymienione są wartości wszystkich fanów tej relacji fanowskiej.

4. Z osiągniętego poziomu następuje przejście do poziomu poprzedniego i jeśli możliwe jest zastosowanie kroku 1, to proces się powtarza.

Rekord bazy danych hierarchicznych to zbiór wartości zawierający jedną wartość relacji źródłowej oraz wszystkie wachlarze od niej odchodzące zgodnie ze strukturą hierarchicznej bazy danych. W naszym przykładzie jeden rekord składa się z danych dotyczących jednego wydziału (patrz rys. 11).

Dla relacji fanowskich w hierarchicznej bazie danych obowiązuje znany już schemat: jeśli istnieje relacja fanowska, to klucz relacji zależnej funkcjonalnie wyznacza klucz relacji głównej. I odwrotnie: jeśli klucz jednej relacji funkcjonalnie wyznacza klucz drugiej relacji, to pierwsza relacja może być zależna, a druga – główna w jakiejś relacji fanowskiej.

Ponadto ograniczenie polegające na tym, że w hierarchicznej bazie danych istnieje pojedyncza relacja główna, przekłada się na wymóg, aby klucz podstawowy każdej relacji innej niż główna musiał funkcjonalnie definiować klucz podstawowy relacji głównej.

Algorytm uzyskiwania struktury hierarchicznej bazy danych został opracowany przez A.I. Miszenin.

Porównując modele danych, bardzo trudno jest oddzielić czynniki charakteryzujące podstawowe cechy modelu od czynników związanych z realizacją tych modeli danych przy użyciu konkretnych SZBD.

Rozważając zalety i wady najbardziej znanych modeli danych, warto zwrócić uwagę na szereg niewątpliwych zalet podejścia relacyjnego:

– prostota: w modelu relacyjnym występuje tylko jedna struktura informacyjna, która formalizuje tabelaryczną prezentację danych, znaną użytkownikom ekonomistów;

– uzasadnienie teoretyczne: obecność teoretycznie uzasadnionych metod normalizacji relacji i sprawdzania acykliczności konstrukcji umożliwia otrzymanie baz danych o wymaganych charakterystykach;

– niezależność danych: zmiana struktury relacyjnej bazy danych z reguły prowadzi do minimalnych zmian w programach użytkowych.

Do wad relacyjnego modelu danych można zaliczyć:

– niska prędkość podczas wykonywania operacji połączenia;

– duże zużycie pamięci do reprezentowania relacyjnej bazy danych. Chociaż projekt w 3NF został zaprojektowany z myślą o minimalnej redundancji (każdy fakt jest reprezentowany w bazie danych tylko raz), inne modele danych w tych samych warunkach zapewniają mniejsze zużycie pamięci. Na przykład długość adresu komunikacyjnego jest zwykle znacznie krótsza niż długość wartości atrybutu.

Zalety hierarchicznego modelu danych to:

– prostota: choć w modelu zastosowano trzy struktury informacyjne, hierarchiczna zasada podporządkowania pojęć jest naturalna w przypadku wielu zadań gospodarczych (np. przy organizacji sprawozdawczości statystycznej);

– minimalne zużycie pamięci: w przypadku zadań, które można zrealizować przy użyciu dowolnego z trzech modeli danych, model hierarchiczny umożliwia uzyskanie reprezentacji z minimalną wymaganą pamięcią.

Wady modelu hierarchicznego:

– nieuniwersalność: wielu ważnych opcji wzajemnego łączenia danych nie da się zrealizować przy użyciu modelu hierarchicznego bez zwiększenia redundancji w bazie danych;

– dopuszczalność jedynie nawigacyjnej zasady dostępu do danych;

– dostęp do danych odbywa się wyłącznie poprzez relację root.

Należy zwrócić uwagę na następujące zalety modelu danych sieciowych:

– uniwersalność: możliwości ekspresyjne modelu danych sieciowych są najszersze w porównaniu z innymi modelami;

– możliwość dostępu do danych poprzez wartości kilku relacji (na przykład poprzez dowolne relacje główne).

Wady sieciowego modelu danych obejmują:

– złożoność, czyli bogactwo koncepcji, wariantów ich powiązań i cech realizacyjnych;

– dopuszczalność jedynie nawigacyjnej zasady dostępu do danych.

Wyniki uzyskane dla acyklicznych baz danych sugerują, że acykliczne relacyjne bazy danych, dwupoziomowe bazy sieciowe i hierarchiczna baza danych bez połączeń logicznych mają równoważne możliwości prezentacji informacji.

Analiza modeli danych nie rozwiązała problemu porządkowania wartości w relacjach bazodanowych. W przypadku modelu relacyjnego takie uporządkowanie jest opcjonalne z teoretycznego punktu widzenia, ale w pozostałych dwóch modelach jest szeroko stosowane w celu poprawy efektywności implementacji zapytań.

Na ostateczny wybór modelu danych wpływa wiele dodatkowych czynników, na przykład dostępność sprawdzonych systemów DBMS, kwalifikacje programistów aplikacji, wielkość bazy danych itp.

Ostatnio relacyjne systemy DBMS zajęły dominującą pozycję jako sposób na rozwój elektronicznych systemów informacyjnych. Wady modelu relacyjnego rekompensuje wzrost szybkości i zasobów pamięci współczesnych komputerów. Ze względu na procesy decentralizacji zarządzania w gospodarce wiele baz danych EIS ma prostą strukturę, którą można łatwo przekształcić w zrozumiałe systemy tabel (relacji).

Pytania testowe i zadania

1. Wymień najbardziej znane typy modeli danych.

2. Wyjaśniać hierarchiczne i sieciowe modele danych. Jakie są ich podobieństwa i różnice?

3. Opisz model relacyjny.

4. Opisać model binarny i jego zakres.

5. Jaka jest specyfika sieci semantycznych i ich przeznaczenie?

6. Wymień konstrukcje informacyjne dla różnych technologii.

7. Nazwij elementy relacyjnego modelu danych.

8. Zdefiniuj krotkę i relację.

9. Jak można opisać przetwarzanie relacyjne?

10. Wyjaśnić istotę opisu proceduralnego procesów przetwarzania danych.

11. Wyjaśnić deklaratywne podejście do przetwarzania relacyjnych baz danych.

12. Czym jest normalizacja relacji?

13. Ile atrybutów zawiera najprostsza zależność funkcjonalna?

14. Zdefiniować zależność funkcjonalną atrybutów w ujęciu relacyjnym.

15. Co to jest prawdopodobny klucz relacji?

16. Co to jest klucz podstawowy? Jak inaczej można to nazwać?

17. Wyjaśnij wzorce wielu zależności funkcjonalnych.

18. Opisz drugą i trzecią normalną formę relacji.

19. Wyjaśnij dostęp do relacyjnej bazy danych.

20. Nazwij struktury informacyjne w modelu sieci.

21. Co to jest „postawa kibica”?

22. Podaj definicję sieci dwupoziomowych.

23. Zdefiniuj sieci wielopoziomowe.

24. Co to jest „adres do korespondencji”?

25. Co nazywa się „fanem”?

26. Jakie komponenty zawiera schemat sieciowej bazy danych?

27. Jakie znasz standardowe konwencje dotyczące uwzględniania i wykluczania danych w relacjach z fanami?

28. Czym są pliki i połączenia?

29. Co to jest „maksymalne przecięcie”?

30. Nazwij struktury informacyjne w modelu hierarchicznym.

31. Zdefiniuj hierarchiczną bazę danych.

32. Opowiedz nam o zasadach przejścia końcowego.

33. Zdefiniuj hierarchiczny rekord bazowy.

34. Wymień zalety i wady podejścia relacyjnego.

35. Wymień zalety i wady modelu hierarchicznego.

36. Opisz mocne i słabe strony modelu danych sieciowych.

38. Wykonaj zadania 2.1–2.20 dotyczące operacji na relacjach z warsztatu.

39. Wykonaj zadania 2.21–2.32 na temat „Zależności funkcjonalne i klucze” z warsztatu.

40. Wykonaj zadania 2.33–2.60 na temat „Normalne formy relacji” z warsztatu.

41. Wykonaj zadania 2.61–2.71 na temat „Acykliczne bazy danych” z warsztatu.

42. Wykonaj zadania 2.72–2.93 na temat „Sieciowe i hierarchiczne modele danych” z warsztatu.

Klasyfikacja według modelu danych (według struktury organizacyjnej).

Fabuła.

Na historię powstania i rozwoju technologii baz danych można patrzeć zarówno z szerokiej, jak i wąskiej perspektywy.

W szeroki aspekt koncepcja historii baz danych jest uogólniana na historię wszelkich środków, za pomocą których ludzkość przechowuje i przetwarza dane. W tym kontekście wspomina się na przykład o sposobach rozliczania skarbu królewskiego i podatków w starożytnym Sumerze (4000 r. p.n.e.), o zawiłym piśmie Inków, pismach klinowych zawierających dokumenty królestwa asyryjskiego itp. Należy pamiętać, że wadą tego podejścia jest rozmycie pojęcia „baza danych” i faktyczne złączenie się z pojęciami „archiwum”, a nawet „pisanie”.

Historia baz danych w wąski aspekt bada bazy danych w tradycyjnym (nowoczesnym) sensie. Ta historia zaczyna się w 1955 roku, kiedy pojawił się programowalny sprzęt do przetwarzania zapisu. Oprogramowanie tamtych czasów obsługiwało model przetwarzania rekordów oparty na plikach. Do przechowywania danych używano kart perforowanych. Operacyjne bazy danych online pojawiły się w połowie lat sześćdziesiątych. Operacje na operacyjnych bazach danych przetwarzane były interaktywnie za pomocą terminali. Proste organizacje rekordów oparte na sekwencyjnych indeksach szybko przekształciły się w potężniejszy model rekordów zorientowany na zbiory. Charles Bachman otrzymał nagrodę Turinga za kierowanie grupą zadaniową ds. baz danych (DBTG), która opracowała standardowy język do opisywania danych i manipulowania nimi.

W tym samym czasie społeczność baz danych COBOL (jeden z najstarszych języków programowania (pierwsza wersja w 1959 r.), przeznaczony przede wszystkim do tworzenia aplikacji biznesowych) opracowała koncepcję schematów baz danych i koncepcję niezależności danych.

Kolejny ważny etap wiązał się z pojawieniem się relacyjnego modelu danych na początku lat 70. XX wieku, dzięki pracom Edgara F. Codda. Praca Codda utorowała drogę do ścisłego powiązania stosowanej technologii baz danych z matematyką i logiką. Edgar F. Codd otrzymał także Nagrodę Turinga za swój wkład w teorię i praktykę.

Samo określenie Baza danych(baza danych) pojawiła się na początku lat 60. XX wieku i została wprowadzona do użytku na sympozjach organizowanych przez SDC (System Development Corporation) w latach 1964 i 1965, choć początkowo rozumiana była w dość wąskim znaczeniu, w kontekście systemów sztucznej inteligencji. Termin ten wszedł do powszechnego użytku we współczesnym znaczeniu dopiero w latach siedemdziesiątych XX wieku.

Podstawowe klasyfikacje baz danych.

Podczas pracy z bazą danych SZBD utrzymuje w pamięci komputera pewien model domeny, tzw model danych. Model danych zależy od typu DBMS.



Model hierarchiczny. Hierarchicznie zorganizowane dane są bardzo powszechne w życiu codziennym. Na przykład struktura uczelni. Hierarchiczny model danych- prezentacja bazy danych w postaci struktury drzewiastej (hierarchicznej) składającej się z obiektów (danych) różnych poziomów. Poziom najwyższy zajmuje jeden obiekt, drugi – obiekty drugiego poziomu itd. Pomiędzy obiektami istnieją powiązania; w każdym obiekcie może znajdować się kilka obiektów niższego poziomu. Obiekty takie pozostają w relacji przodka (obiekt bliższy pierwiastkowi) do dziecka (obiekt niższego poziomu) i jest możliwe, że obiekt przodek nie ma potomków lub ma ich kilku, natomiast obiekt potomny musi mieć tylko jednego przodka. Obiekty mające wspólnego przodka nazywane są bliźniakami. Główną wadą tego modelu jest konieczność wykorzystania hierarchii, która była podstawą bazy danych podczas projektowania. Konieczność ciągłej reorganizacji danych doprowadziła do stworzenia bardziej ogólnego modelu – modelu sieciowego.

Model sieciowy. Podejście sieciowe do organizacji danych jest rozwinięciem podejścia hierarchicznego. Do podstawowych pojęć model bazy danych sieci obejmują: poziom, element (węzeł), połączenie. 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. W strukturze sieci każdy element może być połączony z dowolnym innym elementem. Sieciowe bazy danych są podobne do hierarchicznych baz danych, z tą różnicą, że mają wskaźniki w obu kierunkach, które łączą powiązane informacje. Chociaż model ten rozwiązuje część problemów związanych z modelem hierarchicznym, wykonywanie prostych zapytań pozostaje dość złożone. Ponadto, ponieważ logika procedury wyszukiwania danych zależy od fizycznej organizacji tych danych, model ten nie jest całkowicie niezależny od aplikacji. Innymi słowy, jeśli konieczna jest zmiana struktury danych, konieczna jest zmiana aplikacji.

(Model ten różni się od hierarchicznego tym, że każdy wygenerowany element może mieć więcej niż jeden element szkodliwy. Oznacza to, że w strukturze sieci każdy element może być połączony z dowolnym innym elementem).

Model relacyjny. Relacyjna baza danych- baza danych oparta na relacyjnym modelu danych. Została opracowana przez Codda w latach 1969-70 na podstawie matematycznej teorii relacji i opiera się na systemie pojęć, z których najważniejsze to tabela , postawa , pole , nagrywać . Model ten zyskał największe uznanie. Słowo „relacyjny” pochodzi od angielskiego „relacja”, co oznacza relację. Wygodnie jest przedstawiać relacje w formie tabel. Te. Słowo „tabela” jest często używane jako nieformalny synonim terminu „związek”. Należy pamiętać, że „stół” jest pojęciem luźnym i nieformalnym i często nie oznacza „związku” jako pojęcia abstrakcyjnego, ale wizualną reprezentację relacji na papierze lub ekranie. Niepoprawne i luźne użycie terminu „stół” zamiast terminu „relacja” często prowadzi do nieporozumień. Najczęstszym błędem jest myślenie, że RMD zajmuje się tabelami „płaskimi” lub „dwuwymiarowymi”, podczas gdy takimi mogą być jedynie wizualne reprezentacje tabel. Relacje są abstrakcją i nie mogą być ani „płaskie”, ani „niepłaskie”

Relacyjna baza danych to taka, w której wszystkie dane prezentowane są użytkownikowi w formie tabel, a wszelkie operacje na bazie sprowadzają się do manipulacji tabelami.

Pole(kolumna) – element danych odzwierciedlający atrybut obiektu (przykładowo, jeśli obiektem jest student, to jego atrybutami będą imię i nazwisko, adres, telefon itp.). U pola istnieją bazy danych opcje, które określają rodzaj danych do zapisania, sposób ich wyświetlania oraz zestaw wykonywanych na nich operacji. Jednym z ważnych parametrów pola jest typ danych.

Obiektowo i obiektowo. Obiektowa baza danych- baza danych, w której dane są formatowane w postaci modeli obiektowych, w tym programów użytkowych sterowanych zdarzeniami zewnętrznymi. Efektem połączenia możliwości (cech) baz danych i możliwości obiektowych języków programowania są Obiektowe Systemy Zarządzania Bazami Danych (OODBMS). OODBMS umożliwia pracę z obiektami bazy danych w taki sam sposób, jak z obiektami w programowaniu OOLP. OODBMS rozszerza języki programowania poprzez przejrzyste wprowadzenie trwałych danych, kontrolę współbieżności, odzyskiwanie danych, powiązane zapytania i inne możliwości. Obiektowe bazy danych są zwykle zalecane w przypadkach, gdy wymagane jest wysokowydajne przetwarzanie danych o złożonej strukturze.

Obiektowo-relacyjny- relacyjny system DBMS (RSDBMS), obsługujący niektóre technologie implementujące podejście obiektowe.

Hierarchiczny model danych

W zapisie obowiązuje kolejność elementów, jeden element jest uważany za główny, pozostałe są podrzędne. Dane w rekordzie są uporządkowane w określonej kolejności, niczym stopnie drabiny, a wyszukiwanie danych może odbywać się jedynie poprzez sekwencyjne schodzenie ze stopnia na stopień. Wyszukiwanie dowolnego elementu danych w takim systemie może być dość pracochłonne ze względu na konieczność sekwencyjnego przechodzenia przez kilka poprzednich, hierarchicznych kroków.

Hierarchiczna baza danych tworzona jest przez katalog plików przechowywanych na dysku; Drzewo katalogów, dostępne do przeglądania w Total Commander, jest czytelną demonstracją struktury takiej bazy danych i wyszukiwania w niej żądanego elementu. Ta sama baza danych jest drzewem genealogicznym.

Sieciowy model danych

Wyróżnia się dużą elastycznością, gdyż oprócz pionowych połączeń hierarchicznych istnieje możliwość ustanawiania połączeń poziomych. Ułatwia to znalezienie wymaganych elementów danych, ponieważ nie jest już konieczne wykonywanie wszystkich istniejących kroków.

Baza danych sieci jest w rzeczywistości siecią WWW globalnej sieci komputerowej Internet. Hiperłącza łączą setki milionów dokumentów w jedną sieciową bazę danych.

Relacyjny model danych

W relacyjnej bazie danych rekordem jest wiersz prostokątnej tabeli. Elementy rekordu tworzą kolumny tej tabeli (pola). Wszystkie elementy w kolumnie mają ten sam typ (liczbowy, znakowy), a każda kolumna ma unikalną nazwę. W tabeli nie ma identycznych wierszy.

Zaletami takich baz danych jest przejrzystość i przejrzystość organizacji danych, szybkość wyszukiwania niezbędnych informacji.

Przykładem relacyjnej bazy danych jest arkusz przydziału stypendium, w którym wpisem jest wiersz z danymi o konkretnym studencie, a nazwy pól (kolumn) wskazują, jakie dane o każdym studencie należy zapisać w komórkach tabeli.

Każdy typ można sprowadzić do relacyjnego.

Typy danych

Typ danych określa zbiór wartości, jakie dane pole może przyjmować w różnych rekordach.

Główne typy danych we współczesnych bazach danych:

    liczbowy;

    tekst;

  • data godzina;

    monetarny;

    logiczny;

Klucze

    Superklucz - jest to jedno lub więcej pól tabeli, które jednoznacznie identyfikują każdy wiersz w tabeli

    Potencjalny (możliwy) klucz jest to klucz superkluczowy zawierający minimalny zestaw pól niezbędnych do jednoznacznej identyfikacji każdego wiersza w tabeli.

    Główny klucz - Ten potencjał klucz wybrany do jednoznacznej identyfikacji każdego wiersza w tabeli; Zwykle wybierany jest klucz kandydujący, który jest najłatwiejszy do wprowadzenia, zwykle numeryczny.

Pole kluczowe tabele w systemie Access DBMS są kluczem podstawowym tabeli.

Rodzaje relacji relacyjnych

    Jeden na jednego;

Każda wartość klucza podstawowego w tabeli głównej odpowiada jednemu lub większej liczbie rekordów w tabeli podrzędnej.

Tego typu powiązania nie stosuje się zbyt często, gdyż większość powiązanych w ten sposób informacji można umieścić w jednej tabeli. Relacji jeden do jednego można używać do dzielenia tabel zawierających wiele pól, oddzielania części tabeli ze względów bezpieczeństwa oraz do przechowywania informacji związanych z podzbiorem rekordów w tabeli głównej.

    jeden za dużo;

Każda wartość klucza podstawowego w tabeli głównej ma jeden rekord, więcej rekordów lub nie ma żadnych rekordów w tabeli podrzędnej.

Relacja jeden do wielu jest najczęściej używanym typem relacji między tabelami.

    wiele do wielu.

W relacji wiele do wielu jeden rekord w tabeli A może mieć wiele rekordów w tabeli B, a jeden rekord w tabeli B może mieć wiele rekordów w tabeli A. Relacja wiele do wielu to dwa rekordy jeden do jednego relacje.-many” z trzecią tabelą.

Organizacja relacji między stołami

    Jeden na jednego - tabele są połączone kluczami podstawowymi (klucze podstawowe obu tabel są ustawione na takie same);

    jeden za dużo– tabela główna (jeden) jest połączona kluczem podstawowym z tabelą podrzędną (wiele) kluczem obcym (jest to klucz główny tabeli głównej wstawiony do tabeli podrzędnej)

    wiele do wielu – Aby zorganizować taką relację między dwiema tabelami, tworzona jest trzecia (pośrednia) tabela, do której wstawiane są klucze podstawowe dwóch pierwszych tabel. Tabele pierwsza i trzecia oraz druga i trzecia są ze sobą połączone w relacji jeden do wielu.

Przykład organizacji bazy danych

Warunki integralności danych

Warunek integralności służy do zapewnienia, że ​​rekordy w tabeli podrzędnej odpowiadają rekordom w tabeli głównej, tj. Nie można usunąć danych z pola kluczowego w tabeli głównej.

Operacje kaskadowa aktualizacja i kaskadowe usuwanie powiązanych pól umożliwiają edycję i usuwanie danych w polu kluczowym tabeli głównej, ale towarzyszą im automatyczne zmiany w powiązanej tabeli.