Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Unifikovaná architektura databáze Katsiaryna Chernik.

Podobné prezentace


Prezentace na téma: "Unifikovaná architektura databáze Katsiaryna Chernik."— Transkript prezentace:

1 Unifikovaná architektura databáze Katsiaryna Chernik

2 Unifikovaná architektura databáze Caché díky své architektuře uložení dat je schopna pracovat s daty jak z pohledu objektového tak relačního. Nedochází ke ztrátě výkonu při přístupu k datům

3 Unifikovaná architektura databáze ClassClass TableTable Resynchronization Not  Two definitions  Constant need for synchronization  Two definitions  Constant need for synchronization  One definition  No need for synchronization  One definition  No need for synchronization Unified Data Architecture

4 Unifikovaná architektura databáze Objekty jsou organizovány do tříd Definice tříd jsou uloženy spolu s ostatními daty v Caché Class Dictionary (slovník tříd). Definice tříd Dvě sady kódů navzájem synchronizované objektový přístuprelační přístup kompilace

5 Objekt / Relace ObjektRelace BalíkSchéma TřídaTabulka Instance objektuŘádek v tabulce VlastnostSloupec RelaceCizí klíč Vnořený objektSloupce MetodaProcedura Index

6 Vlastnost / Sloupec Class User.Osoba Extends %Persistent [ ClassType = persistent, ProcedureBlock ] { Property Jmeno As %String; } Tabulka Osoba IDJmeno 1Jiří Novák 2Jan Černý ObjectScript Routines Set osoba=##class(User.Osoba).%New() Set osoba.Jmeno="Jiří Novák " set sc=osoba.%Save() quit SQL INSERT INTO SQLUser.Osoba (Jmeno) VALUES „Jan Černý“

7 Fyzické úložiště dat Data se ukládají do vícerozměrného řídkého pole. Pro zobrazení vícerozměrných datových struktur se používá stromový pohled.

8 Přístup k datum v Caché SQL ODBC Relational View For Standards Direct View Object View For Speed For Interoperation Multi-Dimensional Database

9 Přístup k datum v Caché Read !,”Person Id >”,id ; using Object Syntax Set p=##class(User.Osoba).%OpenId(id) Write !,p.Jmeno ; using SQL &sql(Select Jmeno into :jmeno from SQLUser.Osoba where Id=:id) Write !,name ; using Direct Global Access Write !,$List(^User.OsobaD(id),2)

10 Pole / Tabulka Vlastnost typu pole, které nabývá libovolného počtu hodnot, je transformována na samostatnou tabulku. Class User.Osoba Extends %Persistent [ ClassType = persistent, ProcedureBlock ] { Property Jmeno As %String; Property Pratele As %String [ Collection = array ]; } Pole Pratele: Honza Jan Valach Jitka Jitka Nova

11 Pole / Tabulka Routines Set osoba=##class(User.Osoba).%OpenId(1) do osoba.Pratele.SetAt("Jan Valach","Honza") do osoba.Pratele.SetAt("Jitka Nova","Jitka") set sc=osoba.%Save() quit Tabulka Osoba_Pratele OsobaIDPrateleElement_key 11||HonzaJan ValachHonza 11||JitkaJitka NováJitka

12 Fyzické úložiště dat Vlevo od znaménka “=” jsou vidět jednotlivé “dimenze”, vpravo pak data příslušná instanci objektu v dané dimenzi. Pole přátel je uloženo o úroveň níže než detaily osoby.

13 Vnořené třídy Data obsažená ve vnořených třídách jsou vždy uložena spolu s daty persistentní třídy, jež na vnořenou třídu odkazuje. Class User.Adresa Extends %SerialObject [ ClassType = serial, ProcedureBlock ] { Property Sidlo As %String; Property Ulice As %String; } Typ seriál znamená, že třída může byt vnořena do persistentní třídy.

14 Vnořené třídy Class User.Osoba Extends %Persistent [ ClassType = persistent, ProcedureBlock ] { … Property Adresa As User.Adresa; }

15 Vnořené třídy Routines Set osoba1=##class(User.Osoba).%OpenId(1) Set osoba1.Adresa.Sidlo="Praha 1" Set osoba1.Adresa.Ulice="Dlouha 12" Set sc=osoba1.%Save() Set osoba2=##class(User.Osoba).%OpenId(2) Set osoba2.Adresa.Sidlo="Praha 1" Set osoba2.Adresa.Ulice="Karlova 10" set sc=osoba2.%Save() quit Tabulka Osoba IDJmenoAdresa_SidloAdresa_Ulice 1Jiří NovákPraha 1Dlouha 12 2Jan ČernýPraha 1Karlova 10

16 Dědičnost a SQL Class User.Zamestnanec Extends User.Osoba [ ClassType= persistent,ProcedureBlock ] { Property Plat As %Integer(MAXVAL = 1000000, MINVAL = 0); } Tabulka Zamestnanec IDJmenoAdresa_SidloAdresa_UlicePlat 3David GinoPraha 1Ke Karlovu 89000

17 Dědičnost a SQL IDJmenoAdresa_SidloAdresa_Ulice 1Jiří NovákPraha 1Dlouhá 12 2Jan ČernýPraha 1Karlova 10 3David GinoPraha 1Ke Karlovu 8 Tabulka Osoba

18 Závěr Jedna definice dat –Objekt –SQL –Přímý přístup


Stáhnout ppt "Unifikovaná architektura databáze Katsiaryna Chernik."

Podobné prezentace


Reklamy Google