57 - Objektově-orientované databázové systémy - kolekce a struktura, objekt, dědičnost, vztahy Flashcards

1
Q

Objektově-orientované databázové systémy - Základní pojmy

A

Data - hodnota schopná přenosu, uchování, interpretace či zpracování
• z hlediska IT jde o hodnoty různých datových typů
• data sama o sobě nemají sémantiku(význam), jsou to věty nějakého formálního jazyka určující syntaxi
• hodnoty dat obvykle udávají stav nějakého systému

Metadata - data o datech (faktura -> relace -> kolekce struktur -> kartezsky součin dvojic…)

Informace - Interpretovaná data (lidmi nebo strojově), která po interpretaci mají sémantiku(význam), je nezbytné zajistit shodnou interpretaci dat u všech uživatelů informace (vzdělání, školení, zavedení konvencí, ontologie)

Znalosti (big data) - informace zařazená do souvislostí (často s redukovaným množstvím dat) - interpretace je však ještě hůře definovatelná, neboť může jít o agregace informací
• znalosti chápeme často jako sekundární odvozené informace
• některé informační systémy se zabývají pouze informacemi (transakční -OLTP), některé pracují se znalostmi a velkými daty (pro podporu rozhodování a plánování –OLAP)
• znalosti jsou často získávány operacemi nad velkými daty (agregace, data mining, apod.)

Systém - množina prvků a vazeb mezi nimi, účelově definované na nějakém nosiči
Nosič - množina prvků systému ve vzájemných informačních a procesních vztazích (prvky nosiče = zdroje, výsek reálného světa (knihovna, škola, úřad, atd.))

Zdroje - fyzické (osoby, materiál, stroje, finance) X konceptuální (informace)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Objektově-orientované databázové systémy - Základní pojmy - MUST KNOW!

A

Kartézský součin
• Uspořádaná n-tice je množina hodnot ve tvaru (a1, a2, … an)
• Kartézský součin A1 x A2 x … x An je množina všech uspořádaných n-tic takových, že a1 ∈ A1, a2 ∈ A2, … an ∈ An. Podstatné je, že v uspořádané n-tici každá hodnota je prvkem jediné z množin definice kartézského součinu a to té, která jí indexem odpovídá
- A x B = {(a,b), a náleží A, b náleží B}

Struktura - uspořádaná n-tice, prvek kartézského součinu -> představuje strukturovanou hodnotu vytvořenou pevným počtem pojmenovaných dílčích hodnot obecně různých typů (např. instance třídy)
• Pojmenované hodnoty označujeme jako vlastnosti.
• žádné omezení datových typů vlastností (data, složené typy i algoritmy)
• definice pouze rozhraní - polymorfismus struktur
• komunikace zasíláním zpráv (vysílající struktura nemusí znát příjemce zprávy - polymorfismus - zpráva může být interpretována různým způsobem v závislosti na typu přijímající struktury)
- Prostá struktura - je struktura bez identifikace
- Abstraktní typ - struktury, které slouží jen jako stavební kameny (vzory) pro vytváření následníků (Poznámka: Abstraktní typ může mít extent (budou tam výskyty všech následníků toho datového typu) )
- Konkrétní typ - struktury, které skutečně budou mít své výskyty a budou skutečnými strukturami

Kolekce - uspořádaná multimnožina -> Předem neomezený počet hodnot stejných datových typů (LIST)
• standardní operace: add, item, count, remove
• kurzor (iterátor) - ukazovátko do kolekce, posouvání oběma směry
• uspořádání nad kolekcí (jedno nebo více podle různých klíčů)
• vlastnosti - nejčastěji agregáty: maximum, minimum, suma, průměr
• tabulka v relační databázi je vlastně kolekcí bez vlastních vlastností a s často omezenou funkčností, jejímiž prvky jsou struktury s vlastnostmi jednoduchých typů
• častý požadavek jedinečnost prvku v kolekci

Objekt - struktura s identifikací - OID - jednoznačná identifikace objektu v celém systému; identifikovatelný, odkazovatelný
• perzistentní - dynamická nebo statická perzistence
• porovnávání objektů:
○ identické objekty/struktury - stejné atributy
○ totožné objekty - stejné OID

Extent = kolekce obsahující obor hodnot pro objekty jistého typu
• důležitý navigační prvek v OO databázích
• kolekci udržuje OODBMS
○ v případě dědění může být neefektivní (nová instance - vložení do všech extentů hierarchie dědičnosti)
○ uživatel má možnost omezit, které třídy budou tvořit extenty
• je nejčastějším vstupním bodem do objektové databáze (iterujeme pres objekty určitého typu v extentu a z nich se pomoci vztahu dostáváme k dalším informacím)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vztahy

A

= Vztah je vazba mezi výskyty objektů !!!

• dva pohledy na strukturu: 
	○ definiční - definice metadat (jak má struktura daného typu vypadat z hlediska vlastností a jejich typů) 
	○ výskytový - vytváříme konkrétní výskyty (instance) struktury (jaké jsou hodnoty vlastností) 
• Vztah je vazba mezi výskyty objektů 
• výskyt struktury, v níž se vyskytuje vlastnost typu struktura (je nezajímavé, jde-li o prostou strukturu nebo objekt), nazveme vlastníkem; hodnotu vlastnosti nazveme členem 

Typy vztahů
• Členem je prostá struktura - jedná se o hierarchické členění struktur (základní prostředek pro vytváření komplexních hierarchicky strukturovaných hodnot)
• Členem je kolekce prostých struktur - opět pouze hierarchické zanoření
• Členem je jediný objekt - vztah 1:1 realizovaný pomocí OID
• Členem je kolekce objektů - vztah 1:N, kolekce obsahuje reference na objekty
- Objekty ani kolekce objektů nemohou existovat bez vztahů a naopak.

Inverzní vztahy
• se mohou automaticky dotvořit při vzniku vztahu (atribut inverse - udává jméno vztahu),
• velmi usnadňují vývoj IS (automatické udržování integrity apod.).
• Častým modelovaným případem je situace, kdy je požadováno, aby vytvoření vztahu V z objektu A do objektu B vyvolalo rovněž vytvoření vztahu W z objektu B do objektu A. (to samé při mazání vztahu)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Dědičnost

A
  • umožňuje definici typu pomocí typu jiného.
    • Pojmy: předek a následník, přímý předek, přímý následník -> dědičnost, přímá dědičnost
    • Vlastnosti se mohou přidávat, modifikovat i ubírat.
    • Binární relace dědičnosti je tranzitivní uzávěr relace přímé dedičnosti. Obě tyto binární relace jsou uspořádáním.

Generalizace = postup vytváření hierarchie dědičnosti hledáním společných vlastností a VYTVÁŘENÍM PŘEDKŮ
Specializace = opačný postup ke generalizaci, kdy se rozrůzňují typy a vznikají tak NÁSLEDNÍCI.
Abstraktní typy - existují pouze kvůli hierarchii dědičnosti, ale nelze vytvářet jejich instance.

jednoduchá dědičnost = každý následník smí mít pouze jediného předka (zakreslený graf je potom stromem)
vícenásobné dědičnosti - počet předků není omezen (zakreslený graf je obecný acyklický graf)

(v grafu dědičnosti se nesmí vyskytovat cyklus)

• Zavedením hierarchie dědičnosti nad typy jsme stanovili pro každý typ jeho předka (kromě nejvyššího typu v hierarchii). Žádný z typů nemůže být svým vlastním předkem, ani následníkem.

Typová kompatibilita struktur
○ Požadujeme aby každá struktura jistého typu byla zároveň typu všech svých předků.
○ Struktura není tedy jediného typu, ale je současně více typů, a to svého typu a jeho všech přímých i nepřímých předchůdců.
Tedy, pokud máme k dispozici strukturu typu B, která je instancí následníka typu A, pak se může B vyskytovat všude tam, kde může být A. Tj. v deklaracích proměnných, hodnotách vlastností, kolekcích, extentech apod. Říkáme, že typ B je kompatibilní s typem A, nikoliv naopak.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vícetypovost - ASI NENÍ POTŘEBA VĚDĚT

A

Vícetypovost a role

* změna role objektu v čase u perzistentních  objektů
* Vícetypovost je  vícenásobná dědičnost pro persistentní objekty prováděná V ČASE BĚHU

Vícetypovost = je nutné umožnit vytváření různých kombinací koncových typů v jediném objektu během jeho existence

How well did you know this?
1
Not at all
2
3
4
5
Perfectly