Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Katedra Informatyki. Kierunek studiów: Informatyka Specjalność: Systemy komputerowe

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

Download "Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Katedra Informatyki. Kierunek studiów: Informatyka Specjalność: Systemy komputerowe"

Transkrypt

1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Katedra Informatyki Kierunek studiów: Informatyka Specjalność: Systemy komputerowe Praca Dyplomowa Obiektowe bazy danych przegląd i analiza rozwiązań Promotor: prof. dr hab. inż. Antoni Ligęza Autorzy: Paweł Józwik Maciej Mazur Kraków 2002

2 Podziękowania Pragniemy złożyć serdeczne podziękowania dla Promotora naszej pracy, prof. dr hab. inż. Antoniego Ligęzy. Praca ta powstała z jego inicjatywy, a jej zrealizowanie było możliwe dzięki jego wsparciu i życzliwości. Paweł Józwik Maciej Mazur 2

3 Spis treści 1 WSTĘP CEL PRACY ZAWARTOŚĆ PRACY TEORIA DEFINICJE DOTYCZĄCE OBIEKTOWOŚCI Obiekt Identyfikator obiektu Tożsamość obiektu Klasa Atrybut Metoda Komunikat Hermetyzacja Hierarchia klas i dziedziczenie Pojęcia wykraczające poza model podstawowy ALGEBRA OBIEKTOWA Składnia Typ parametrów Równość Operatory Operatory zbiorowe Operatory wielozbiorowe Operatory innych typów ROZWÓJ BAZ DANYCH RYS HISTORYCZNY Przetwarzanie płaskich plików BDAM Podstawowa metoda bezpośredniego dostępu ISAM Metoda indeksowanego dostępu sekwencyjnego Mankamenty płaskich plików Początek formalnego zarządzania bazami danych Hierarchiczny model danych Sieciowy model CODASYL Relacyjne bazy danych Manifesty baz danych OBIEKTOWE BAZY DANYCH Trwałość obiektu Architektura Obiektowo-relacyjne bazy danych PORÓWNANIE RELACYJNYCH I OBIEKTOWYCH BAZ DANYCH STANDARDY JĘZYK SQL: Rozwój standardu Cechy relacyjne Nowe typy danych Nowe predykaty Nowa semantyka Dodatkowe bezpieczeństwo Aktywność bazy danych Cechy obiektowe Strukturalne typy definiowane przez użytkownika Metody a funkcje Zapis funkcjonalny i kropkowy Obiekty oraz typ REF Opinie o standardzie STANDARD ODMG

4 4.2.1 Powstanie grupy ODMG Cele Architektura Model obiektu Języki programowania ODL OIF OML OQL Wiązania do języków programowania Wiązanie do języka C Wiązanie do języka Smalltalk Wiązanie do języka Java JAVA DATA OBJECTS Rozwój standardu Architektura JDO Schemat bazy danych Trwałe obiekty w Javie - interfejs PersistenceCapable Modyfikator kodu binarnego JDO Enhancer Dostęp do bazy danych - język JDOQL Java Data Objects a Enterprise Java Beans Ziarna typu Entity Beans Ziarna typu Session Beans PORÓWNANIE STANDARDÓW ROZSZERZENIA OBIEKTOWE W RELACYJNYCH BAZACH DANYCH ORACLE Kluczowe cechy obiektowe modelu relacyjno-obiektowego w Oracle Dziedziczenie typów Modyfikacje typów Mechanizm obiektowej perspektywy Rozszerzenia obiektowe SQL a Rozszerzenia obiektowe PL/SQL a Java a obiektowość w bazie Oracle Zewnętrzne procedury Translator typów obiektowych Podręczny zbiór obiektów po stronie klienta Oracle Call Interface Object Extensions Rozszerzenia obiektowe Pro*C/C Rozszerzenia obiektowe OO4O Koncepcja obiektowości w bazie danych Oracle Typy obiektowe Dziedziczenie typów obiektowych Obiekty Metody Tabele obiektowe Typ bazodanowy REF Kolekcje Użycie rozszerzeń obiektowych w bazie danych Oracle9i Definiowanie klas oraz typów kolekcji Metody Dziedziczenie Dodatkowe narzędzia ułatwiające obsługę rozszerzeń obiektowych Business Components for Java (BC4J) JPublisher JDeveloper Import/Eksport typów obiektowych SQL*Loader POSTGRESQL Wielkie Obiekty Interfejs JDBC Przechowywanie danych binarnych Rozszerzanie języka SQL Funkcje Typy

5 6 OBIEKTOWE BAZY DANYCH W PRAKTYCE BAZY DANYCH DOSTĘPNE NA RYNKU excelon (dawniej Object Design) produkt ObjectStore Historia firmy w skrócie Ogólne informacje Przegląd produktów z rodziny ObjectStore Objectivity produkt Objectivity/DB Historia firmy w skrócie Ogólne informacje o produkcie Przegląd produktów z rodziny Objectivity Versant produkt Versant Historia firmy w skrócie Ogólne informacje o produkcie Przegląd produktów z rodziny Versant Developer Suite Poet Software produkt FastObjects Historia firmy w skrócie Ogólne informacje o produkcie Przegląd produktów z rodziny FastObjects GemStone produkty: GemStone/J, GemStone/S Historia firmy w skrócie Ogólne informacje o produktach Cechy produktów Fresher Information Software produkt Matisse Historia produktu w skrócie Ogólne informacje o produkcie Cechy produktów Wśród obsługiwanych platform znajdują się: Computer Association oraz Fujitsu produkt Jasmine Historia produktu w skrócie Ogólne informacje Przegląd produktów Uniwersytet Moskiewski produkt GOODS Ogólne informacje o produkcie Micro Database Systems produkt Titanium Historia firmy w skrócie Ogólne informacje Orient Technologies produkt Orient Historia produktu w skrócie Ogólne informacje o produkcie Sysra Informatique produkt EyeDB Ogólne informacje Historia projektu w skrócie Cechy produktu Zastosowanie PODSUMOWANIE I WNIOSKI OGÓLNE PERSPEKTYWY ROZBUDOWY PRACY LITERATURA

6 1 Wstęp Obiektowe bazy danych spotyka się obecnie coraz częściej w rozmaitych zastosowaniach. Zdobywają one coraz to nowe obszary, gdzie ich właściwości dają im przewagę nad systemami relacyjnymi. Dużym atutem obiektowych baz danych jest struktura, która naturalnie odpowiada strukturze modelującej rzeczywiste zjawiska i która jest z powodzeniem stosowana w obecnych językach programowania. Badania nad modelem obiektowym w bazach danych są obecnie prowadzone intensywnie w wielu ośrodkach naukowych; rozwijane są również komercyjne implementacje. 1.1 Cel pracy W chwili obecnej brak jest w literaturze pozycji, która obejmowałaby tematykę obiektowych baz danych w sposób całościowy, z uwzględnieniem najnowszych tendencji zarówno jeżeli chodzi o podstawy teoretyczne i przegląd istniejących standardów, jak i o systemy działające w praktyce. Niniejsza praca ma za zadanie wypełnić tę lukę. W kolejnych rozdziałach będziemy starali się przybliżyć problematykę obiektowych baz danych. W pierwszej części pracy zostaną omówione teoretyczne podstawy obiektowości oraz algebry obiektowej. Później zostanie zaprezentowany rys historyczny rozwoju baz danych, zaczynając od płaskich plików, poprzez modele hierarchiczne, sieciowe, relacyjne, aż po obiektowe. W następnej części pracy zostaną omówione istniejące standardy obiektowych baz danych. W niniejszej pracy zostaną przedstawione przede wszystkim trzy główne standardy, czyli SQL:1999, ODMG oraz JDO. Praca ma w zamierzeniach przedstawić problematykę obiektowych baz danych w sposób kompleksowy, tak aby osoba będąca nawet laikiem w tej dziedzinie mogła wyrobić sobie ogólny pogląd w tym temacie oraz poznać najbardziej rozpowszechnione obecnie standardy. Praca ta ma również na celu propagować zagadnienia związane z obiektowymi bazami danych. Zastanawiając się, dlaczego obiektowe bazy danych tak trudno torują sobie drogę na rynku zdominowanym przez relacyjne bazy, można dojść do wniosku, że jednym z powodów na pewno jest niedoinformowanie. Wynikiem tego jest stosowanie 6

7 produktów innych niż obiektowe bazy danych w zastosowaniach, gdzie właśnie obiektowe bazy danych byłyby najwłaściwszym rozwiązaniem. Bez rzetelnej informacji na temat tych produktów niewielu inżynierów uwierzy, iż bardziej korzystne może być zainwestowanie w obiektowe bazy danych. Tymczasem zostało wielokrotnie dowiedzione, że na przykład do zastosowań związanych ze składowaniem multimediów obiektowe bazy danych nadają się lepiej niż na przykład relacyjne. Również czas tworzenia aplikacji jest krótszy gdy nie ma potrzeby mapowania modelu obiektowego, wykorzystywanego w procesie projektowania i programowania aplikacji, do modelu relacyjnego w jakim dane są najczęściej przechowywane w bazach. Niniejsza praca przedstawia ogólne omówienie problematyki obiektowych baz danych. Może ona posłużyć jako podstawa do dalszych studiów związanych z wybranym aspektem, bądź konkretnym produktem. 1.2 Zawartość pracy Rozdział drugi ma na celu przedstawienie teoretycznych podstaw obiektowości i algebry obiektowej. Omówione zostały podstawowe pojęcia obiektowości, takie jak: obiekt, identyfikator obiektu, tożsamość obiektu, klasa, atrybut, metoda, komunikat, hermetyzacja, hierarchia klas i dziedziczenie. W rozdziale tym porównane zostały różne definicje pojawiające się w literaturze. Dodatkowo przedstawiono wybrane pojęcia wykraczające poza model podstawowy, takie jak: polimorfizm, obiekty złożone oraz zarządzanie wersjami. W związku z tym, iż nie istnieje jedna ogólnie przyjęta algebra obiektowa, w pracy skupiono się na propozycji algebry obiektowej określonej mianem AQUA. Jej autorami są dobrze znani na tym polu naukowcy, co pozwala uważać tę algebrę za w dużym stopniu reprezentatywną. W pracy przedstawiono składnię oraz podstawowe operatory algebry. Kolejny rozdział omawia etapy w rozwoju baz danych. Przegląd rozpoczęto od najstarszych systemów przechowywania danych, działających w oparciu o przetwarzanie płaskich plików. Następnie przybliżono działanie baz danych opartych na hierarchicznym modelu danych, potem na modelu sieciowym CODASYL, aby wreszcie 7

8 zaprezentować najpopularniejsze obecnie relacyjne bazy danych. Ostatecznie przedstawiono obiektowe bazy danych, będące tematem niniejszej pracy. Rozdział ten zawiera także prezentację systemów będących swoistym pomostem pomiędzy relacyjnymi a obiektowymi bazami danych, czyli obiektowo-relacyjnych baz danych. Zaprezentowane zostało także porównanie relacyjnych i obiektowych baz danych. Następny rozdział zawiera prezentację standardów w zakresie obiektowych baz danych. Omówione zostały trzy najważniejsze obecnie standardy. Pierwszym z nich jest SQL:1999 (SQL3), rozwinięcie standardu relacyjnego języka SQL, efekt współpracy organizacji ANSI oraz ISO. Następnie omówiono propozycje standaryzacyjne ODMG (Object Database Management Group). Jest to grupa, której głównym celem jest opracowywanie standardów dla obiektowych baz danych, które to standardy bardzo często są implementowane w produktach komercyjnych. Ostatnim przedstawionym standardem jest JDO (Java Data Object). Jest to najnowsza propozycja, stworzona i promowana przez firmę Sun Microsystems, będąca interfejsem Javy do baz danych. W kolejnym rozdziale przedstawione zostały rozszerzenia obiektowe wprowadzone w relacyjnych bazach danych: Oracle oraz PostgreSQL. Baza danych Oracle to bardzo zaawansowana i najbardziej ceniona baza na świecie. Natomiast PostgreSQL jest bardzo popularnym, niekomercyjnym systemem zarządzania bazą danych. Wprowadzone rozszerzenia pozwalają zaliczyć opisywane systemy do rodziny obiektowo-relacyjnych baz danych, jednakże ich rdzeń nadal stanowi model relacyjny. Następny rozdział stanowi przegląd dostępnych obecnie na rynku najbardziej popularnych systemów obiektowych baz danych. Przedstawione zostały następujące produkty: ObjectStore, Objectivity/DB, Versant, FastObjects, GemStone/J, GemStone/S, Matisse, Jasmine, GOODS, Titanium, Orient oraz EyeDB. Przy każdym z tych produktów zaprezentowano jego historię, budowę, udostępniane usługi i możliwości zastosowań. 8

9 2 Teoria 2.1 Definicje dotyczące obiektowości Zagadnienie obiektowych baz danych powstało jako efekt prac w wielu dziedzinach. Wpływ na jego rozwój miały nowe tendencje, jakie pojawiały się w obiektowych językach programowania, inżynierii oprogramowania, a także w pracach dotyczących systemów rozproszonych, systemów multimedialnych oraz komunikacji przez WWW. Nowe kierunki rozwoju zarysowały się również w technologii tradycyjnych, relacyjnych baz danych. Obecnie występuje pewnego rodzaju zamieszanie związane ze znaczeniem obiektowości w ogóle, a znaczeniem obiektowych baz danych w szczególności. Wiele osób traktuje termin zorientowany obiektowo jako rodzaj modnego sformułowania, mieszczącego w sobie wiele znaczeń. Wielu ekspertów stara się określić silne, techniczne kryteria związane z terminem obiektowości, aby umożliwić rozróżnienie systemów zorientowanych obiektowo od pozostałych. Co przemawia za wykorzystaniem obiektowości w bazach danych? Istnieje kilka koncepcji. Najbardziej popularna mówi, iż bazy danych składają się raczej z obiektów niż relacji, tabel czy innych struktur. Pojęcie obiektu jest rodzajem metafory, odnoszącej się do ludzkiej psychiki, sposobu w jaki ludzie myślą i postrzegają świat rzeczywisty. Ewolucja wykształciła w umysłach ludzkich mechanizmy umożliwiające nam wyodrębnianie obiektów w naszym środowisku, nazywanie ich i przyporządkowywanie im pewnych cech i zachowań. Obiektowość w technologii komputerowej, z psychologicznego punktu widzenia, jest więc oparta na wrodzonych mechanizmach ludzkiego umysłu. Kolejnym zagadnieniem jest potrzeba obiektowości w technologii komputerowej. Przez wiele lat eksperci wskazywali na negatywny syndrom, określany mianem kryzysu oprogramowania (ang. software crisis). Kryzys oprogramowania może być przedstawiany jako efekt wzrastających kosztów produkcji oprogramowania i jego utrzymania, problemów związanych z oprogramowaniem spadkowym (ang. legacy 9

10 software), ogromnym ryzykiem związanym z niepowodzeniem projektów informatycznych, niedojrzałością metod projektowania i konstrukcji oprogramowania, brakiem niezawodności, różnego rodzaju frustracjami projektantów oprogramowania i programistów i wielu tym podobnych czynników. Jednocześnie wraz z przedstawionymi zagrożeniami stale wzrasta rola systemów informatycznych jako czynników krytycznych w misji konkretnego przedsiębiorstwa. Kryzys oprogramowania jest więc powodowany przez skomplikowanie oprogramowania i złożoność metod jego wytwarzania. Obiektowość, będąca próbą naśladowania naturalnej psychiki człowieka, jest postrzegana jako sposób na zmniejszenie złożoności oprogramowania, a w efekcie na zredukowanie negatywnych zjawisk związanych z kryzysem oprogramowania. Ma to zostać uczynione poprzez skrócenie dystansu pomiędzy ludzkim postrzeganiem dziedziny problemu, abstrakcyjnym modelem konceptualnym dziedziny problemu (wyrażonym przykładowo za pomocą diagramu klas), a podejściem programisty zorientowanym na struktury danych i operacje. Zmniejszenie dystansu pomiędzy postrzeganiem problemu przez projektantów, a myśleniem programistów, jest uważane za najważniejszy czynnik zmniejszający złożoność analizy, projektowania, konstrukcji i utrzymania oprogramowania. Obiektowe modele dostarczają pojęć umożliwiających analitykom i projektantom lepsze odwzorowanie problemu w abstrakcyjny schemat konceptualny. W skład tych pojęć wchodzą między innymi: złożone obiekty, klasy, dziedziczenie, kontrola typów, metody powiązane z klasami, hermetyzacja i polimorfizm. Istnieje kilka notacji i metodologii (przykładowo OMT, UML, OPEN), które pozwalają na wydajne odwzorowywanie problemu w zorientowany obiektowo model konceptualny. Z drugiej strony, systemy obiektowych baz danych oferują podobne pojęcia odnośnie struktur danych, tak więc odwzorowywanie pomiędzy modelem konceptualnym a strukturami danych jest dużo łatwiejsze, niż w przypadku tradycyjnych systemów relacyjnych. Model obiektowy przede wszystkim dostarcza wyższego poziomu abstrakcji w sposób bardziej skuteczny, konsekwentny i jednorodny. Dotyczy on głównie struktur danych przechowywanych w obiektowej bazie danych. Wyznacza intelektualną i 10

11 ideologiczną bazę pozwalającą na budowę modeli obiektowych struktur danych oraz na komunikację. Jest on spójnym zestawem własności, pojęć, terminologii, notacji i formalizmów służących do: porozumiewania się profesjonalistów, uczenia i objaśniania metod i technik obiektowych, budowy języków, systemów, interfejsów, budowy i objaśniania zasad analizy i projektowania obiektowego. W stosunku do modelu relacyjnego, obiektowość wprowadza znacznie więcej pojęć, często o niezbyt precyzyjnej semantyce. Z jednej strony obiektowość stara się uogólnić i rozszerzyć ideologiczne założenia modelu danych, z drugiej strony stara się objąć nimi te pojęcia, które w modelu relacyjnym nie dały się wyrazić. W chwili obecnej nie istnieje jeden, ogólnie przyjęty, standard jednoznacznie definiujący pojęcia obiektowe. Trwają prace nad ustandaryzowaniem pojęć obiektowych w dziedzinie baz danych, prowadzone między innymi przez ODMG. Brak powszechnie akceptowalnych definicji modelu obiektowego w dziedzinie baz danych wynika z faktu, iż rozwój podejścia obiektowego następował w trzech różnych obszarach: językach programowania, sztucznej inteligencji, bazach danych. W różnych językach programowania i reprezentacji wiedzy przyjęto różne interpretacje pojęć obiektowych. Jednak mimo to, obiektowe języki programowania i reprezentacji wiedzy zawierają wiele spójnych pojęć obiektowych, na podstawie których można stworzyć podstawowy, obiektowy model danych. Przedstawione poniżej pojęcia są podstawowymi dla obiektowości i według [Kim 1996] wchodzą w skład podstawowego modelu obiektowego: obiekt, identyfikator obiektu, 11

12 tożsamość obiektu, klasa, atrybut, metoda, komunikat, hermetyzacja, hierarchia klas i dziedziczenie. W kolejnych rozdziałach pracy zostaną przybliżone przedstawione powyżej pojęcia Obiekt Obiekt (ang. object) jest podstawowym pojęciem dla obiektowości. W pracy [Subieta 1999a] obiekt jest definiowany jako abstrakcyjny byt, reprezentujący lub opisujący pewną rzecz lub pojęcie obserwowane w świecie rzeczywistym. Obiekt jest odróżnialny od innych obiektów, ma nazwę i dobrze określone granice. Obiektem może być także pewna abstrakcja programistyczna. Mogą istnieć obiekty programistyczne, które nie posiadają swoich odpowiedników w świecie rzeczywistym. Obiektem może być pewien zamknięty fragment oprogramowania (dana, procedura, moduł itp.), którymi programista może operować jak pewną zwartą bryłą. Obiektom przypisuje się cechy takie jak: tożsamość, stan i operacje. Obiekt posiada nazwę, jednoznaczną identyfikację, określone granice, atrybuty i inne własności. Tenże autor uważa, iż wiele prac nie różnicuje pojęcia obiektu jako pewnej abstrakcji pojęciowej lub informacyjnej, struktury danych określanej jako obiekt przechowywanej wewnątrz komputera oraz konkretnego obiektu istniejącego w świecie rzeczywistym. Stwierdza on jednak, iż z metodologicznego punktu widzenia takie rozróżnienie jest konieczne i wynika zwykle z kontekstu. Przykładami obiektów ze świata rzeczywistego są: miasto Kraków, faktura, konkretna osoba czy model samochodu. Obiektami nie są przykładowo: śnieg, woda, piasek. 1 1 W literaturze istnieje pojęcie nieobiektu (ang. non-object). W pracy [Subieta 1999a] jest ono przedstawione jako coś, co nie jest obiektem. Autor ten stwierdza, iż nieobiektowość w informatyce wciąż czeka na swego odkrywcę, ideologa i guru. 12

13 RYSUNEK 2.1. GRAFICZNA PREZENTACJA OBIEKTU Identyfikator obiektu Opierając się na definicji przedstawionej przez [Subieta 1999a], identyfikator obiektu (ang. object identifier) jest to unikalna wewnętrzna nazwa obiektu, nadawana automatycznie przez system i nie posiadająca znaczenia w świecie zewnętrznym. Służy on do odróżnienia obiektu od innych obiektów oraz do budowy odwołań prowadzących do obiektu. [Lausen 2000] stwierdza, iż identyfikator przypisany do obiektu pozostaje niezmienny w całym cyklu jego życia. W konsekwencji identyfikator obiektu jest różny od jego wartości, która może ulegać zmianom. W pracy [Subieta 1999a] poruszony jest także problem unikalności identyfikatorów. Autor uważa, iż pojęcie unikalnego identyfikatora obiektu staje się dość trudne w przypadku istnienia wielu kopii tego samego obiektu, lub w przypadku istnienia wielu wersji obiektu. Istnienie unikalnych identyfikatorów obiektów czyni w zasadzie zbędnym pojęcie klucza 2, występujące w modelu relacyjnym. Zdarza się, że identyfikator obiektu jest związany logicznie z adresem miejsca przechowywania obiektu. Jednakże związek tego rodzaju jest uważany za niekorzystny jeśli chodzi o elastyczność w zakresie ulokowania obiektu, z drugiej jednak strony bywa konieczny z uwagi na wymaganą wydajność. 2 Klucz jest atrybutem, bądź zestawem atrybutów, których wartości są wykorzystywane w celu unikalnej identyfikacji. Jest to zbiór minimalny. 13

14 [Ludwikowska 2000] dodaje, iż identyfikator obiektu jest ważnym elementem semantyki języków dostępu i manipulacji obiektami. W praktyce nie występuje bezpośrednie posługiwanie się wartością identyfikatora obiektu, lecz wykorzystywane jest pewne oznaczenie symboliczne, przykładowo nazwa obiektu, które następnie w procesie wiązania jest zmieniane na jego identyfikator Tożsamość obiektu Tożsamość obiektu (ang. identity) jest pojęciem ściśle wiążącym się ze zdefiniowanym wcześniej pojęciem identyfikatora obiektu. Oznacza ono, iż obiekt istnieje i jest odróżnialny od innych obiektów niezależnie od jego aktualnego stanu, który może się zmieniać. Tożsamość obiektu jest kategorią filozoficzną, która nie jest wiązana z jakimkolwiek zestawem atrybutów obiektu lub jego aktualnym stanem. Dopuszczalne jest istnienie dwóch różnych obiektów o identycznych wartościach atrybutów. W praktyce tożsamość oznacza istnienie unikalnego wewnętrznego identyfikatora, nie ulegającego zmianom w trakcie życia obiektu. Tożsamość obiektu jest niezależna od jego lokacji w świecie rzeczywistym lub w przestrzeni adresowej komputera [Subieta 1999a] Klasa Wszystkie obiekty mające ten sam zbiór atrybutów i metod, mogą zostać zgrupowane w jednej klasie. Obiekt należy do klasy jako jej instancja (wystąpienie). Klasa stanowi wzorzec dla tworzonego obiektu. Klasa jest również bytem semantycznym, rozumianym jako miejsce przechowywania, specyfikacji i definicji takich cech grupy podobnych obiektów, które są dla nich niezmienne: atrybuty, metody, ograniczenia dostępu, dozwolone operacje na obiektach, wyjątki. W systemach obiektowych klasa jest traktowana jako obiekt klasowy w celu zagwarantowania jednolitego posługiwania się komunikatami. W związku z tym, z klasą mogą być związane atrybuty i metody klasowe (statyczne). W atrybutach takich przechowywane są wartości wspólne dla wszystkich obiektów tej klasy [Ludwikowska 2000]. 14

15 Istnieje wiele rodzajów klas. Do najważniejszych z nich można zaliczyć: klasę abstrakcyjną oraz klasę konkretną. Pojęcie klasy abstrakcyjnej (ang. abstract class) jest uważane za jedno z podstawowych dla obiektowości, wzmacniające zarówno mechanizmy abstrakcji pojęciowej, jak i możliwości ponownego użycia. Klasa abstrakcyjna zawiera własności, które są dziedziczone przez jej podklasy, ale jednocześnie nie posiada bezpośrednich wystąpień obiektów. Stanowi ona wyższy poziom abstrakcji podczas rozpatrywania pewnego zestawu obiektów. Najczęściej wykorzystuje się klasy abstrakcyjne do zdefiniowania wspólnego interfejsu dla pewnej liczby podklas. Klasa abstrakcyjna może posiadać metody, które są wyspecyfikowane w jej wnętrzu, a których implementacja jest oczekiwana w jej bezpośrednich lub pośrednich podklasach. W odróżnieniu od klasy abstrakcyjnej, klasa konkretna (ang. concrete class) może posiadać bezpośrednie wystąpienia obiektów. RYSUNEK 2.2. GRAFICZNA PREZENTACJA KLASY Atrybut Atrybuty (ang. attributes), będące częścią definicji klasy, poprzez przypisywane im wartości tworzą stan obiektu. Atrybuty obiektu są analogiczne do atrybutów (kolumn) krotki relacji w relacyjnych bazach danych. Dziedziną atrybutu może być jakakolwiek klasa, wliczając w to klasy wartości pierwotnych (np. integer, string itp.). Z powyższego faktu wynika zagnieżdżona struktura definicji klasy. Klasa składa się ze zbioru atrybutów, dziedzinami których mogą być inne klasy z ich własnymi zbiorami 15

16 atrybutów, itd. W wyniku tego definicja klasy określa skierowany graf klas o korzeniu w tej klasie [Kim 1996]. W literaturze pojawia się wiele rodzajów atrybutów. Wśród nich można wyróżnić [Subieta 1999a]: atrybut prosty (ang. simple attribute, atomic attribute) przechowuje dokładnie jedną wartość, będącą z punktu widzenia użytkownika wartością niepodzielną (atomową). atrybut złożony (ang. complex attribute, composite attribute) przechowuje wiele wartości niepodzielnych (atomowych). Atrybut taki może posiadać strukturę hierarchiczną. atrybut klasowy (ang. class attribute) nazywany także statycznym. Nazwa i wartość takiego atrybutu jest wspólna dla wszystkich wystąpień danej klasy. atrybut powtarzalny (ang. repeating attribute) przechowuje zestaw wartości o nieokreślonej i zmiennej w czasie liczbie elementów. atrybut pochodny (ang. derived attribute) nazywany także wyliczalnym. Przechowuje wartość, która jest wyliczana na podstawie innych atrybutów, bądź też innych danych. atrybut wskaźnikowy (ang. pointer attribute) atrybut, którego wartością jest wskaźnik prowadzący zwykle do pewnego obiektu. atrybut opcyjny (ang. optional attribute) atrybut, którego wartość może być pusta, lub który może być nieobecny w konkretnym wystąpieniu obiektu. Opcyjność może dotyczyć atrybutu dowolnego rodzaju. Atrybut ten można uważać za specjalny przypadek atrybutu powtarzalnego, w którym liczba elementów zestawu wartości wynosi zero lub jeden. atrybut domyślny (ang. default attribute) atrybut ten wiąże się pojęciowo z przedstawionym wcześniej atrybutem opcyjnym. Oznacza on wartość przyjmowaną domyślnie, o ile nie została wstawiona żadna inna wartość Metoda Metoda (ang. method) to procedura, funkcja lub operacja przypisana do klasy obiektów i dziedziczona przez jej podklasy. Identyfikacja stanu obiektu oraz 16

17 identyfikacja zmiany stanu obiektu są możliwe dzięki metodom związanym z danym obiektem. W przypadku idealnym, metody zdefiniowane przez programistę powinny być jedynym sposobem dostępu do obiektu. Metoda jest abstrakcją programistyczną tej samej kategorii co procedura lub procedura funkcyjna. Metoda, w przeciwieństwie do procedury, działa w środowisku obiektu po wysłaniu do niego komunikatu zawierającego nazwę tej metody. Metoda wykorzystuje wewnętrzne informacje tego obiektu, jakimi są przede wszystkim wartości atrybutów. Z koncepcyjnego punktu widzenia miejscem przechowywania metody jest odpowiednia klasa. Oznacza to, że metoda takowa może zostać zastosowana do dowolnego obiektu będącego instancją tej klasy. Istnieje kilka charakterystycznych metod posiadających odrębne nazewnictwo. Zaliczyć do nich można następujące rodzaje metod: metoda abstrakcyjna (ang. abstract method) jest to metoda, której specyfikacja znajduje się w danej klasie, ale której implementacje znajdują się w podklasach. metoda fabrykująca (ang. factory method) nazywana inaczej konstruktorem. Służy do tworzenia nowych obiektów. metoda klasowa (ang. class method) metoda ta nie działa na pojedynczych wystąpieniach danej klasy (obiektach), lecz na całej ekstensji klasy Komunikat Komunikat (ang. message) jest sygnałem skierowanym do obiektu, wywołującym określoną metodę lub operację, którą należy wykonać na obiekcie. Nazwa użyta w komunikacie jest nazwą wywoływanej metody. Źródłem komunikatu jest działający aktualnie program, w szczególności może to być wykonywana aktualnie metoda. Komunikat może posiadać parametry; zwykle jest ich co najwyżej kilka, w każdym razie parametry komunikatu nie służą do przenoszenia większej ilości informacji. Obiekt otrzymujący komunikat wykonuje odpowiednią metodę, która to metoda może zmienić jego stan. W efekcie wykonania metody na obiekcie, który otrzymał komunikat, może zostać zwrócona odpowiedź do nadawcy komunikatu. 17

18 W wielu opracowaniach uważa się, że zarówno komunikat, jak i nazwy występujące w ciele metody są dynamicznie wiązane, w związku z czym ten sam komunikat może zostać wysłany do różnych obiektów i może wywołać różne metody. Fakt ten posiada istotne znaczenie dla metod oraz technik projektowania i programowania [Subieta 1999a] Hermetyzacja Hermetyzacja (ang. encapsulation) polega na grupowaniu elementów składowych w obrębie jednej bryły i umożliwieniu manipulowania tą bryłą jako całością. Hermetyzacja wiąże się z ukrywaniem pewnych informacji dotyczących struktury i implementacji wnętrza tej bryły [Ludwikowska 2000]. Hermetyzacja jest podstawową techniką abstrakcji, czyli ukrycia wszelkich szczegółów danego przedmiotu lub bytu programistycznego, które na danym etapie rozpatrywania (analizy, projektowania, programowania) nie stanowią jego istotnej charakterystyki [Subieta 1999a]. Pojęcie hermetyzacji, jako jedna z zasad inżynierii oprogramowania, zostało sformułowane przez D. Parnasa w roku Można wyróżnić dwie koncepcje hermetyzacji: hermetyzacja ortodoksyjna oraz hermetyzacja ortogonalna. Pierwsza z nich, hermetyzacja ortodoksyjna, jest dość popularnym stereotypem w obiektowości. Ten rodzaj hermetyzacji został zaimplementowany między innymi w języku Smalltalk. W tym podejściu wszelkie operacje, jakie można wykonać na obiekcie, są określone przez metody do niego przypisane (znajdujące się w jego klasie i nadklasach). Bezpośredni dostęp do atrybutów obiektu jest niemożliwy. Drugim rodzajem jest hermetyzacja ortogonalna, zaimplementowana między innymi w językach C++ i Eiffel. W tym przypadku dowolny atrybut i metoda obiektu mogą być prywatne (czyli niedostępne z zewnątrz), bądź też publiczne Hierarchia klas i dziedziczenie Klasy w systemie tworzą hierarchię klas (ang. class hierarchy). Oznacza to, że dla pewnej klasy A może istnieć inna klasa (jedna lub więcej) B, znajdująca się na 18

19 niższym poziomie, która jest uszczegółowieniem (specjalizacją) klasy B. Natomiast klasa A, będąca na wyższym poziomie w hierarchii, jest uogólnieniem (generalizacją) klasy (klas) B. Klasa B dziedziczy wszystkie atrybuty i metody klasy A, mogąc jednocześnie posiadać własne atrybuty i metody. Określone dla klasy A atrybuty i metody są rekurencyjnie dziedziczone przez wszystkie jej podklasy (rys. 2.3). Większość systemów obiektowych posiada predefiniowaną przez system klasę, stanowiącą jedyny korzeń dla wszystkich klas w systemie. Hierarchia klas jest spójna, co oznacza, że nie istnieją odizolowane węzły, natomiast do każdego węzła (klasy) istnieje dostęp z korzenia. RYSUNEK 2.3. HIERARCHIA KLAS I DZIEDZICZENIE. Cechą wspólną dla wszystkich bez wyjątku systemów obiektowych jest to, że klasa może posiadać dowolną liczbę podklas. Jednakże w pewnych systemach klasy mogą mieć tylko jedną nadklasę, natomiast w innych klasy mogą mieć dowolną liczbę nadklas. 19

20 Pierwszy przypadek, kiedy klasa dziedziczy atrybuty i metody od tylko jednej klasy, nazywany jest dziedziczeniem pojedynczym (ang. single inheritance). W sytuacji takiej każda klasa ma co najwyżej jedną nadklasę. Drugi przypadek dotyczy klasy, która dziedziczy atrybuty i metody od więcej niż jednej nadklasy. Sytuacja taka nosi nazwę dziedziczenia wielokrotnego (ang. multiple inheritance). Jeżeli system umożliwia wielokrotne dziedziczenie, wówczas klasy tworzą zakorzeniony spójny skierowany graf acykliczny, nazywany czasem kratą klas. Nie ma porozumienia odnośnie tego, czy wielokrotne dziedziczenie jest naprawdę konieczne. Jednakże pomimo tego, iż ten rodzaj dziedziczenia komplikuje model danych, wydaje się, że jest ono potrzebne i jego zaakceptowanie jest nieuniknione [Kim 1996]. Metody odziedziczone mogą zostać przeciążone. Oznacza to, iż podklasa może zmodyfikować działanie odziedziczonej metody nie zmieniając jej nazwy. Pojęcie dziedziczenia stwarza pewne problemy, takie jak: konflikty nazw, zasięg dziedziczenia, naruszenia hermetyzacji. Są to jednak sytuacje charakterystyczne dla programowania obiektowego, dlatego nie należy ich traktować jako wady rzutujące negatywnie na decyzje, czy stosować dziedziczenie Pojęcia wykraczające poza model podstawowy Przedstawione powyżej pojęcia wchodzące w skład podstawowego modelu obiektowego w większości przypadków zaspokajają podstawowe wymagania dotyczące modelowania danych. Istnieje jednak wiele ważnych pojęć, które są istotne w wielu przypadkach, ale które nie należą do pojęć podstawowych. W tym rozdziale postaramy się przedstawić trzy z takich pojęć. Są to: polimorfizm, obiekty złożone oraz zarządzanie wersjami. Polimorfizm (ang. polymorphism) w terminologii obiektowej oznacza możliwość istnienia wielu metod o takiej samej nazwie, powiązaną z możliwością wyboru konkretnej metody podczas czasu wykonania (dynamicznego wiązania). Wybór nazwy jest określany wyłącznie jej zewnętrznym, pojęciowym znaczeniem w ramach danej klasy obiektów. Wybór ten nie jest uwarunkowany własnościami lub 20

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

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

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

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

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

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

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

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

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

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

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

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

Relacyjny model baz danych, model związków encji, normalizacje Relacyjny model baz danych, model związków encji, normalizacje Wyklad 3 mgr inż. Maciej Lasota mgr inż. Karol Wieczorek Politechnika Świętokrzyska Katedra Informatyki Kielce, 2009 Definicje Operacje na

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

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

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

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

Program wykładu. zastosowanie w aplikacjach i PL/SQL; Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,

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

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

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

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

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

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

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

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

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

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Modelowanie diagramów klas w języku UML Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80

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

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

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie Opracował: dr inż. Piotr Suchomski Prowadzący Katedra Systemów Multimedialnych dr inż. Piotr Suchomski (e-mail: pietka@sound.eti.pg.gda.pl) (pok. 730) dr inż. Andrzej Leśnicki

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego: Typy klasowe (klasy) 1. Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która definiuje programy za pomocą obiektów

Bardziej szczegółowo

Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza

Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki Artur Krawczyk AGH Akademia Górniczo Hutnicza Problem modelowania tekstowego opisu elementu geometrycznego

Bardziej szczegółowo

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

Bardziej szczegółowo

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

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA PLAN WYKŁADU Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna BAZY DANYCH Wykład 2 dr inż. Agnieszka Bołtuć MODEL DANYCH Model danych jest zbiorem ogólnych zasad posługiwania

Bardziej szczegółowo

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS Niniejszy dokument jest syllabusem obowiązującym dla certyfikatu EUCIP ver. 2.6. Prezentuje obszary wiedzy, których znajomość jest niezbędna do

Bardziej szczegółowo

Podstawowe zagadnienia z zakresu baz danych

Podstawowe zagadnienia z zakresu baz danych Podstawowe zagadnienia z zakresu baz danych Jednym z najważniejszych współczesnych zastosowań komputerów we wszelkich dziedzinach życia jest gromadzenie, wyszukiwanie i udostępnianie informacji. Specjalizowane

Bardziej szczegółowo

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych Mariusz Trzaska Modelowanie i implementacja systemów informatycznych Notka biograficzna Dr inż. Mariusz Trzaska jest adiunktem w Polsko-Japońskiej Wyższej Szkole Technik Komputerowych, gdzie zajmuje się

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

Grupy pytań na egzamin inżynierski na kierunku Informatyka

Grupy pytań na egzamin inżynierski na kierunku Informatyka Grupy pytań na egzamin inżynierski na kierunku Informatyka Dla studentów studiów dziennych Należy wybrać dwie grupy pytań. Na egzaminie zadane zostaną 3 pytania, każde z innego przedmiotu, pochodzącego

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

Projektowanie aplikacji z bazami danych

Projektowanie aplikacji z bazami danych Systemy mapowania relacyjno-obiektowego Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Wprowadzenie do trwałości Niedopasowanie paradygmatów Architektura warstwowa Czym jest ORM? Problemy i pytania

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1 Bazy danych wprowadzenie teoretyczne Piotr Prekurat 1 Baza danych Jest to zbiór danych lub jakichkolwiek innych materiałów i elementów zgromadzonych według określonej systematyki lub metody. Zatem jest

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

Procesowa specyfikacja systemów IT

Procesowa specyfikacja systemów IT Procesowa specyfikacja systemów IT BOC Group BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

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

Pojęcie systemu informacyjnego i informatycznego

Pojęcie systemu informacyjnego i informatycznego BAZY DANYCH Pojęcie systemu informacyjnego i informatycznego DANE wszelkie liczby, fakty, pojęcia zarejestrowane w celu uzyskania wiedzy o realnym świecie. INFORMACJA - znaczenie przypisywane danym. SYSTEM

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

SPIS TREŚCI Funkcje systemu operacyjnego Zapewnia obsługę dialogu między użytkownikiem a komputerem Nadzoruje wymianę informacji między poszczególnymi urządzeniami systemu komputerowego Organizuje zapis

Bardziej szczegółowo

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2 Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Bazy danych stanowią obecnie jedno z ważniejszych zastosowań komputerów. Podstawowe zalety komputerowej bazy to przede wszystkim szybkość przetwarzania danych, ilość dostępnych

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

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Literatura i inne pomoce Silberschatz A., Korth H., S. Sudarshan: Database

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

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

Projektowanie struktury danych

Projektowanie struktury danych Jarosław aw Kuchta Rozproszonych Projektowanie qhta@eti.pg.gda.pl J.Kuchta@eti.pg.gda.pl Zagadnienia Sposoby zapisu danych zewnętrznych Odwzorowanie dziedziny problemu w dziedzinę danych Normalizacja relacyjnej

Bardziej szczegółowo

2012-01-16 PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

2012-01-16 PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew 0-0-6 PLAN WYKŁADU Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew BAZY DANYCH Wykład 9 dr inż. Agnieszka Bołtuć INDEKSY - DEFINICJE Indeksy to pomocnicze struktury

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Rozkład wymagający

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Normalizacja baz danych

Normalizacja baz danych Normalizacja baz danych Definicja 1 1 Normalizacja to proces organizowania danych w bazie danych. Obejmuje to tworzenie tabel i ustanawianie relacji między tymi tabelami zgodnie z regułami zaprojektowanymi

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

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Rozkład zgodny

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

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

Wykład 1 Inżynieria Oprogramowania Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI

Bardziej szczegółowo

Klasy abstrakcyjne i interfejsy

Klasy abstrakcyjne i interfejsy Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie

Bardziej szczegółowo

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/ Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.

Bardziej szczegółowo

SVN. 10 października 2011. Instalacja. Wchodzimy na stronę http://tortoisesvn.tigris.org/ i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

SVN. 10 października 2011. Instalacja. Wchodzimy na stronę http://tortoisesvn.tigris.org/ i pobieramy aplikację. Rysunek 1: Instalacja - krok 1 SVN 10 października 2011 Instalacja Wchodzimy na stronę http://tortoisesvn.tigris.org/ i pobieramy aplikację uruchamiany ponownie komputer Rysunek 1: Instalacja - krok 1 Rysunek 2: Instalacja - krok 2

Bardziej szczegółowo

Spis treúci. 1. Wprowadzenie... 13

Spis treúci. 1. Wprowadzenie... 13 Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...

Bardziej szczegółowo

KURS ACCESS 2003 Wiadomości wstępne

KURS ACCESS 2003 Wiadomości wstępne KURS ACCESS 2003 Wiadomości wstępne Biorąc c udział w kursie uczestnik zapozna się z tematyką baz danych i systemu zarządzania bazami danych jakim jest program Microsoft Access 2003. W trakcie kursu naleŝy

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

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Bardziej szczegółowo

Projektowanie baz danych

Projektowanie baz danych Projektowanie baz danych Etapy procesu projektowania BD Określenie celów, jakim ma służyć baza danych (w kontakcie z decydentem z firmy zamawiającej projekt). Sprecyzowanie zakresu dostępnych danych, kategorii

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Mechatronika Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych Rodzaj zajęć: wykład, laboratorium BAZY DANYCH I SYSTEMY EKSPERTOWE Database and expert systems Forma

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH 1 Technologie informacyjne WYKŁAD IV WPROWADZENIE DO BAZ DANYCH MAIL: WWW: a.dudek@pwr.edu.pl http://wgrit.ae.jgora.pl/ad Bazy danych 2 Baza danych to zbiór danych o określonej strukturze. zapisany na

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail.

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail. Wrocławska Wyższa Szkoła Informatyki Stosowanej Bazy danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Literatura: Connoly T., Begg C., Systemy baz danych Praktyczne metody projektowania,

Bardziej szczegółowo

RELACYJNE BAZY DANYCH

RELACYJNE BAZY DANYCH RELACYJNE BAZY DANYCH Aleksander Łuczyk Bielsko-Biała, 15 kwiecień 2015 r. Ludzie używają baz danych każdego dnia. Książka telefoniczna, zbiór wizytówek przypiętych nad biurkiem, encyklopedia czy chociażby

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

Analiza i projektowanie aplikacji Java

Analiza i projektowanie aplikacji Java Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie

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

Transformacja modelu ER do modelu relacyjnego

Transformacja modelu ER do modelu relacyjnego Transformacja modelu ER do modelu relacyjnego Wykład przygotował: Robert Wrembel BD wykład 4 (1) 1 Plan wykładu Transformacja encji Transformacja związków Transformacja hierarchii encji BD wykład 4 (2)

Bardziej szczegółowo

*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych.

*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych. *Grafomania z Neo4j Praktyczne wprowadzenie do grafowej bazy danych. Jak zamodelować relacyjną bazę danych reprezentującą następujący fragment rzeczywistości: Serwis WWW opisuje pracowników różnych firm

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle 2010-10-21

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle 2010-10-21 Organizacja zajęć BAZY DANYCH II WYKŁAD 1 Wykładowca dr inż. Agnieszka Bołtuć, pokój 304, e-mail: aboltuc@ii.uwb.edu.pl Liczba godzin i forma zajęć: 15 godzin wykładu oraz 30 godzin laboratorium Konsultacje:

Bardziej szczegółowo

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

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

DEKLARATYWNE ZARZĄDZANIE W MICROSOFT SQL SERVER

DEKLARATYWNE ZARZĄDZANIE W MICROSOFT SQL SERVER DEKLARATYWNE ZARZĄDZANIE W MICROSOFT SQL SERVER Na podstawie artykułu: Hongfei Guo Dan Jones Jennifer Beckmann Praveen Seshadri Declarative Management in Microsoft SQL Server Marek Wittkowski Nowe podejście

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d. TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.

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