Paweł Kurzawa, Delfina Kongo



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

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

1 Projektowanie systemu informatycznego

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

Modelowanie danych, projektowanie systemu informatycznego

Podstawy Programowania Obiektowego

Programowanie obiektowe - 1.

BAZY DANYCH model obiektowy. Opracował: dr inż. Piotr Suchomski

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

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

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

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

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

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

Obiektowe bazy danych

Technologie obiektowe

Dziedziczenie. Tomasz Borzyszkowski

Programowanie obiektowe

Definicja obiektowego modelu danych: struktura i zachowanie

Modelowanie i Programowanie Obiektowe

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

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

UML. zastosowanie i projektowanie w języku UML

Klasy abstrakcyjne, interfejsy i polimorfizm

Programowanie obiektowe

Programowanie Obiektowe i C++

Diagramy klas. dr Jarosław Skaruz

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

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

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

Klasy abstrakcyjne i interfejsy

Rysunek 1: Przykłady graficznej prezentacji klas.

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Wprowadzenie do systemów informacyjnych

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Definiowanie własnych klas

Świat rzeczywisty i jego model

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Technologie i usługi internetowe cz. 2

TEMAT : KLASY DZIEDZICZENIE

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

UML w Visual Studio. Michał Ciećwierz

Programowanie Obiektowe i C++ Marcin Benke

Programowanie obiektowe

Wykład I. Wprowadzenie do baz danych

Podejście obiektowe - podstawowe pojęcia

Obiektowe bazy danych

Post-relacyjne bazy danych

Oracle PL/SQL. Paweł Rajba.

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

TECHNOLOGIE OBIEKTOWE. Wykład 3

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

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Programowanie obiektowe

Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

Wykład 8: klasy cz. 4

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Programowanie i projektowanie obiektowe

Fazy analizy (modelowania) oraz projektowania FAZA ANALIZY:

Programowanie obiektowe

Programowanie obiektowe

MODELOWANIE OBIEKTOWE

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Modelowanie klas i obiektów. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie obiektowe. Roman Simiński Polimorfizm

Dziedziczenie. dr Jarosław Skaruz

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

Projekt Spaghetti. Wykorzystanie podejścia obiektowego w zarządzaniu projektami. Katedra Badań Operacyjnych

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

Enkapsulacja, dziedziczenie, polimorfizm

Programowanie 2. Język C++. Wykład 3.

Zagadnienia Semestr IV Inżynieria Oprogramowania WSZiB

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Podejście obiektowe wprowadzenie

Alicja Marszałek Różne rodzaje baz danych

.NET Klasy, obiekty. ciąg dalszy

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Laboratorium 1. Wprowadzenie do protokołu SNMP i kodowanie BER (ASN.1)

Język UML. dr inż. Piotr Szwed C3, pok

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

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

Projektowanie logiki aplikacji

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Wykład 6: Dziedziczenie

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

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

Modelowanie obiektowe

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

Programowanie Obiektowe Ćwiczenie 4

Modelowanie konceptualne model EER

Analiza i projektowanie aplikacji Java

Abstrakcyjny typ danych

Kurs WWW. Paweł Rajba.

PHP 5 język obiektowy

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

Transkrypt:

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 Group ODMG. Grupa zaczęła działać formalnie jako organizacja. Pierwszy rys standardu został opublikowany w roku 1991.

obiekt tożsamość obiektu klasa (hierarchia klas) atrybut metoda dziedziczenie

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.

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.

(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.

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ć.

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.

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.

W odróżnieniu od klasy abstrakcyjnej, klasa konkretna (ang. concrete class) może posiadać bezpośrednie wystąpienia obiektów.

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.).

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 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 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 (ang. method) to procedura, funkcja lub operacja przypisana do klasy obiektów i dziedziczona przez jej podklasy. Identyfikacja stanu obiektu oraz identyfikacja zmiany stanu obiektu są możliwe dzięki metodom związanym z danym obiektem.

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.

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 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.

Zmniejszenie dystansu pomiędzy fazami analizy, projektowania i implementacji Zwiększenie poziomu abstrakcji w myśleniu programistów i użytkowników (uzyskanie jak najmniejszej luki pomiędzy myśleniem o rzeczywistości a myśleniem o danych i procesach, które zachodzą na danych) Uwzględnienie informacji proceduralnej (metody) Stworzenie nowego potencjału dla ponownego użycia

Bazy danych Oracle nie sa "czystymi" bazami obiektowymi, lecz relacyjnymi z elementami obiektowosci obiektoworelacyjnymi. Jest to wynik ewolucji systemów relacyjnych w kierunku obiektowych w celu zniwelowania niedostatków technologii relacyjnej, szczególnie w zakresie danych multimedialnych, wprowadzenia wielu cech obiektowosci, takich jak klasy, metody, dziedziczenie, abstrakcyjne typy danych (ADT).

Podstawowe własności obiektowo-relacyjnych Oracle stanowią typy obiektowe. Typy obiektowe definiowane przez użytkownika, spójną strukturę danych wspólnie z funkcjami i procedurami używanymi do manipulowania na nich. Odpowiednikiem typu obiektowego może być pojęcie klasy w językach programowania takich, jak C++, czy Java.

Podstawowym pojęciem jest obiekt, traktowany jako kontener zawierający pewien zbiór wartości. Z obiektem związuje się zbiór specyficznych operacji do obserwacji i zmiany stanu obiektu (czyli wartości w nim zawartych). Obiekty mogą się do siebie odwoływać obiekty elementarne: odwołują się tylko do swoich klas obiekty złożone: odwołują się także do innych obiektów (bezpośrednio zależą od nich)

Jedno podstawowe pojęcie do modelowania świata obiekt. Z obiektem związany jest jego stan i zachowanie. Tak więc obiekty można definiować rekurencyjnie. Na rynku ok. 25 produktów, np. GemStone, ObjectStore, ENCORE. Proste definiowanie obiektów złożonych. Nie trzeba definiować kluczy, ich rolę pełnią OIDy.