Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

4. Modelowanie wartości pochodnych

Podobne prezentacje


Prezentacja na temat: "4. Modelowanie wartości pochodnych"— Zapis prezentacji:

1 4. Modelowanie wartości pochodnych
Kurs WebML 4. Modelowanie wartości pochodnych Copyright © Politecnico di Milano March 2003 Translation: Kamil Żyła, Politechnika Lubelska

2 Modelowanie wartości pochodnych
Plan T.O.C. Modelowanie wartości pochodnych Wartości pochodne: podstawowe użycie Wartości pochodne: definicja formalna Poniższy moduł zawiera przegląd zagadnień związanych z projektowaniem aplikacji, modelami WebML oraz narzędziami. Translation: Kamil Żyła, Politechnika Lubelska

3 Użycie wartości pochodnych
MODEL Użycie wartości pochodnych Etap modelowania wartości pochodnych umożliwia Rozbudowanie encji o dodatkowe atrybuty pochodzące z encji powiązanych relacjami Rozbudowanie encji o dodatkowe atrybuty obliczone na podstawie wartości atrybutów już istniejących Określenie populacji encji lub relacji na podstawie wybranych właściwości powiązanych obiektów Translation: Kamil Żyła, Politechnika Lubelska

4 Translation: Kamil Żyła, Politechnika Lubelska
MODEL WebML OCL Wartości pochodne są definiowane poprzez specjalne wyrażenia (derivation queries) Wyrażenia te mogą być zapisane przy użyciu języka WebML OCL Wartościami pochodnymi mogą być Encje, relacje, atrybuty Wyrażenia mogą być automatycznie przetwarzane na perspektywy SQL, których definicje są przechowywane w bazie danych Translation: Kamil Żyła, Politechnika Lubelska

5 Translation: Kamil Żyła, Politechnika Lubelska
Encje pochodne MODEL Populacja podencji w hierarchii ISA może być określona na podstawie wyrażeń w języku OQL “Wolnym gniazdem (slot) jest gniazdo, które ma zero rezerwacji” WebML OQL: “SuperEntity where count(reservation)=0” freeSlot slot ISA Translation: Kamil Żyła, Politechnika Lubelska

6 Translation: Kamil Żyła, Politechnika Lubelska
MODEL Atrybuty pochodne Atrybuty encji mogą być wyznaczane poprzez przypisanie do nich odpowiedniego wyrażenia Są 4 typy atrybutów pochodnych Stałe: affiliation: “Politecnico di Milano” Importowane: maritalName: Self.husband.lastname Agregowane: reservation#: count(Self.reservation) Obliczane: lastPrice: Self.price*discount Słowo kluczowe Self identyfikuje encję, w której jest definiowany atrybut Translation: Kamil Żyła, Politechnika Lubelska

7 Translation: Kamil Żyła, Politechnika Lubelska
TOOLS Atrybuty importowane Import zewnętrznej informacji do encji female male husband lastname maritalName Translation: Kamil Żyła, Politechnika Lubelska

8 Translation: Kamil Żyła, Politechnika Lubelska
Atrybuty obliczane MODEL Koszt zamówienia jako suma kosztów jego składowych Wyrażenia OL.TotalPrice = Self.Price * Self.Quantity Order.TotalPrice = Sum (Self.Order2OL.TotalPrice) Order.NumLines = Count (Self.Order2OL) Order OL OL2Order price, qty Translation: Kamil Żyła, Politechnika Lubelska

9 Translation: Kamil Żyła, Politechnika Lubelska
MODEL Relacje pochodne WebOQL umożliwia tworzenie relacji Poprzez konkatenację (łączenie) istniejących relacji Poprzez uszczegółowianie istniejących relacji Poprzez łączenie par obiektów spełniających pewien warunek Zmienna Self wskazuje na instancję encji źródłowej relacji Translation: Kamil Żyła, Politechnika Lubelska

10 Translation: Kamil Żyła, Politechnika Lubelska
TOOLS Relacje pochodne Uszczegółowienie istniejącej relacji Album Artist Artist2Album Artist2RecentAlbum Translation: Kamil Żyła, Politechnika Lubelska

11 Translation: Kamil Żyła, Politechnika Lubelska
TOOLS Relacje pochodne Konkatenacja istniejących relacji Album Artist CompilationArtist SongAlbum Song SongArtist Translation: Kamil Żyła, Politechnika Lubelska

12 Translation: Kamil Żyła, Politechnika Lubelska
TOOLS Relacje pochodne Łączenie par obiektów spełniających pewien warunek User2Favorites jest relacją, która łączy obiekt użytkownika ze wszystkimi artykułami w kategoriach, które znajdują się w zbiorze ulubionych kategorii użytkownika User2Favorites Category User2Preference Article User User2Article Translation: Kamil Żyła, Politechnika Lubelska

13 Modelowanie wartości pochodnych
Wartości pochodne: podstawowe użycie Wartości pochodne: definicja formalna Translation: Kamil Żyła, Politechnika Lubelska

14 Translation: Kamil Żyła, Politechnika Lubelska
Atrybuty pochodne MODEL Atrybuty encji mogą być wyznaczane poprzez przypisanie do nich odpowiedniego wyrażenia Słowo kluczowe Self identyfikuje encję, w której jest definiowany atrybut Np. Book.Language = Self.Book2Author.Language Author Book Book2Author Translation: Kamil Żyła, Politechnika Lubelska

15 Atrybuty pochodne: importowanie informacji
MODEL Atrybuty pochodne: importowanie informacji Import zewnętrznej informacji do encji Np. Product.BrandLogo = Self.Prod2Brand.Logo Brand Product Prod2Brand Translation: Kamil Żyła, Politechnika Lubelska

16 Atrybuty pochodne: obliczanie wartości
MODEL Atrybuty pochodne: obliczanie wartości Obliczanie wartości dla atrybutu Order OL OL2Order Np. OL.TotalPrice = Self.Price * Self.Quantity Order.TotalPrice = Sum (Self.Order2OL.TotalPrice) Order.NumLines = Count (Self.Order2OL) Translation: Kamil Żyła, Politechnika Lubelska

17 Atrybuty pochodne: możliwości (1)
MODEL Atrybuty pochodne: możliwości (1) Wartości stałe Np. Track.Type = ‘CD track’ Wieloetapowe przechodzenie relacji Np. Track.Language= Self.Track2Album.Album2Artist.Language Filtrowanie wartości Artist.NewAlbums = count (Self.Artist2Album (as B) where B.Date > ‘01/01/98’ ) Alias Album Track T2A Artist A2A Translation: Kamil Żyła, Politechnika Lubelska

18 Atrybuty pochodne: możliwości (2)
MODEL Atrybuty pochodne: możliwości (2) Hierarchia ISA Book.TopIcon=‘topImg.gif’ where Self ISA TopSeller Wymóg braku acykliczności (brak rekursji): Wartości pochodne nie mogą być zdefiniowane pośrednio lub bezpośrednio na sobie TopSell Book ISA Translation: Kamil Żyła, Politechnika Lubelska

19 Translation: Kamil Żyła, Politechnika Lubelska
Encje pochodne MODEL Populacja podencji w hierarchii ISA może być określona przez wyrażenia języka OQL Np. <ENTITY id="Italian" superEntity=“Person" value=“Person as P where P.birthPlace like ‘*Italy*’ "> </ENTITY> Np. <ENTITY id=“TopSell" superEntity=“Book" value=“Book as B where B.Copies > 500,000 "> Italian Person ISA TopSell Book ISA Translation: Kamil Żyła, Politechnika Lubelska

20 Translation: Kamil Żyła, Politechnika Lubelska
MODEL Relacje pochodne Relacje mogą być definiowane przy użyciu wyrażeń WebOQL Poprzez konkatenację (łączenie) istniejących relacji Poprzez uszczegółowianie istniejących relacji Poprzez łączenie par obiektów spełniających pewien warunek Zmienna Self wskazuje na instancję encji źródłowej relacji Translation: Kamil Żyła, Politechnika Lubelska

21 Relacje pochodne: uszczegółowienie/konkatenacja
MODEL Relacje pochodne: uszczegółowienie/konkatenacja Uszczegółowienie istniejącej relacji Np. <RELATIONSHIP id="Artist2TopSeller" to="Album" inverse="TopSeller2Artist" value="Self.Artist2Album as A where A ISA TopSeller" /> Konkatenacja istniejących relacji Np. <RELATIONSHIP id="CoParticipation" to="Artist" inverse="CoParticipation" value="Self.Artist2Compilation.Compilation2Artist"/> Album Artist Artist2Album Artist2TopSeller Artist Compilation Compilation2Artist CoParticipation Translation: Kamil Żyła, Politechnika Lubelska

22 Relacje pochodne: łączenie par obiektów
MODEL <RELATIONSHIP id="User2Favorite" to="Article" inverse=“Favorite2User" value="Self.Article as A where A.category in Self.User2Preference.name"/> User2Favorites Category User2Preference Article User User2Article User2Favorites jest relacją, która łączy obiekt użytkownika ze wszystkimi artykułami w kategoriach, które znajdują się w zbiorze ulubionych kategorii użytkownika Translation: Kamil Żyła, Politechnika Lubelska

23 Translation: Kamil Żyła, Politechnika Lubelska
Wartości pochodne THE END Translation: Kamil Żyła, Politechnika Lubelska


Pobierz ppt "4. Modelowanie wartości pochodnych"

Podobne prezentacje


Reklamy Google