2. rozszerzanie modelu relacyjnego o własności modelu obiektowego,

Wielkość: px
Rozpocząć pokaz od strony:

Download "2. rozszerzanie modelu relacyjnego o własności modelu obiektowego,"

Transkrypt

1 Obiektowe bazy danych wprowadzenie Nowe dziedziny zastosowań baz danych: komputerowe wspomaganie projektowania (ang. Computer Aided Design CAD), komputerowe wspomaganie wytwarzania (ang. Computer Aided Manufacturing CAM), systemy wspomagania inżynierii oprogramowania (ang. Computer Aided Software Engineering CASE), geograficzne systemy informacyjne (ang. Geographical Information Systems GIS), systemy komputerowego wspomagania prac zespołowych (ang. Computer Supported Cooperative Work CSCW), systemy multimedialne Wymagania nowych dziedzin zastosowań baz danych: Nowy model danych, umożliwiający modelowanie obiektów o złożonych strukturach i skomplikowanych powiązaniach z innymi obiektami oraz własności dynamicznych obiektów. 139 Obiekty i metody Obiekt - reprezentuje w systemie komputerowym encję modelowanego świata rzeczywistego. Własności statyczne encji są modelowane za pomocą atrybutów obiektu, a jej własności dynamiczne za pomocą operacji wykonywanych na obiekcie. Operacje te są zwane metodami (ang. methods) obiektu. Zbiór wszystkich metod obiektu stanowi jego interfejs z innymi obiektami. Obiekty o takiej samej strukturze i metodach są grupowane w klasy. Obiekty należące do danej klasy są jej wystąpieniami (ang. instance). Formalnie, przez obiekt rozumiemy dwójkę: o = (oid, v), gdzie oid jest unikalnym identyfikatorem obiektu, a v jest wartością obiektu. Wartość obiektu, w zależności od jego struktury, może być wartością atrybutu, krotką wartości lub zbiorem wartości. 141 Obiektowe bazy danych - wprowadzenie Obiektowe bazy danych, które łączą w sobie cechy technologii obiektowych z cechami systemów zarządzania bazami danych: możliwość modelowania złożonych typów danych, hierarchii typów, własności dynamicznych, trwałość przechowywanych w systemie danych, zarządzanie współbieżnym dostępem do danych, możliwość odtworzenia stanu bazy danych po awarii, autoryzację dostępu i deklaratywny język komunikacji z bazą danych. Badania związane z zastosowaniem technologii obiektowej w bazach danych rozwijane są w dwóch kierunkach: 1. opracowania od podstaw koncepcji obiektowych baz danych; 2. rozszerzanie modelu relacyjnego o własności modelu obiektowego, 140 Obiekty i metody - cd. Identyfikatory obiektów Określają tożsamość obiektu niezależnie od stanu wartości jego atrybutów. Identyfikator jest nadawany przez system w momencie tworzenia obiektu, a jego wartość pozostaje niezmienna przez cały czas życia obiektu. Identyfikator ten jest niedostępny dla programów użytkownika. dopuszcza istnienie wielu obiektów o takich samych wartościach atrybutów - obiekty te są rozróżniane właśnie za pomocą identyfikatorów; własność ta wyraźnie odróżnia obiekty od krotek z modelu relacyjnego. Struktura obiektów Jest określona przez zbiór nazwanych atrybutów. Atrybuty są zdefiniowane na dziedzinach, które są zbiorami wartości elementarnych, takich jak liczby naturalne, rzeczywiste, czy łańcuchy znaków, lub klasami. Atrybuty obiektów mogą być wielowartościowe. Atrybuty zdefiniowane na zbiorach wartości elementarnych są nazywane atrybutami prostymi, natomiast zdefiniowane na klasach są nazywane atrybutami złożonymi. 142

2 Obiekty i metody - cd. umożliwia modelowanie dynamicznych własności encji za pomocą metod obiektów, których specyfikacja, obok specyfikacji struktury obiektów, wchodzi w skład definicji klasy obiektów. Innymi słowy, zmiana stanu obiektu, tj. wartości jego atrybutów, może zostać zrealizowana tylko za pomocą odpowiedniej metody obiektu. Struktura obiektów oraz implementacja metod są ukryte przed użytkownikiem obiektu. Własność ta jest nazywana hermetycznością obiektu (ang. encapsulation). Komunikacja z obiektem odbywa się przez wysyłanie do obiektu komunikatów, które uaktywniają odpowiadające im metody obiektu. Dzięki hermetyczności, zmiana implementacji struktury obiektów i metod nie wpływa na poprawność pracy innych programów odwołujących się do tych obiektów, jeśli tylko interfejs pozostanie niezmieniony. Zewnętrzny interfejs obiektu jest więc zbiorem komunikatów, z którymi są skojarzone metody obiektu. Interfejs ten jest nazywany protokołem. Jedną z konsekwencji hermetyczności jest możliwość jednorodnego operowania na obiektach różniących się strukturą i metodami, a mających taki sam protokół. Własność umożliwiająca uaktywnienie takim samym komunikatem metod obiektów należących do różnych klas jest nazywana polimorfizmem. 143 Klasy i związki Dziedzinami atrybutów mogą również być inne klasy - mówimy wówczas o związkach kompozycji (ang. composition relationships) lub agregacji (ang. aggregation relationships) łączących klasy. Związek kompozycji jest szczególnym rodzajem związku referencyjnego (ang. is-part-of lub composite reference) - związek ten umożliwia modelowanie sytuacji, w której jedna encja jest częścią składową drugiej encji, a więc na przykład związku: silnik_1500_td jest_częścią samochodu Polonez_1500. Obiekt, który wiąże inne obiekty związkiem kompozycji jest nazywany obiektem złożonym (ang. complex lub composite object), natomiast obiekty związane związkiem kompozycji są nazywane obiektami składowymi (ang. component object). Obiekty składowe również mogą być złożone, a zatem obiekt złożony jest w ogólności hierarchią obiektów składowych. 145 Klasy Wszystkie obiekty posiadające taką samą strukturę i metody są grupowane w klasy (ang. class). Klasa jednocześnie definiuje strukturę i zachowanie się obiektu, na które składają się odpowiednio definicje atrybutów oraz definicje i implementacje metod. Dziedzinami atrybutów klasy mogą być wartości elementarne, takie jak liczby, łańcuchy znaków, lub wartości złożone takie jak listy i zbiory. obejmuje pojęcia różnych typów związków między obiektami i między klasami. Atrybuty złożone definiują związki między obiektami - ten typ powiązań nazywa się związkiem referencyjnym. Dwa obiekty są powiązane związkiem referencyjnym jeżeli jeden z nich jest wartością atrybutu drugiego - związki referencyjne umożliwiają modelowanie związków typu: Jan_Kowalski jest_mężem Janiny_ Kowalskiej, lub Jan_Kowalski posiada samochód Polonez_ Związki Związek kompozycji nadaje obiektom składowym dodatkową semantykę - obiekty składowe są zależne (ang. depend) i powiązane w sposób wyłączny (ang. exclusive) przez obiekty złożone. Zależność obiektów składowych polega na tym, że ich istnienie jest zależne od istnienia zawierających je obiektów złożonych. Z kolei wyłączność zawierania obiektów składowych polega na tym, że mogą one należeć tylko do jednego obiektu złożonego. Związek kompozycji jest abstrakcją agregacji. Umożliwia ona automatyczne wykonywanie pewnych operacji na wszystkich powiązanych nim encjach. Związki takie umożliwiają modelowanie obiektów złożonych. Klasy połączone w taki sposób tworzą graf skierowany (w pewnych przypadkach może on być cykliczny). 146

3 Związki cd. Związki referencyjne, które nie są związkami kompozycyjnymi są nazywane słabymi związkami referencyjnymi (ang. weak reference) [Kim87]. Definicja i implementacja metod znajduje się w klasie a nie w samym obiekcie. Ponieważ metody są wspólne dla wszystkich instancji, więc unika się w ten sposób wielokrotnego definiowania tej samej metody. Komunikat przesłany do obiektu uaktywnia jego metodę, znajdującą się w jego klasie. Jedną z podstawowych własności klasy jest jej zdolność do tworzenia obiektów (ang. instantiation). Nowy obiekt jest tworzony za pomocą metody klasy. Metoda ta jest określana konstruktorem (ang. constructor). Sama klasa jest również obiektem bazy danych instancją klasy systemowej, zwanej metaklasą. Cechą wyróżniającą klasę od innych obiektów jest jej zdolność do tworzenia obiektów. 147 Dziedziczenie cd. Klasy powiązane związkami dziedziczenia tworzą acykliczny graf skierowany (ang. Direct Acyclic Graph DAG), zwany hierarchią dziedziczenia (ang. inheritance hierarchy). Korzeniem tej hierarchii jest zwykle predefiniowana klasa o nazwie Obiekt, implementująca wspólne, najbardziej ogólne, własności wszystkich obiektów. Podklasa dziedziczy atrybuty i metody nie tylko ze swojej bezpośredniej superklasy, ale również, pośrednio, z nadklas znajdujących się wyżej w hierarchii. Instancje klas tworzących hierarchię dziedziczenia są powiązane związkiem jest (ang. is-a). Oznacza to, że każda instancja podklasy jest jednocześnie instancją swej nadklasy. Przykładowo, klasa Samochód dziedziczy z klasy Pojazd, co oznacza, że każdy samochód jest jednocześnie pojazdem. 149 Dziedziczenie System obiektowy umożliwia wywodzenie nowych klas z klas już istniejących. Mechanizm ten nazywa się dziedziczeniem (ang. inhertiance). Klasa wywiedziona nazywa się podklasą (ang. subclass), a klasa, z której wywiedziono inną nadklasą bądź superklasą (ang. superclass). Atrybuty i metody nadklasy są dziedziczone (współdzielone) przez wszystkie podklasy z niej wywiedzione. Podklasa może również zawierać: dodatkowe atrybuty, dodatkowe metody, atrybuty odziedziczone, które zostały przedefiniowane lokalnie, metody odziedziczone, które zostały przedefiniowane lokalnie (dotyczy to zarówno sygnatur metod jak i ich implementacji). 148 Dziedziczenie cd. Jeżeli klasa może dziedziczyć z więcej niż jednej bezpośredniej nadklasy, to mówimy o wielodziedziczeniu (ang. multiple inheritance). Dzięki mechanizmowi dziedziczenia, w systemie nie powstają redundancje związane z definiowaniem tych samych atrybutów i (lub) metod w podklasie, ponieważ zostały one zdefiniowane w superklasie. W wyniku dziedziczenia w wielu klasach istnieją takie same metody, ale operujące na różnych obiektach. W wyniku przedefiniowania w podklasie metod dziedziczonych mogą istnieć metody różniące się semantyką i implementacją. W konsekwencji, ten sam komunikat może uaktywnić metodę obiektów należących do różnych klas. Ta własność nazywa się polimorfizmem (ang. polimorphism) lub wielopostaciowością. 150

4 Dziedziczenie Przykład: Obiekt UrządzenieElektroniczne moc włącz wyłącz Radio Magnetofon Głowica zakres_częstotliwości głowica kieszeń zmień_zakres zasilacz zwiększ_głośność Zasilacz zmniejsz_głośność odtwórz zapisz otwórz_kieszeń włącz Transformator RadioMagnetofon związek dziedziczenia związek kompozycji Miniświat opisujący urządzenia elektroniczne - klasy i związki między nimi 151 Dziedziczenie Przykład: Zbiór wszystkich klas i łączących je związków tworzy schemat obiektowej bazy danych. Obiektowy model danych zawiera bogaty zbiór operacji modyfikacji schematu bazy danych: struktury obiektów, implementacji metod oraz grafu dziedziczenia, które umożliwiają modelowanie ewolucyjnej natury świata rzeczywistego. 153 Dziedziczenie Przykład: Obiektowe bazy danych Charakterystyka nowych dziedziny zastosowań systemów baz danych: Wspólną cechą wszystkich tych systemów jest potrzeba trwałego przechowywania danych, a więc wykorzystanie obiektowych baz danych

5 Obiektowe bazy danych Prototypowe bazy danych: Exodus (Uniwersytet Wisconsin), ObServer, Ode (AT&T), Orion (MCC), Zeitgeist (Texas Instruments). Komercyjne bazy danych: Itasca (MCC, komercyjna wersja Oriona), GemStone (Servio Corporation), ObjectStore (Object Design), Ontos (Ontologic) i O2 (O2 Technology). Cechy obiektowych baz danych Efektywne zarządzanie trwałymi obiektami W systemach obiektowych trwałość obiektów uzyskuje się na dwa sposoby: umieszczaniu obiektów (tworzonych przez aplikację) w tzw. obszarze pamięci trwałej (ang. persistent memory), jawny ich zapis na serwerze bazy danych przed zakończeniem programu. Dostęp do obiektów bazy danych za pomocą proceduralnego języka programowania i języka deklaratywnego Powiązania między obiektami przechowywanymi w bazie danych tworzą skomplikowane grafy - użytkownik musi mieć możliwość nawigowania między pojedynczymi obiektami bazy danych (za pomocą poleceń sformułowanych proceduralnie), musi mieć również możliwość wyszukiwania całych zbiorów obiektów. Zapytania w języku deklaratywnym (zwanym w skrócie OQL lub OSQL), z zastosowaniem predykatów. Ograniczeniem jest jednak to, że polecenia OQL mogą być kierowane tylko do tych klas obiektów, które są zorganizowane w zbiory. Wszystkie inne klasy obiektów są dostępne za pomocą poleceń sformułowanych proceduralnie Efektywne zarządzanie trwałymi obiektami Serwery obiektowych baz danych można podzielić na dwie następujące kategorie: serwery stron (ang. page servers) i serwery obiektów (ang. objects servers). Serwery stron charakteryzują się tym, że zarządzają stronami pamięci (są to obszary pamięci o stałej długości), na których znajdują się obiekty. Oznacza to, że do aplikacji są przesyłane nie pojedyncze obiekty, ale całe strony zawierające żądane obiekty. Aplikacja jest odpowiedzialna za odszukanie obiektu na stronie. Serwerami stron są m.in. Exodus i ObjectStore. Serwery obiektów zarządzają pojedynczymi obiektami lub grupami powiązanych z sobą obiektów. Do aplikacji są przesyłane tylko żądane przez nią obiekty. W tym przypadku serwer jest odpowiedzialny za odnalezienie obiektu w bazie danych. Niektóre z tych serwerów interpretują obiekty tylko jako ciągi bajtów m.in. ObServer i Zeitgeist. Inne interpretują również semantykę obiektów m.in. Orion i O Dostęp do obiektów bazy danych... Odczytanie obiektu złożonego odbywa się szybko ponieważ w obiekcie złożonym znajdują się bezpośrednie wskazania (identyfikatory) do obiektów składowych - z tego względu obiektowe bazy danych lepiej niż relacyjne nadają się do przechowywania obiektów o strukturze złożonej. Problem optymalizacji wykonywania zapytań. Wynikiem zapytania jest zbiór obiektów, które mogą się składać z innych obiektów. Obiekty będące wynikiem zapytania mogą również pochodzić z różnych klas, np. obiekty klasy Magnetofon i RadioMagnetofon (zob. przykład). Dodatkowo, w predykatach poleceń OQL można odwoływać się do metod obiektów, które mogą wywoływać inne metody innych obiektów. Optymalizator powinien dokonać analizy implementacji struktury i metod obiektów, co z kolei narusza własność hermetyczności. W systemie obiektowym optymalizator nie posiada wystarczających informacji do tego aby przekształcić graf operacji do bardziej optymalnego. 158

6 Dostęp do obiektów bazy danych... Język OQL: GemStone, Itasca/Orion, ObjectStore, Ontos, i O2 Języki proceduralne: Exodus język C++ i jego rozszerzenia w języku E; GemStone język OPAL, oparty o Smalltalk, Itasca/Orion Common Lisp rozszerzony o mechanizmy programowania obiektowego; Ontos i ObjectStore używają C++; Ode wykorzystuje się O++, będący rozszerzeniem C++; O2 język C++ i język O2C będący rozszerzeniem C. 159 Zarządzanie współbieżnym dostępem do danych i zarządzanie transakcjami Wprowadzenie typów blokad o mniejszej restryktywności niż wyłączna blokada do zapisu umożliwia osiągnięcie większej współbieżności aplikacji bazy danych. Nowe typy blokad są definiowane razem z operacjami. Blokady te są nazywane blokadami semantycznymi (ang. semantic locks). Metody blokowania dla obiektowych baz danych nie mogą również ignorować niektórych specyficznych typów powiązań między obiektami. Na przykład założenie blokady na złożony obiekt samochód powinno być równoznaczne z zablokowaniem wszystkich jego obiektów składowych. Stąd proponowane metody realizują hierarchiczne blokowanie nie tylko w hierarchii ziarnistości, ale również w hierarchiach dziedziczenia i kompozycji. 161 Zarządzanie współbieżnym dostępem do danych i zarządzanie transakcjami W systemach obiektowych, podobnie jak w relacyjnych, do synchronizacji dostępu do danych wykorzystuje się blokady zakładane na obiektach (m.in. Exodus, Itasca/Orion, ObjectStore, Ontos, O2). Konieczne rozszerzenie o dodatkowe mechanizmy - wynika to z faktu złożoności obiektów i istnienia hierarchii klas. W modelu obiektowym obiekty składowe są powiązane z obiektami, na które się składają w takim przypadku zablokowanie obiektu złożonego powinno spowodować zablokowanie również wszystkich obiektów składowych. W obiektowych bazach danych bogatsza niż w modelu relacyjnym semantyka operacji wymaga rozszerzenia zbioru typów blokad. 160 Zarządzanie współbieżnym dostępem do danych i zarządzanie transakcjami W procesie projektowania (aplikacje CAD, CSCW) wykorzystuje się transakcje o długim czasie trwania (np. dni, miesiące). Model zarządzania transakcjami w systemach obiektowych, został wzbogacony o mechanizm transakcji zagnieżdżonych (ang. nested transactions). Transakcja zagnieżdżona to taka, w ramach której rozpoczęto inną (zagnieżdżoną w niej) transakcję. W ten sposób transakcje tworzą strukturę drzewiastą. Istnieje możliwość zatwierdzania poszczególnych transakcji składowych przed zatwierdzeniem całej transakcji. Mechanizm zarządzania transakcjami o długim czasie trwania został zaimplementowany m.in. w systemach ObjectStore, Ontos; natomiast mechanizm zarządzania transakcjami o krótkim czasie trwania został zaimplementowany we wszystkich innych systemach. 162

7 Wywodzenie wersji danych Obiektowe bazy danych muszą wspierać wywodzenie i przechowywanie wersji projektowanych elementów. Również sam schemat bazy danych może podlegać ewolucji, np. na skutek dostosowywania jego struktury do zmieniających się potrzeb systemu informatycznego. Tak więc, obiektowe bazy danych muszą dostarczać mechanizmów umożliwiających wywodzenie i zarządzanie wersjami zarówno obiektów jak i klas. Istniejące modele, prototypy i produkty komercyjne można podzielić na takie, które wspierają wywodzenie wersji: obiektów, pojedynczych klas, klas powiązanych związkami kompozycji i dziedziczenia, całych schematów, całych baz danych. 163 Wywodzenie wersji danych cd. a) b) B B V1 A A V1 V1 V1 V2 V3 V2 V3 wersja bieżąca wiązanie związek wywodzenia Sposoby wiązania obiektów Wielowersyjny obiekt A składa się tylko z jednej wersji V1, natomiast wielowersyjny obiekt B składa się z trzech wersji: V1, V2, V3. Dwie ostatnie wersje zostały wywiedzione z V1.Zazwyczaj jedna z wersji (wybrana przez projektanta lub wywiedziona jako ostania) jest tzw. wersją bieżącą (ang. working version, current version). Każda wersja jest jednoznacznie identyfikowana przez identyfikator wersji (ang. version stamp), nadawany jej przez system. 165 Wywodzenie wersji danych cd. Obiekt wielowersyjny Rozwiązania alternatywne i wersje czasowe (historyczne) modeluje się za pomocą wersji obiektów (ang. object version). Zbiór wszystkich wersji danego obiektu wraz ze związkami łączącymi te wersje jest tzw. obiektem wielowersyjnym (ang. multiversion object). Poszczególne wersje obiektu są połączone związkami wywodzenia (ang. derivation relationships), oznaczającymi fakt wywiedzenia jednej wersji obiektu z innej. Tworzą one tzw. drzewo wywodu wersji (ang. version derivation tree). 164 Wywodzenie wersji danych cd. Wyróżnia się dwa sposoby wiązania wersji obiektów: wiązanie statyczne (ang. static binding) i wiązanie dynamiczne (ang. dynamic binding). Wersje dwóch obiektów są połączone wiązaniem statycznym, gdy wartością atrybutu obiektu pierwszego jest identyfikator konkretnej wersji obiektu drugiego. Wersje dwóch obiektów są połączone wiązaniem dynamicznym, gdy wartością atrybutu obiektu pierwszego jest identyfikator obiektu wielowersyjnego, do którego należy wersja obiektu drugiego Te same wersje obiektów składowych są współdzielone przez wiele wersji obiektów złożonych. 166

8 Rozproszenie danych Współczesne zastosowania systemów informatycznych charakteryzują się dostępem do danych z wielu odległych komputerów. Obiektowa baza danych powinna m.in. posiadać mechanizmy umożliwiające rozpraszanie danych i zarządzanie takimi danymi, mechanizmy replikowania danych, oraz zaimplementowane protokoły zatwierdzania transakcji rozproszonych. Z istniejących systemów tylko Exodus, GemStone i Itasca/Orion umożliwiają rozproszenie danych. Transakcje są zatwierdzane za pomocą rozproszonego protokołu 2 PC. GemStone umożliwia również replikowanie danych. 167 Obiektowo relacyjne bazy danych Do komercyjnych obiektowo relacyjnych baz danych zalicza się m.in.: Illustra (Informix Software, Inc.), Informix Universal Server (Informix Software, Inc.), OpenODB (HP), Oracle8 (Oracle Corporation), UniSQL (UniSQL, Inc.). Cechy obiektowo relacyjnych baz danych Rozszerzalny system typów danych Projektant bazy danych może definiować nowe typy danych o dowolnie złożonej strukturze. Natomiast serwer zarządza danymi nowych typów tak, jak danymi typów predefiniowanych, m.in. umożliwia definiowanie struktur fizycznych (np. indeksów), synchronizuje współbieżny dostęp. 169 Bezpieczeństwo danych Bezpieczeństwo danych posiada dwa aspekty: możliwość odtworzenia stanu bazy danych po awarii sprzętu i oprogramowania, Exodus umożliwia odtworzenie stanu bazy danych po awarii oprogramowania, systemu operacyjnego i procesora. Po ponownym uruchomieniu serwera, zmiany dokonane przez zatwierdzone transakcje zostają zapamiętane w bazie danych, natomiast wszystkie inne zmiany zostają wycofane. ochrona danych przed niepowołanym dostępem, Dostęp do danych powinien być ograniczony za pomocą praw dostępów. GemStone, Orion i O2 posiadają taką cechę. Dodatkowym mechanizmem ochrony danych są również perspektywy, które zostały zaimplementowane tylko w systemie O Obiektowo relacyjne bazy danych - cechy Obsługa typów niestandardowych Oprócz nowych typów danych projektant może definiować związane z nimi operacje, określające specyficzne własności behawioralne danych. Procedury i funkcje związane z relacjami W bazie danych można definiować i przechowywać procedury i funkcje składowane, związane z relacjami bazy danych. Elementy aktywne W bazie danych można definiować i przechowywać elementy aktywne wyzwalacze (ang. database triggers), reagujące na zdarzenia zachodzące w systemie. Wyzwalacze te mogą być związane zarówno z relacjami, jak i typami niestandardowymi. 170

9 Komercyjne obiektowo relacyjne bazy danych Oracle8 Nowa wersja serwera bazy danych Oracle8 umożliwia m.in.: definiowanie nowych typów danych wraz z metodami umożliwiającymi ich przetwarzanie dzięki temu, Oracle8 może być z powodzeniem stosowany do przechowywania danych pochodzących m.in. z systemów takich jak CAD/CAM, GIS, systemów multimedialnych; efektywne zarządzanie ogromnymi zbiorami danych dzięki tej własności Oracle8 może znaleźć zastosowanie w systemach multimedialnych i magazynach danych (ang. Data Warehouse); wykorzystanie równoległości przetwarzania danych co ma szczególne znaczenie w systemach analizy danych OLAP (ang. On Line Analythical Processing), w których wykonuje się skomplikowane obliczenia (np. statystyczne) na ogromnej liczbie danych; dostęp do danych za pomocą sieci Internet dla ogromnej liczby użytkowników co jest niezwykle ważne w dobie ogromnego rozwoju technologii Web. 171 Komercyjne obiektowo relacyjne bazy danych UniSQL W systemie UniSQL (UniSQL, Inc.) rozszerzono model relacyjny o następujące własności modelu obiektowego: możliwość definiowania relacji złożonych (zagnieżdżania relacji w sobie), tj. takich, w których wartością atrybutu jednej krotki jest nie pojedyncza wartość ale inna krotka; hermetyczność relacji oznacza to, że projektant systemu może skojarzyć z daną relacją zbiór operacji na poszczególnych jej atrybutach lub całych krotkach; związki dziedziczenia między relacjami oznacza to, że projektant systemu może zdefiniować hierarchię dziedziczenia relacji, podobnie jak hierarchię dziedziczenia klas w modelu obiektowym. W takim przypadku podrelacja dziedziczy wszystkie atrybuty i operacje swojej nadrelacji. Możliwe jest również dziedziczenie z wielu relacji równocześnie. 173 Komercyjne obiektowo relacyjne bazy danych Oracle8 oferuje ponadto obiektowo zorientowane środowisko projektowania Sedona, które znacznie zwiększa efektywność projektowania i pielęgnowania aplikacji oraz generowania aplikacji w językach programowania wysokiego poziomu. Wraz z serwerem w wersji 8, są dostarczane pakiety oprogramowania wspomagającego administrowanie systemem: Oracle8 Server Managed Backup and Recovery i Oracle Enterprise Manager. Pierwszy z nich umożliwia zautomatyzowanie m.in. procesów tworzenia kopii bezpieczeństwa bazy danych i odtwarzania stanu bazy danych po awarii. Drugi służy do zarządzania systemem rozproszonych lub zcentralizowanych systemów baz danych. Korzystając z tego pakietu, administrator ma dostęp z jednej konsoli do odległych węzłów, co umożliwia efektywne i łatwe zarządzanie nimi (m.in. zdalne monitorowanie i strojenie). 172 Komercyjne obiektowo relacyjne bazy danych UniSQL rozszerzenia cd. Funkcjonalność języka zapytań dla takiej bazy danych została rozszerzona o: zapytania nawigujące w relacjach zagnieżdżonych (ang. path queries), zapytania wyznaczające krotki o strukturze złożonej, możliwość wywoływania w zapytaniach operacji zdefiniowanych dla relacji, zapytania wyznaczające zbiory krotek w ramach relacji tworzących hierarchię dziedziczenia, t.j. wyznaczające krotki relacji i krotki wszystkich podrelacji. OpenODB, Illustra i Informix Universal Server Systemy takie jak: OpenODB (HP), Illustra i Informix Universal Server (Informix Software, Inc.) wykorzystują system zarządzania relacyjną bazą danych (SZRBD) do przechowywania obiektów. 174

10 Komercyjne obiektowo relacyjne bazy danych OpenODB, Illustra i Informix Universal Server Nad SZRBD znajduje się warstwa oprogramowania, która umożliwia przekształcenie klasy obiektów do takiej postaci, aby mogła on być przechowana w relacyjnej bazie danych (i odwrotnie). Klasy obiektów są reprezentowane za pomocą relacji, atrybuty i metody stanowią atrybuty relacji, natomiast same obiekty są krotkami relacji. Podejście to ma tę zaletę, że można zbudować system obiektowo relacyjny, o dużej funkcjonalności, w oparciu o dobrze zaimplementowany system relacyjny. Przez co budowa nowego systemu jest szybsza i mniej kosztowna, a sam system wykorzystuje wszystkie cechy SZRBD. Takie podejście zmniejsza jednak efektywność systemu, gdyż transformacja obiektów z modelu relacyjnego do obiektowego (i odwrotnie) zabiera czas. Jest to szczególnie ważne w aplikacjach, które przetwarzają duże ilości danych. 175

Paweł Kurzawa, Delfina Kongo

Paweł Kurzawa, Delfina Kongo Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

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

Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór

Bardziej szczegółowo

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

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language) Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu

Bardziej szczegółowo

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

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL Podstawy baz danych: Rysunek 1. Tradycyjne systemy danych 1- Obsługa wejścia 2- Przechowywanie danych 3- Funkcje użytkowe 4- Obsługa wyjścia Ewolucja baz danych: Fragment świata rzeczywistego System przetwarzania

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Programowanie obiektowe - 1.

Programowanie obiektowe - 1. Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu Podstawy baz danych PODSTAWY BAZ DANYCH 5. Modelowanie danych 1 Etapy tworzenia systemu informatycznego Etapy tworzenia systemu informatycznego - (według CASE*Method) (CASE Computer Aided Systems Engineering ) Analiza wymagań

Bardziej szczegółowo

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

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

Obiektowe bazy danych

Obiektowe bazy danych Obiektowe bazy Obiektowy model Wykład prowadzi: Tomasz Koszlajda Plan wykładu Przesłanki dla nowej generacji systemów baz Podstawowe elementy obiektowego modelu Konstruktory złożonych typów Abstrakcyjne

Bardziej szczegółowo

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

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

Technologie i usługi internetowe cz. 2

Technologie i usługi internetowe cz. 2 Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,

Bardziej szczegółowo

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Bazy danych Wykład 3: Model związków encji. dr inż. Magdalena Krakowiak makrakowiak@wi.zut.edu.pl Co to jest model związków encji? Model związków

Bardziej szczegółowo

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny. PI-14 01/12 Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.! Likwidacja lub znaczne ograniczenie redundancji (powtarzania się) danych! Integracja danych!

Bardziej szczegółowo

Programowanie Obiektowe i C++

Programowanie Obiektowe i C++ Programowanie Obiektowe i C++ Marcin Benke 2.10.2006 Dzisiaj Co umiemy Paradygmaty programowania Co będzie na wykładach Zasady zaliczania Programowanie obiektowe Co umiemy Programowałem w C++ Programowałem

Bardziej szczegółowo

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) LITERATURA C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom; Systemy baz danych. Kompletny podręcznik

Bardziej szczegółowo

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

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

problem w określonym kontekście siły istotę jego rozwiązania

problem w określonym kontekście siły istotę jego rozwiązania Wzorzec projektowy Christopher Alexander: Wzorzec to sprawdzona koncepcja, która opisuje problem powtarzający się wielokrotnie w określonym kontekście, działające na niego siły, oraz podaje istotę jego

Bardziej szczegółowo

SZKOLENIE: Administrator baz danych. Cel szkolenia

SZKOLENIE: Administrator baz danych. Cel szkolenia SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.

Bardziej szczegółowo

Modelowanie danych, projektowanie systemu informatycznego

Modelowanie danych, projektowanie systemu informatycznego Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym Modele - konceptualne reprezentacja obiektów w uniwersalnym

Bardziej szczegółowo

2010-10-06 ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

2010-10-06 ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO ORGANIZACJA ZAJĘĆ Wykładowca dr inż. Agnieszka Bołtuć, pokój 304, e-mail: aboltuc@ii.uwb.edu.pl Liczba godzin i forma zajęć: 30 godzin wykładu oraz 30 godzin laboratorium Konsultacje: czwartek 10:15-12:00

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Spis treści. Przedmowa

Spis treści. Przedmowa Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach

Bardziej szczegółowo

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca: 1.1. Podstawowe pojęcia Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca: informatykę (włącznie ze sprzętem komputerowym oraz oprogramowaniem używanym do tworzenia, przesyłania,

Bardziej szczegółowo

Post-relacyjne bazy danych

Post-relacyjne bazy danych Post-relacyjne bazy danych Historia języka SQL 1. Sequel-XRM 2. Sequel/2 SQL 3. ANSI SQL 1986 (ISO 1987) 4. X/Open (UNIX), SAA(IBM) 5. ANSI SQL 1989 6. ANSI/ISO SQL 92 Entry level 7. ANSI SQL 92 (SQL 2)

Bardziej szczegółowo

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000 LITERATURA Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000 Systemy baz danych. Pełny wykład H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom;WNT Warszawa 2006 Wprowadzenie do systemów

Bardziej szczegółowo

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

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Oczekiwania? 2 3 Bazy danych Jak przechowywać informacje? Jak opisać rzeczywistość?

Bardziej szczegółowo

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to

Bardziej szczegółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Bazy danych Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2016 Plan wykładu Wstęp do baz danych Modele baz danych Relacyjne bazy danych Język SQL Rodzaje

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

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

Systemy baz danych. mgr inż. Sylwia Glińska Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania

Bardziej szczegółowo

Alicja Marszałek Różne rodzaje baz danych

Alicja Marszałek Różne rodzaje baz danych Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy

Bardziej szczegółowo

Rysunek 1: Przykłady graficznej prezentacji klas.

Rysunek 1: Przykłady graficznej prezentacji klas. 4 DIAGRAMY KLAS. 4 Diagramy klas. 4.1 Wprowadzenie. Diagram klas - w ujednoliconym języku modelowania jest to statyczny diagram strukturalny, przedstawiający strukturę systemu w modelach obiektowych przez

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław

Bardziej szczegółowo

Technologie obiektowe

Technologie obiektowe WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność

Bardziej szczegółowo

Systemy GIS Systemy baz danych

Systemy GIS Systemy baz danych Systemy GIS Systemy baz danych Wykład nr 5 System baz danych Skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki Użytkownik ma do dyspozycji narzędzia do wykonywania różnych

Bardziej szczegółowo

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji Modelowanie danych. Model związków-encji Plan wykładu Wprowadzenie do modelowania i projektowania kartograficznych systemów informatycznych Model związków-encji encje atrybuty encji związki pomiędzy encjami

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak 1

Wprowadzenie. Dariusz Wawrzyniak 1 Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak

Bardziej szczegółowo

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

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD Projektowanie systemów informatycznych Roman Simiński roman.siminski@us.edu.pl siminskionline.pl Modelowanie danych Diagramy ERD Modelowanie danych dlaczego? Od biznesowego gadania do magazynu na biznesowe

Bardziej szczegółowo

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM

Bardziej szczegółowo

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

Bazy danych Wykład zerowy. P. F. Góra Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.

Bardziej szczegółowo

1 Projektowanie systemu informatycznego

1 Projektowanie systemu informatycznego Plan wykładu Spis treści 1 Projektowanie systemu informatycznego 1 2 Modelowanie pojęciowe 4 2.1 Encja....................................... 5 2.2 Własności.................................... 6 2.3 Związki.....................................

Bardziej szczegółowo

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle EFEKTY KSZTAŁCENIA Wiedza Absolwent tej specjalności

Bardziej szczegółowo

Programowanie Obiektowe i C++ Marcin Benke

Programowanie Obiektowe i C++ Marcin Benke Programowanie Obiektowe i C++ Marcin Benke Dzisiaj Co umiemy Paradygmaty programowania Co będzie na wykładach Zasady zaliczania Programowanie obiektowe Co umiemy Programowałem w C++ Programowałem w języku

Bardziej szczegółowo

Dziedziczenie. Tomasz Borzyszkowski

Dziedziczenie. Tomasz Borzyszkowski Dziedziczenie Tomasz Borzyszkowski Podstawy Zobacz: Dziedzictwo1.java Dziedzictwo2.java Dziedziczenie jest jedną z podstawowych cech OOP ponieważ umożliwia łatwe implementowanie klasyfikacji hierarchicznych.

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

Opisy efektów kształcenia dla modułu

Opisy efektów kształcenia dla modułu Karta modułu - Bazy Danych II 1 / 5 Nazwa modułu: Bazy Danych II Rocznik: 2012/2013 Kod: BIT-2-105-s Punkty ECTS: 4 Wydział: Geologii, Geofizyki i Ochrony Środowiska Poziom studiów: Studia II stopnia Specjalność:

Bardziej szczegółowo

Wzorce projektowe. dr inż. Marcin Pietroo

Wzorce projektowe. dr inż. Marcin Pietroo Wzorce projektowe dr inż. Marcin Pietroo Adapter - strukturalny wzorzec projektowy, którego celem jest umożliwienie współpracy dwóm klasom o niekompatybilnych interfejsach - adapter przekształca interfejs

Bardziej szczegółowo

Obiektowe bazy danych

Obiektowe bazy danych Obiektowe bazy danych Obiektowy model danych Wykład prowadzi: Tomasz Koszlajda Obiektowe bazy danych Obiektowy model danych Tematyka obiektowych baz danych obejmuje trzy jednostki wykładowe. Pierwszy wykład

Bardziej szczegółowo

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

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

Bardziej szczegółowo

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1 Rozdział 1 Wprowadzenie do baz danych 1 Model danych 2 Funkcje systemu zarządzania bazą danych Wymagania spójność bazy danych po awarii trwałość danych wielodostęp poufność danych wydajność rozproszenie

Bardziej szczegółowo

SBQL. język zapytań dla obiektowych baz danych. Kamil Adamczyk. Uniwersytet Warszawski 20.IV.2009

SBQL. język zapytań dla obiektowych baz danych. Kamil Adamczyk. Uniwersytet Warszawski 20.IV.2009 SBQL język zapytań dla obiektowych baz danych Kamil Adamczyk Uniwersytet Warszawski 20.IV.2009 Spis treści 1. Wstęp 2. Obiektowe bazy danych Model danych Języki zapytań Dostępne produkty 3. Sbql Główne

Bardziej szczegółowo

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

Bardziej szczegółowo

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Bazy danych Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Wszechnica Poranna Trzy tematy: 1. Bazy danych - jak je ugryźć? 2. Język SQL podstawy zapytań. 3. Mechanizmy wewnętrzne baz danych czyli co

Bardziej szczegółowo

Relacyjne, a obiektowe bazy danych. Bazy rozproszone

Relacyjne, a obiektowe bazy danych. Bazy rozproszone 2 Relacyjne, a obiektowe bazy danych. Bazy rozproszone Zastosowania baz danych systemy bankowe (bankomat) systemy masowej obsługi (hipermarket) rezerwacja biletów lotniczych telefonia komórkowa (sms) Dziekanat

Bardziej szczegółowo

Projektowanie logiki aplikacji

Projektowanie logiki aplikacji Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie logiki aplikacji Zagadnienia Rozproszone przetwarzanie obiektowe (DOC) Model klas w projektowaniu logiki aplikacji Klasy encyjne a klasy

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)

Bardziej szczegółowo

Porównanie systemów zarządzania relacyjnymi bazami danych

Porównanie systemów zarządzania relacyjnymi bazami danych Jarosław Gołębiowski 12615 08-07-2013 Porównanie systemów zarządzania relacyjnymi bazami danych Podstawowa terminologia związana z tematem systemów zarządzania bazami danych Baza danych jest to zbiór danych

Bardziej szczegółowo

Programowanie obiektowe. Wprowadzenie

Programowanie obiektowe. Wprowadzenie 1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Pojęcie bazy danych funkcje i możliwości

Pojęcie bazy danych funkcje i możliwości Pojęcie bazy danych funkcje i możliwości Baza danych to zbiór informacji zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych. W potocznym ujęciu obejmuje dane

Bardziej szczegółowo

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

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

Bardziej szczegółowo

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne

Bardziej szczegółowo

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski INFORMATYKA W ZARZĄDZANIU Wykład VI dr Jan Kazimirski jankazim@mac.edu.pl http://www.mac.edu.pl/jankazim MODELOWANIE SYSTEMÓW UML Literatura Joseph Schmuller UML dla każdego, Helion 2001 Perdita Stevens

Bardziej szczegółowo

FUNKCJE SZBD. ZSE - Systemy baz danych 1

FUNKCJE SZBD. ZSE - Systemy baz danych 1 FUNKCJE SZBD ZSE - Systemy baz danych 1 System zarządzania bazami danych System zarządzania bazami danych (SZBD, ang. DBMS) jest zbiorem narzędzi stanowiących warstwę pośredniczącą pomiędzy bazą danych

Bardziej szczegółowo

Wprowadzenie do systemów informacyjnych

Wprowadzenie do systemów informacyjnych Uwagi ogólne: Wprowadzenie do systemów informacyjnych Projektowanie obiektowe Obiektowość jest nową ideologią, która zmienia myślenie realizatorów SI z zorientowanego na maszynę na zorientowane na człowieka.

Bardziej szczegółowo

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych Plan wykładu Bazy danych Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia

Bardziej szczegółowo

PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu "Podstawy baz danych"

PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu Podstawy baz danych PODSTAWY BAZ DANYCH 19. Perspektywy baz danych 1 Perspektywy baz danych Temporalna baza danych Temporalna baza danych - baza danych posiadająca informację o czasie wprowadzenia lub czasie ważności zawartych

Bardziej szczegółowo

LDAP to protokół Usługi katalogowe Zakończenie LDAP. Łukasz Zubkowicz. 25 listopada 2009

LDAP to protokół Usługi katalogowe Zakończenie LDAP. Łukasz Zubkowicz. 25 listopada 2009 to protokół 25 listopada 2009 W skrócie to protokół Lightweight Directory Access Protocol W skrócie to protokół Lightweight Directory Access Protocol standard IETF (The Internet Engineering Task Force)

Bardziej szczegółowo

Czym jest baza danych?

Czym jest baza danych? Czym jest baza danych? Dane = znane fakty. Baza danych to zbiór powiązanych ze sobą danych, które można w jakiś sposób zarejestrować i które mają konkretne znaczenie. Przykład: książka adresowa. Jan Kowalski

Bardziej szczegółowo

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

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła 030 PROJEKTOWANIE BAZ DANYCH Prof. dr hab. Marek Wisła Elementy procesu projektowania bazy danych Badanie zależności funkcyjnych Normalizacja Projektowanie bazy danych Model ER, diagramy ERD Encje, atrybuty,

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7 AUREA BPM Oracle TECNA Sp. z o.o. Strona 1 z 7 ORACLE DATABASE System zarządzania bazą danych firmy Oracle jest jednym z najlepszych i najpopularniejszych rozwiązań tego typu na rynku. Oracle Database

Bardziej szczegółowo

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie bazy danych Jarosław Kuchta Projektowanie Aplikacji Internetowych Możliwości projektowe Relacyjna baza danych Obiektowa baza danych Relacyjno-obiektowa baza danych Inne rozwiązanie (np. XML)

Bardziej szczegółowo

Transformacja wiedzy w budowie i eksploatacji maszyn

Transformacja wiedzy w budowie i eksploatacji maszyn Uniwersytet Technologiczno Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy Wydział Mechaniczny Transformacja wiedzy w budowie i eksploatacji maszyn Bogdan ŻÓŁTOWSKI W pracy przedstawiono proces

Bardziej szczegółowo

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

Laboratorium 6 DIAGRAM KLAS (Class Diagram) Laboratorium 6 DIAGRAM KLAS (Class Diagram) Opisuje strukturę programu (a także zależności między nimi), co znajduje odzwierciedlenie w kodzie. Charakteryzuje zależności pomiędzy składnikami systemu: klasami,

Bardziej szczegółowo

Historia modeli programowania

Historia modeli programowania Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu

Bardziej szczegółowo

MODELOWANIE OBIEKTOWE

MODELOWANIE OBIEKTOWE (Wykład na podstawie literatury: M.Śmiałek Zrozumieć UML 2.0, Helion 2005) UML Unified Modeling Language (język do specyfikowania, wizualizowania, konstruowania i dokumentacji tzw. artefactów oraz czynności

Bardziej szczegółowo

I. Techniki wielowersyjne sterowania współbieżnością

I. Techniki wielowersyjne sterowania współbieżnością I. Techniki wielowersyjne sterowania współbieżnością Techniki wielowersyjne multiversion concurrency control. Technika wielowersyjna oparta na znacznikach czasu Dla każdej wersji X i elementu X przechowywane

Bardziej szczegółowo

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu. Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..

Bardziej szczegółowo

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl Instrukcja do panelu administracyjnego do zarządzania kontem FTP WebAs www.poczta.greenlemon.pl Opracowanie: Agencja Mediów Interaktywnych GREEN LEMON Spis treści 1.Wstęp 2.Konfiguracja 3.Konto FTP 4.Domeny

Bardziej szczegółowo

Model semistrukturalny

Model semistrukturalny Model semistrukturalny standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności, wielokrotne zagnieżdżania zobrazowane przez grafy skierowane model samoopisujący się wielkości i typy

Bardziej szczegółowo

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012 PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS Obowiązuje od roku akademickiego: 2011/2012 Instytut Techniczny Kierunek studiów: Informatyka Kod kierunku: 11.3 Specjalność: Informatyka Stosowana

Bardziej szczegółowo

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1 Zdalne wywołanie procedur Krzysztof Banaś Systemy rozproszone 1 RPC Komunikacja za pomocą gniazd jest wydajna, gdyż korzystamy z funkcji systemowych niewygodna, gdyż musimy wyrażać ją za pomocą jawnego

Bardziej szczegółowo

Wypożyczalnia VIDEO. Technologie obiektowe

Wypożyczalnia VIDEO. Technologie obiektowe Wypożyczalnia VIDEO Jest to program do obsługi wypożyczalni i wypożyczeń klientów. Głównym zadaniem programu jest zarządzanie wypożyczeniami i drukowanie potwierdzenia wypożyczenia oraz naliczenie punktów

Bardziej szczegółowo

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 3 Diagramy przypadków użycia Diagramy przypadków użycia (ang. use case)

Bardziej szczegółowo

Bazy danych i ich aplikacje

Bazy danych i ich aplikacje ORAZ ZAPRASZAJĄ DO UDZIAŁU W STUDIACH PODYPLOMOWYCH Celem Studiów jest praktyczne zapoznanie słuchaczy z podstawowymi technikami tworzenia i administrowania bazami oraz systemami informacyjnymi. W trakcie

Bardziej szczegółowo

Projektowanie obiektowe. Roman Simiński Polimorfizm

Projektowanie obiektowe. Roman Simiński   Polimorfizm Projektowanie obiektowe Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Polimorfizm Koncepcja polimorfizmu Słowo polimorfizm pochodzi od dwóch greckich słów: poly czyli wiele, morphos czyli

Bardziej szczegółowo

Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/

Bardziej szczegółowo

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski Systemy ekspertowe i ich zastosowania Katarzyna Karp Marek Grabowski Plan prezentacji Wstęp Własności systemów ekspertowych Rodzaje baz wiedzy Metody reprezentacji wiedzy Metody wnioskowania Języki do

Bardziej szczegółowo