Článek přečtěte do 2 min.

Oracle Database 23c Free

Developer Release je první vydání nové generace Oracle Database, které umožňuje vývojářům náskok při vytváření aplikací s inovativními funkcemi 23c, které zjednodušují vývoj moderních aplikací založených na datech. Celá sada funkcí Oracle Database 23c má být obecně dostupná během příštích 12 měsíců.

Vaše data jsou připojena. Procházení implicitních nebo explicitních připojení ve vašich datech obvykle vyžaduje složité rekurzivní dotazy nebo zdlouhavé spojování. V Oracle Database 23c Free – Developer Release vám funkce GRAPH_TABLE a klauzule MATCH nového standardu SQL:2023 umožňují psát jednoduché SQL dotazy .sledovat spojení v datech. Data můžete modelovat jako graf a spouštět dotazy na grafy v SQL, abyste rychle viděli vztahy v datech, které je jinak obtížné identifikovat. To má různé aplikace, od doporučení produktů přes odhalování finančních podvodů až po identifikaci závislostí v pracovních tocích IT. Grafy jsou mocným nástrojem pro extrakci hodnoty z vašich dat na základě spojení vložených do dat.

Grafy vytvořené z relačních tabulek jsou jako „pohled“ nad těmito tabulkami. Data nebudou přesunuta do specializovaného schématu nebo databáze. Data zůstávají na místě ve zdrojových databázových tabulkách, díky čemuž jsou grafy v databázi Oracle obzvláště vhodné pro aplikace pracující s grafy provozních vlastností. Všechna vložení, aktualizace a odstranění zdrojových tabulek se okamžitě projeví v grafu.

Grafy

Jsou v databázi Oracle podporovány od vydání 12c, přičemž dotazy na grafy umožňují jazyk Property Graph Query Language (PGQL). V Oracle Database 23c Free – Developer Release je tato funkce dostupná v SQL. Datový model grafu vlastností se skládá z vrcholů spojených s jinými vrcholy hranami, z nichž každý může mít přidružené páry klíč–hodnota (vlastnosti). Vrcholy obvykle představují entity v datové množině (jako je ‚zákazník‘, ‚produkt‘ nebo ‚id_účtu‘) a hrany představují vztahy mezi těmito oprávněními. Dotazy jsou založeny na porovnávání vzorů grafů, což vám umožňuje určit vzory, které jsou porovnávány s vrcholy a hranami v grafovém modelu dat.

PGQL bude nadále podporováno v 23c a váš kód PGQL bude nadále fungovat jako dříve. Pokud však s grafy teprve začínáte nebo vyvíjíte nové funkce, je tato nová podpora SQL skvělou příležitostí prozkoumat grafy pomocí jazyka a nástrojů, které již znáte. Vytvoření grafu pomocí SQL je jednoduchý proces.

Podívejme se na příklad:

CREATE PROPERTY GRAPH bank_graph<img alt=“CREATE PROPERTY GRAPH statement visual“ height=“245″ src=“https://blogs.oracle.com/content/published/api/v1.1/assets/CONTE868BDDDB74B466BBE37FFE64A1DF872/Medium?cb=_cache_9fd7&format=jpg&channelToken=af5d837e3d34400dbe9ae6cec73ee9b7″ style=“float: right; padding-left: 10px; padding-bottom: 10px;“ width=“300″ loading=“lazy“>
VERTEX TABLES (
bank_accounts as ACCOUNTS
PROPERTIES(ID, BALANCE)
)
EDGE TABLES (
bank_transfers
SOURCE KEY (from_acc) REFERENCES ACCOUNTS(ID)
DESTINATION KEY (to_acc) REFERENCES ACCOUNTS(ID)
PROPERTIES (amount)
)

Zde vytvoříme graf vlastností nazvaný bank_graph s vertexovou tabulkou bank_accounts se dvěma vlastnostmi, id a zůstatek. Náš graf má také okrajovou tabulku, bank_transfers, s částkou nemovitosti představující převod peněz mezi nimi.

Pokud se chceme dotazovat na graf vlastností, který jsme právě vytvořili, je to jednoduché. Pojďme si ale zopakovat pár základních specifikací syntaxe, které musíme znát jako první.

Symbol název Příklad
() Vrchol > (v1) a (v2) jsou bankovní účty
[] Okraj [e1] představuje převod hotovosti mezi nimi
{} < Délka cesty {1,3}
-> Směrovaná hrana

SELECT distinct(account_id)
FROM GRAPH_TABLE(bank_graph
MATCH (v1)-[is bank_transfers]->{3,5}(v1)
COLUMNS (v1.id as account_id)
);

Tento dotaz vrátí všechny účty, které jsou cykly (spuštění a zastavení se stejným účtem), které jsou dlouhé 3 až 5 směrování.

Oracle Database je grafová databáze pro podniky. Umožňuje vysoce výkonné, škálovatelné dotazy na grafy s bezpečností, vysokou dostupností a jednodušší správou vyžadovanou podnikovými aplikacemi.

Zdroj: Oracle