Spreadsheet jako engine relačních databází. Jakub Daniel Matematicko-fyzikální Fakulta 2011
|
|
- Martin Štěpánek
- před 8 lety
- Počet zobrazení:
Transkript
1 Spreadsheet jako engine relačních databází Jakub Daniel Matematicko-fyzikální Fakulta 2011
2 Spreadsheet Jeden z nejčastěji používaných typů software Podobnost s relačními databázovými sytémy Udržuje a zpracovává data Data Formule Odlišnost od relačních databázových systémů Dostupný a méně zatížen potřebou rozsáhlejších znalostí uživatele Nižší výkonnost Patrnější omezení na velikost dat a relací zaznamenatelných a zpracovatelných systémem Odlišný způsob integrace s jiným software
3 Motivace Spreadsheet bývá součástí mnoha instalací desktopových operačních systémů Popř. není tolik nákladné si jej opatřit (stejně tak ale existují MySQL, PostreSQL a jiné) Jejich použití je koncovým uživatelům blízké, nebo alespoň není příliš komplikované Pro malé firmy a koncové uživatele není nízký výkon bolestný Menší objemy dat, na nichž rozdíl není patrný Overhead práce se samotným systémem je nižší, jelikož je uživateli ponecháno přívětivější rozhraní
4 Cíle Implementace běžné databázové funkcionality Selection, Projection, Semijoin, Join, Cartesian Product, Union, Difference, Grouping, Aggregation Využítí čisté spreadsheet funkcionality běžných implementací Nejen MS Excel ale i OpenOffice, LibreOffice, Gnumeric, Google docs Bez použití maker nebo scriptovacích jazyků, VB Porovnání efektivity na konkrétních příkladech V této prezentaci zmíním pouze samotný verdikt
5 Technické předpoklady Notace R1C1 nezávislost významu na samotném umístění formule R1C1, RmCn, R[i]Cn, RmC[j], R[i]C[j], RCn, RC[i], RmC, R[i]C Není-li u řádku resp. sloupce číslo uvedeno, jedná se o řádek resp. sloupec, v němž je umístěn výraz, jehož je odkaz součástí Hranaté závorky značí relativní adresování buňek (R[-1]C, buňka ve stejném sloupci o řádek výš) Požadované funkce IF(cond, true_br, false_br) MATCH(range, cell, 0) vrátí index v range prvního výskytu hodnoty v cell nebo error MATCH(range, cell, 1) na vzestupně setříděném range vrátí index nejvetší menší hodnoty než cell INDEX(range, cell) vrátí hodnotu z range na pozici dané cell SUMPRODUCT vrátí skalární součin Lze nahradit pomocí COUNTIFS, SUMIFS v novějších implementacích (Excel 2007+) Relace jsou definované na celých číslech Omezených implementací spreadsheet (maximální velikost) Reprezentovány v po sobě jdoucích sloupcích Řádky neobsahující prázdné pole ( ) odpovídají n-ticím, které patří do relace Řádky obsahující prázdné pole (ve sloupcích reprezentace relace) jsou celé prázdné
6 SUMPRODUCT
7 Architektura spreadsheet databáze Worksheet Oddělená matice, ve které lze uchovávat data i formule Lze mezi nimi vést reference, což umožňuje oddělovat data od formulí Každá tabulka / pohled odpovídá jednomu worksheet Prázdná tabulka odpovídá téměř prázdnému worksheetu Vyjímkou jsou formule zajišťující vlastnosti jako PRIMARY KEY, FOREIGN KEY Worksheety jsou součástí Workbooků, mezi nimiž v některých implementacích lze také vést odkazy Pro tuto problematiku poskytuje možnost optimalizace přepočítávání dat a izolace dat (robustnost proti poškození tabulek, s nimiž uživatel přímo nepracuje)
8 Implementace užitečných funkcí Error trapping Formule mohou být pro nějaký vstup nedefinované, v takovém případě selžou (pro nás není důležité rozlišovat důvody chyb) IF(ISERROR(F),, F) Libobolné selhání je ošetřeno dle potřeby (v tomto případě prázdný výsledek v daném poli) Standardizace Reprezentace relace je volná, resp. standardní, pokud uspořádání neprázdných řádků a řádků popisujících n-tice v relaci je libovolné, resp. prázdné řádky, následují až po řádcích n-tic v relaci Standardizace převádí volnou reprezentaci na standardní reprezentaci Ck << SUMPRODUCT((RxCj:RCj <> ) * 1) počet předcházejících standardních řádků Cl << MATCH(ROW() - x + 1; Ck; 0) najdi řádek, kterému předchází aktuální INDEX standardních řádků Cm << IF(ISERROR(RCl); ; INDEX(Cj, RCl)) nahraď chyby prázdnými řádky (chyby nastaly pouze na těch řádcích, jimž předcházelo málo standardních řádků, tj. prázdné řádky)
9 Implementace užitečných funkcí Třídění ROW()... současná pozice + SUMPRODUCT((RC1:RyC1 <= RC1) * 1) počet následujících menších - SUMPRODUCT((R1C1:RC1 >= RC1) * 1) počet předcházejících větších Mazání duplikátů SUMPRODUCT((RCj:RyCj = RCj) * (RCk:RyCk = RCk) * ) Počet následujicích duplikátů řádku IF(RCm = 1; RCn; ) Pokud je v aktuálním řádku 1, pošli na výstup, jinak vrať prázdný výsledek
10 Implementace základní funkcionality Selekce IF(P, RC[-počet_sloupců_relace], ) P je predikát na sloupcích relace (používající AND, OR, NOT) Projekce Pouze vynechá kopírovaní sloupců (pokud není projekce přímo výstupem, pak není třeba dělat nic, pouze se v dalších výpočtech sloupce ignorují) Union RaCb << COUNT(Rx 1 Cj:Ry 1 :Cj) ulož počet řádků jedné relace IF(ROW() <= RaCb; RCj; INDEX(Rx 2 Ck:Ry 2 Ck;ROW() - RaCb)); Difference SUMPRODUCT((Rx 2 Cj 2 :Ry 2 Ci 2 =RCi 1 )*(Rx 2 Cj 2 :Ry 2 Cj 2 =RCj 1 )...) počet shodných řádků druhé relace s řádky první relace IF(RCk = 0; RCi 1 ; ) vybere buňku řádku první relace, pokud nebyl v druhé relaci
11 Implementace agregačních funkcí SUM SUMPRODUCT((RxCj:RyCj=RCj) * * Ck) Odstranění duplikátů COUNT AVG MAX MIN Speciální případ SUM (přes sloupec jedniček) SUMPRODUCT((RxCj:RyCj=RCj) * ) Odstranění duplikátů SUM / COUNT Sestupné setřídění podle agregovaného sloupce Odstranění duplikátů přes zbylé sloupce Ponechá první výskyt Maximální hodnota ve zbylém řádku pro danou hodnotu Opačné hodnoty
12 Implementace základní funkcionality Kartézský součin Nejprve relace standardizujeme R1Cs << COUNT(RxCi:RyCi) počet řádků jedné relace R2Cs << COUNT(RuCj:RvCj) počet řádků druhé relace IF(ROW() <= R1Cs * R2Cs; INDEX(RxCi:RyCi; INT((ROW() - 1)/R2Cs) + 1); ) Vytvoří R2Cs kopií sloupce Ci (nejprve R2Cs kopií první hodnoty, pak další...) IF(ROW() <= R1Cs * R2Cs; INDEX(RuCj:RvCj; MOD(ROW() - 1; R2Cs) + 1); ) Vytvoří R1Cs kopií sloupce Cj SEMIJOIN IF(ISERROR(MATCH(RCj 1 ;RxCj 2 :RyCj 2 ;0); ; RCj 1 ) zahodí řádky R 1, které nejdou spojit s řádky R 2 IF(RCk = ; ; RCj 2 ) pokud šel řádek na výstup, doplní ho zbýlými hodnotami v ostatních nespojujících sloupcích
13
14
15
16
17
18
19
20 Poznámka k příkladu Současné implementace spreadsheetů umožňují v notaci uvést Ci, čímž se uživatel odkazuje na celý sloupec. Tato funkcionalita neexistovala v dřívějších verzích nejpoužívanějších implementací. Pro tento příklad by to znamenalo značné zjednodušení a zobecnění zápisů R3C[-1]:R19C[-1] na C[-1]
21 Implementace pokročilé funkcionality JOIN Ačkoli je JOIN možné implementovat pomocí kartézského součinu a selekce, uvádí autor článku efektivnější implementaci Předpokládá setříděné tabulky (třídící algoritmus již máme) FOREIGN KEY JOIN (Many-to-one) lze implementovat snadno, spojovací sloupec je klíčovým atributem, hodnoty v něm nejsou duplikovány C1:C2 JOIN C3:C4 ON C1 = C3 (C3 PRIMARY KEY) C5:C6 << IF(RC1 = ; ; RC[-4]) kopíruje C1, C2 C7:C8 << IF(RC1 = ; ; INDEX(C[-3]; MATCH(RC1; C3; 0)) vyhledá odpovídající C3, C4 Many-to-many JOIN Formulí popisujících toto spojení je již více než by na slidu bylo přehledné, proto snad postačí uvést ideu Pro tabulku R1 vytvoříme tabulku (INDEX), kde budou hodnoty RC1, první výskyt RC1 v C1, počet výskytů RC1 v C1. To samé pro druhou tabulku R2 Provedeme I1 SEMIJOIN I2 a I2 SEMIJOIN I1, čímž vyloučíme řádky, které se nespojí Nakonec spočteme Kartézský součin na jednotlivých blocích
22 User-Friendliness Uvedené konverze nejsou příliš přehledné a proto autor článku navrhuje vytvoření webové aplikace, která by převedla SQL zápis na ekvivalentní spreadsheet implementaci
23 Odlišnosti od RDBMS V implementacích spreadsheet aplikací chybí analogie NULL V úvodních příkladech článku se vůbec hodnoty NULL neuvažují Aby byly příklady operací srozumitelné a nezanášely se dalšími IF Avšak principiálně je lze zavést (jako specialní string hodnota), což není BÚNO Transakce Nejsou potřeba, jelikož nedochází k paralelnímu přístupu Commit manuální vyhodnocení po konzistentní změně Rollback načtení z disku
24 Emulace funkcionality SQL 92 DDL (Data Definition Language) Oddělené vstupní a datové tabulky (filtrování vstupu Integritní omezení) TYPE, LEN umožňují částečnou typovou kontrolu dat. Problematické jsou a NULL DATE je řešeno formátováním, jinak je to jen číslo UNIQUE / PRIMARY KEY odpovída odstraňení duplikátů FOREIGN KEY je ověřeno přes SEMIJOIN ON DELETE CASCADE je automatický, jiná opatření ON DELETE nejsou možná Smazání klíče invaliduje záznam a ten tak neprojde filtrem a není zobrazen v datové tabulce Ve vstupní tabulce však vše zůstává (u těchto záznamů je možné zobrazovat varování, pokud se nepovedlo řádek vložit) DML (Data Manipulation Language) Vnější interface je manuální DCL (Data Control Language) Irelevantní, jelikož spreadsheet nerozlišuje uživatele a neřeší paralelní zpracování
25 Příklad integritních omezení Uvažme následující schéma Models(ModelID, ) Ord(Id, ModelID, Version, Descr), ModelID odkazuje na Models.ModelID V spreadsheet implementaci zavedeme následující worksheety OrdInput n-tice zadané uživatelem OrdData n-tice odpovídající integritním omezením IF(OrdInput!RC5= Invalid Data ; ; OrdInput!RC) pokud na vstupních datech nedošlo k chybě, překopíruje do tabulky Ord ModelsData Data odkazované tabulky Pro názornost jsou na následujícím obrázku všechny tabulky v jednom worksheetu Omezení INT, resp. SMALLINT, pro účely ukázky jsou 1024, 512 Opět lze v novějších implementacích nahradit RxCj:RyCj výrazem Cj
26
27 Testy Excel 2010 Beta, Intel(R) Core(TM)2 Duo CPU 2.40GHz 2GB RAM Deseti tisíce řádků Využití obou jader Operace Standardizace, Třídění, Odstraňování duplikátů, JOINy Při použití SUMIFS místo SUMPRODUCT se některé operace zrychlily z jednotek minut na jednotky sekundy Insert Pokud se přidává na konec tabulky, vyvolá přepočet jedné formule a podle měření zabere milisekund Delete, Update Je potřeba přepočítat lineárně mnoho řádků s pozicí mazaného, změněného řádku
28 Závěr Výkonnost Rozsahy (RiCj:RmCn) jsou většinou ve formulých procházeny sekvenčně Formule jsou často v lineárním počtu polí k velikosti vstupní tabulky Výsledné přepočítání pak zabere nejméně kvadratický čas Existuje prostor pro zlepšení, doposud tato oblast nebyla příliš prozkoumána Lze odkazovat i na odlišné workbooky, v nichž se nepřepočítávají formule Lze vypnout automatické vyhodnocování a lze si jej vyžádat explicitně Funkcionalita Z povahy spreadsheet aplikací a z jejich původního účelu plynou jistá omezení (nevykonávají se dotazy, ale vytváří se de facto pohledy) Spolu s překladačem SQL do spreadsheet by bylo využití velmi pohodlné a tím přístupné vetší škále uživatelů Je otázkou, zda lze pomocí spreadsheetů vyjádřit dotazy v SQL99, Datalogu WITH SELECT
29 Zdroje Jerzy Tyszkiewicz: Spreadsheet As a Relational Database Engine. Institute of Informatics, University of Warsaw, 2010
30 Otázky?
Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza
Databáze SQL SELECT David Hoksza http://siret.cz/hoksza Osnova Úvod do SQL Základní dotazování v SQL Cvičení základní dotazování v SQL Structured Query Language (SQL) SQL napodobuje jednoduché anglické
VíceKurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.
1 Kurz Databáze Zpracování dat Doc. Ing. Radim Farana, CSc. Obsah Druhy dotazů, tvorba dotazu, prostředí QBE (Query by Example). Realizace základních relačních operací selekce, projekce a spojení. Agregace
VíceDatabáze I. 5. přednáška. Helena Palovská
Databáze I 5. přednáška Helena Palovská palovska@vse.cz SQL jazyk definice dat - - DDL (data definition language) Základní databáze, schemata, tabulky, indexy, constraints, views DATA Databáze/schéma
VíceÚvod do databází. Modelování v řízení. Ing. Petr Kalčev
Úvod do databází Modelování v řízení Ing. Petr Kalčev Co je databáze? Množina záznamů a souborů, které jsou organizovány za určitým účelem. Jaké má mít přínosy? Rychlost Spolehlivost Přesnost Bezpečnost
VíceDatabázové systémy Cvičení 5.2
Databázové systémy Cvičení 5.2 SQL jako jazyk pro definici dat Detaily zápisu integritních omezení tabulek Integritní omezení tabulek kromě integritních omezení sloupců lze zadat integritní omezení jako
Více2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE
2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE Studijní cíl Tento blok je věnován základní syntaxi příkazu SELECT, pojmům projekce a restrikce. Stručně zde budou představeny příkazy
VíceB0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux
B0M33BDT Technologie pro velká data Supercvičení SQL, Python, Linux Sergej Stamenov, Jan Hučín 18. 10. 2017 Osnova cvičení Linux SQL Python 2 SQL pro uživatele aneb co potřebuje znát a umět bigdatový uživatel:
VíceDatabázové systémy Cvičení 5.3
Databázové systémy Cvičení 5.3 SQL jako jazyk pro manipulaci s daty SQL jako jazyk pro manipulaci s daty Aktualizace dat v SQL úprava záznamů v relacích (tabulkách) vložení záznamu INSERT INTO oprava záznamu
VíceOperátory ROLLUP a CUBE
Operátory ROLLUP a CUBE Dotazovací jazyky, 2009 Marek Polák Martin Chytil Osnova přednášky o Analýza dat o Agregační funkce o GROUP BY a jeho problémy o Speciální hodnotový typ ALL o Operátor CUBE o Operátor
VíceDatabázové systémy úvod
Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze c Michal Valenta, 2016 BI-DBS, LS 2015/16 https://edux.fit.cvut.cz/courses/bi-dbs/
VíceJazyk SQL databáze SQLite. připravil ing. petr polách
Jazyk SQL databáze SQLite připravil ing. petr polách SQL - úvod Structured Query Language (strukturovaný dotazovací jazyk 70. léta min. století) Standardizovaný dotazovací jazyk používaný pro práci s daty
VíceDatabázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz
Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty
VíceDatabáze I. Přednáška 4
Databáze I Přednáška 4 Definice dat v SQL Definice tabulek CREATE TABLE jméno_tab (jm_atributu typ [integr. omez.], jm_atributu typ [integr. omez.], ); integritní omezení lze dodefinovat později Definice
VíceDatabáze I. 1. přednáška. Helena Palovská
Databáze I 1. přednáška Helena Palovská palovska@vse.cz Co je databáze Mnoho dat Organizovaných používá se model uspořádání Řízený přístup k datům přijímá požadavky v jazyce modelu umožňuje sdílení dat
VíceObsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23
Stručný obsah 1. Stručný úvod do relačních databází 13 2. Platforma 10g 23 3. Instalace, první přihlášení, start a zastavení databázového serveru 33 4. Nástroje pro administraci a práci s daty 69 5. Úvod
VíceÚvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování 4 fáze vytváření
VíceÚvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 8 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Entita Entitní typ
VíceInnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou
MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství
VíceFakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná
ZKOUŠKOVÉ TESTY Leden 2010 souhrn Červené dobře (nejspíš), modré možná Pomocí kterého databázového objektu je implementován ATRIBUT z konceptuálního modelu? sloupec referenční omezení index tabulka Omezení
VíceDatabázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal
Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE
VíceDatabáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata
Databáze Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu Bedřich Košata K čemu jsou databáze Ukládání dat ve strukturované podobě Možnost ukládat velké množství dat
VíceDatabázové systémy trocha teorie
Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů
VíceDatabázové systémy. Cvičení 6: SQL
Databázové systémy Cvičení 6: SQL Co je SQL? SQL = Structured Query Language SQL je standardním (ANSI, ISO) textovým počítačovým jazykem SQL umožňuje jednoduchým způsobem přistupovat k datům v databázi
VíceRelační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky
Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci
VíceInformační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek
5 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, Spojení tabulek, agregační dotazy, jednoduché a složené
VíceDATA CUBE. Mgr. Jiří Helmich
DATA CUBE Mgr. Jiří Helmich Analytické kroky formulace dotazu analýza extrakce dat vizualizace Motivace n-sloupcová tabulka v Excelu vs. sloupcový graf Dimensionality reduction n dimenzí data obecně uspořádána
VíceKapitola 6: Omezení integrity. Omezení domény
- 6.1 - Omezení domény Referenční integrita Aserce Spouštěče (Triggers) Funkční závislosti Kapitola 6: Omezení integrity Omezení domény Omezení integrity zabraňují poškození databáze; zajišťují, že autorizované
VíceKapitola 4: SQL. Základní struktura
- 4.1 - Kapitola 4: SQL Základní struktura Množinové operace Souhrnné funkce Nulové hodnoty Vnořené poddotazy (Nested sub-queries) Odvozené relace Pohledy Modifikace databáze Spojené relace Jazyk definice
VíceKapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů
- 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa
VíceJ. Zendulka: Databázové systémy 4 Relační model dat 1
4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...
VíceEfektivní práce s Excelem (středně pokročilí uživatelé)
2015 Efektivní práce s Excelem (středně pokročilí uživatelé) rozsah: 2 dny (10 hodin) Mgr. Jiří Číhař www.dataspectrum.cz Efektivní práce s Excelem pro středně pokročilé uživatele Práce s rozsáhlými tabulkami
VíceObchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava
Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_038.ICT.34 Tvorba webových stránek SQL stručné minimum OA a JŠ Jihlava, VY_32_INOVACE_038.ICT.34 Číslo
VíceInformační systémy ve zdravotnictví. 6. cvičení
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 6. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování Relace
VíceMicrosoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky
Úterý 26. února Microsoft Access Databáze je seskupení většího množství údajů, které mají určitou logiku a lze je určitým způsobem vyhodnocovat, zpracovávat a analyzovat Access je jedním z programů určených
VíceSQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL)
SQL strukturovaný dotazovací jazyk Structured Query Language (SQL) SQL - historie 1974-75 - IBM - 1.prototyp - SEQUEL od 1979 - do praxe - ORACLE (1979) IBM - SQL/DS (1981), DB/2 (1983) postupně přijímán
VíceMaturitní otázky z předmětu PROGRAMOVÁNÍ
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti
VíceDatabázové systémy. Datová integrita + základy relační algebry. 4.přednáška
Databázové systémy Datová integrita + základy relační algebry 4.přednáška Datová integrita Datová integrita = popisuje pravidla, pomocí nichž hotový db. systém zajistí, že skutečná fyzická data v něm uložená
VíceRELAČNÍ DATABÁZE ACCESS
RELAČNÍ DATABÁZE ACCESS 1. Úvod... 2 2. Základní pojmy... 3 3. Vytvoření databáze... 5 4. Základní objekty databáze... 6 5. Návrhové zobrazení tabulky... 7 6. Vytváření tabulek... 7 6.1. Vytvoření tabulky
VíceDUM 12 téma: Příkazy pro tvorbu databáze
DUM 12 téma: Příkazy pro tvorbu databáze ze sady: 3 tematický okruh sady: III. Databáze ze šablony: 7 Kancelářský software určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie vzdělávací
Více04 - Databázové systémy
04 - Databázové systémy Základní pojmy, principy, architektury Databáze (DB) je uspořádaná množina dat, se kterými můžeme dále pracovat. Správa databáze je realizována prostřednictvím Systému pro správu
VíceDATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat)
DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat) DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 62 Databáze a systémy pro uchování
VícePrimární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.
Primární a cizí klíč Kandidát primárního klíče (KPK) Je taková množina atributů, která splňuje podmínky: Unikátnosti Minimálnosti (neredukovatelnosti) Primární klíč (Primary Key - PK) Je právě jedna množina
VíceDatabázové systémy. * relační kalkuly. Tomáš Skopal. - relační model
Databázové systémy Tomáš Skopal - relační model * relační kalkuly Osnova přednášky relační kalkuly doménový n-ticový Relační kalkuly využití aparátu predikátové logiky 1. řádu pro dotazování rozšíření
VíceTechnické informace. PA152,Implementace databázových systémů 4 / 25. Projekty. pary/pa152/ Pavel Rychlý
Technické informace PA152 Implementace databázových systémů Pavel Rychlý pary@fi.muni.cz Laboratoř zpracování přirozeného jazyka http://www.fi.muni.cz/nlp/ http://www.fi.muni.cz/ pary/pa152/ přednáška
VíceVytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica
Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová 5. Statistica StatSoft, Inc., http://www.statsoft.com, http://www.statsoft.cz. Verze pro Mac i PC, dostupná
VíceNávrh a tvorba WWW stránek 1/14. PHP a databáze
Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované
VíceRELAČNÍ DATABÁZOVÉ SYSTÉMY
RELAČNÍ DATABÁZOVÉ SYSTÉMY VÝPIS KONTROLNÍCH OTÁZEK S ODPOVĚDMI: Základní pojmy databázové technologie: 1. Uveďte základní aspekty pro vymezení jednotlivých přístupů ke zpracování hromadných dat: Pro vymezení
Více8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
VíceJ. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
VíceObsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel
Obsah přednášky Databázové systémy Konceptuální model databáze Codd a návrh relační databáze fáze návrhu pojem konceptuální model základní pojmy entity, relace, atributy, IO kardinalita, 2 historie: RDBMS
VíceInformační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL
4 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, datové typy, klauzule SELECT, WHERE, a ORDER BY. Doporučená
VíceDATABÁZE A INFORMAČNÍ SYSTÉMY
DATABÁZE A INFORMAČNÍ SYSTÉMY Každý informační systém pracuje s informacemi (a tedy s daty). Data musí být někde uložena -> databáze. Informační systém tedy nějakým způsobem používá databázi (forma může
VíceDatabáze II. 1. přednáška. Helena Palovská palovska@vse.cz
Databáze II 1. přednáška Helena Palovská palovska@vse.cz Program přednášky Úvod Třívrstvá architektura a O-R mapování Zabezpečení dat Role a přístupová práva Úvod Co je databáze Mnoho dat Organizovaných
VíceVyužití tabulkového procesoru MS Excel
Semestrální práce Licenční studium Galileo srpen, 2015 Využití tabulkového procesoru MS Excel Ing Marek Bilko Třinecké železárny, a.s. Stránka 1 z 10 OBSAH 1. ÚVOD... 2 2. DATOVÝ SOUBOR... 2 3. APLIKACE...
Více2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.
2 přednáška 2 října 2012 10:32 Souborově orientované uchování dat Slabý HW Není možné uchovávat "velká data" - maximálně řádově jednotky MB Na každou úlohu samostatná aplikace, která má samostatná data
VíceO Apache Derby detailněji. Hynek Mlnařík
O Apache Derby detailněji Hynek Mlnařík Agenda Historie Vlastnosti Architektura Budoucnost Historie 1997 Cloudscape Inc. - JBMS 1999 Informix Software, Inc. odkoupila Cloudscape, Inc. 2001 IBM odkoupila
Více7. Integrita a bezpečnost dat v DBS
7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13
Více7. Integrita a bezpečnost dat v DBS
7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13
VíceInformační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází
1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,
VíceDatabáze I. Přednáška 6
Databáze I Přednáška 6 SQL aritmetika v dotazech SQL lze přímo uvádět aritmetické výrazy násobení, dělení, sčítání, odčítání příklad z minulé přednášky: zdvojnásobení platu všem zaměstnancům UPDATE ZAMESTNANEC
Více8.2 Používání a tvorba databází
8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam
VíceKIV/ZIS cvičení 5. Tomáš Potužák
KIV/ZIS cvičení 5 Tomáš Potužák Úvod do SQL (1) SQL (Structured Query Language) je standardizovaný strukturovaný dotazovací jazyk pro práci s databází Veškeré operace v databázi se dají provádět pomocí
Více- sloupcové integritní omezení
CREATE TABLE - CREATE TABLE = definice tabulek a jejich IO - ALTER TABLE = změna definice schématu - aktualizace - INSERT INTO = vkládání - UPDATE = modifikace - DELETE = mazání CREATE TABLE Základní konstrukce
VíceAnalýza a prezentace dat
2015 Analýza a prezentace dat rozsah: 2 dny (10 hodin) Mgr. Jiří Číhař www.dataspectrum.cz Analýza a prezentace dat Formátování buněk Nastavení vhodného formátu čísla Vytváření vlastních formátovacích
VíceOracle XML DB. Tomáš Nykodým
Oracle XML DB Tomáš Nykodým xnykodym@fi.muni.cz Osnova Oracle XML DB Architektura Oracle XML DB Hlavní rysy Oracle XML DB Hlavní rysy Oracle XML DB - pokračování XMLType XML Repository Využívání databázových
VíceDatabázové systémy a SQL
Databázové systémy a SQL Daniel Klimeš Autor, Název akce 1 About me Daniel Klimeš Vzdělání: Obecná biologie PGS: onkologie Specializace: klinické databáze Databáze ORACLE klimes@iba.muni.cz Kotlářská 2,
VíceInovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav
Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databáze Základní seznámení s MySQL
VíceDatabázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.
Databáze Základní pojmy Pojem databáze označuje obecně souhrn informací, údajů, dat o nějakých objektech. Úkolem databáze je hlídat dodržení všech omezení a dále poskytovat data při operacích. Objekty
Více1. Relační databázový model
1. Relační databázový model Poprvé představen 1969 (Dr. Edgar F. Codd) IBM Založeno na Teorii množin Predikátové logice prvního řádu Umožňuje vysoký stupeň nezávislosti dat základ pro zvládnutí sémantiky
VíceDatabáze I. Přednáška 2
Databáze I Přednáška 2 Transformace E-R modelu do relačního modelu (speciality) zaměříme se na dva případy z předmětu Analýza a modelování dat reprezentace entitního podtypu hierarchie ISA reprezentace
VíceMichal Krátký, Miroslav Beneš
Databázové a informační systémy Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava 5.12.2005 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 1/24 Obsah
VíceDatabázové a informační systémy
Databázové a informační systémy 1. Teorie normálních forem Pojem normálních forem se používá ve spojitosti s dobře navrženými tabulkami. Správně vytvořené tabulky splňují 4 základní normální formy, které
VíceStručný obsah. K2118.indd 3 19.6.2013 9:15:27
Stručný obsah 1. Stručný obsah 3 2. Úvod 11 3. Seznamy a databáze v Excelu 13 4. Excel a externí data 45 5. Vytvoření kontingenční tabulky 65 6. Využití kontingenčních tabulek 81 7. Kontingenční grafy
VíceDatabázové systémy Tomáš Skopal
Databázové systémy Tomáš Skopal - SQL * úvod * dotazování SELECT Osnova přednášky úvod do SQL dotazování v SQL příkaz SELECT třídění množinové operace 2 SQL 3 structured query language standardní jazyk
Více1.13 ACCESS popis programu
Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Střední průmyslová škola strojnická Vsetín CZ.1.07/1.5.00/34.0483 Ing.
VíceAlgoritmizace a programování
Algoritmizace a programování Vyhledávání, vkládání, odstraňování Vyhledání hodnoty v nesetříděném poli Vyhledání hodnoty v setříděném poli Odstranění hodnoty z pole Vkládání hodnoty do pole Verze pro akademický
VíceI. Příprava dat Klíčový význam korektního uložení získaných dat Pravidla pro ukládání dat Čištění dat před analýzou
I. Příprava dat Klíčový význam korektního uložení získaných dat Pravidla pro ukládání dat Čištění dat před analýzou Anotace Současná statistická analýza se neobejde bez zpracování dat pomocí statistických
VíceDatabázové systémy Cvičení 5
Databázové systémy Cvičení 5 Dotazy v jazyce SQL SQL jako jazyk pro manipulaci s daty Aktualizace dat v SQL úprava záznamů v relacích (tabulkách) vložení záznamu INSERT INTO oprava záznamu UPDATE vymazání
VíceRelační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS
Relační databázový model Databázové (datové) modely základní dělení klasické databázové modely relační databázový model relační databázový model Základní konstrukt - relace relace, schéma relace atribut,
VíceNáhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:
1 z 6 14.11.2017 0:03 Přijímací zkouška magisterského studia Moodle Test MSP Testy VzorTest-2 Pokus 1 Jste přihlášeni jako Josef Kolář (Odhlásit se) Náhled testu 1 Je dán regulární výraz. Minimální deterministický
VíceDatabáze v MS ACCESS
1 z 14 19.1.2014 18:43 Databáze v MS ACCESS Úvod do databází, návrh databáze, formuláře, dotazy, relace 1. Pojem databáze Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele,
VíceMarketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)
Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3aph) 2. a 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Co nás čeká: 2. soustředění 16.1.2009
VíceObsah. Několik slov o Excelu 2007 a 2010 9. Operace při otvírání a ukládání sešitu 15. Operace s okny 27. Kapitola 1
Obsah Kapitola 1 Několik slov o Excelu 2007 a 2010 9 Nové uživatelské rozhraní 9 Pás karet 10 Panel nástrojů Rychlý přístup 11 Tlačítko Office 11 Pracovní plocha 12 Nápověda 13 Kapitola 2 Operace při otvírání
VícePráce s programem IIS Ekonom
Práce s programem IIS Ekonom Obsah 1 Ovládání programu IIS Ekonom... 2 1.1 Ovládání přes hlavní nabídku... 2 1.2 Panel nástrojů a funkční klávesy... 2 2 Přihlašovací dialog... 4 3 Úvodní obrazovka... 4
VíceNáhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:
Přijímací zkouška magisterského studia Moodle Test MSP Testy VzorTest-2 Pokus 1 Jste přihlášeni jako Josef Kolář (Odhlásit se) Info Výsledky Náhled Upravit Náhled testu 1 Je dán regulární výraz. Minimální
VíceKapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace
- 3.1 - Struktura relačních databází Relační algebra n-ticový relační kalkul Doménový relační kalkul Rozšířené operace relační algebry Modifikace databáze Pohledy Kapitola 3: Relační model Základní struktura
VíceAccess. Tabulky. Vytvoření tabulky
Access správa databáze (tabulky, relace, omezující podmínky, data...) uživatelské prostředí pro práci s databází (formuláře, sestavy, datové stránky, makra...) ukázková aplikace Northwind hlavní okno databáze
VíceModely vyhledávání informací 4 podle technologie. 1) Booleovský model. George Boole 1815 1864. Aplikace booleovské logiky
Modely vyhledávání informací 4 podle technologie 1) Booleovský model 1) booleovský 2) vektorový 3) strukturní 4) pravděpodobnostní a další 1 dokumenty a dotazy jsou reprezentovány množinou indexových termů
VíceDotazovací jazyky I. Datová krychle. Soběslav Benda
Dotazovací jazyky I Datová krychle Soběslav Benda Obsah Úvod do problematiky Varianty přístupu uživatelů ke zdrojům dat OLTP vs. OLAP Datová analýza Motivace Vytvoření křížové tabulky Datová krychle Teorie
VíceInstalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.
Instalace Produkt se neinstaluje. Stačí soubor uložit na libovolné místo na Vašem počítací (klikněte pravým tlačítkem a dejte 'uložit cíl jako ), pak jen spustit. Požadavky na software Produkt je odzkoušen
VíceDotazování v relačním modelu a SQL
Databázové systémy Dotazování v relačním modelu a SQL Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YDATA: Přednáška II. 14. říjen, 2016 1 / 35 Opakování Relační
Více4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1
4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...
VíceUkázka knihy z internetového knihkupectví www.kosmas.cz
Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 1 1 4 5 Oracle průvodce správou,
VíceDatabázové systémy úvod
Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2011 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal
VíceVÝPOČETNÍ TECHNIKA OBOR: EKONOMIKA A PODNIKÁNÍ ZAMĚŘENÍ: PODNIKÁNÍ FORMA: DENNÍ STUDIUM
VÝPOČETNÍ TECHNIKA OBOR: EKONOMIKA A PODNIKÁNÍ ZAMĚŘENÍ: PODNIKÁNÍ FORMA: DENNÍ STUDIUM 1. Historie a vývoj VT. Dnešní parametry PC. Von Neumannovo schéma. a. historie a vznik počítačů b. využití počítačů
Více6. SQL složitější dotazy, QBE
6. SQL složitější dotazy, QBE Příklady : Veškeré příklady budou dotazy nad databází KONTAKTY nebo KNIHOVNA nebo FIRMA Databáze KONTAKTY OSOBA (Id_osoba, Příjmení, Jméno, Narození, Město, Ulice, PSČ) EMAIL
VíceArchitektury databázových
Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce na Architektury databázových systémů Matěj Trakal Poslední úprava: 8. listopadu 2010 INADS 2010 (Žák) OBSAH Obsah 1 Zadání 2
VíceTabulkový procesor. Základní rysy
Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních
VíceJazyk SQL 3 - DML, DDL, TCL, DCL
Jazyk SQL 3 - DML, DDL, TCL, DCL Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/
VíceŘazení řádků ve vzestupném pořadí (A až Z nebo 0 až 9) nebo sestupném pořadí (Z až A nebo 9 až 0)
Řazení oblasti Řazení řádků ve vzestupném pořadí (A až Z nebo 0 až 9) nebo sestupném pořadí (Z až A nebo 9 až 0) 1. Klepněte na buňku ve sloupci, podle kterého chcete řádek seřadit. 2. Klepněte na tlačítko
Více