SQL Structured Query Language
|
|
- Vojtěch Bařtipán
- před 8 lety
- Počet zobrazení:
Transkript
1 SQL Structured Query Language Referenční příručka Zdeněk Šerý
2 OBSAH 1. Základní informace SQL Proč používat SQL Relační operátory Rekurze Propojení (relace) Prvky SQL Definice dat ALTER TABLE CREATE INDEX CREATE TABLE CREATE VIEW DROP Editace dat DELETE INSERT UPDATE Dotazování dat SELECT Řízení transakcí COMMIT ROLLBACK SAVEPOINT Administrace dat ALTER PASSWORD GRANT REVOKE
3 1. Základní informace Úvodem bych rád poznamenal, že tato kniha není určena pro specifický okruh lidí jako jsou pokročilí programátoři. Jejím úkolem je být pomocníkem každému, kdo používá nebo teprve chce používat SQL na LAN, WAN, internetu či intranetu. V rukou máte vynikajícího rádce pro přechod z databází Foxpro, Dbase, Microsoft Access a jim podobných na databázové servery. Zkušení programátoři a databázový nadšenci, kterým tato příručka nebude stačiti mohou detailní nebo specifické informace získat z materiálů dodaných k databázovému serveru. Při psaní této knihy jsem se snažil sladit obsah předkládané problematiky se stávajícím standardem SQL a SQL Anywhere professional. Pro většinu srovnávacích příkladů jsem použil databázi Foxpro 2.5, jelikož je tato databáze jednoznačně nejrozšířenější. Syntaktický diagram bude v grafické podobě ukazovat definici vysvětlovaného výrazu : 2. SQL SQL (Structured Query Language strukturovaný dotazovací jazyk) je používán na řízení relačních databází. Jeho počátek bychom nalezli v roce 1970 v kalifornii v IBM Research Laboratory v San Jose. SQL je určen pro programovací jazyk neboť neobsahuje formátovací příkazy pro reporty ani pro výstup na interaktivní konzoli. SQL je neprocedurální což znamená, že váš požadavek určuje co chcete dostat zpět za data, ale ne jak je získat. Řada z vás se jistě podiví proč používat databázový server, když stávající databáze Foxpro nebo obdobná jiná je zcela vyhovující. Použiji celkem vyhovující analogii s používáním automobilu. Pokud jste dosud neseděli v jaguáru tak nevíte jaká vlastně může jízda být a nešvary z provozu stávajícího trabanta považujete za běžné. Jako každá analogie i tato trochu pokulhává za skutečností v tom, že nepostihuje výhodu chráněného současného víceuživatelského přístupu. Databáze Foxpro vlastně není databází, ale pouze databázovou tabulkou. 2
4 Databáze je soubor dat spravovaný databázovým serverem. Je realizován jako jeden, dva, vyjímečně několik málo souborů což je odvislé od verze a druhu databázového serveru. Obr. 3.I. Kategorie SQL příkazů SQL obsahuje řadu příkazů pro operace seskupené do těchto kategorií : a) Definice dat vytváření databázových objektů jako jsou databáze, tabulky, indexy nebo pohledy Databáze obsahuje jednu nebo více tabulek, a ty obsahují sloupce a řádky : 3
5 ALTER TABLE CREATE INDEX CREATE TABLE CREATE VIEW DROP b) Editace dat aktualizace, přidávání mazání dat v databázi DELETE INSERT UPDATE c) Dotazování dat dotazy na data v databázi SELECT d) Řízení transakcí zajišťování integrity, když jsou prováděny změny dat v databázi COMMIT ROLLBACK SAVEPOINT e) Administrace dat řízení přístupu a ochrany databáze ALTER PASSWORD GRANT REVOKE 2.1. Proč používat SQL Seznam SQL příkazů : ALTER PASSWORD Dovolí uživateli změnit heslo ALTER TABLE Mění popis tabulky CHECK DATABASE Kontroluje integritu databáze COMMENT ON Nahradí nebo přidá komentář do popisu tabulky, pohledu nebo sloupce v systémovém katalogu COMMIT Zakončí logickou jednotku práce a přenese do databáze vámi provedené změny CREATE INDEX Vytváří index k tabulce CREATE SYNONYM Vytváří alternativní jméno pro tabulku nebo pohled CREATE TABLE Definuje tabulku CREATE VIEW Definuje pohled na jednu nebo více tabulek nebo pohledů DELETE Maže jeden nebo více sloupců v tabulce DROP Vyjme objekt ze systémového katalogu GRANT Přidělí databázovou autorizaci nebo práva na tabulky a pohledy INSERT Vloží jeden nebo více sloupců do existující tabulky LABEL Přidá nebo změní popisku v katalogu popisek REVOKE Vyjme databázovou autorizaci nebo privilegia z tabulek nebo pohledů ROLLBACK Zakončí logickou jednotku práce a vrátí zpět změny provedené od poslední transakce SELECT Dotazuje se na data v tabulkách nebo pohledech SAVEPOINT Přiřadí (spojí) kontrolní bod k transakci UNION Spojí výsledky ze dvou nebo více SELECTů UPDATE Nastaví sloupce v tabulkách nebo pohledech současnými hodnotami UPDATE STATISTIC Aktualizuje statistiky pro index dané tabulky 4
6 SQL je velmi silný nástroj pro práci s daty viz předešlých 5 bodů. Je snadný na používání a to velmi. Nyní vám představím 3 hlavní důvody proč používat databázový server : 1) z více aplikací a z více počítačů najednou, a to jak pro zápis tak pro čtení 2) množství dat svojí kvantitou nebo strukturou je již tak velké, že původní databázový prostředek (Foxpro) již řeší tento stav s problémy nebo vůbec sklady, fakturace 3) bezpečnost a integrita dat je natolik důležitá což je vlastně vždy, i když si to uživatel uvědomí až v případě jejich ztráty nebo zničení -, že databázový server je nutností. ad 1. chráněný síťový přístup ke sdíleným datům tento přístup k datům je již aplikační samozřejmostí. Uveďme si příklad : nadstavbový software pro management vytvořený v aplikaci MS Excel uživatel 1 přistupuje k datům databázového serveru k databázi Protect k tabulkám faktury, fakturydetail, uhrady, odberatele ; aplikační software sklad uživatel 2 z jiného počítače a z jiného místa ve stejnou dobu ke stejné databázi k tabulkám hlavnisklad, mezisklad, zbozi, odberatele; uživatel 3 ze vzdálené sítě obchodní ředitel napojený přes svého laptopa a internet k databázovému serveru ke stejné databázi k tabulce odberatele. Všichni tito uživatelé mohou díky databázovému serveru provádět jakékoliv operace s daty jim přístupnými. Jak vidíte na obrázku 3.I. lze s výhodou podpory produktu NetImpact Dynamo komunikovat s dnes velmi atraktivní a perspektivní oblastí s internetem. Vyvíjení aplikací pro internet je již nutností a databázový server na internetu je řešení pro větší množství dat např. pro prezentaci zboží a služeb určité firmy, jenž tímto způsobem nabízí k obchodování po internetu. Složitost a hlavně počet uživatelů je ve skutečnosti mnohem větší a to je hlavní důvod proč používat SQL. Jak již z názvu vyplívá je SQL standard a proto je nezávislý na použitém prostředku pro zpřístupnění dat. Jak aplikace MS Excel tak nezávislé programovací prostředky Delphi, Centura atd. tak vývojové prostředí různých databázových firem a řada dalších prostředků standard SQL podporují a lze všemi těmito prostředky nezávisle na sobě či databázovém serveru přistupovat k databázím tímto serverem spravovaným. Ve své podstatě je SQL jednoduchý programovací jazyk, kterým lze přistupovat k jakékoliv relační databázi a lze jej použít i v interaktivním režimu z konzolové aplikace, která je u Foxpro RQBE nástroj a u Anywhere je to ISQL. Jsme-li připojeni k jakékoliv databázi přes ODBC lze jako konzolovou aplikaci použít MSQRY32. ad. 2. Databáze stylu Foxpro nejsou navrženy pro větší počet vět, proto jsou také nazývány právem lokální. Při nárůstu velikosti těchto databází nad určitou hranici dochází k výraznému snížení rychlosti těchto databází nebo dokonce je tato velikost limitní a nesmí býti překročena. A zde nastupuje nutnost použít databázi vytvořenou pro práci s velkým množstvím dat. ad. 3. Bezpečnost a integrita dat je zajišťována na několika úrovních. Už samotné použití databázového serveru snižuje programovou náročnost vlastní aplikace, která musí zajistit operace a funkce zajišťované databázovým serverem. DB server je velmi dobře napsaná aplikace, která je také odladěná a vyzkoušená což je další faktor zvýšení bezpečnosti dat. Jak užívat SQL : SQL můžete používat dvěma způsoby : 1) Interaktivně skrze zprostředkovatelský program (interaktivní konzole) 2) Pomocí programovacího jazyka C, Delphi a jiných, kterými vytvoříte klientskou aplikaci, tiskovou sestavu nebo např. eventuelně service na Windows NT server. 5
7 Kdo používá SQL : 1) Koncoví uživatelé 2) Databázoví programátoři 3) Databázoví správci S rozdílem v přidělených právech počínaje uživateli konče správci. K datům spravovaným databázovým serverem nelze jinak přistoupit než přes tento databázový server (pokud je spuštěn) a při přístupu k databázovému souboru jinými prostředky a jinými způsoby je nemožný jsou vracena hlášení přístup odepřen, narušeno sdílení, Soubor nemůže být otevřen atd. což u lokáních databází neplatí. Pokud tyto databáze umístíme na Souborový server Novell, pak můžeme např. u Foxpro použít Novell modul pro řízení transakcí, ale databázový soubor není na tomto serveru (ani na jiném) spravován, udržován ani chráněn. Tabulky Paradoxu si vytvářejí na serveru zámky (soubory LCK), ale při pádu klientské stanice zůstane tento zámek na serveru a indikuje uzamčená data. V těchto příkladech bych mohl pokračovat ještě dosti dlouho a je jasné, že se tyto lokální databáze snaží všemi prostředky napodobovat databázové servery, ale pokud to budou činit pouze lokálními prostředky pak bude účinek nedokonalý a pokud to budou prostředky serverové pak se nejedná o nic jiného než o databázový server. Databázové servery mají řadu utilit pro zachování dat jako např. zálohování, obnovování dat z log. souborů log. soubory jsou soubory změn provedené v dané databázi od zapnutí logu či poslední obnovy, zrcadlení databází, konverze databáze do různých formátů a naopak. Pro přístup k databázi poskytují ochranu pomocí jména a hesla připojujícího se uživatele a následná získaná práva jsou na úrovni aplikace databázového serveru. Tyto práva spolu s právy na síťovém operačním systému tvoří téměř nepřekonatelnou ochranu dat. Bohužel se někteří programátoři snaží nahrazovat ochranu na úrovni databázového serveru vlastními programátorskými dialogy s vlastním rádoby dobře promyšleným systémem práv. SQL umožňuje uživateli vybudovat komplex dotazů. To je umožněno pomocí : relační operátory rekurze propojení (joins) Relační operátory ( >,<,=,>=,<>,!= ) dovolují uživateli vyjádřit prohledávací podmínku pro dotaz. Např. jestliže tabulka ZAMEST obsahuje zaměstnanecké informace (položky = sloupce - jmeno, adresa, telefon, vek, plat, oddeleni) pak následující dva dotazy mohou být zodpovězeny pomocí relačních operátorů. příklady : Dej mi (vyber) telefonní číslo slečny Hájkové : SELECT JMENO, TELEFON FROM ZAMEST WHERE JMENO= Hájková Dej mi seznam všech zaměstnanců, kteří mají plat větší než : SELECT JMENO, PLAT FROM ZAMEST WHERE PLAT> Rekurze v praxi znamená, že výstup jednoho SQL dotazu (poddotazu) je použit jako vstup do dotazu jiného. Tato technika je nazývána zahnízděním a je používána i v klasických programovacích jazycích. Hlavní select dotaz a subselect poddotaz se mohou odkazovat na stejnou tabulku. Použití poddotazu je v některých logických podmínkách pro výběr nevyhnutelné, ale musíte být opatrní při konstrukci tohoto dotazu. Poddotaz značně zpomaluje činnost dotazu neboť 6
8 zu. Poddotaz značně zpomaluje činnost dotazu neboť z matematického hlediska je počet zpracovávaných vět roven součinu počtu vět tabulky z prvního dotazu a tabulky z poddotazu. Příklad : Vyber jmeno z tabulky Zamest kde plat je větší nebo roven a musí mít samostatný telefon SELECT JMENO AS JMENO1 FROM ZAMEST WHERE PLAT>=12500 AND NOT TELEFON IN (SELECT TELEFON, JMENO FROM ZAMEST WHERE JMENO<>JMENO1) Druhý SELECT uvedený v příkladu je volán jako poddotaz a celý výraz by mohl být vyřešen mnohem pohodlněji, ale pouze z toho důvodu, že se jedná o poddotaz na stejnou tabulku. Tento postup se používá pokud nelze stejný problém vyřešit pomocí propojení neboť tento způsob je značně pomalejší Propojení (joins) slouží k přinesení dat (řádků) z rozdílných tabulek a spojení do řádku jednoho. Tyto propojení lze získat v poměru 1:1, 1:M, N:M, M:1. To v praxi znamená : pro jeden řádek (větu) tabulky první existuje pouze jeden řádek v tabulce druhé, např. pro každou fakturu v tabulce faktur existuje pouze jeden zaměstnanec, který ji vystavil v tabulce Zamest SELECT FAKTURY.CFAKT, ZAMEST.JMENO FROM FAKTURY, ZAMEST WHERE FAKTURY.KODZAM =ZAMEST.KODZAM pro jeden řádek (větu) tabulky první existuje 0 až bůhvíkolik řádků v tabulce druhé, např. pro každou fakturu v tabulce faktur existuje 0 až hodně úhrad v tabulce Uhrady (faktura nebyla uhrazena, nebo byla uhrazena několika platbami atd.) SELECT FAKTURY.CFAKT FROM FAKTURY, UHRADY WHERE UHRA- DY.CFAKT = FAKTURY.CFAKT - pro několik řádek (vět) tabulky první existuje 0 až bůhvíkolik řádků v tabulce druhé platných podle propojovacího výrazu. Toto propojení je dosti specifické a znamená, že v první tabulce jsou věty se stejnými daty, která jsou na výstupu a v tabulce druhé jsou věty k nim přiřazené dle propojení. Výsledkem může a nemusí být množina vět s duplicitními daty. Problematika propojení je rozsáhlejší a pokud začínáte s SQL jistě mnohokrát nastavíte špatně propojení mezi databázovými objekty. S propojením úzce souvisí problematika indexů a jedinečnosti, což probereme v oddíle vysvětlujícím syntaxi příkazů pro práci s INDEXI. Příklad : První tabulka 7
9 Druhá tabulka Příklad : SELECT NAME, ORDERNO FROM CUSTOMER, ORDERS WHERE CUSTOMER.CUSTNO = ORDERS.CUSTNO AND SALES REP = Tom Výsledek předešlého selectu : 8
10 Typy propojení : Rovné - příklad : SELECT NAME, ORDERNO FROM CUSTOMER, ORDERS WHE- RE CUSTOMER.CUSTNO = ORDERS.CUSTNO Vnější příklad : SELECT t1.col1, t2.col1, t1.col2, t2.col2 FROM t1, t2 WHERE t1.col1 = t2.col1 (+) AND t1.col2 = t2.col2 (+) Vlastní příklad : SELECT A.ORDERNO, A.ORDERDATE FROM ORDERS A, ORDERS B WHERE A.ORDERDATE = B.ORDERDATE AND A.ORDERDATE <> B.ORDERNO Nerovné příklad : SELECT NAME, ORDERNO, ORDERDATE FROM CUSTOMER, ORDERS WHERE CUSTOMER.CUSTNO = ORDERS.CUSTNO AND ORDERDATE BETWEEN 01-JUL-94 AND 30-SEP-94; Prvky SQL Toto jsou základní prvky používané v SQL : - Jména (názvy) - Datové typy - Konstanty - Systémová klíčová slova - Funkce - Výrazy - Přísudky - Vyhledávací výrazy - Svázané proměnné Názvy jména jsou používána k identifikaci SQL objektů jako jsou jména uživatelů, tabulek, sloupců, indexů atd. Tyto identifikátory mohou být ordinální nebo oddělovací. Ordinální identifikátor začíná písmenem nebo speciálním znakem (#,@ nebo $) a obsahuje písmena, číslice a podtržítko. Identifikátory mají 2 délky : krátké a dlouhé. Krátké mají délku max.8 a dlouhé max. 18 znaků. Příklady názvů : CHYBY SCHRANKA_Z_WGPO :KONTROLNISOUCET $54844 JMENO A ID #UZIVATEL :9 9
11 Názvy jsou dlouhé nebo krátké identifikátory nebo identifikátory kvalifikující jiné identifikátory. Následující objekty mají jména. Autorizační identifikace např. tabulka SKLAD vytvořená uživatelem NOVOTNY má explicitně jméno NOVOTNY.SKLAD. Příklad autorizační identifikace je NOVOTNY a také např. SYSADM. Název sloupce - Název korelační dlouhý identifikátor popisující tabulku nebo pohled s příkazem Název databáze krátký identifikátor označující databázi Název indexu kvalifikující nebo nekvalifikující dlouhý identifikátor Heslo dlouhý identifikátor Jméno svázané proměnné tomuto jménu vždy musí předcházet dvojtečka Název příkazu dlouhý identifikátor Název synonymu dlouhý identifikátor označující tabulku nebo pohled Název tabulky dlouhý identifikátor Název pohledu dlouhý identifikátor Datové typy obecné datové typy používané na ukládání dat jsou : 10
12 - Znakové - Číselné - Datumové a časové Tyto datové typy jsou určeny délkou dat tak jak jsou uloženy v databázi a zobrazovacím formátem tak jak se zobrazují. Null hodnota indikuje absenci dat. Nějaké datové typy mohou obsahovat Null hodnotu. Null hodnota není ekvivalentní 0 nebo mezeře. Na tuto hodnotu si musíte dát pozor ve vyhledávacích výrazech neboť je rovna jakémukoliv výrazu a pokud ji nechceme musíme použít např. NOT NULL. Znakový datový typ řetězec znaků (písmen, číslic, speciálních znaků) CHAR pro tento typ musí být specifikována délka, která nemůže být větší než 254 a je pevně dodržována. U typu VARCHAR může být délka menší než deklarovaná. LONGVARCHAR tento typ může být delší než 254 znaků a pro detailní definici raději nahlédněte do manuálu vámi používaného DB serveru. Numerický datový typ DECIMAL rozsah hodnot až příklad DECIMAL (8,2) INTEGER rozsah hodnot až příklad INT SMALLINT rozsah hodnot až příklad SMALLINT NUMBER rozsah hodnot až 22 číslic příklad NUMBER DOUBLE PRECISION dvojnásobná přesnost čísla s plovoucí desetinnou čárkou (22 až 53) FLOAT číslo s plovoucí desetinnou čárkou s přesností 1 až 21 příklad FLOAT (9) REAL reálné číslo Poznámka : Pro přesné vymezení definicí těchto a i následujících typů musíte zkonzultovat s příslušným manuálem vašeho serveru. Date/Time datový typ DATETIME typ pro data s datovým i časovým údajem DATE - typ pro data s datovým údajem TIME - typ pro data s časovým údajem Konstanty řetězcové konstanty musíte uzavřít do uvozovek. Časové a datumové údaje jsou většinou ve formátu čísel oddělených pomlčkou nebo tečkou. Např Číselné konstanty mohou být v semilogaritmickém tvaru 1,24E4. Systémová klíčová slova jsou vázány na typ a verzi databázového serveru a proto zde nemohou být probírány detailně. Typický představitel je NULL. Dále to mohou být tato slova : USER, ROWID, SYSTIME, SYSDATE atd. Na výběr hodnot z vět databáze, které obsahují nulové hodnoty můžeme použít tuto klauzuli : 11
13 WHERE jméno_sloupce IS NULL Výrazy Schéma výrazu : Je-li ve výrazu položka s nulovou hodnotou (Null), potom vyhodnocení výrazu je null (neznámý nebo false). Vyhledávací výrazy WHERE výraz může být použit v těchto SQL příkazech : SELECT DELETE UPDATE Vyhledávací výraz obsahuje jeden nebo více přísudků spojených logickými operátory OR, AND a NOT. Předpokládejme, že P a Q jsou přísudky. První dva sloupce jsou kombinace hodnot, kterých mohou P a Q nabýt. Následné sloupce jsou hodnoty výrazů uvedených v záhlaví. 12
14 Vzhledem k předešlému celkem dosti suchému, ale nutnému výkladu vás musím upozornit, že výraznější změna nastane až při výkladu jednotlivých SQL příkazů. Pokud jste vydrželi až sem, pak jistě vydržíte i následující kapitoly. Pro oživení výuky můžete s klidným svědomým následující výklad přeskočit až ke kapitole 3.2, neboť jenom trochu složitější úkol vás donutí vrátit se zpět na tyto stránky a dobrat tyto vynechané kapitoly. Velmi častá chyba je použití vyhledávacího výrazu na sloupce s některými nulovými hodnotami. Hodnota Null není ekvivalentní s nebo 0 a proto musí klausule WHERE vypadat takto WHERE jméno-sloupce IS NULL. Přísudky přísudky ve WHERE nebo HAVING výrazu specifikují vyhledávací výraz, který je true, false nebo neznámý (unknown) se zřetelem na daný řádek nebo skupinu řádků v tabulce. Přísudky používají operátory, výrazy a konstanty na specifikování vyhodnocovaného výrazu. Následné typy přísudků jsou popsány v této sekci : Relační BETWEEN NULL EXISTS LIKE IN 13
15 Relační přísudky : Máme dva typy relačních podmínek (přísudků) : Srovnávací Množstevní Srovnávací : Příklad : SELECT JMENO FROM ZAKAZNICI WHERE ZAKAZNIKID=93571 Množstevní : Používá poddotaz nebo podvýběr (subselect, subquery). Příklad : WHERE X < ANY (SELECT Y) SELECT * FROM EMPSAL WHERE SALARY!= (SELECT AVG(SALARY) FROM EMPSAL); SELECT * FROM EMPSAL WHERE SALARY <> (SELECT AVG(SALARY) FROM EMPSAL); SELECT * FROM EMPSAL WHERE SALARY > (SELECT AVG(SALARY) FROM EMPSAL); SELECT * FROM EMPSAL WHERE SALARY < (SELECT AVG(SALARY) FROM EMPSAL); 14
16 SELECT * FROM EMPSAL WHERE SALARY >= ANY(SELECT SALARY FROM EMPSAL); Přísudek BETWEEN : srovnává hodnoty s rozmezím hodnot Příklad : SELECT * FROM EMPSAL WHERE SALARY BETWEEN AND NULL přísudek : testuje null hodnotu Příklad : SELECT * FROM EMP WHERE DEPTNO IS NULL EXISTS přísudek : testuje existenci nějakého řádku v tabulce Příklad : SELECT * FROM EMP WHERE EXISTS (SELECT * FROM EMPSAL WHERE SALARY= :1) LIKE přísudek : prohledává v řetězcích specifickou sekvenci znaků Znak podtržítko _ je zástupný znak pro jeden znak Znak procenta % je zástupný znak pro více znaků Příklad : SELECT * FROM EMP WHERE LNAME LIKE %son% ; 15
17 SELECT * FROM EMP WHERE JOB LIKE M_ ; SELECT * FROM EMP WHERE JOB LIKE A24\% ; SELECT * FROM EMP WHERE JOB LIKE A24\%% ; IN přísudek : porovnává hodnoty ve výběru hodnot Příklad : SELECT * FROM EMP WHERE DEPTNO IN (2500,2600,2700); SELECT * FROM EMP WHERE EMPNO NOT IN (SELECT EMPNO FROM EMPSAL WHERE SALARY< 40000); SELECT * FROM EMP (LNAME, 1) IN ( J, M, D ); SELECT * FROM EMP WHERE LNAME NOT IN (:1,:2, Jones ) Funkce : funkce vrací hodnotu, která je vyhodnocením funkce s argumentem. Členění funkcí je odvislé od typu použitého databázového serveru. Může vypadat např. takto : Agregační funkce Řetězcové funkce Datumové a časové funkce Logické funkce Speciální funkce Matematické funkce Finanční funkce Podselect : vyhledávací podmínka, která je zahnízděná v SELECT příkazu (jako volaný podselect). Příklad : SELECT ORDERNO, ORDERDATE FROM ORDERS WHERE ORDER DATE = (SELECT ORDERDATE FROM ORDERS WHERE CUSTNO = 2) SELECT * FROM EMPSAL WHERE 16
18 SALARY (SELECT AVG (SALARY) FROM EMPSAL) Svázané proměnné : svázaná (propojená) proměnná je předaná hodnota asociovaná s SQL příkazem. Mohou být použity v : WHERE klauzuli VALUESS klauzuli v INSERT příkazu SET klauzuli v UPDATE příkazu Svázané proměnné musí začínat dvojtečkou : Definice dat ALTER TABLE Tento příkaz se používá na následující funkce : Drop, Add a Modify pro sloupce Rename pro sloupce a tabulky Add přidá sloupec do tabulky Drop vyjme sloupec z tabulky Modify mění atributy pro sloupec Rename přejmenuje sloupec nebo tabulku Pro používání tohoto příkazu musí mít uživatel privilegia ALTER. Příklady : přidá nový sloupec JOB, který obsahuje max. 15 znaků do tabulky EMP : 17
19 ALTER TABLE EMP ADD JOB VARCHAR(15); Sníží velikost sloupce JOB na 40 znaků a nastaví NOT NULL podmínku : ALTER TABLE EMP MODIFY JOB VARCHAR(40) NOT NULL; Vyjme sloupec JOB a HIREDATE : ALTER TABLE EMP DROP JOB, HIREDATE; Změní jméno tabulky EMP na EMPLOYEE : ALTER TABLE EMP RENAME TABLE EMPLOYEE; Přidá NOT NULL atribut do sloupce HIREDATE : ALTER TABLE EMP MODIFY HIREDATE NOT NULL; Vyjme atribut NOT NULL : ALTER TABLE EMP MODIFY HIREDATE NULL; CREATE INDEX Tento příkaz vytváří index na jeden nebo více sloupců tabulky. Indexy optimalizují přenášení dat (vracení) bez nutnosti prohledávání celé tabulky. Pro metodiku obnovování statistik si prostudujte manuál vašeho databázového serveru. Může např. nastat případ, že vytvoříte prázdnou tabulku (empty) a index vytvořený na takové tabulce by mohl podle druhu použitého serveru vyžadovat ruční spuštění UPDATE STATISTIC. 18
20 Jestliže vytváříte tabulku s primárním klíčem příkazem CREATE TABLE, musíte vytvořit jedinečný index na primárním klíčovaném sloupci. Příklady : Vytvoří index se jménem HIRE_IDX na sloupec HIREDATE : CREATE INDEX HIRE_IDX ON EMP (HIREDATE); Vytvoří spojený index složený z LNAME a FNAME: CREATE INDEX NAME_IDX ON EMP (LNAME, FNAME); Vytvoří sestupný index na EMP_IDX sloupci EMP tabulky se zakázáním duplicity čísel : CREATE UNIQUE INDEX EMP_IDX ON EMP (EMPNO DESC); CREATE TABLE Tento příkaz vytváří tabulku se specifikovanými sloupci. Musíte mít patřičná práva pro tuto operaci. Plně kvalifikované SQL jméno tabulky je : Autorizační-identif.tabulky-jméno 19
21 Autorizační-id. popis stvořitele tabulky Jestliže vytvoříte tabulku bez specifikování autorizačního id. Je nadefinováno default autorizační id. Příklady : Vytvoří tabulku EMP a EMPSAL CREATE TABLE EMP (EMPNO INTEGER NOT NULL, LNAME VARCHAR(15), FNAME CHAR(10), DEPTNO SMALLINT, HIREDATE DATE, JOB VARCHAR (15)); CREATE TABLE EMPSAL (EMPNO INTEGER NOT NULL, SALARY DECIMAL(5,9,2), REVIEW LONGVARCHAR; Vytvoří tabulku, která dovoluje cizí klíč EMPNO v EMPSAL tabulce s odkazem EMP- NO v EMP tabulce CREATE TABLE EMP (EMPNO INT NOT NULL, LNAME VARCHAR(15), FNAME CHAR(10), DEPTNO SMALLINT, HIREDATE DATE, JOB VARCHAR (15) PRIMARY KEY (EMPNO)); CREATE UNIQUE INDEX EMP_IDX ON EMP (EMPNO); CREATE TABLE EMPSAL (EMPNO INTEGER, SALARY DECIMAL (9,2), REVIEW LONG VARCHAR, FOREIGN KEY (EMPNO) REFERENCES EMP ON DELETE CASCADE); Související příkazy : ALTER TABLE CREATE INDEX 20
22 CREATE VIEW Tento příkaz vytváří pohled na jednu nebo více tabulek. Jeho použití úzce souvisí s příkazem GRANT (privilegia) : CREATE VIEW A_PAYAS SELECT FNAME, LNAME, SALARY FROM EMP, EMPSAL... V definici pohledu není možné použít UNION ani ORDER BY. Pohled jak již z názvu vyplívá je pouze abstrakce a má tím pádem příznak read-only (mimo následující výjimky) a proto nemůže provádět update dat (s jedinou výjimkou, kdy je pouze nad jednou tabulkou a nepoužívá funkce). CREATE VIEW PAY AS SELECT FNAME, LNAME, SALARY FROM EMP, EMPSAL WHERE EMP.EMPNO = EMPSAL.EMPNO; Následující příklad pohledu ukazuje možnost změny jmen sloupců v pohledu : CREATE VIEW STARTDATES (FIRST, LAST, DOH) AS SELECT FNAME, LNAME, HIREDATE FROM EMP; Následující pohled obsahuje asloupec, který je vypočítávaný (je na něm použita funkce) a to činí z tohoto pohledu pohled pouze pro čtení : CREATE VIEW DEPT_SAL (DEPT, TOTSAL) AS SELECT DEPTNO, SUM(SALARY) FROM EMP, EMPSAL WHERE EMP.EMPNO = EMPSAL.EMPNO GROUP BY DEPTNO; Tento pohled používá WITH CHECK OPTION klauzuli : CREATE VIEW WEEK2 AS SELECT * FROM ORDERS 21
23 WHERE ORDERDATE > = 05-JUL-94 WITH CHECK OPTION; Následující pohled je vytvořen ze dvou základních tabulek : CREATE VIEW MYVIEW (POSITION, ARG1,ADESCRIPT, ARG2, BDESCRIPT) AS SELECT TABLE1.POSITION, TABLE1.ARG1,A.DESCRIPT AS ADESCRIPT, TABLE1.ARG2, B.DESCRIPT AS BDESCRIPT FROM TABLE1, TABLE2 A, TABLE2 B WHERE TABLE1.ARG1=A.CODE AND TABLE1.ARG2=B.CODE; Související příkazy : CREATE TABLE SELECT DROP Tento příkaz vyjme z databáze specifický objekt. Pro tento příkaz musíte mít patřičná práva DBA. DROP TABLE vyjme tabulku, všechna synonyma a indexy definované pro tuto tabulku a všechna práva přidělena k této tabulce. Systémové tabulky nemohou být vyjmuty. DROP INDEX vyjme index. Systémové indexy nemohou být vyjmuty. DROP VIEW vyjme pohled ze systémového katalogu. Všechny práva k tomuto pohledu jsou vyjmuta též. SYNONYM vyjme synonym. Pohledy založené na tomto synonymu jsou také vyjmuta. PUBLIC vyjme veřejné synonyma. Pohledy založené na tomto synonymu jsou také vyjmuta. Příklady : DROP INDEX CHKINDX; DROP VIEW MYEMP; DROP SYNONYM EASY_TO_REMEMBER; DROP PUBLIC SYNONYM EMP; DROP TABLE EMP; Související příkazy : CREATE INDEX; CREATE SYNONYM; CREATE TABLE; CREATE VIEW; 22
24 2.3. Editace dat DELETE Tento příkaz smaže jeden nebo více řádků z jedné tabulky nebo pohledu. WHERE vyhledávací výraz podmínka pro výběr řádků vybraných pro smazání. Příklady : Tento příkaz smaže zaměstnance číslo 1234 z tabulky EMP: DELETE FROM EMP WHERE EMPNO = 1234; Smaže zaměstnance v oddělení 2500 z tabulky EMPSAL: DELETE FROM EMPSAL WHERE EMPNO IN (SELECT EMPNO FROM EMP WHERE DEPTNO = 2500); Smaže všechny řádky z tabulky: DELETE FROM ORDERS; Související příkazy : CREATE TABLE SET CURSORNAME INSERT 23
25 Tento příkaz vkládá řádky dat do tabulky nebo pohledu. Příklady : Tento SQL příkaz vloží jeden kompletní řádek do EMP tabulky : INSERT INTO EMP VALUES (1001, Carver, Dan,2500,01- APR-1994, Manager ); Jestliže nejsou vkládány všechny sloupce musí být specifikována jejich jména : INSERT INTO EMP (EMPNO,LNAME,FNAME,HIREDATE) (1002, Murphy, Bill,17-APR-1994); Tento příkaz používá svázané proměnné na vložení více řádků dat : INSERT INTO EMP VALUES (:1,:2,:3,:4,:5,:6) 1004,Drape,Jane,2600,01-FEB-1994,Programator 1005,Foghorn,Ellen,2500,01-FEB-1994, Programator Použití poddotazu na odvození sloupců pro vkládání : CREATE TABLE RDEMP (RDNO INTEGER, RDLNAME CHAR(15), RDFNAME CHAR(10); INSERT INTO RDEMP (RDNO, RDLNAME, RDFNAME) SELECT EMPNO, LNAME,FNAME FROM EMP WHERE DEPTNO = 2500 ; Související příkazy : 24
26 SELECT SET CURSORNAME UPDATE Tento příkaz aktualizuje hodnotu jednoho nebo více sloupců tabulek nebo základních pohledů podle výběrové podmínky. Na tuto operaci musíte mít patřičná privilegia (UPDATE). UPDATE příkaz aktualizuje tabulky s primárními i cizími klíči. Příklady : Aktualizuje tabulku employee s podmínkou EMPNO=1004. UPDATE EMPSAL SET SALARY = WHERE EMPNO= 1004; Zvýší plat všem zaměstnancům v kanceláři 2500 o 10%. UPDATE EMPSAL SET SALARY = SALARY*1.10 WHERE EMPNO IN (SELECT EMPNO FROM EMP WHERE DEPTNO = 2500); Aktualizuje všechny zaměstnání s písmenem P. Související příkazy : CREATE TABLE SELECT CURSORNAME 2.4. Dotazování dat SELECT 25
27 Tento příkaz najde, získá a zobrazí data. SELECT příkaz je rekurzivní může být zahnízděn v hlavním SELECTu. Zapouzdřený SELECT příkaz je volán jako poddotaz. Pro příkaz SELECT musíte mít přidělena privilegia SELECT. Vysvětlivky graf. znázornění : ALL Default hodnota pro SELECT je získání všech řádků. DISTINCT Potlačí duplicitní řádky. SELECT TAB1.*, COL1 FROM TAB1, TAB2; Vrátí všechny sloupce z tabulky TAB1 a jeden sloupec COL1 z tabulky TAB2. WHERE klauzule specifikuje výběrovou podmínku pro základní tabulky nebo pohledy. GROUP BY seskupuje výsledné řádky dotazu. 26
28 Následující příklad najde celkový plat pro každé oddělení a seskupí dle kanceláře. SELECT DEPTNO, SUM(SALARY), AVG(SALARY), COUNT(SALARY) FROM EMP, EMPSAL WHERE EMP.EMPNO = EMPSAL.EMPNO GROUP BY DEPTNO; HAVING dovoluje výběrovou podmínku pro skupinu řádků výsledků z GROUP BY nebo seskupuje sloupce. SELECT DEPTNO, SUM(SALARY), AVG(SALARY), COUNT(SALARY) FROM EMP, EMPSAL WHERE EMP.EMPNO = EMPSAL.EMPNO GROUP BY DEPTNO HAVING AVG(SALARY) > 30000; ORDER BY setřídí řádky ve výskedové tabulce. ORDER BY nelze použít v poddotazu. Příklady : Vybere všechny řádky z CUSTOMER tabulky. SELECT * FROM CUSTOMER; Vytvoří seznam zaměstnání. SELECT DISTINCT JOB FROM EMP; Zobrazí číslo zaměstnance a měsíční plat lidí, kteří mají roční plat větší než SELECT EMPNO,SALARY/12 FROM EMPSAL WHERE SALARY > 40000; Najde minimum a průměr platů v každém oddělení. SELECT DEPTNO, MIN(SALARY), AVG(SALARY) FROM EMP, EMPSAL WHERE EMP.EMPNO=EMPSAL.EMPNO GROUP BY DEPTNO; SELECT * FROM EMP WHERE JOB IN (SELECT JOB FROM EMP WHERE LNAME = Drape ); SELECT * FROM ORDERS X WHERE PRICE = (SELECT LISTPRICE FROM PARTS WHERE PARTS.PNUM = X.PNUM); SELECT * FROM ORDERS 27
29 WHERE CUSTNO=2 ORDER BY ORDERDATE; UNION Tento příkaz spojí výsledky dvou nebo více SLECTů. Duplicitní řádky budou eliminovány. ALL Jestliže specifikujete ALL pak duplicitní řádky nebudou eliminovány. Příklady : Tento příkaz najde zaměstnance z kanceláře 2500 a ty jejichž plat je větší než SELECT EMPNO FROM EMP WHERE DEPTNO = 2500 UNION SELECT EMPNO FROM EMPSAL WHERE SALARY> 50000; 2.5. Řízení transakcí Řízení transakcí lze postavit (principem) na dvou metodách : použitím zámků CS Cursor Stability RL Release Locks RO Read Only RR Read Repeatability (default) použitím ROWID časový údaj Použití první metody zamykání vět, tabulek či celé databáze má své opodstatnění, ale pro běžný přístup k datům se jeví vhodnější metoda ROWID. Metoda ROWID je založena na principu časové jednoznačnosti. Každá tabulka má vytvořený sloupec ROWID, který databázový server používá pro rychlý přístup k položkám této tabulky. V tomto sloupci je též informace o datu poslední změny patřičného řádku. Při Načtení tabulky z DB serveru do vašeho počítače a změny nějakých hodnot načtete i sloupec ROWID. Před ukládáním (aktualizací) těchto dat zkontroluje výskyt SQL chyby a dále už pouze dáte podmínku, že ROWID v tabulce na DB serveru je stejné jako ROWID ve vaší tabulce např. v tabulce v MS Excel. Jestliže UPDATE neproběhne nebo se vyskytne SQL chyba znamená to, že ve většině případů se ROWID v tabulce na DB serveru neshoduje s ROWID ve vaší tabulce někdo změnil data, která jste měnili vy (nebo jste chtěli, aby se data nezměnila některé operace pro účetnictví). Vám nezbývá než provést ROLLBACK a operaci opakovat 28
30 od začátku. Pokud k tomuto stavu nesmí dojí pak lze provést zámek, a to na různé úrovni (např. závěrkové operace v účetnictví) a pak vámi načtená (nebo zamčená) data nikdo nezmění. Metoda zámků je spíše na fyzické úrovni a také ji řada DB serverů řeší s různými odlišnostmi jak ve významu tak v syntaxi příkazu. Z toho vyplývá, že aplikace napsané tímto způsobem jsou na jiný DB server přenositelné s určitými problémy a potřebou programátorských zásahů. Zámky v nejužším pojetí se dělí na zámky pro čtení (sdílené) a zámky pro zápis (výhradní). Dále dle typu serveru existují i jiné typy zámků (např. kombinace předešlých, přírůstkový zámek ). Existují dva různé požadavky, které musí být splněny : Kriteria pro výběr isolation stupně : 1, Data zpřístupněná spoustě uživatelů musí být konzistentní. 2, Uživatelé musí mít možnost přistupovat ke stejným datům souběžně COMMIT Tento příkaz ukončí aktuální (řídící) transakci (logickou jednotku práce s daty). Transakce má jeden nebo více SQL příkazů Administrace dat Administrace dat je ve své podstatě správa uživatelů. Vytvoření uživatele standard SQL nepodporuje a provádí se prostředky, které jsou součástí DB serveru. Je-li uživatel již vytvořen má určitá práva a to obecná a systémová (u Oracle je jen systémových práv zhruba 80) jejichž rozsah závisí na kvalitě DB serveru. Rozsah těchto práv je nutno měnit, a to jak rozšiřovat tak naopak. Pro rozšíření dat slouží příkaz GRANT a pro vyjmutí práv příkaz REVOKE. Pro přihlášení uživatele k databázi je potřeba jeho jméno a heslo. Heslo je následně (po založení) uloženo do systémového katalogu, kde je zakódováno a přístup k němu je pouze přes funkci ALTER PASSWORD nebo s autorizací DBA. 29
31 ALTER PASSWORD Tento příkaz změní vaše heslo. Příklad : ALTER PASSWORD OLDPASSWORD TO NEWPASSWORD Související příkazy : GRANT, REVOKE GRANT REVOKE 30
32 Protect adm@telecom.cz Zpracoval : ing. Zdeněk Šerý 31
Kurz 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í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í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í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í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 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í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í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í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í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. 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í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í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íceDatabá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í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í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í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í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ázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Database Research Group Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz
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íceJaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):
Mezi příkazy pro manipulaci s daty (DML) patří : 1. SELECT 2. ALTER 3. DELETE 4. REVOKE Jaké vlastnosti má identifikující relace: 1. Je relace, která se využívá pouze v případě modelovaní odvozených entit
VícePoužití databází na Webu
4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové
VíceDatabázové systémy I
Databázové systémy I Přednáška č. 8 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky jiri.zechmeister@upce.cz Skupinové a souhrnné dotazy opakování Obsah Pohledy syntaxe použití význam Vnořené
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í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í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íceKurz Databáze. Obsah. Návrh databáze E-R model. Datová analýza, tabulky a vazby. Doc. Ing. Radim Farana, CSc.
Kurz Databáze Datová analýza, tabulky a vazby Doc. Ing. Radim Farana, CSc. Obsah Návrh databáze, E-R model, normalizace. Datové typy, formáty a rozsahy dat. Vytváření tabulek, polí, konvence pojmenování.
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íceVkládání, aktualizace, mazání
Kapitola 4 Vkládání, aktualizace, mazání Tématem několika předchozích kapitol byly základní techniky pokládání dotazů, které se všechny zaměřovaly na zisk dat z databáze. V kapitole čtvrté půjde o něco
VíceText úlohy. Systémový katalog (DICTIONARY):
Úloha 1 Částečně správně Bodů 050 / 100 Systémový katalog (DICTIONARY): a Se skládá z tablek a pohledů uložených v tabulkovém SYSTEM b Všechny tabulky vlastní uživatel SYS c Se skládá z tablek a pohledů
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í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í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í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í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íce6. blok část B Vnořené dotazy
6. blok část B Vnořené dotazy Studijní cíl Tento blok je věnován práci s vnořenými dotazy. Popisuje rozdíl mezi korelovanými a nekorelovanými vnořenými dotazy a zobrazuje jejich použití. Doba nutná k nastudování
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íceZáklady databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19
3 Obsah Novinky v tomto vydání 10 Význam základních principů 11 Výuka principů nezávisle na databázových produktech 12 Klíčové pojmy, kontrolní otázky, cvičení, případové studie a projekty 12 Software,
VíceXMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky
XMW4 / IW4 Pokročilé SELECT dotazy Štefan Pataky TOP, OFFSET-FETCH Konverze datových typů Logické funkce Práce s řetězci Poddotazy a množinové dotazy SQL Windowing Agenda TOP TOP omezení počtu vrácených
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íceKonceptuální modelování a SQL
Konceptuální modelování a SQL přednáška č.? 1/90 Vytváření IS Analýza Návrh Implementace Testování Předání SW Jednotlivé fáze mezi sebou iterují 2/90 Proč modelovat/analyzovat? Standardizované pracovní
VíceInovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace 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ázové systémy MySQL základní
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ícePráva a role. Martin Polák. NDBI013 Administrace Oracle
Práva a role Martin Polák NDBI013 Administrace Oracle Práva a role Práva slouží k omezení možností uživatele právě tak, aby mohl provádět úkoly jemu svěřené. Role jsou pojmenované skupiny práv a slouží
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íceAdministrace Oracle. Práva a role, audit
Administrace Oracle Práva a role, audit Filip Řepka 2010 Práva (privileges) Objekty (tabulky, pohledy, procedury,...) jsou v databázi logicky rozděleny do schémat. Každý uživatel má přiděleno svoje schéma
VícePRŮBĚHOVÝ TEST Z PŘEDNÁŠEK
PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK listopad 2009 souhrn v1 Červené dobře (nejspíš), modré možná Oracle Internet Directory OID: Databáze nemůže z OID přebírat seznam uživatelů *Databáze může získat z OID seznam
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íceStručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307
Stručný obsah část I Přehled jazyka SQL Kapitola 1: Úvod 27 Kapitola 2: Stručný úvod do jazyka SQL 37 Kapitola 3: Jazyk SQL z širšího pohledu 45 Kapitola 4: Relační databáze 69 Část II Získávání dat Kapitola
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íceGymnázium a Střední odborná škola, Rokycany, Mládežníků 1115
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410
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. 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í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í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í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íceDatabáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D. http://siret.cz/hoksza
Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hksza, Ph.D. http://siret.cz/hksza Osnva Seznámení s SQL Server Management Studiem (SSMS) Základní architektura
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. 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í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íceReplikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou
Administrace Oracle Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou zachyceny a uloženy lokálně před posláním
VíceOptimalizace dotazů a databázové transakce v Oracle
Optimalizace dotazů a databázové transakce v Oracle Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Demo-cvičení pro IDS 22. dubna 2015 Marek Rychlý
VíceDUM 15 téma: Příkazy pro řízení přístupu
DUM 15 téma: Příkazy pro řízení přístupu 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íceIntegritní omezení (IO)
Integritní omezení (IO) IO jsou tvrzení vymezující korektnost DB, stupeň souladu datového obrazu s předlohou (jaká data v databází mohou být a jaká již ne). definují se na konceptuální i databázové úrovni
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í 4 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Klauzule příkazu
VíceCo bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT
Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT david@wug.cz @gesvindr Logické zpracování dotazu Jazyk T-SQL je deklarativní Popisujeme,
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íceGymnázium a Střední odborná škola, Rokycany, Mládežníků 1115
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410
VíceZáklady informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant
Základy informatiky 06 Databázové systémy Kačmařík/Szturcová/Děrgel/Rapant Problém zpracování dat důvodem je potřeba zpracovat velké množství dat, evidovat údaje o nějaké skutečnosti: o skupině lidí (zaměstnanců,
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íceDATABÁZE MS ACCESS 2010
DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,
VíceInovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_33_05 Škola Střední průmyslová škola Zlín Název projektu, reg. č. Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávací oblast Vzdělávání v informačních a komunikačních
VícePL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.
PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk
VíceJazyk PL/SQL Úvod, blok
Jazyk PL/SQL Úvod, blok 1 Bc. Tomáš Romanovský Procedural Language for Structured Query Language Součást systému Oracle, rozšíření SQL o procedurální rysy Prostředky pro vytváření a spouštění programových
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íceKIV/ZIS cvičení 6. Tomáš Potužák
KIV/ZIS cvičení 6 Tomáš Potužák Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Slučování záznamů do skupin (1) Chceme zjistit informace obsažené ve více záznamech najednou Klauzule GROUP
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íceMateriál ke cvičením - SQL
Materiál ke cvičením - 1. Stručná syntaxe vybraných příkazů jazyka (detailní syntaxe příkazů je uvedena on-line manuálech přístupných z prostředí sítě VŠE) SELECT výběr a zobrazení hodnot z databáze: SELECT
VíceTransformace konceptuálního modelu na relační
Transformace konceptuálního modelu na relační 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
VíceProgramovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
VíceOBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013
OBJECT DEFINITION LANGUAGE Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013 ODL a OQL ODL Objektové Object Definition Language popis objektového schéma SQL DDL Relační Data Definition Language příkazy CREATE,
VíceDotazy v SQL. Výraz relační algebry R1( )[A1,A2,...,Aj] lze zapsat takto: SELECT A1,A2,...,Aj FROM R1 WHERE. Výraz (R1, R2... Rk)( )[A1,A2,...
Jazyk SQL 1 Přehled SQL 1) jazyk pro definici dat (DDL), 2) jazyk pro manipulaci dat (DML), 3) jazyk pro definice pohledů 4) jazyk pro definice IO 5) jazyk pro přiřazení přístupových práv (DCL) 6) řízení
Více37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody
37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody Využití databázových indexů Databázové indexy slouží ke zrychlení přístupu k datům a měly by se používat
Více5. POČÍTAČOVÉ CVIČENÍ
5. POČÍTAČOVÉ CVIČENÍ Databáze Databázi si můžeme představit jako místo, kam se ukládají všechny potřebné údaje. Přístup k údajům uloženým v databázi obstarává program, kterému se říká Systém Řízení Báze
VíceAdministrace Oracle Práva a role, audit. Kukhar Maria 29.10.2012
Administrace Oracle Práva a role, audit Kukhar Maria 29.10.2012 Ve výchozím nastavení, uživatel Oracle nemůže nic dělat, ani připojit se k databázi. Aby uživatele měli přistup k DB, je třeba vytvořit uživatelské
VíceZáklady informatiky. 08 Databázové systémy. Daniela Szturcová
Základy informatiky 08 Databázové systémy Daniela Szturcová Problém zpracování dat Důvodem je potřeba zpracovat velké množství dat - evidovat údaje o nějaké skutečnosti. o skupině lidí (zaměstnanců, studentů,
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í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íceTematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných
Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro
VíceDJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný
DJ2 rekurze v SQL slajdy k přednášce NDBI001 Jaroslav Pokorný 1 Obsah 1. Úvod 2. Tvorba rekurzívních dotazů 3. Počítaní v rekurzi 4. Rekurzívní vyhledávání 5. Logické hierarchie 6. Zastavení rekurze 7.
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íceKontingenční tabulky v MS Excel 2010
Kontingenční tabulky v MS Excel 2010 Autor: RNDr. Milan Myšák e-mail: milan.mysak@konero.cz Obsah 1 Vytvoření KT... 3 1.1 Data pro KT... 3 1.2 Tvorba KT... 3 2 Tvorba KT z dalších zdrojů dat... 5 2.1 Data
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 I
2015 Databázové systémy I PROJEKT 2 ČÁST MIROSLAV POKORNÝ Stránka 0 z 21 Zadání Implementujte datový model vytvořený v první části projektu do relační databáze a vytvořte pohledy a uloženou proceduru dle
VíceB Organizace databáze na fyzické úrovni u serveru Oracle
B Organizace databáze na fyzické úrovni u serveru Oracle B.1. Základní koncepty... 2 B.2. Možnosti rozšíření prostoru databáze... 9 B.3. Indexování a shlukování... 12 Literatura... 16 J. Zendulka: Databázové
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íceDatabázové systémy a SQL
Databázové systémy a SQL Lekce 2 Daniel Klimeš Autor, Název akce 1 CREATE TABLE Vytvoření tabulky (ORACLE) DDL příkazem v grafickém prostředí CREATE TABLE jmeno ( text VARCHAR2(200), cislo NUMBER(9,1),
VíceDatabázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087
Databázové a informační systémy Informační systém prodejny nábytku Jakub Kamrla, KAM087 1. část Funkční a nefunkční požadavky 1. K čemu má systém sloužit Jedná se o informační systém pro jednu nejmenovanou
VíceZáklady jazyka SQL. 87 Jazyk SQL SQL je dotazovací jazyk, takže přes propojenou aplikaci se serveru odevzdá dotaz
Základy jazyka SQL 87 Jazyk SQL SQL je dotazovací jazyk, takže přes propojenou aplikaci se serveru odevzdá dotaz a databázový server na něj odpoví, obvykle tím, že vygeneruje nějakou množinu výstupních
Více