NIE TYLKO RELACYJNY MODEL DANYCH RELATIONAL DATA MODEL IS NOT ONLY ONE

Podobne dokumenty
Krzysztof Kadowski. PL-E3579, PL-EA0312,

Systemy baz danych. mgr inż. Sylwia Glińska

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Baza danych. Baza danych to:

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Wykład 2. Relacyjny model danych

Pojęcie bazy danych. Funkcje i możliwości.

WPROWADZENIE DO BAZ DANYCH

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Baza danych. Modele danych

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Wprowadzenie do Hurtowni Danych

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Relacyjne bazy danych

010 BAZY DANYCH. Prof. dr hab. Marek Wisła

Alicja Marszałek Różne rodzaje baz danych

Bazy danych Wykład zerowy. P. F. Góra

KURS ACCESS 2003 Wiadomości wstępne

Wykład I. Wprowadzenie do baz danych

Pojęcie systemu informacyjnego i informatycznego

Agnieszka Ptaszek Michał Chojecki

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Bazy danych - wykład wstępny

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych.

BAZY DANYCH Podstawowe pojęcia

Podstawowe informacje o bazach danych. Technologie Informacyjne

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

Model relacyjny. Wykład II

2017/2018 WGGiOS AGH. LibreOffice Base

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Model relacyjny. Wykład II

Bazy danych 2. Wykład 1

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Paweł Kurzawa, Delfina Kongo

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

ORGANIZACJA I ZARZĄDZANIE INFORMACJĄ W BAZIE DNYCH. podstawowe pojęcia.

Technologia informacyjna

1 Wstęp do modelu relacyjnego

Relacyjne bazy danych. Normalizacja i problem nadmierności danych.

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

Funkcjonalność relacyjnej i obiektowej bazy danych po usunięciu z modelu atrybutów przyjmujących wartości Null

ZSE - Systemy baz danych MODELE BAZ DANYCH. Ewolucja technologii baz danych

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Bazy danych TERMINOLOGIA

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

Relacyjny model baz danych, model związków encji, normalizacje

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Wprowadzenie do baz danych

Jerzy Nawrocki, Wprowadzenie do informatyki

Tworzenie aplikacji bazodanowych

WPROWADZENIE DO BAZ DANYCH

W tym modelu wszystkie dane przechowywane są w jednym arkuszu, tabeli, pliku.

SIECI KOMPUTEROWE I BAZY DANYCH

Bazy danych. Dr inż. Paweł Kasprowski

Podstawowe informacje o bazach danych

Technologia informacyjna

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Projektowanie systemów baz danych

Podstawowe informacje o bazach danych. Technologie Informacyjne

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Przykładowa baza danych BIBLIOTEKA

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Oracle11g: Wprowadzenie do SQL

Autor: Joanna Karwowska

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Projektowanie relacyjnych baz danych

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Oracle PL/SQL. Paweł Rajba.

WYMAGANIA EDUKACYJNE

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie struktury danych

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Model relacyjny bazy danych

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

Administracja bazami danych. dr inż. Grzegorz Michalski

Grafowy model bazy danych na przykładzie GOOD

RELACYJNE BAZY DANYCH

Bazy danych Ćwiczenia projektowe

2. Tabele w bazach danych

Pojęcie systemu baz danych

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Bazy danych. Informatyczne systemy zarządzania

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Podstawowe zagadnienia z zakresu baz danych

Transkrypt:

DARIUSZ KARPISZ NIE TYLKO RELACYJNY MODEL DANYCH RELATIONAL DATA MODEL IS NOT ONLY ONE S t r e s z c z e n i e A b s t r a c t W artykule przedstawiono przegląd modeli danych stosowanych obecnie do implementacji baz danych. Zagadnienie to jest fundamentalne dla zrozumienia określonego systemu bazodanowego przygotowanego według wybranego modelu. Mimo iż najbardziej rozpowszechnionym modelem jest model relacyjny, to jednak systemy opierające się na modelu hierarchicznym i sieciowym wciąż są używane. Odpowiedzią na ograniczenia poszczególnych modeli są modele mieszane relacyjno-obiektowy oraz sieciowo-relacyjny. Słowa kluczowe: model danych, model relacyjny, model hierarchiczny, model sieciowy The paper presents an overview of data models currently used to implement the databases. This issue is fundamental to understanding a particular database system prepared according to the chosen model. Although the most common model is the relational, the systems based on hierarchical and network models are still being used yet. The answer to the limitations of individual models are models of mixed object-relational and network-relational. Keywords: data model, relational data model, hierarchical data model, network data model Dr inż. Dariusz Karpisz, Instytut Informatyki Stosowanej, Wydział Mechaniczny, Politechnika Krakowska.

188 1. Wstęp 1.1. Model danych Podstawowym i najważniejszym pojęciem charakteryzującym wszystkie bazy danych jest model danych [1, 2]. Model danych to zbiór ogólnych zasad posługiwania się danymi obejmujący następujące zagadnienia: 1. Definicje danych, czyli zbiór reguł określających strukturę danych w bazie danych (tabele, indeksy, typy danych, powiązanie danych między sobą). 2. Operowanie danymi, czyli zbiór reguł określających operacje na danych (sposób wstawiania, modyfikowania i kasowania danych). 3. Integralność danych, czyli zbiór reguł określających, które stany bazy danych są poprawne, a operacje na danych dozwolone (np. co należy wykonać, jeśli udało się zapisać jedynie część danych z większego pakietu). W klasycznym podejściu do baz danych wyróżnia się cztery modele podstawowe [2]: 1. Hierarchiczny, 2. Sieciowy, 3. Relacyjny, 4. Obiektowy, oraz modele mieszane: 5. Relacyjno-obiektowy, 6. Sieciowo-relacyjny. Za mniej popularne można uznać modele, sieciowy i hierarchiczny, które są jeszcze stosowane w systemach typu mainframe, często w aplikacjach finansowych. Obecnie najczęściej używa się modelu relacyjnego i jego relacyjno-obiektowych kombinacji. 1.2. Model hierarchiczny Model hierarchiczny wywodzi się z systemu MIS (Management Information System) oraz IDS (Integrated Data Store), nad którymi prace rozpoczęto 1960 roku. Jednym z bardziej znanych i używanych do dziś DBMS (DataBase Management System) opartym na modelu hierarchicznym, wraz z jego późniejszymi modyfikacjami, jest IBM IMS (Information Management System) [3]. W 1966 roku IBM rozpoczął prace nad IMS w ramach programu kosmicznego Apollo. Rys. 1. Przykład drzewa danych w modelu hierarchicznym Fig. 1. Example of data tree in the hierarchical model

189 W modelu hierarchicznym (Hierarchical Data Model) [3, 4] baza danych (w zakresie modelu danych) jest zorganizowana w postaci odwróconego drzewa tak, że istnieje jeden korzeń i gałęzie, przy czym tabela nadrzędna to ojciec, a podrzędna to syn. Nietrudno więc zrozumieć, że ojciec może mieć wiele dzieci, ale każde dziecko tylko jednego ojca, co pokazuje rysunek 1. W odniesieniu do struktur bazy danych, każdy rekord prócz głównego (wierzchołek drzewa) powiązany jest dokładnie z jednym rekordem nadrzędnym. 1.3. Model sieciowy Model sieciowy został pierwotnie opracowany przez Charlesa Bachmana i ustandaryzowany w 1969 roku przez komitet standaryzacyjny CODASYL (Conference on Data Systems Languages). Nie przyjął się jednak w szerokich zastosowaniach, ale jego powstanie przyczyniło się do prac nad kolejnym modelem danych: relacyjnym. W 1971 roku komitet DBTG (Data Base Task Group), będący częścią CODASYL, przedstawił raport na temat Data Manipulation Language (DML) i Data Definition Language (DDL), które stały się standardem w obsłudze relacyjnych baz danych. Jednym z przedstawicieli modelu sieciowego był VAX DBMS nieistniejącej już firmy DEC Digital Equipment Corporation. W modelu sieciowym (Network Data Model) [3, 4] baza danych jest zorganizowana w formie odwróconego drzewa, ale tak, że gałęzie mogą być współdzielone przez kilka drzew taka struktura tworzy graf, czyli sieć powiązań zrealizowanych za pomocą wskaźników. Różnicę w stosunku do modelu hierarchicznego obrazuje rysunek 2. Model sieciowy miał w ten sposób zniwelować ograniczenia modelu hierarchicznego. Rys. 2. Przykład drzewa danych w modelu sieciowym Fig. 2. Example of data tree in the network model 1.4. Model relacyjny Model relacyjny został zaproponowany w 1970 roku przez Edgara Franka Codd a [5] i z czasem okazał się najbardziej trafnym podejściem do problemu organizacji danych. Jest to tzw. pierwszy relacyjny model danych. W relacyjnym modelu danych (Relational Data Model RDM) baza danych składa się z relacji (tabel) powiązanych ze sobą za pomocą więzów integralności: kluczy głównych (PK) i kluczy obcych (FK).

190 Relacja (tabela) jest podstawową struktura relacyjnej bazy danych. Wszystkie tabele składają się z atrybutów (kolumn) oraz wierszy (krotek). Kolejność wierszy jest obojętna! Atrybut (kolumna) jest najmniejszą strukturą w modelu relacyjnym, przeznaczoną do przechowywania jednostkowych danych, reprezentujących pewną cechę tematu, jaki opisuje tabela, np. atrybut IMIĘ w relacji OSOBA. Wiersz (krotka) składa się z pełnego zestawu atrybutów, niezależnie od tego, czy mają one przypisaną wartość. Wiersz jest najmniejszą strukturą opisującą cały obiekt, którego dotyczy tabela, np. wszystkie informacje o danej osobie w tabeli OSOBA. Klucz główny (PK) ang. Primary Key, tworzy jeden lub więcej atrybutów tabeli (klucz złożony), na podstawie wartości którego można jednoznacznie zidentyfikować każdy wiersz w tej tabeli. Klucz obcy (FK) ang. Foreign Key, tworzy jeden lub więcej atrybutów tabeli (klucz złożony), które w innej tabeli są kluczem głównym. W ten sposób tworzone jest bezpośrednie powiązanie wierszy z danymi z dwóch różnych tabel. Rys. 3. Przykład projektu bazy danych w modelu relacyjnym Fig. 3. Example of project of database in a relational data model 1.5. Model obiektowy Jednym z nowych podejść do rozwiązań w dziedzinie organizacji baz danych jest obiektowy model danych. W modelu tym dane nie są gromadzone w plikach czy tabelach, ale w obiektach. Obiekty to kapsuły zawierające komplet danych (analogia krotki w modelu relacyjnym) oraz dodatkowo metody wykonywania operacji na tych danych co pokazuje rys. 4. Obiektowe bazy danych bazują na obiektowym sposobie projektowania i programowania aplikacji OO (Object Oriented). Operowanie na dużej ilości obiektów jest czaso- i pamięciochłonne, dlatego w chwili obecnej obiektowe bazy danych są zazwyczaj wykorzystywane w czystej postaci jedynie w małej skali. Obiektowe bazy danych oznaczane są skrótem ODB od ang. Object DataBase lub OODB od ang. Object Oriented DataBase.

191 METODY (procedury i funckje ZMIENNE Odpowiednik kolumny w RMD Rys. 4. Przykład budowy obiektowych struktur danych w OODB Fig. 4. Example of object data structure in a OO databases 2. Mieszane modele danych 2.1. Model relacyjno-obiektowy Model relacyjny [5] przyj ł si ze wzgl du na jasne kryteria i wydajno przetwarzania danych. Obiektowe systemy zarz dzania bazami danych s trudniejsze do u ytkowania i implementacji, a w wielu przypadkach wci zbyt mało wydajne. Dlatego te, aby wykorzysta zdobycze nowej technologii, stosuje si model relacyjno-obiektowy. Model relacyjno-obiektowy charakteryzuj si tym, e w relacyjnych tabelach mo na utworzy kolumny do przechowywania danych typu obiektowego [6]. Na rysunku 5 przedstawiono tabel Tools zawieraj c kolumn obiektow, słu c do zdefiniowania zmiennych oraz metod operowania na instancji (egzemplarzu) obiektu. W modelu relacyjnym mo na by zdefiniowa jedynie nazwy metod do sterowania narz dziem. metody zmienne Rys. 5. Obiektowy atrybut relacyjnej tabeli Fig. 5. Example of object column in a relational table 2.2. Model sieciowo-relacyjny Model relacyjny-obiektowy nie jest jedynym modelem mieszanym. Warto wiedzie, e istniej systemy wykorzystuj ce model sieciowy lub hierarchiczny z modelem relacyjnym. Do wyja nienia modelu sieciowo-relacyjnego [7] najlepiej posłu y si przykładem. Rysunek 4 prezentuje prosty schemat bazy do obsługi faktur. Dla ka dego klienta mo liwe jest zarejestrowane dowolnej ilo ci faktur, przy czym ka da faktura mo e posiada dowoln liczb pozycji faktury. W celu zapewnienia wi zów mi dzy tabelami tabele poł czone s parami kluczy FK-PK. W tabeli FAKTURA znajduje si FK b d cy kluczem głównym w tabeli KLIENT, natomiast w tabeli POZYCJA FA znajduje si FK b d cy

192 kluczem głównym w tabeli FAKTURA. W celu odnalezienia faktury danego klienta należy najpierw przeszukać tabelę FAKTURY po wartości klucza głównego klienta, a następnie dla odnalezionej faktury przeszukać tabelę POZYCJA FA po kluczu głównym danej faktury. W takim wypadku najlepiej posłużyć się indeksami stworzonymi na potrzeby takiego właśnie wyszukiwania. Kierunek przepływu klucza FK do PK Kierunek przepływu klucza FK do PK INDEKS INDEKS Rys. 6. Przykład realizacji powiązań danych dla modelu relacyjnego Fig. 6. Example of data connections in the relational data model Model sieciowy przedstawiony na rysunku 7 dla wcześniej opisanej bazy danych (rys. 6) wydaje się znacznie prostszy. Różnica między RDM, a modelem sieciowym polega na tym, że KLIENT udostępnia wskaźnik do faktury, natomiast w tabeli FAKTURA, kolejne faktury należące do danego klienta wskazują na ten wiersz tabeli, do którego dany klient się odnosi (za pomocą struktur wskaźnikowych). Zatem między tabelami KLIENT i FAKTURA występuje relacja 1:1, a relacja 1:n realizowana jest przez wskaźniki tabeli FAKTURA. Na podobnej zasadzie zrealizowane jest powiązanie między tabelami FAKTURA i POZYCJA FA. Model sieciowy charakteryzuje się znacznie szybszym czasem dostępu do tych samych danych niż w RDM. Rys. 7. Przykład realizacji powiązań danych dla modelu sieciowego Fig. 7. Example of data connections in the network data model Rys. 8. Przykład realizacji powiązań danych dla modelu sieciowo-relacyjnego Fig. 8. Example of data connections in the network-relational data model

193 Model mieszany, sieciowo-relacyjny wykorzystuje zarówno znane z RDM struktury indeksowe, jak i wskaźniki charakterystyczne dla modelu sieciowego. W omawianym przykładzie (rys. 8) relacyjny indeks wskazuje na bezpośrednią ścieżkę konkretny KJLIENT szukana FAKTURA, przez co wyszukiwanie danych w tabelach KLIENT i FAKTURA odbywa się przez przeszukanie indeksu. Dozwolone są również odwołania wskaźnikowe co wykorzystano w tabeli POZYCJA FA. Model sieciowo-relacyjny został zaimplementowany w R D M S e r v e r rozwijanym od 1982 roku przez R a i m a C o r p o r a t i o n oraz R D M E m b e d d e d firmy C e n t u r a S o f t w a r e. 3. Wnioski W artykule przedstawiono podstawowe zagadnienia związane z modelami danych stosowanymi w systemach bazodanowych. Mimo iż obecnie najbardziej rozpowszechnionym wydaje się model relacyjny i jego obiektowe rozszerzenia [6], to jak pokazano nie jest to jedyny wybór. Zdaniem autora, droga do modelu relacyjnego była znacznie bardziej interesująca [8] niż obecne niewielkie zmiany w specyfikacjach dla modelu relacyjnego. W zaawansowanych systemach biznesowych klasy Business-to-Business (B2B) wciąż działają systemy klasy IBM IMS [3] i nic nie wskazuje na to, aby miały być zastąpione relacyjnymi bazami danych, które jako uzupełnienie funkcjonalności IMS potrzebowałyby dodatkowych monitorów przetwarzania transakcji biznesowych (np. O r a c l e T u x e d o). Ciekawą alternatywą dla tradycyjnych, relacyjnych systemów DBMS jest model sieciowo-relacyjny. Obecnie wykorzystują go systemy wymagające z jednej strony dużej szybkości przetwarzania żądań i niezawodności, a z drugiej, oszczędzania zasobów. Należą do nich systemy wbudowane (embeded), a zwłaszcza urządzenia i systemy na potrzeby militarne. Jak pokazano w pierwszej części artykułu, mimo że podstawowe i znane modele są proste do zrozumienia oraz istnieją ich przemysłowe implementacje, to jednak nie jesteśmy skazani jedynie na model relacyjno-obiektowy. Niska znajomość kombinacji sieciowo-relacyjnych lub hierarchiczno-relacyjnych skłoniła autora do przedstawienia niniejszego artykułu. L i t e r a t u r a [1] F r y J.P., S i b l e y E., Evolution of Data-Base Management Systems, ACM Computing Surveys, Vol. 8, No. 1, 1976. [2] N a v a t h e S.B., Evolution of Data Modeling for Databases, Communications of the ACM, Vol. 35, No. 9, 1992. [3] L o n g R., H a r r i n g t o n M., H a i n R., N i c h o l l s G., IMS Primer, IBM ITSO, 2000. [4] E l m a s r i R., N a v a t h e S.B., Fundamentals of Database Systems (3th Edition), Addison Wesley 2000. [5] C o d d E.F., A Relational Model of Data for Large Shared Data Banks, Communications of the ACM, Vol. 13, No. 6, 1970. [6] B e r g h o l t L., S t e e n D u e J.S., H o h n T., K n u d s e n J.L., N i e l s e n K.H., O l e s e n T.S., P e d e r s e n E.H., Database Management Systems: Relational,

194 Object-Relational, and Object-Oriented Data Models, Report COT/4-02-V1.1, Centre of Object Technology 1998. [7] J o h n s o n P., Network and Relational Data Modeling, Raima Inc. 2008. [8] N o r t h K., Database Systems: The First Generation, KN Computing, LLC, 2007.