Viac

Je možné meniť dopyt sql na základe úrovne zväčšenia?


Snažím sa vytvoriť mapu, kde som pridal vrstvu s miestnymi názvami. V databáze sú tisíce z nich a hľadám spôsob, ako zobraziť iba tie najdôležitejšie na nižších úrovniach priblíženia.

Úvod CartoDB má dobrý príklad problému s mojou mapou (všimnite si, že existuje toľko bodiek, že mapu nie je možné použiť na nič iné, iba na zistenie, kde ľudia pomenovali geografické objekty alebo kde žijú) http: // docs.cartodb.com/tutorials/create_map_cartodbjs.html

V mojej databáze je stĺpec pre typy miest a pridal som stĺpec min_zoom a max_zoom, ktorý by som chcel použiť na filtrovanie. Čím viac priblížite, tým viac sa zobrazí názvy miest - na základe minimálnej a maximálnej úrovne priblíženia definovanej v databáze.

V ideálnom prípade by som dokázal získať úroveň priblíženia ako premennú, ktorú by som poslal do databázového dotazu.


Myslím, že to dosiahnete pomocou voliča priblíženia CartoCSS. Tu máte príklad


Ako príklad som použil údaje o osídlených miestach z kultúrnych súborov údajov prírodnej Zeme, importoval som ich z časti bežných údajov CartoDB. Súbor údajov má stĺpec podobný vášmu, ale v tomto prípade sa voláporadie_maxTen stĺp som použil v kombinácii szväčšiťa použil niektoré filtre pomocou nasledujúceho CartoCSS:

/ * To platí pre všetky značky * / # ne_10m_populated_places_simple_4 {marker-fill-opacity: 1; šírka značky: 0; šírka značkovacej čiary: 0; značka-výplň: # 000000; značka-povoliť-prekrytie: pravda; } # ne_10m_populated_places_simple_4 :: labels {text-name: ""; text-face-name: "DejaVu Sans Book"; veľkosť textu: 10; tolerancia polohy textového štítku: 0; vyplnenie textu: # 000; text-halo-fill: #FFF; polomer halogénu: 1; text-dy: -4; text-allow-overlap: true; umiestnenie textu: bod; text-placement-type: dummy; } / * Toto bude platiť LEN v prípade, že je podmienka rank_max> 12 pravdivá * / [rank_max> 12] {# ne_10m_populated_places_simple_4 {marker-width: 10; značka-výplň: # FF6600; } # ne_10m_populated_places_simple_4 :: labels {text-name: [meno]; veľkosť textu: 14; text-dy: -8; }} / * Toto bude platiť pre zväčšenie väčšie alebo rovné 4, ale IBA keď rank_max je 11 alebo 12 * / [zoom> = 4] [rank_max> 10] [rank_max <= 12] {# ne_10m_populated_places_simple_4 {šírka značky: 6 ; značka-výplň: # FFA300; } # ne_10m_populated_places_simple_4 :: labels {text-name: [meno]; veľkosť textu: 12; text-dy: -6; }} / * Toto bude platiť pre zväčšenie väčšie alebo rovné 8, ale IBA pre rank_max nižšie 11 * / [zoom> = 8] [rank_max> 4] [rank_max <= 10] {# ne_10m_populated_places_simple_4 {marker-width: 4; značka-výplň: # 229A00; } # ne_10m_populated_places_simple_4 :: labels {text-name: [meno]; veľkosť textu: 10; text-dy: -4; }}

Živé demo si môžete pozrieť na nasledujúcom bl.ock.org: http://bl.ocks.org/rochoa/779532bf9e5360645332 (zdrojový kód)

Aj keď to nie je presne to, čo potrebujete, myslím, že vám môže pomôcť začať sa hrať s vašimi údajmi.


Zisťujete, ako došlo k zmene schémy?

Pohľad, ktorý bol vytvorený niekedy pred tým, niekto upravil, čo nakoniec zlomilo správy. Bohužiaľ. niekto (vedome alebo nevedome) vykonal túto úpravu v databáze VÝROBA.

Moja otázka: Existuje spôsob (skript / softvér / freeware atď.), Pomocou ktorého môžeme zistiť, kto (používateľské meno) vykonal túto úpravu, aby som mohol tomuto používateľovi odobrať prístup do produkčnej databázy.

Ak je moja otázka nejasná, prosím komentujte.


4 odpovede 4

Mal som rovnaký problém ako ty, Noboby mi rozumie, ale vyriešil som to tak.

potrebujete vložiť parameter do iného hárku, SQL bude tieto informácie považovať za databázové, potom ich môžete vybrať a porovnať ich s požadovaným parametrom.

Ak používate dotaz Microsoft, môžete pridať „?“ na váš dotaz.

keď sa vrátite do excelu, vyskočí malé okno s požiadavkou na bunku / dáta / atď.

V rozbaľovacom okne môžete tiež vybrať možnosť „vždy použiť túto bunku ako parameter“, čo eliminuje potrebu definovať túto bunku pri každom obnovení údajov. Toto je najjednoduchšia možnosť.

SQL je niečo ako syntax MS SQL.

Je dôležité, aby bol názov tabuľky ukončený znakom $ a celé bolo uvedené v zátvorkách. Ako podmienky môžete použiť ľubovoľnú hodnotu, ale Excel mi zatiaľ nedovolil používať to, čo nazývam „SQL Apostrophes“ (´), preto sa odporúča názov stĺpca jedným slovom.

Ak máte používateľov uvedených v tabuľke nazvanej „Používatelia“ a toto ID je v stĺpci s názvom „id“ a meno v stĺpci s názvom „Meno“, bude váš dopyt vyzerať takto:


Kocky OLAP správcu služieb

Nasledujúci obrázok zobrazuje obrázok z programu SQL Server Business Intelligence Development Studio (BIDS), ktorý zobrazuje hlavné časti potrebné pre kocky online analytického spracovania (OLAP). Tieto časti sú zdroj údajov, zobrazenie zdroja údajov, kocky a dimenzie. Nasledujúce časti popisujú časti kocky OLAP a akcie, ktoré môžu používatelia robiť s ich použitím.

Zdroj dát

Zdroj údajov je pôvodom všetkých údajov, ktoré sú obsiahnuté v kocke OLAP. Kocka OLAP sa pripája k zdroju údajov, aby mohla čítať a spracovávať nespracované údaje, aby mohla vykonávať agregácie a výpočty pridružených mier. Zdrojom údajov pre všetky kocky OLAP portálu Service Manager sú dátové trhy, ktoré zahŕňajú dátové trhy pre Operations Manager aj Configuration Manager. Informácie o overení o zdroji údajov musia byť uložené v službe SQL Server Analysis Services (SSAS), aby sa stanovila správna úroveň povolení.

Zobrazenie zdroja údajov

Zobrazenie zdroja údajov (DSV) je kolekcia pohľadov, ktoré predstavujú tabuľky dimenzií, faktov a výstupných tabuliek zo zdroja údajov, ako sú napríklad dátové trhy Service Manager. DSV obsahuje všetky vzťahy medzi tabuľkami, napríklad primárny a cudzí kľúč. Inými slovami, DSV špecifikuje, ako bude databáza SSAS mapovať na relačnú schému, a poskytuje vrstvu abstrakcie nad relačnou databázou. Pomocou tejto vrstvy abstrakcie možno definovať vzťahy medzi tabuľkami faktov a dimenzií, aj keď v zdrojovej relačnej databáze neexistujú žiadne vzťahy. V DSV môžu byť definované aj pomenované výpočty, vlastné miery a nové atribúty, ktoré v dimenzionálnej schéme dátového skladu natívne nemusia existovať. Napríklad pomenovaný výpočet, ktorý definuje boolovskú hodnotu pre Incidenty vyriešené vypočítava hodnotu ako pravdivú, ak je stav incidentu vyriešený alebo uzavretý. Pomocou pomenovaného výpočtu môže manažér služieb potom definovať mieru na zobrazenie užitočných informácií, ako napríklad percento vyriešených incidentov, celkový počet vyriešených incidentov a celkový počet incidentov, ktoré sa nevyriešia.

Ďalším rýchlym príkladom pomenovaného výpočtu je ReleasesImplementedOnSchedule. Tento pomenovaný výpočet poskytuje rýchlu kontrolu stavu stavu počtu záznamov o vydaní, v ktorých je skutočný dátum ukončenia menší alebo rovný plánovanému dátumu ukončenia.

OLAP kocky

Kocka OLAP je dátová štruktúra, ktorá prekonáva obmedzenia relačných databáz poskytovaním rýchlej analýzy údajov. Kocky OLAP môžu zobrazovať a sumarizovať veľké objemy dát a zároveň poskytujú používateľom prehľadateľný prístup k ľubovoľným dátovým bodom, aby bolo možné dáta podľa potreby zrolovať, narezať a nakrájať na kocky, aby zvládli najrôznejšie otázky, ktoré sú relevantné pre oblasť používateľa zo záujmu.

Rozmery

Dimenzia v SSAS odkazuje na dimenziu z dátového skladu portálu Service Manager. V Správcovi služieb je dimenzia zhruba ekvivalentná s triedou manažérskeho balíka. Každá trieda balíka management pack má zoznam vlastností, zatiaľ čo každá dimenzia obsahuje zoznam atribútov, pričom každý atribút je mapovaný na jednu vlastnosť v triede. Dimenzie umožňujú filtrovanie, zoskupovanie a označovanie údajov. Môžete napríklad filtrovať počítače podľa nainštalovaného operačného systému a zoskupovať ľudí do kategórií podľa pohlavia alebo veku. Údaje potom môžu byť prezentované vo formáte, v ktorom sú údaje prirodzene kategorizované do týchto hierarchií a kategórií, čo umožňuje hlbšiu analýzu. Dimenzie môžu mať tiež prirodzené hierarchie, ktoré používateľom umožňujú & nbsp; & nbsp; & nbsp; & nbsp; prejsť na podrobnejšie úrovne podrobností. Napríklad dimenzia Dátum má hierarchiu, ktorú možno rozčleniť podľa roku, potom štvrťroku, potom mesiaca, týždňa a potom dňa.

Nasledujúci obrázok zobrazuje kocku OLAP, ktorá obsahuje dimenzie Dátum, Región a Produkt.

Napríklad členovia tímu spoločnosti Microsoft môžu chcieť rýchly a jednoduchý súhrn predaja hernej konzoly Xbox One v roku 2016. Môžu ďalej hĺbkovo analyzovať údaje o predaji pre viac zameraný časový rámec. Obchodní analytici možno budú chcieť preskúmať, ako ovplyvnil predaj konzol Xbox One predstavenie nového dizajnu konzoly a modelu Kinect pre Xbox One. To im pomáha určiť, aké predajné trendy sa vyskytujú a aké potenciálne revízie obchodnej stratégie sú potrebné. Filtrovaním podľa dimenzie dátumu je možné tieto informácie rýchlo doručiť a spotrebovať. Toto rozdelenie a rozdelenie údajov je povolené iba preto, že dimenzie boli navrhnuté s atribútmi a údajmi, ktoré zákazník môže ľahko filtrovať a zoskupiť.

V Správcovi služieb zdieľajú všetky kocky OLAP spoločnú sadu dimenzií. Všetky dimenzie používajú ako zdroj dátový trh primárneho dátového skladu, a to aj v niekoľkých scenároch dátového trhu. Vo viacerých scenároch dátového toku to môže viesť k chybám kľúčových dimenzií počas spracovania kocky.

Skupina opatrení

Skupina opatrení je v terminológii dátového skladu rovnaký koncept ako fakt. Rovnako ako fakty obsahujú číselné miery v dátovom sklade, skupina mier obsahuje miery pre kocku OLAP. Všetky miery v kocke OLAP, ktoré sú odvodené z jednej tabuľky faktov v zobrazení zdroja údajov, možno tiež považovať za skupinu mier. Môžu však existovať prípady, v ktorých bude niekoľko tabuliek faktov, od ktorých sa odvodzujú miery v kocke OLAP. Miery na rovnakej úrovni podrobností sú zjednotené v jednej skupine mier. Skupiny opatrení definujú, aké údaje sa načítajú do systému, ako sa načítajú údaje a ako sa údaje viažu na multidimenzionálnu kocku.

Každá skupina opatrení obsahuje aj zoznam oddielov, ktoré obsahujú skutočné údaje v samostatných neprekrývajúcich sa častiach. Skupiny mier obsahujú aj návrh agregácie, ktorý definuje predpokladané množiny údajov, ktoré sa počítajú pre každú skupinu mier s cieľom zlepšiť výkonnosť používateľských dotazov.

Opatrenia

Miery sú číselné hodnoty, ktoré chcú používatelia rozdeliť, nakrájať na kocky, agregovať a analyzovať, sú jedným zo základných dôvodov, prečo by ste chceli stavať kocky OLAP pomocou infraštruktúry dátových skladov. Pomocou SSAS môžete vytvoriť kocky OLAP, ktoré použijú obchodné pravidlá a výpočty na formátovanie a zobrazovanie mier v prispôsobiteľnom formáte. Veľkú časť vášho času na vývoj kocky OLAP strávite určovaním a definovaním toho, ktoré miery sa zobrazia a ako sa budú počítať.

Miery sú hodnoty, ktoré sa zvyčajne mapujú na číselné stĺpce v tabuľke faktov údajového skladu, ale dajú sa tiež vytvoriť na dimenzii a zdegenerovať atribúty dimenzie. Tieto opatrenia sú najdôležitejšími hodnotami kocky OLAP, ktoré sa analyzujú, a primárnym záujmom pre koncových používateľov, ktorí prehliadajú kocku OLAP. Príkladom opatrenia, ktoré existuje v dátovom sklade, je ActivityTotalTimeMeasure. ActivityTotalTimeMeasure je miera z ActivityStatusDurationFact, ktorá predstavuje čas, po ktorom je každá aktivita v určitom stave. Úroveň podrobností opatrenia sa skladá zo všetkých dimenzií, na ktoré sa odkazuje. Napríklad úroveň podrobností súboru ComputerHostsOperatingSystem skutočnosť súvisí s rozmermi počítača a operačného systému.

Agregačné funkcie sa počítajú na základe mierok, ktoré umožňujú ďalšiu analýzu údajov. Najbežnejšou agregačnou funkciou je Sum. Napríklad bežný dotaz na kocku OLAP sumarizuje celkový čas pre všetky činnosti, ktoré sú Prebieha. Medzi ďalšie bežné agregačné funkcie patrí Min, Max a Count.

Po spracovaní nespracovaných údajov v kocke OLAP môžu používatelia vykonávať zložitejšie výpočty a dotazy pomocou multidimenzionálnych výrazov (MDX) na definovanie vlastných výrazov mier alebo vypočítaných členov. MDX je priemyselný štandard pre dopytovanie a prístup k údajom, ktoré sú uložené v systémoch OLAP. SQL Server nebol navrhnutý na prácu s dátovým modelom, ktorý podporujú multidimenzionálne databázy.

Hĺbková analýza

Keď sa používateľ podrobne ponorí do údajov v kocke OLAP, analyzuje údaje na inej úrovni sumarizácie. Úroveň podrobností údajov sa mení s postupným rozbaľovaním používateľov, pričom sa údaje v hierarchii skúmajú na rôznych úrovniach. Keď sa používateľ podrobnejšie zorientuje, prechádza od súhrnných informácií k údajom s užším zameraním. Nasledujú príklady hĺbkovej analýzy:

  • Hĺbkovou analýzou údajov sa môžeme oboznámiť s demografickými informáciami o obyvateľoch Spojených štátov, potom štátu Washington, metropolitnej oblasti Seattle, mesta Redmond a nakoniec populácie Microsoft.
  • Postupným znižovaním údajov o predaji konzol Xbox One za kalendárny rok 2015, potom štvrtý štvrťrok, mesiac december, týždeň predvianočný a nakoniec štedrý večer.

Vyvŕtajte

Keď používatelia drill-through údaje, chcú vidieť všetky jednotlivé transakcie, ktoré prispeli k agregovaným údajom kocky OLAP. Inými slovami, používateľ môže pre danú hodnotu merania načítať údaje na najnižšej úrovni podrobností. Napríklad, keď vám budú poskytnuté údaje o predaji za konkrétny mesiac a kategóriu produktu, môžete tieto údaje podrobne preskúmať a zobraziť zoznam jednotlivých riadkov tabuľky, ktoré sú obsiahnuté v tejto bunke údajov.

Je bežné, že si navzájom zamieňame výrazy „prepracovať dole“ a „prepracovať“. Hlavný rozdiel medzi nimi spočíva v tom, že hĺbková analýza funguje na vopred určenej hierarchii údajov - napríklad USA, potom do Washingtonu a potom do Seattlu - v rámci kocky OLAP. Podrobná analýza vedie priamo k najnižšej úrovni podrobností údajov a načíta sadu riadkov zo zdroja údajov, ktoré boli agregované do jednej bunky.

Kľúčový ukazovateľ výkonnosti

Organizácie môžu používať kľúčové ukazovatele výkonu (KPI) na meranie stavu svojho podniku a výkonnosti meraním pokroku pri dosahovaní svojich cieľov. KPI sú obchodné metriky, ktoré možno definovať na sledovanie pokroku smerom k určitým vopred definovaným cieľom a zámerom. KPI má zvyčajne cieľovú hodnotu a skutočnú hodnotu, ktorá predstavuje kvantitatívny cieľ, ktorý je rozhodujúci pre úspech organizácie. KPI sa zvyčajne zobrazujú v skupinách na prehľade výkonových ukazovateľov, aby sa zobrazil celkový stav firmy v jednej rýchlej snímke.

Príkladom KPI je splnenie všetkých požiadaviek na zmeny do 48 hodín. KPI možno použiť na meranie percenta požiadaviek na zmenu, ktoré sú vyriešené v danom časovom rámci. Môžete vytvoriť dashboardy, ktoré vizuálne reprezentujú KPI. Možno budete napríklad chcieť definovať cieľovú hodnotu KPI pre dokončenie všetkých požiadaviek na zmeny do 48 hodín na 75 percent.

Priečky

Oddiel je dátová štruktúra, ktorá obsahuje niektoré alebo všetky údaje v skupine mier. Každá skupina opatrení je rozdelená na oddiely. Oddiel definuje podmnožinu údajov o faktoch, ktoré sa načítajú do skupiny mier. SSAS Standard Edition umožňuje iba jeden oddiel na skupinu mier, zatiaľ čo SSAS Enterprise Edition umožňuje, aby skupina mier obsahovala viac oddielov. Oddiely sú funkciou, ktorá je transparentná pre koncového používateľa, ale majú zásadný vplyv na výkon a škálovateľnosť kociek OLAP. Všetky oddiely pre skupinu mier existujú vždy v tej istej fyzickej databáze.

Oddiely umožňujú správcovi lepšie spravovať kocku OLAP a zlepšovať výkon kocky OLAP. Môžete napríklad odstrániť alebo opätovne spracovať údaje v jednom oddiele skupiny mier bez toho, aby to malo vplyv na zvyšok skupiny mier. Pri načítaní nových údajov do tabuľky faktov budú ovplyvnené iba oddiely, ktoré by mali obsahovať nové údaje.

Delenie na oddiely tiež zlepšuje spracovanie a výkon dotazov na kocky OLAP. SSAS môže spracovávať viac oddielov paralelne, čo vedie k oveľa efektívnejšiemu využívaniu zdrojov CPU a pamäte na serveri. Počas spustenia dotazu SSAS načíta, spracuje a agreguje údaje aj z viacerých oddielov. Naskenujú sa iba oddiely, ktoré obsahujú údaje, ktoré sú relevantné pre dotaz, čo znižuje celkové množstvo vstupu a výstupu.

Jedným príkladom stratégie rozdelenia je umiestnenie faktických údajov za každý mesiac do mesačného oddielu. Na konci každého mesiaca idú všetky nové údaje do nového oddielu, čo vedie k prirodzenému rozdeleniu údajov s neprekrývajúcimi sa hodnotami.

Agregácie

Agregácie v kocke OLAP sú predpokladané množiny údajov. Sú analogické s príkazom SQL SELECT s klauzulou GROUP BY. SSAS môže tieto agregácie použiť pri odpovedaní na dotazy na zníženie množstva potrebných výpočtov a rýchle vrátenie odpovedí používateľovi. Vstavané agregácie v kocke OLAP znižujú množstvo agregácie, ktoré musí server SSAS vykonať v čase dotazu. Vytváranie správnych agregácií môže drasticky zvýšiť výkon dotazov. Toto je často vyvíjajúci sa proces počas celej životnosti kocky OLAP, keď sa menia jej dotazy a využitie.

Spravidla sa vytvára základná sada agregácií, ktorá bude užitočná pre väčšinu otázok týkajúcich sa kocky OLAP. Agregácie sa vytvárajú pre každý oddiel kocky OLAP v rámci skupiny opatrení. Keď sa vytvorí agregácia, určité predpoklady dimenzií sa zahrnú do predpokladanej množiny údajov. Používatelia môžu pri prehľadávaní kocky OLAP rýchlo vyhľadávať údaje na základe týchto agregácií. Agregácie musia byť navrhnuté opatrne, pretože počet potenciálnych agregácií je taký veľký, že ich zostavenie by vyžadovalo neprimerané množstvo času a úložného priestoru.

Service Manager používa nasledujúce dve možnosti, keď vytvára a navrhuje agregácie v kockách OLAP portálu Service Manager:

Voľba Dosah zvýšenia výkonu definuje, aké percento agregácií sa vytvorí. Napríklad nastavenie tejto možnosti na predvolenú a odporúčanú hodnotu 30 percent znamená, že budú zostavené agregácie, ktoré poskytnú kocke OLAP odhadovaný nárast výkonu o 30 percent. To však neznamená, že sa vytvorí 30 percent možných agregácií.

Optimalizácia na základe použitia umožňuje systému SSAS zaznamenávať požiadavky na údaje, aby sa pri spustení dotazu tieto informácie vložili do procesu návrhu agregácie. SSAS potom skontroluje údaje a odporučí, ktoré agregácie by sa mali zostaviť, aby sa dosiahol najlepší odhadovaný nárast výkonu.


Ak chcete tento problém obísť, zabaľte svoj príkaz select do CTE a potom môžete zadať dopyt proti CTE a použiť výsledky funkcie s oknami v klauzule where.

Upozorňujeme, že tento filter je nadbytočný: ROW_NUMBER () začína od 1 a je vždy väčší ako 0.

Myslím, že chcete niečo také:

V reakcii na komentáre k odpovedi spoločnosti rexem, s ohľadom na to, či bude rýchlejší vložené zobrazenie alebo CTE, som prepracoval tieto dotazy tak, aby používali tabuľku, ktorú som mal ja a všetci k dispozícii: sys.objects.

Vyrobené plány dotazov boli úplne rovnaké. Očakával by som, že vo všetkých prípadoch by optimalizátor dotazov prišiel s rovnakým plánom, prinajmenšom v jednoduchom nahradení CTE inline zobrazením alebo naopak.

Samozrejme, vyskúšajte svoje vlastné dotazy na vašom vlastnom systéme, aby ste zistili, či existuje rozdiel.

Row_number () v klauzule where je tiež bežnou chybou v odpovediach uvedených na pretečení zásobníka. Logicky riadok_číslo () nie je k dispozícii, kým sa nespracuje klauzula select. Ľudia na to zabúdajú a keď odpovedajú bez vyskúšania odpovede, odpoveď je niekedy nesprávna. (Obvinenie, za ktoré som sa sám previnil.)


Pre tento kurz neexistujú žiadne konkrétne predpoklady, pre všetky kurzy v sérii Databázy sa však vyžaduje určité vzdelanie z informatiky.

Máte záujem o tento kurz pre svoju firmu alebo tím?

Precvičte svojich zamestnancov v témach, ktoré sú najžiadanejšie, s edX pre firmy.

O tomto kurze

O databázovej sérii kurzov

„Databázy“ boli jedným z troch úvodných rozsiahlych otvorených online kurzov Stanfordu na jeseň roku 2011. Od roku 2011 sa nepretržite ponúka na rôznych platformách v synchrónnych a potom v samostatných verziách. Materiál sa teraz ponúka ako sada. z piatich kurzov s vlastným tempom, ktoré je možné absolvovať rôznymi spôsobmi, ako sa dozvedieť o rôznych aspektoch databáz.

Relačné databázy a SQL je najpopulárnejším kurzom v sérii Databázy. Je vhodný pre študentov, ktorí sa snažia lepšie porozumieť relačným databázam a osvojiť si SQL, dlho akceptovaný štandardný dotazovací jazyk pre systémy relačných databáz. Ďalšie kurzy sa zameriavajú na pokročilé koncepcie v relačných databázach a SQL, formálne základy a metodiky návrhu databáz a semistruktúrované údaje.

Všetky kurzy sú založené na video prednáškach a ukážkach. Mnohé z nich zahŕňajú kvízy medzi segmentmi videa na kontrolu porozumenia, podrobné samostatné kvízy alebo rôzne automaticky kontrolované interaktívne cvičenia. Každý kurz obsahuje aj nemoderované diskusné fórum a odkazy na čítania a zdroje. Kurzy sú stručne popísané nižšie. Celkové učivo, ktoré učila profesorka Jennifer Widom, čerpá z populárneho Stanfordovho dlhoročného kurzu Databázy.

Prečo sa dozvedieť viac o databázach

Databázy sú neuveriteľne rozšírené - sú základom technológie používanej väčšinou ľudí každý deň, ak nie každú hodinu. Databázy sa nachádzajú za veľkým počtom webových stránok, ktoré sú rozhodujúcou súčasťou telekomunikačných systémov, bankových systémov, videohier a takmer všetkých softvérových systémov alebo elektronických zariadení, ktoré uchovávajú určité množstvo trvalých informácií. Okrem vytrvalosti poskytujú databázové systémy množstvo ďalších vlastností, vďaka ktorým sú mimoriadne užitočné a pohodlné: spoľahlivosť, efektívnosť, škálovateľnosť, riadenie súbežnosti, abstrakcie údajov a jazyky dotazov na vysokej úrovni. Databázy sú také všadeprítomné a dôležité, že absolventi informatiky často uvádzajú svoju databázovú triedu ako triedu, ktorá je pre nich najužitočnejšia v ich priemysle alebo postgraduálnej kariére.

Čo sa naučíte

Online ponuka Stanfordu v databázach je teraz k dispozícii ako sada piatich kurzov s vlastným tempom:

Databázy: relačné databázy a SQL

  • Úvod do relačného modelu a konceptov v relačných databázach a systémoch správy relačných databáz
  • Komplexné pokrytie SQL, dlho akceptovaného štandardného dotazovacieho jazyka pre systémy správy relačných databáz

Databázy: Pokročilé témy v SQL (požiadavka: Relačné databázy a SQL)


K údajom je možné pristupovať z indexu pomocou skenovania alebo vyhľadávania. Hľadanie je cielený výber riadkov z tabuľky na základe (zvyčajne) úzkeho filtra. Skenovanie je, keď sa prehľadá celý index, aby sa vrátili požadované údaje. Ak tabuľka obsahuje milión riadkov, potom bude pri vyhľadávaní potrebné prehľadať všetky milióny riadkov. Hľadanie tej istej tabuľky môže rýchlo prechádzať binárnym stromom indexu a vrátiť iba potrebné údaje bez toho, aby bolo potrebné prehliadnuť celú tabuľku.

Ak existuje oprávnená potreba vrátiť veľké množstvo údajov z tabuľky, potom môže byť správna operácia skenovania indexu. Ak sme potrebovali vrátiť 950 000 riadkov z tabuľky s miliónmi riadkov, potom má skenovanie indexu zmysel. Ak by sme potrebovali vrátiť iba 10 riadkov, potom by hľadanie bolo oveľa efektívnejšie.


Pozícia na mape

Pozícia na mape zmení stredový bod a úroveň zväčšenia viditeľnej mapy. Existujú dve možnosti, ako určiť túto pozíciu:

    Prispôsobiť údajom: Automaticky vycentruje a priblíži mapu tak, aby boli viditeľné všetky údajové body vášho dotazu.

Vlastné: Umožňuje vám manuálne nastaviť a Zemepisná šírka, Zemepisná dĺžkaa Úroveň zväčšenia (vyššie čísla vytvárajú bližšiu úroveň priblíženia):

Ak potiahnete a priblížite samotnú mapu, aby ste sa dostali k požadovanému zobrazeniu, tieto hodnoty sa automaticky vyplnia, keď sa rozhodnete Vlastné.

Nie je k dispozícii s typom grafu Automagic Heatmap


História SQL

Počiatky SQL siahajú viac ako pol storočia späť. V roku 1969 výskumník IBM Edgar F. Codd definoval model relačnej databázy, ktorý sa stal základom pre vývoj jazyka SQL. Tento model je založený na bežných informáciách (alebo „kľúčoch“), ktoré sú spojené s rôznymi údajmi. Používateľské meno môže byť napríklad spojené so skutočným menom a telefónnym číslom.

O niekoľko rokov neskôr začala spoločnosť IBM pracovať na novom jazyku pre systémy správy relačných databáz na základe Coddových zistení. Jazyk sa pôvodne volal SEQUEL alebo Structured English Query Language. Pod názvom System R prešiel projekt niekoľkými implementáciami a revíziami a názov jazyka sa niekoľkokrát zmenil, kým nakoniec pristál na serveri SQL.

Po začatí testovania v roku 1978 začala spoločnosť IBM vyvíjať komerčné produkty vrátane SQL / DS (1981) a DB2 (1983). Nasledovali ďalší predajcovia a ohlásili svoje vlastné komerčné ponuky založené na SQL. Medzi ne patrila spoločnosť Oracle, ktorá uviedla svoj prvý produkt v roku 1979, ako aj Sybase a Ingres. Zrkadlovka na čiernom pozadí


Metódy podporované priestorovými indexmi

Geometrické metódy podporované priestorovými indexmi

Priestorové indexy za určitých podmienok podporujú nasledujúce metódy geometrie orientované na množinu: STContains (), STDistance (), STEquals (), STIntersects (), STOverlaps (), STTouches () a STWithin (). Aby boli podporované priestorovým indexom, musia byť tieto metódy použité v klauzule WHERE alebo JOIN ON dotazu a musia sa vyskytovať v predikáte nasledujúcej všeobecnej formy:

Ak chcete vrátiť nenulový výsledok, geometria1 a geometria2 musí mať rovnaký identifikátor priestorového odkazu (SRID). V opačnom prípade metóda vráti hodnotu NULL.