Funkce a základní možnosti jazyka SQL. Znalosti a jejich druhy. Definování řídicích struktur

2. zdarma a použitá paměť na stránkách vztahů. Tyto informace jsou nezbytné pro vyhledávání volné místo při vstupu do n-tice

3. propojení stránek jedné komponenty. Pokud jeden soubor obsahuje několik stránek vztahu, pak je třeba tyto stránky nějak propojit. Problematické je používání odkazů a ukazatelů, proto se zavádějí řídící struktury – propojování stránek. Používá nepřímé indexování stránek jednoho vztahu na základě B-stromy.

jazyk SQL. Funkce a hlavní vlastnosti

1. Schopnost v dotazu seskupovat n-tice relací výsledků podle zadaných polí v souladu s podmínkami výběru pro celou skupinu.

2. V SQL není nutné mazat duplicitní n-tice jak ve výsledku, tak v mezilehlé n-tice. Výsledkem dotazu SQL je n-tice s více množinami. Všechny operátory teorie množin byly implementovány v System R DBMS.

V System R implementuje 4 operátory manipulace s daty a 2 operátory vytváření pohledů.

Také další operátoři umožňují provádět změny ve struktuře tabulky.

Definování integritních omezení a spouštěčů

V System R je prostředkem k udržení integrity databáze claimHon (výjimky) - logický výraz, záležitost nad celou databází, jejíž nepravdivost svědčila o neúplnosti databáze. Omezení integrity byla rozdělena do 2 tříd:

1. zkontrolováno po provedení manipulačního operátora (transakce)

2. na žádost speciálního operátora INFORCE INTEGRITY

Typy predikátů se u těchto skupin lišily. System R jako první implementoval spouštěcí mechanismus, který sloužil k automatickému udržování integrity databáze. Při definování spouštěče byla zadána podmínka pro jeho aplikaci, a pokud je pravdivá, spouštěč se spustil.

DB pohled

K definování reprezentací se používá aparát výběrových operátorů.

Definování řídicích struktur

Definování řídicích struktur představuje indexy a vztahy. SQL nyní jasně rozumí tomu, jak reprezentovat indexy a vztahy.

Hlavní operátoři:

GRANT – „Dovolte

REVOKE - „sbírat“ práva

Body uložení a vrácení transakce. Vestavěný SQL

Embedded SQL je speciální operátoři, podporující možnost SQL provedení operátory v tradičních programovacích jazycích.

ESQL/C – jazyk C s možností psaní dotazů.

Hlavním problémem vkládání je problém konjugace mezi deklarovanými a procedurálními programovacími jazyky.

Problém s přístupem n-tice v procedurální jazyky byl vyřešen pomocí mechanismu "kurzor", což je ukazatel na n-tici.

Základní operátory na kurzorech: OPEN CURSOR

Dynamické SQL

Mechanismus, který umožňuje provádění příkazů SQL v době kompilace.

1. Omezení jedinečnosti(ne více než jeden primární klíč)

3. Zkontrolujte omezení(určuje podmínku, kterou musí splňovat každý řádek v tabulce)

Definice pohledů.

Mechanismus pohledy pohledy je mocný nástroj SQL, který umožňuje skrýt skutečnou strukturu databáze před uživatelem v podstatě uložením dotazu s pojmenovanými sloupci do databáze.

Pro použití se pohled (nebo prezentace) neliší od základní tabulky. Pohled se ve skutečnosti překryje na tabulku pokaždé, když je spuštěn.

Prohlížecí modul standardu SQL-89 je definován takto:

::=

VYTVOŘIT ZOBRAZENÍ

[()] AS

< view column list>::= [{}]

Je prezentována určitá tabulka, která je proměnlivá, tzn. aplikovat na ni DELETE příkazy nebo UPDATE pouze v případě, že jsou provedeny následující operace dotazu:

1. není specifikováno klíčové slovo ODLIŠNÝ

2. každý aritmetický výraz ve výběrovém seznamu představuje specifikaci jednoho sloupce

3. klauzule FROM obsahuje jednu tabulku

4. v klauzuli WHERE nejsou žádné poddotazy

5. žádné sekce GROUP BY HAVING

Požadavek WITH CHECK OPTION má smysl v případě proměnlivého pohledu s klauzulí WHERE. Tento požadavek zabraňuje tomu, aby se v základní tabulce objevily řádky, které nejsou viditelné v pohledu (tj. ty řádky, které nevyhovují KDE podmínka v žádostech).

Definice privilegií.

Ve standardu SQL-89 je distribuce oprávnění možná pouze při definování tabulky. Uživatel, který obdržel oprávnění od jiného uživatele, je může přenést dále pouze při definování schématu.

Oprávnění jsou definována takto:

< privilege definition >::=

VELKÝ NA

NA

[g, Grante 3…] ::= VŠECHNA PRIVILEGIÁ | [{,}..]

::= VYBERTE | AKTUALIZACE | VLOŽIT | VYMAZAT | REFERENCE [ ]

::= VEŘEJNÉ |

Nástroje pro manipulaci s daty.

Struktura požadavku.

::= []

::= | UNIE

::= | ()

::=(VYBRAT

)

DO

::= VYBRAT

::= [] [] [] []

Jazyk SQL zahrnuje 3 typy konstrukcí SELECT:

1. specifikace kurzoru

2. vyberte příkaz

3.poddotaz

tabulkový výraz je základem všech syntaktických struktur.

1. Specifikace kurzoru – kurzor konstruktoru SQL, umožňuje získat řádkový přístup k výsledkům dotazu v databázi. Neexistují žádné zvláštní požadavky na tabulkové výrazy zahrnuté ve specifikaci kurzoru.

  • Překlad
  • Konzultace
Potřebujete „SELECT * WHERE a=b FROM c“ nebo „SELECT WHERE a=b FROM c ON *“?

Pokud jste jako já, budete souhlasit: SQL je jedna z věcí, která se na první pohled zdá snadná (čte se jako angličtina!), ale nějak musíte každý jednoduchý dotaz googlit, abyste našli správnou syntaxi.


A pak se začnou spojovat, agregovat, poddotazy a ukáže se, že je to úplně svinstvo. Něco jako toto:


SELECT členy.křestní jméno || " " || members.lastname AS "Celé jméno" Z výpůjček VNITŘNÍ JOIN členové ON members.memberid=výpůjčky.memberid VNITŘNÍ PŘIPOJENÍ knihy ON books.bookid=výpůjčky.bookid WHERE výpůjčky.bookid IN (SELECT bookid FROM books WHERE stock>(SELECT avg(stock) ) Z knih)) GROUP BY členové.křestní jméno, členové.příjmení;

Bue! To vyděsí každého nováčka nebo dokonce středně pokročilého vývojáře, pokud vidí SQL poprvé. Ale není to všechno špatné.


Je snadné si zapamatovat, co je intuitivní, a doufám, že pomocí této příručky snížím bariéru vstupu do SQL pro nováčky a nabídnem těm, kteří již mají zkušenosti, nový způsob pohledu na SQL.


Ačkoli je syntaxe SQL mezi různými databázemi téměř stejná, tento článek používá pro dotazy PostgreSQL. Některé příklady budou fungovat v MySQL a dalších databázích.

1. Tři kouzelná slova

V SQL je mnoho klíčových slov, ale SELECT, FROM a WHERE jsou přítomny téměř v každém dotazu. O něco později pochopíte, že tato tři slova představují nejzákladnější aspekty konstruování databázových dotazů a další, složitější dotazy jsou jen doplňky nad nimi.

2. Naše základna

Pojďme se podívat na databázi, kterou použijeme jako příklad v tomto článku:







Máme knihovnu a lidi. Nechybí ani speciální tabulka pro evidenci vydaných knih.

  • V tabulce "knihy" jsou uloženy informace o názvu, autorovi, datu vydání a dostupnosti knihy. Je to jednoduché.
  • V tabulce „členové“ - jména a příjmení všech lidí, kteří se zaregistrovali do knihovny.
  • V tabulce „výpůjčky“ jsou uloženy informace o knihách převzatých z knihovny. Sloupec bookid odkazuje na ID knihy pořízené v tabulce „knihy“ a sloupec memberid odkazuje na odpovídající osobu z tabulky „členové“. Máme také datum vydání a datum, kdy je nutné knihu vrátit.

3. Jednoduchá žádost

Začněme jednoduchým požadavkem: potřebujeme jména A identifikátory(id) všech knih napsaných autorem „Dan Brown“


Žádost bude vypadat takto:


SELECT bookid AS "id", název FROM books WHERE author="Dan Brown";

A výsledek je takový:


id titul
2 Ztracený symbol
4 Peklo

Docela jednoduché. Podívejme se na žádost, abychom pochopili, co se děje.

3.1 FROM - odkud data získáváme

To se nyní může zdát zřejmé, ale FROM bude velmi důležité později, až se dostaneme ke spojením a poddotazům.


FROM ukazuje na tabulku k dotazu. Může to být existující tabulka (jako ve výše uvedeném příkladu) nebo tabulka vytvořená za běhu spojeními nebo poddotazy.

3.2 KDE - jaké údaje se zobrazují

WHERE se jednoduše chová jako filtr linky, který chceme vydat. V našem případě chceme vidět pouze řádky, kde je hodnota ve sloupci autor „Dan Brown“.

3.3 SELECT - jak zobrazit data

Nyní, když máme všechny potřebné sloupce z tabulky, které potřebujeme, musíme se rozhodnout, jak přesně tato data zobrazit. V našem případě potřebujeme pouze názvy a identifikátory knih, takže to máme my pojďme si vybrat pomocí SELECT. Zároveň můžete sloupec přejmenovat pomocí AS.


Celý dotaz lze vizualizovat pomocí jednoduchého diagramu:


4. Připojení (spojení)

Nyní chceme vidět názvy (ne nutně jedinečné) všech knih Dana Browna, které byly vypůjčeny z knihovny, a kdy je třeba tyto knihy vrátit:


SELECT books.title AS "Title", výpůjčky.returndate AS "Datum vrácení" FROM výpůjček PŘIPOJIT knihy NA výpůjčky.bookid=books.bookid WHERE books.author="Dan Brown";

Výsledek:


Titul Datum návratu
Ztracený symbol 2016-03-23 00:00:00
Peklo 2016-04-13 00:00:00
Ztracený symbol 2016-04-19 00:00:00

Požadavek je z velké části podobný předchozímu kromě Z oddílů. To znamená, že dotazujeme se na data z jiné tabulky. Nemáme přístup ani k tabulce „knihy“, ani k tabulce „výpůjčky“. Místo toho se obracíme k nový stůl, který vznikl spojením těchto dvou tabulek.


výpůjčky JOIN books ON výpůjčky.bookid=books.bookid – považujte to za novou tabulku, která vznikla spojením všech záznamů z tabulek „knihy“ a „výpůjčky“, ve kterých jsou hodnoty bookid stejné. Výsledkem takového sloučení bude:



A pak se dotazujeme na tuto tabulku stejným způsobem jako v příkladu výše. To znamená, že při spojování stolů se musíte starat pouze o to, jak se připojit. A pak je žádost stejně jasná jako v případě „jednoduché žádosti“ z bodu 3.


Zkusme trochu složitější spojení se dvěma tabulkami.


Nyní chceme získat jména a příjmení lidí, kteří si z knihovny vzali knihy od autora „Dan Brown“.


Tentokrát půjdeme zdola nahoru:


Krok Krok 1- kde získáme data? Abychom získali výsledek, který potřebujeme, musíme spojit tabulky „člen“ a „knihy“ s tabulkou „výpůjčky“. Sekce JOIN bude vypadat takto:


výpůjčky PŘIPOJTE SE ke knihám ON výpůjčky.bookid=books.bookid PŘIPOJTE se ke členům ON members.memberid=výpůjčky.memberid

Výsledek spojení je vidět na odkazu.


Krok 2- jaké údaje zobrazujeme? Zajímají nás pouze údaje, kde je autorem knihy „Dan Brown“


WHERE books.author="Dan Brown"

Krok 3- jak zobrazujeme data? Nyní, když jsou data přijata, stačí zobrazit jména a příjmení těch, kteří si knihy vzali:


SELECT members.firstname AS "First Name", members.lastname AS "Last Name"

Super! Zbývá pouze zkombinovat tři komponenty a vytvořit požadavek, který potřebujeme:


SELECT members.firstname AS "First Name", members.lastname AS "Last Name" FROM výpůjčky JOIN books ON výpůjčky.bookid=books.bookid JOIN members ON members.memberid=borrowings.memberid WHERE books.author="Dan Brown";

Co nám dá:


Křestní jméno Příjmení
Mikrofon Willis
Ellen Horton
Ellen Horton

Velký! Jména se ale opakují (nejsou jedinečná). Brzy to napravíme.

5. Agregace

Zhruba řečeno, Agregace jsou potřeba k převodu více řádků do jednoho. Zároveň se při agregaci používá různá logika pro různé sloupce.


Pokračujme v našem příkladu, kde se objevují duplicitní jména. Je jasné, že Ellen Horton si vzala víc než jednu knihu, ale tohle není nejvíc nejlepší způsob ukázat tyto informace. Můžete podat další požadavek:


SELECT members.firstname AS "First Name", members.lastname AS "Last Name", count(*) AS "Počet vypůjčených knih" FROM výpůjček PŘIPOJIT knihy ON výpůjčky.bookid=books.bookid PŘIPOJIT členy ON members.memberid=výpůjčky .memberid WHERE books.author="Dan Brown" GROUP BY members.firstname, members.lastname;

Což nám dá požadovaný výsledek:


Křestní jméno Příjmení Počet vypůjčených knih
Mikrofon Willis 1
Ellen Horton 2

Téměř všechny agregace přicházejí s klauzulí GROUP BY. Tato věc změní tabulku, kterou lze získat dotazem, na skupiny tabulek. Každá skupina odpovídá jedinečné hodnotě (nebo skupině hodnot) sloupce, který jsme zadali v GROUP BY . V našem příkladu převedeme výsledek z předchozího cvičení do skupiny řádků. Provádíme také agregaci s count , která převede více řádků na celočíselnou hodnotu (v našem případě na počet řádků). Tento význam je pak přiřazen každé skupině.


Každý řádek ve výsledku představuje výsledek agregace každé skupiny.



Lze dospět k logickému závěru, že všechna pole ve výsledku by měla být buď specifikována v GROUP BY , nebo by na nich měla být provedena agregace. Protože všechna ostatní pole se od sebe mohou lišit různé linie, a pokud je vyberete SELECT "ohm, pak není jasné, který z nich možné hodnoty potřeba to vzít.


V příkladu výše funkce počítání zpracovali všechny řádky (protože jsme počítali počet řádků). Další funkce jako proces sum nebo max zadané linky. Pokud chceme například zjistit počet knih napsaných jednotlivými autory, potřebujeme následující dotaz:


VYBERTE autora, součet(zásob) FROM knih GROUP BY autora;

Výsledek:


autor součet
Robin Sharma 4
Dan Brown 6
John Green 3
Amish Tripathi 2

Zde součtová funkce zpracovává pouze sloupec akcií a vypočítává součet všech hodnot v každé skupině.

6. Dílčí dotazy


Poddotazy jsou běžné SQL dotazy vložené do větších dotazů. Jsou rozděleny do tří typů podle typu vráceného výsledku.

6.1 Dvourozměrná tabulka

Existují dotazy, které vracejí více sloupců. Dobrý příklad Toto je dotaz z předchozího agregačního cvičení. Protože se jedná o poddotaz, jednoduše vrátí jinou tabulku, proti které lze provádět nové dotazy. V návaznosti na předchozí cvičení, pokud chceme znát počet knih napsaných autorem „Robinem Sharmou“, pak jedna z možné způsoby- použijte poddotazy:


SELECT * FROM (VYBRAT autora, součet (zásob) FROM knih GROUP BY autora) AS results WHERE author="Robin Sharma";

Výsledek:



Lze napsat jako: ["Robin Sharma", "Dan Brown"]


2. Nyní tento výsledek použijeme v novém dotazu:


SELECT titul, bookid FROM knih WHERE autor IN (SELECT autora FROM (SELECT autora, suma(sklad) FROM knih GROUP BY autora) AS results WHERE sum > 3);

Výsledek:


titul bookid
Ztracený symbol 2
Kdo bude plakat, až zemřeš? 3
Peklo 4

Toto je stejné jako:


SELECT titul, bookid FROM books WHERE autor IN ("Robin Sharma", "Dan Brown");

6.3 Individuální hodnoty

Existují dotazy, jejichž výsledkem je pouze jeden řádek a jeden sloupec. Lze s nimi zacházet jako s konstantními hodnotami a lze je použít kdekoli, kde se hodnoty používají, například v porovnávacích operátorech. Mohou být také použity jako dvourozměrné tabulky nebo jednoprvková pole.


Pojďme si například získat informace o všech knihách, jejichž počet v knihovně přesahuje současný průměr.


Průměr lze získat takto:


vybrat avg(stock) z knih;

Co nám dává:


7. Operace zápisu

Většina operací zápisu do databáze je ve srovnání se složitějšími operacemi čtení poměrně jednoduchá.

7.1 Aktualizace

Syntax Žádost o AKTUALIZACI sémanticky stejné jako požadavek na čtení. Jediný rozdíl je v tom, že místo výběru sloupců pomocí SELECT nastavujeme znalost pomocí SET.


Pokud se ztratí všechny knihy Dana Browna, musíte hodnotu množství resetovat. Dotaz na to by byl:


AKTUALIZACE SADA knih zásob=0 WHERE autor="Dan Brown";

WHERE dělá to samé jako předtím: vybírá řádky. Místo SELECT, který jsme používali při čtení, nyní používáme SET. Nyní je však potřeba zadat nejen název sloupce, ale také novou hodnotu pro tento sloupec ve vybraných řádcích.


7.2 Smazat

Dotaz DELETE je jednoduše dotaz SELECT nebo UPDATE bez názvů sloupců. Vážně. Stejně jako u SELECT a UPDATE zůstává blok WHERE stejný: vybírá řádky, které mají být smazány. Operace odstranění zničí celý řádek, takže nemá smysl specifikovat jednotlivé sloupce. Pokud se tedy rozhodneme neresetovat počet knih Dana Browna, ale vymazat všechny záznamy úplně, můžeme podat následující požadavek:


VYMAZAT Z knih WHERE autor="Dan Brown";

7.3 Vložit

Snad jediná věc, která se liší od ostatních typů dotazů, je INSERT. Formát je:


INSERT INTO x (a,b,c) HODNOTY (x, y, z);

Kde a, b, c jsou názvy sloupců a x, y a z jsou hodnoty, které mají být vloženy do těchto sloupců, ve stejném pořadí. To je v podstatě vše.


Pojďme se na to podívat konkrétní příklad. Zde je dotaz INSERT, který vyplní celou tabulku „knihy“:


INSERT INTO books (bookid,title,author,published,stock) VALUES (1,"Scion of Ikshvaku","Amish Tripathi","06-22-2015",2), (2,"The Lost Symbol"," Dan Brown","07-22-2010",3), (3,"Kdo bude plakat, až zemřeš?","Robin Sharma","06-15-2006",4), (4,"Inferno" ,,Dan Brown","05-05-2014",3), (5,"The Fault in our Stars","John Green","01-03-2015",3);

8. Zkontrolujte

Došli jsme na konec, navrhuji malý test. Podívejte se na ten požadavek na samém začátku článku. Dokážete na to přijít? Zkuste to rozdělit do sekcí SELECT , FROM , WHERE , GROUP BY a zvažte jednotlivé komponenty poddotazy.


Tady je to v čitelnější podobě:


SELECT členy.křestní jméno || " " || members.lastname AS "Celé jméno" FROM výpůjček VNITŘNÍ JOIN členové ON members.memberid=výpůjčky.memberid INNER JOIN knihy ON books.bookid=výpůjčky.bookid WHERE výpůjčky.bookid IN (SELECT bookid FROM books WHERE stock> (SELECT avg(stock ) Z knih)) GROUP BY členové.křestní jméno, členové.příjmení;

Tento dotaz vrátí seznam lidí, kteří si rezervovali knihu z knihovny, jejíž celkový počet je nad průměrem.


Výsledek:


Celé jméno
Lída Tylerová

Doufám, že jste na to přišli bez problémů. Ale pokud ne, uvítám vaše komentáře a zpětnou vazbu, abych mohl tento příspěvek vylepšit.

Štítky: Přidat štítky

Norma jazyk SQL byl přijat v roce 1992 a používá se dodnes. Právě to se stalo pro mnohé standardem Samozřejmě, že někteří výrobci používají své vlastní výklady standardu. Ale každý systém má stále hlavní komponenty - příkazy SQL.

Zavedení

Pomocí příkazů SQL jsou spravovány hodnoty a tabulky a získávány pro další analýzu a zobrazení. Jedná se o sadu klíčových slov, pomocí kterých systém rozumí, co má s daty dělat.

Je definováno několik kategorií příkazů SQL:

  • definování databázových objektů;
  • manipulace s hodnotami;
  • ochrana a kontrola;
  • parametry relace;
  • informace o databázi;
  • statické SQL;
  • dynamické SQL.

SQL příkazy pro manipulaci s daty

VLOŽIT. Vloží řádky do existující tabulky. Může být použit pro jednu hodnotu nebo několik, definovaných určitou podmínkou. Například:

název tabulky (název sloupce 1, název sloupce 2)

HODNOTY(hodnota 1, hodnota 2).

Chcete-li použít příkaz INSERT pro více hodnot, použijte následující syntaxi:

název tabulky 1 (název sloupce 1, název sloupce 2)

SELECT název sloupce 1, název sloupce 2

Z názvu tabulky 2

WHERE název tabulky 2.název sloupce 1>2

Tento dotaz vybere všechna data z tabulky 2, která jsou větší než 2 ve sloupci 1, a vloží je do prvního.

AKTUALIZOVAT. Jak název napovídá, tento operátor SQL dotaz aktualizuje data v existující tabulce na základě konkrétního kritéria.

AKTUALIZACE názvu tabulky 1

SET název sloupce 2 = "Vasily"

WHERE název tabulky 1. název sloupce 1 = 1

Tato konstrukce vyplní hodnotou Vasily všechny řádky, ve kterých narazí na číslo 1 v prvním sloupci.

Údaje z tabulky. Můžete zadat podmínku nebo odstranit všechny řádky.

DELETE FROM název tabulky

WHERE název tabulky. název sloupce 1 = 1

Výše uvedený dotaz odstraní z databáze všechna data s hodnotou jedna v prvním sloupci. Zde je návod, jak vymazat celou tabulku:

příkaz SELECT

Hlavním účelem SELECT je výběr dat podle určitých podmínek. Výsledek jeho práce je vždy nový stůl s vybranými údaji. Operátor MS může být použit v řadě různých dotazů. Proto spolu s tím můžete zvážit další související klíčová slova.

Chcete-li vybrat všechna data z konkrétní tabulky, použijte znak „*“.

Z názvu tabulky 1

Výsledek práce této žádosti vůle přesná kopie tabulka 1.

A zde se provede výběr pomocí podmínky WHERE, která načte z tabulky 1 všechny hodnoty větší než 2 ve sloupci 1.

Z názvu tabulky 1

WHERE název tabulky 1. název sloupce 1 > 2

Ve výběru můžete také určit, že jsou potřeba pouze určité sloupce.

SELECT název tabulky 1. název sloupce 1

Z názvu tabulky 1

Výsledkem tohoto dotazu budou všechny řádky s hodnotami ze sloupce 1. Pomocí operátorů MS SQL si můžete vytvořit vlastní tabulku, nahrazovat, počítat a nahrazovat určité hodnoty za běhu.

název tabulky 1. název sloupce 1

název tabulky 1. název sloupce 2

název tabulky 1. název sloupce 3

název tabulky 1. název sloupce 2 * název tabulky 1. název sloupce 3 AS SUMMA

Z názvu tabulky 1

Tento zdánlivě složitý dotaz načte všechny hodnoty z tabulky 1 a poté vytvoří nové sloupce EQ a SUMMA. První je vyplněna znaménkem „+“ a druhá je součinem dat ze sloupců 2 a 3. Výsledek lze prezentovat ve formě tabulky, abyste pochopili, jak to funguje:

Při použití příkazu SELECT můžete data okamžitě třídit podle libovolného kritéria. K tomu slouží slovo ORDER BY.

název tabulky 1. název sloupce 1

název tabulky 1. název sloupce 2

název tabulky 1. název sloupce 3

Z názvu tabulky 1

ŘADIT PODLE názvu sloupce 2

Výsledná tabulka bude vypadat takto:

To znamená, že všechny řádky byly nastaveny v takovém pořadí, aby hodnoty ve sloupci 2 byly ve vzestupném pořadí.

Data lze také získat z několika tabulek. Pro přehlednost si nejprve musíte představit, že v databázi jsou dva, něco takového:

Tabulka "Zaměstnanci"

Tabulka "Plat"

Nyní musíte tyto dvě tabulky nějak propojit, abyste získali obecné hodnoty. Pomocí základních příkazů SQL to můžete provést takto:

Zaměstnanci.Počet

Zaměstnanci.Jméno

Plat. Sazba

Plat. Časově rozlišené

OD Zaměstnanců, Plat

KDE Zaměstnanci.Číslo = Mzda.Číslo

Zde je výběr ze dvou různé tabulky hodnoty kombinované číslem. Výsledkem bude následující soubor dat:

Trochu více o SELECT. Použití agregačních funkcí

Jeden z hlavních operátorů může při načítání provádět některé výpočty. K tomu používá určité funkce a vzorce.

Chcete-li například získat počet záznamů z tabulky Zaměstnanci, musíte použít dotaz:

VYBERTE POČET (*) JAKO N

OD ZAMĚSTNANCŮ

Výsledkem je tabulka s jednou hodnotou a sloupcem.

Můžete spustit dotaz takto a zjistit, co se stane:

SUMA(Plat. Naběhlý) JAKO SUMA

MAX.(Plat. Časově rozlišený) JAKO MAX

MIN (Mzd. Časově rozlišený) JAKO MIN

AVG (Plat. Časově rozlišený) JAKO SRED

OD Mzd

Finálový stůl bude vypadat takto:

Takto můžete vybírat z databáze požadované hodnoty, provádění výpočtů různých funkcí za běhu.

Spojení, průnik a rozdíly

Kombinujte více dotazů v SQL

VYBERTE zaměstnance.Jméno

OD ZAMĚSTNANCŮ

KDE Zaměstnanci. Počet = 1

VYBERTE zaměstnance.Jméno

OD Zaměstnanců, Plat

KDE Mzda.Číslo = 1

Je třeba mít na paměti, že při takovém spojení musí být tabulky kompatibilní. To znamená mít stejný počet sloupců.

Syntaxe příkazu SELECT a pořadí zpracování

První věc, kterou SELECT udělá, je určit oblast, ze které bude brát data. K tomu slouží klíčové slovo FROM. Pokud není uvedeno, co přesně vybrat.

Pak může být přítomna klauzule SQL WHERE. S jeho pomocí SELECT projde všechny řádky tabulky a zkontroluje, zda data splňují podmínku.

Pokud dotaz obsahuje GROUP BY, pak jsou hodnoty seskupeny podle zadaných parametrů.

Operátory pro porovnávání dat

Existuje několik typů. V SQL příkazy srovnání lze ověřit různé typy hodnoty.

    "="." Označuje, jak asi tušíte, rovnost dvou výrazů. Například již bylo použito v příkladech výše - WHERE Plat.Číslo = 1.

    ">". Více znamení. Pokud je hodnota levé strany výrazu větší, vrátí se logická TRUE a podmínka se považuje za splněnou.

    «<». Знак меньше. Обратный предыдущему оператор.

    Znamení"<=» и «>= = Od jednoduchých více a méně operátorů se liší tím, že pokud jsou operandy stejné, podmínka bude také pravdivá.

JAKO

Toto klíčové slovo lze přeložit jako „podobné“. Operátor LIKE v SQL se používá přibližně stejně – provádí dotaz na základě šablony. To znamená, že umožňuje rozšířit výběr dat z databáze pomocí regulárních výrazů.

Například byl stanoven následující úkol: z již známé databáze „Zaměstnanci“ získat všechny lidi, jejichž jméno končí na „I“. Poté lze dotaz napsat takto:

OD ZAMĚSTNANCŮ

WHERE Název LIKE `%i`

Znak procenta v tomto případě znamená masku, tedy libovolný znak a jeho počet. A podle písmene „I“ SQL určí, že poslední znak by měl být přesně takový.

VĚC

Tento příkaz SQL Server je implementací vícenásobného výběru. Připomíná konstrukci přepínače v mnoha programovacích jazycích. Příkaz CASE v SQL provede akci na základě několika podmínek.

Například musíte vybrat maximální a minimální hodnoty z tabulky „Plat“.

Potom lze dotaz napsat takto:

OD Mzd

V PŘÍPADĚ, KDYŽ VYBERTE MAX(Accrued) TAK Maximum

KDYŽ ZVOLÍTE MIN (Accrued), PAK MINIMUM

V této souvislosti systém hledá maximální a minimální hodnotu ve sloupci Accrued. Poté se pomocí END vytvoří pole „celkem“, do kterého se zadá „Maximum“ nebo „Minimum“ v závislosti na výsledku podmínky.

Mimochodem, SQL má i kompaktnější formu CASE - COALESCE.

Operátoři definice dat

Toto zobrazení umožňuje provádět různé úpravy tabulek – vytváření, mazání, úpravy a práci s indexy.

První, který stojí za zvážení, je CREATE TABLE. Nedělá nic jiného, ​​než že vytváří tabulku. Pokud jednoduše zadáte dotaz CREATE TABLE, nic se nestane, protože ještě musíte zadat několik parametrů.

Chcete-li například vytvořit již známou tabulku „Zaměstnanci“, musíte použít příkazy:

VYTVOŘIT TABULKU Zaměstnanci

(Číslo (10) NOT NULL

Název varchar(50) NOT NULL

Příjmení varchar(50) NOT NULL)

V tomto dotazu jsou názvy polí a jejich typy okamžitě určeny v závorkách a také to, zda se může rovnat NULL.

DOP STŮL

Provede jeden jednoduchý úkol – shodí zadanou tabulku. Má další parametr IF EXISTS. Pokud tabulka, kterou hledáte, neexistuje, absorbuje chybu drop. Příklad použití:

DROP TABLE Zaměstnanci, POKUD EXISTUJE.

VYTVOŘIT INDEX

SQL má indexový systém, který umožňuje urychlit přístup k datům. Obecně se jedná o odkaz, který ukazuje na konkrétní sloupec. Můžete vytvořit index jednoduchá žádost:

CREATE INDEX index_name

ON název_tabulky(název_sloupce)

Tento operátor se používá v T-SQL, Oracle, PL SQL a mnoha dalších interpretačních technologiích.

ALTER TABULKA

Velmi funkční operátor s mnoha možnostmi. Obecně mění strukturu, definici a umístění tabulek. Používaný operátor v Oracle SQL, Postgres a mnoha dalších.

    PŘIDAT. Přidá sloupec do tabulky. Jeho syntaxe je následující: ALTER TABLE název_tabulky ADD název_sloupce uložený_datový_typ. Může mít možnost IF NOT EXISTS pro potlačení chyby, pokud vytvářený sloupec již existuje;

    POKLES. Odstraní sloupec. Má také klíč IF EXISTS, bez kterého bude vygenerována chyba indikující, že chybí požadovaný sloupec;

    PŘEMĚNA. Slouží k přejmenování názvu pole na zadaný. Příklad použití: ALTER TABLE název_tabulky CHANGE staré_jméno nové_jméno;

    UPRAVIT. Tento příkaz vám pomůže změnit typ a další atributy určitého sloupce. A používá se takto: ALTER TABLE název_tabulky MODIFY název_sloupce atributy_typu dat;

VYTVOŘIT ZOBRAZENÍ

V SQL existuje něco jako pohled. Ve zkratce jde o jakousi virtuální tabulku s daty. Je vytvořen jako výsledek výběru pomocí příkazu SQL SELECT. Pohledy mohou omezit přístup k databázi, skrýt je a nahradit skutečné názvy sloupců.

Proces vytváření probíhá pomocí jednoduchého požadavku:

CREATE VIEW view name AS SELECT FROM * table name

Vzorkování může probíhat buď z celé databáze, nebo na základě nějaké podmínky.

Něco málo o funkcích

SQL dotazy velmi často využívají různé vestavěné funkce, které umožňují interakci s daty a jejich transformaci za běhu. Stojí za to o nich uvažovat, protože tvoří nedílnou součást strukturovaného jazyka.

    POČÍTAT. Počítá záznamy nebo řádky v konkrétní tabulce. Jako parametr můžete zadat název sloupce, pak se z něj budou brát data. VYBRAT POČET * OD zaměstnanců;

    AVG. Platí pouze pro sloupce s číselnými údaji. Jeho výsledkem je stanovení aritmetického průměru všech hodnot;

    MIN a MAX. Tyto funkce již byly použity v tomto článku. Určují maximální a minimální hodnoty ze zadaného sloupce;

    SOUČET. Je to jednoduché – funkce vypočítá součet hodnot sloupců. Platí výhradně pro číselná data. Přidáním parametru DISTINCT do dotazu budou sečteny pouze jedinečné hodnoty;

    KOLO. Funkce pro zaokrouhlování desetinných zlomků. Syntaxe používá název sloupce a počet desetinných míst;

    LEN. Jednoduchá funkce, která vypočítá délku hodnot sloupce. Výsledkem bude nová tabulka udávající počet znaků;

    TEĎ. Toto klíčové slovo se používá k výpočtu aktuálního data a času.

Další operátoři

Mnoho příkladů příkazů SQL má klíčová slova, která provádějí malé úkoly, ale stále výrazně zjednodušují vyhledávání nebo manipulaci s databází.

    AS. Používá se, když potřebujete vizuálně zformátovat výsledek přiřazením zadaného názvu výsledné tabulce.

    MEZI. Velmi pohodlný nástroj pro vzorkování. Určuje rozsah hodnot, mezi kterými mají být data načtena. Jako vstup bere parametr od a do jakého čísla se rozsah používá;.

    NE. Operátor dává opak výrazu.

    ZKRÁTIT. Odstraní data ze zadané části databáze. Od podobných operátorů se liší tím, že po použití nelze data obnovit. Stojí za zvážení, že implementace tohoto klíčového slova v různých interpretacích SQL se může lišit. Než se tedy pokusíte použít TRUNCATE, je lepší si přečíst informace nápovědy.

    OMEZIT. Nastaví počet řádků na výstup. Zvláštností operátoru je, že je umístěn vždy na konci. Přijímá jeden požadovaný parametr a jeden volitelný. První určuje, kolik řádků vybraných dat se má zobrazit. A pokud je použit druhý, pak operátor pracuje jako pro rozsah hodnot.

    UNIE. Velmi pohodlný operátor pro kombinování více dotazů. To již bylo nalezeno mezi příklady v tomto článku. Můžete zobrazit požadované řádky z několika tabulek jejich kombinací s UNION pro pohodlnější použití. Jeho syntaxe je následující: SELECT název_sloupce FROM název_tabulky UNION SELECT název_jiného_sloupce FROM název_jiné_tabulky. Výsledkem je kontingenční tabulka s kombinovanými dotazy.

    PRIMÁRNÍ KLÍČ. Přeloženo jako „primární klíč“. Ve skutečnosti je to přesně terminologie používaná v referenčních materiálech. Znamená to jedinečný identifikátor řádku. Používá se zpravidla při vytváření tabulky k označení pole, které ji bude obsahovat.

    VÝCHOZÍ. Stejně jako předchozí operátor se používá při provádění požadavku na vytvoření. Definuje výchozí hodnotu, kterou bude pole vyplněno při jeho vytvoření.

    NULL. Začátečníci a nejen programátoři při psaní dotazů velmi často zapomínají na možnost získání hodnoty NULL. V důsledku toho se do kódu vloudí chyba, kterou je při ladění obtížné dohledat. Při vytváření tabulek, výběru nebo přepočítávání hodnot je tedy potřeba se zastavit a zamyslet se nad tím, zda se počítá s výskytem NULL v této části dotazu.

    Paměť. Tento článek ukázal několik funkcí, které mohou provádět některé úkoly. Při vývoji shellu pro práci s databází můžete zadat výpočet jednoduchých výrazů systému správy databází. V některých případech to vede k výraznému zvýšení výkonu.

    Omezení. Pokud potřebujete získat pouze dva řádky z databáze s tisíci řádky, měli byste použít operátory jako LIMIT nebo TOP. Není potřeba extrahovat data pomocí vývojového jazyka shellu.

    Sloučenina. Po přijetí dat z několika tabulek je mnoho programátorů začne spojovat pomocí paměti shellu. Ale proč? Koneckonců, můžete vytvořit jednu žádost, ve které bude toto vše přítomno. Není třeba psát další kód a rezervovat další paměť v systému.

    Řazení. Pokud je možné použít řazení v dotazu, tedy pomocí DBMS, musíte jej použít. To vám umožní výrazně ušetřit prostředky při spuštění programu nebo služby.

    Spousta žádostí. Pokud musíte vkládat mnoho záznamů postupně, pak pro optimalizaci byste měli přemýšlet o dávkovém vkládání dat s jedním požadavkem. Tím se také zvýší výkon celého systému jako celku.

    Promyšlené umístění dat. Před sestavením struktury databáze je třeba se zamyslet nad tím, zda je tolik tabulek a polí potřeba. Možná existuje způsob, jak je zkombinovat nebo některé vyřadit. Programátoři velmi často používají nadměrné množství dat, které nikdy nikde nevyužijí.

    Typy. Chcete-li ušetřit místo a zdroje, musíte být citliví na typy dat, která používáte. Pokud je možné použít typ, který je méně „těžký“ na paměť, měli byste jej použít. Pokud například víte, že číselná hodnota v daném poli nepřesáhne 255, proč tedy používat 4bajtový INT, když existuje 1bajtový TINYINT.

Závěr

Na závěr je třeba poznamenat, že strukturovaný dotazovací jazyk SQL se dnes používá téměř všude – webové stránky, webové služby, PC programy, aplikace pro mobilní zařízení. Znalost SQL tedy pomůže všem odvětvím vývoje.

Úpravy původní jazykové normy se však někdy navzájem liší. Například příkazy PL SQL mohou mít jinou syntaxi než v SQL Server. Než se tedy pustíte do vývoje s touto technologií, vyplatí se přečíst si tutoriály o ní.

V budoucnu je nepravděpodobné, že by se objevily analogy, které by mohly překonat SQL ve funkčnosti a výkonu, takže tato oblast je poměrně slibným místem pro každého programátora.

Odeslání vaší dobré práce do znalostní báze je snadné. Použijte níže uvedený formulář

Studenti, postgraduální studenti, mladí vědci, kteří využívají znalostní základnu ve svém studiu a práci, vám budou velmi vděční.

Plán

Úvod……………………………………………………………………………………………………………… 3

Kapitola I. Teoretické informace o dotazovacím jazyce SQL………………………………..4

1.1. Koncept relační databáze………………………………..………………4

1.2. Koncepce jazyka SQL………………………………………………………………...10

1.3. Interaktivní a vnořené SQL………………………………………………….12

1.4. SQL pododdělení ……………………………………………………………………… 13

1.5. Datové typy………………………………………………………...….13

1.6. Nekonzistence SQL…………………………………………………………………...... 16

Kapitola II. Použití SQL k načtení informací………………18

2.1. Vytvoření požadavku………………………………………………………………... 18

2.2. Příkaz SELECT……………………………………………………………………….19

2.3. DISTINCT příkaz ………………………………………………………………………… 22

2.4. Návrhy týmů………………………………………………………….24

Závěr………………………………………………………………………...…..27

Seznam referencí………………………………………………………..…….28

Zavedení

Většina moderních DBMS je postavena na relačním datovém modelu. Pro získání informací z databázových vztahů (tabulek) se jako jazyk pro manipulaci s daty teoreticky používají tři abstraktní jazyky: jazyk relační algebry; jazyk relačního kalkulu na nicích; doménový relační kalkulový jazyk.

Jako praktický jazyk pro práci s daty vyvinula IBM v polovině 70. let strukturovaný dotazovací jazyk SQL, který se později stal de-facto standardem při práci s databázemi. Současný přechod na velké podnikové DBMS, jako jsou Oracle, Informix, Sybase, DB2, Progress, činí studium jazyka SQL relevantním jak z praktického hlediska, tak čistě teoreticky, protože prvky jazyka SQL jsou založeny na ustanoveních teorie vztahy, teorie množin a logika.

Cílem práce v kurzu je analyzovat možnosti jazyka SQL.

K dosažení tohoto cíle je nutné vyřešit následující úkoly:

· Studium literatury k tématu;

· Přezkoumat strukturu SQL;

· Definovat specifikaci jazyka a standardy;

· Naučte se používat SQL pro vyhledávání informací.

Kapitola. Teorie dotazovacího jazykaSQL

1.1. Koncepce relační databáze

SQL (běžně vyslovované „Pokračování“) znamená Structured Query Language. Je to jazyk, který umožňuje pracovat v relačních databázích, což jsou kolekce souvisejících informací uložených v tabulkách.

Svět databází se stále více sjednocuje, což vedlo k potřebě vytvořit standardní jazyk, který lze použít pro fungování ve velkém množství různých typů počítačových prostředí. Standardní jazyk umožní uživatelům, kteří znají jednu sadu příkazů, používat je k vytváření, vyhledávání, úpravě a sdělování informací, ať už pracují na osobním počítači, síťové pracovní stanici nebo sálovém počítači.

V našem stále více propojeném počítačovém světě má uživatel vybavený takovým jazykem obrovskou výhodu v používání a shrnutí informací z celé řady zdrojů mnoha způsoby.

Jeho elegance a nezávislost na počítačové technologii, stejně jako jeho podpora od předních výrobců v technologii relačních databází, učinily SQL, a pravděpodobně v dohledné budoucnosti zůstane, dominantním standardním jazykem. Z tohoto důvodu každý, kdo chce pracovat s databázemi z 90. let, musí znát SQL.

Standard SQL je definován ANSI (American National Standards Institute) a v současné době je také přijat ISO (International Organization for Standardization). Většina komerčních databázových programů však rozšiřuje SQL bez upozornění ANSI a přidává do jazyka různé další funkce, o kterých se domnívají, že budou velmi užitečné. Někdy poněkud porušují standard jazyka, ačkoli dobré nápady mají tendenci se rozvíjet a brzy se samy o sobě stanou „tržními“ standardy kvůli své užitečnosti.

Relační databáze je soubor souvisejících informací uložených ve dvourozměrných tabulkách. Připomíná mi adresu nebo telefonní seznam. Kniha má velké množství záznamů, z nichž každý odpovídá určitému rysu. Pro každou takovou funkci může existovat několik nezávislých údajů, jako je jméno, telefonní číslo a adresa. Předpokládejme, že jste tento adresář naformátovali jako tabulku s řádky a sloupci. Každý řádek (nazývaný také záznam) bude odpovídat určitému prvku; každý sloupec bude obsahovat hodnotu pro každý typ dat – jméno, telefonní číslo a adresu zastoupené v každém řádku. Adresář může vypadat takto:

Výsledkem je základ relační databáze – konkrétně dvourozměrné (řádkové a sloupcové) tabulky informací. Relační databáze se však zřídka skládají z jediné tabulky. Taková tabulka je menší než souborový systém. Vytvořením více tabulek souvisejících informací můžete s daty provádět složitější a výkonnější operace. Síla databáze závisí na vztazích, které lze vytvořit mezi informacemi, nikoli na informacích jako takových.

Na příkladu adresáře můžeme začít diskutovat o databázi, kterou lze skutečně použít v obchodní situaci. Předpokládejme, že postavy v první tabulce (adresáři) jsou nemocniční pacienti. V jiné tabulce jsme si mohli vzpomenout na další informace o těchto pacientech. Sloupce druhé tabulky mohou být označeny jako Pacient, Lékař, Pojištění a Zůstatek.

Extrahováním informací z těchto tabulek podle specifikovaných parametrů lze provádět mnoho výkonných funkcí, zejména pokud tyto parametry obsahují části informací, které se vzájemně vztahují v různých tabulkách. Vezměme si například lékaře. Řekněme, že doktor Halben chtěl získat telefonní čísla všech svých pacientů. K získání těchto informací mohl propojit tabulku telefonních čísel pacientů (z adresáře) s tabulkou, která by ukazovala, který pacient je jeho. Ačkoli v tomto jednoduchém příkladu by to mohl mít na paměti a okamžitě získat telefonní čísla pacientů Grilleta a Brocka, tyto tabulky mohou být příliš velké a příliš složité. Relační databázové programy byly vyvinuty pro zpracování velkých a komplexních kolekcí tohoto typu dat, což je zjevně univerzálnější metoda v obchodním světě. I kdyby databáze nemocnice obsahovala stovky nebo tisíce jmen – jak je to v praxi pravděpodobné – jeden příkaz SQL by mohl poskytnout doktoru Halbenovi potřebné informace téměř okamžitě.

Aby byla zachována maximální flexibilita, řádky tabulky by podle definice neměly být v žádném konkrétním pořadí. Z tohoto pohledu se zde struktura databáze liší od našeho adresáře. Položky adresáře jsou obvykle uspořádány abecedně. V systémech relačních databází je jednou z výkonných funkcí pro uživatele schopnost organizovat informace tak, aby je mohli získat.

Podívejme se na druhou tabulku. Někdy je nutné vidět tyto informace uspořádané abecedně podle jména, někdy ve vzestupném nebo sestupném pořadí a někdy seskupené podle konkrétního lékaře. Vložení nastaveného pořadí do řádků naruší schopnost zákazníka jej změnit, takže řádky jsou vždy považovány za neuspořádané. Z tohoto důvodu nemůžete jednoduše říci: "Chceme se podívat na pátý řádek tabulky." Když zanedbáme pořadí, ve kterém byla data zadána, nebo jakékoli jiné kritérium, určíme nesprávný řádek, i když ano. být pátý. Řádky tabulky, které jsou zkoumány, nebudou v žádném konkrétním pořadí.

Z těchto a dalších důvodů musíte mít v tabulce sloupec, který jednoznačně identifikuje každý řádek. Tento sloupec obvykle obsahuje číslo – například číslo pacienta přiřazené každému pacientovi. Samozřejmě můžete použít jméno pacientů, ale je možné, že existuje několik Mary Smiths; a v tomto případě nebudete mít žádný jiný způsob, jak tyto pacienty od sebe odlišit.

Proto jsou čísla tak nezbytná. Takový jedinečný sloupec (nebo jedinečná skupina sloupců) používaný k identifikaci každého řádku a ukládání všech řádků odděleně se nazývá primární klíče tabulky.

Primární klíče tabulky jsou důležitým prvkem ve struktuře databáze. Jsou základem vašeho systému nahrávání souborů; a když chcete najít konkrétní řádek v tabulce, odkazujete na tento primární klíč. Primární klíče navíc zajišťují, že vaše data mají určitou integritu. Pokud je primární klíč správně používán a udržován, budete vědět, že v tabulce nejsou žádné prázdné řádky a že každý řádek se liší od všech ostatních.

Na rozdíl od řádků jsou sloupce tabulky (také nazývané pole) uspořádány a pojmenovány. V naší tabulce adresáře je tedy možné ukázat na „adresu sloupce“ nebo na „sloupec 3“. To samozřejmě znamená, že každý sloupec v dané tabulce musí mít jedinečný název, aby se předešlo nejednoznačnosti. Nejlepší je, když tyto názvy označují obsah pole.

Tabulky 1.1, 1.2 a 1.3 tvoří relační databázi, která je minimálně dostatečná pro snadné sledování a dostatečně obsáhlá, aby ilustrovala klíčové koncepty a postupy SQL.

První sloupec každé tabulky obsahuje čísla, jejichž hodnoty se pro každý řádek liší. Toto jsou primární klíče tabulek. Některá z těchto čísel jsou také uvedena ve sloupcích jiných tabulek. Na tom není nic špatného. Zobrazují vztah mezi řádky, které používají hodnotu z primárního klíče, a řádky, kde je tato hodnota použita v samotném primárním klíči.

Tabulka 1.1 - Prodejci

Tabulka 1.2 - Zákazníci

Tabulka 1.3 - Objednávky

Například pole snum v tabulce Zákazníci označuje prodejce, kterému je tento zákazník přiřazen. Číslo pole snum je spojeno s tabulkou Dodavatelé, která poskytuje informace o těchto dodavatelích. Je zřejmé, že dodavatel, kterému jsou přiřazeni zákazníci, již musí existovat – to znamená, že hodnota snum z tabulky Zákazníci musí být přítomna také v tabulce Dodavatelé. Pokud je tomu tak, pak se systém nazývá „ve stavu referenční integrity“

Podívejme se na tyto tři tabulky a jejich hodnoty polí.

Zde jsou uvedeny sloupce tabulky 1.1

Tabulka 1.2 obsahuje následující sloupce:

A v tabulce 1.3 jsou sloupce:

1.2. KoncepceSQL-jazyk

SQL je jazyk navržený speciálně pro relační databáze. Odstraňuje spoustu práce, kterou byste museli dělat, pokud byste používali programovací jazyk pro obecné použití, jako je C. Chcete-li vytvořit relační databázi v C, musíte začít od začátku. Museli byste definovat objekt – nazvaný tabulka – který by mohl narůst tak, aby měl libovolný počet řádků, a poté vytvořit přírůstkové procedury pro vkládání hodnot a získávání hodnot z něj. Pokud byste chtěli najít nějaké konkrétní řetězce, budete muset postupovat krok za krokem, jako je tento:

Zvažte řádek tabulky.

Zkontrolujte, zda je tento řetězec jedním z řetězců, které potřebujete.

Pokud ano, uložte jej někam, dokud nebude zkontrolována celá tabulka.

Zkontrolujte, zda v tabulce nejsou další řádky.

Pokud existují, vraťte se ke kroku 1.

Pokud neexistují žádné další řádky, vytiskněte všechny hodnoty uložené v kroku 3.

(Samozřejmě se nejedná o skutečnou sadu příkazů C, ale pouze o logiku kroků, které by obsahoval skutečný program). SQL toto vše zachrání. Příkazy v SQL mohou pracovat se všemi skupinami tabulek jako jeden objekt a mohou zpracovávat jakékoli množství informací extrahovaných nebo odvozených z nich jako jeden modul.

Standard SQL je definován pomocí kódu ANSI (American National Standards Institute). SQL nebyl vynalezen ANSI. Je to v podstatě vynález IBM. Poté, co se na trhu objevila řada konkurenčních SQL programů, ANSI definovala standard, kterému by měly být přizpůsobeny (definování takových standardů je funkcí ANSI).

Po tomto se však objevily určité problémy. Vznikly v důsledku standardizace ANSI v podobě určitých omezení. Protože ANSI ne vždy určuje, co je nejužitečnější, programy se snaží vyhovět standardu ANSI, aniž by jim to umožnilo příliš je omezovat. To zase vede k náhodným nesrovnalostem. Databázové programy obvykle poskytují ANSI SQL další funkce a často uvolňují mnohá omezení většiny z nich.

SQL má určité speciální termíny, které se používají k jeho popisu. Mezi nimi jsou slova jako dotaz, klauzule a predikát, která jsou nejdůležitější pro popis a pochopení jazyka, ale pro SQL neznamenají nic nezávislého.

Příkazy nebo příkazy jsou instrukce, které používáme pro přístup k databázi SQL. Příkazy se skládají z jedné nebo více samostatných logických částí nazývaných klauzule. Věty začínají klíčovým slovem, pro které jsou pojmenovány, a skládají se z klíčových slov a argumentů. Příklady klauzulí, se kterými se můžeme setkat, jsou „FROM Salespeople“ a „WHERE city = „Londýn“.

Argumenty doplňují nebo mění význam věty. Ve výše uvedených příkladech je argument Prodejci a klíčové slovo FROM klauzule FROM.

Podobně, "city = "Londýn"" je argument klauzule WHERE. Objekty jsou struktury v databázi, které jsou pojmenovány a uloženy v paměti.

Patří mezi ně základní tabulky, pohledy (dva typy tabulek) a indexy.

1.3. Interaktivní a vnořenéSQL

Existují dva SQL: Interactive a Nested. Z velké části fungují obě formy stejně, ale používají se odlišně. Interaktivní SQL se používá ke spuštění přímo v databázi a vytváří výstup pro použití zákazníkem. V této formě SQL, když zadáte příkaz, bude okamžitě proveden a budete moci vidět výstup (pokud existuje) - okamžitě.

Vnořené SQL se skládá z příkazů SQL umístěných uvnitř programů, které jsou obvykle napsány v nějakém jiném jazyce (jako je COBOL nebo Pascal).

Díky tomu jsou tyto programy výkonnější a efektivnější. Povolení těchto jazyků však přichází se strukturou SQL a stylem správy dat, který vyžaduje některá rozšíření interaktivního SQL. Předávání příkazů SQL do vnořených příkazů SQL se „předává“ pro proměnné nebo parametry používané programem, ve kterém byly vnořeny.

1.4. PododděleníSQL

V interaktivní i vnořené formě SQL existuje mnoho částí nebo pododdělení.

Bohužel se tyto termíny nepoužívají univerzálně ve všech implementacích. Jsou zdůrazněny ANSI a jsou užitečné na koncepční úrovni, ale většina programů SQL je málo zpracovává odděleně, takže se v podstatě stávají funkčními kategoriemi příkazů SQL.

DDL (Data Definition Language) - tzv. Schema Description Language v ANSI, sestává z příkazů, které vytvářejí objekty (tabulky, indexy, pohledy atd.) v databázi.

DML (Data Manipulation Language) je sada příkazů, které určují, jaké hodnoty jsou v tabulkách v daném okamžiku reprezentovány.

DCD (Data Control Language) se skládá z nástrojů, které určují, zda povolit uživateli provádět určité akce nebo ne. Jsou součástí ANSI DDL. Nejedná se o různé jazyky, ale o části příkazů SQL seskupené podle jejich funkcí.

1.5. Typy dat

Ne všechny typy hodnot, které mohou obsadit pole tabulky, jsou logicky stejné. Nejviditelnější rozdíl je mezi čísly a textem. Nemůžete seřadit čísla v abecedním pořadí ani odečíst jedno jméno od druhého. Vzhledem k tomu, že relační databázové systémy jsou založeny na vztazích mezi částmi informací, musí být různé typy dat od sebe jasně odlišitelné, aby mezi nimi bylo možné provádět vhodné procesy a srovnání.

V SQL se to dělá tak, že každému poli je přiřazen datový typ, který označuje typ hodnoty, kterou může pole obsahovat.

Všechny hodnoty v tomto poli musí být stejného typu. V tabulce Zákazníci například cname a město obsahují řádky textu pro hodnocení, snum a cnum jsou již čísla. Z tohoto důvodu nemůžete zadat hodnotu Nejvyšší nebo Žádná do pole hodnocení, které má číselný datový typ. Toto omezení je dobré, protože ukládá vašim datům určitou strukturu. Často budete porovnávat některé nebo všechny hodnoty v daném poli, takže možná budete chtít provést akci pouze na určitých řádcích, nikoli na všech. To byste nemohli udělat, pokud byly hodnoty polí smíšeného datového typu.

Bohužel, definování těchto datových typů je hlavní oblastí, kde většina komerčních databázových programů a oficiální SQL standard ne vždy souhlasí. Standard ANSI SQL rozpoznává pouze textové a číselné typy, zatímco většina komerčních programů používá jiné speciální typy. Jako DATA a TIME jsou ve skutečnosti téměř standardní typy (ačkoli jejich přesný formát se liší). Některé balíčky také podporují typy jako MONEY a BINARY. (PENÍZE jsou speciální číselný systém používaný počítači. Veškeré informace v počítači jsou přenášeny v binárních číslech a následně převedeny do jiných systémů, abychom je mohli snadno používat a rozumět jim).

ANSI definuje několik různých typů číselných hodnot, rozdíly mezi nimi jsou velmi jemné a někdy matoucí.

Složitost numerických typů ANSI lze přičíst, alespoň částečně, snaze učinit vnořené SQL kompatibilní s řadou dalších jazyků.

Dva typy čísel ANSI, INTEGER a DECIMAL (které lze zkrátit jako INT a DEC, v tomto pořadí), budou adekvátní pro naše účely, stejně jako pro účely většiny praktických obchodních aplikací. Typ INTEGER lze přirozeně reprezentovat jako DESETINNÉ ČÍSLO, které napravo od desetinné čárky neobsahuje žádné číslice.

Typ textu je CHAR (nebo CHAR), který odkazuje na řetězec textu. Pole CHAR má specifickou délku, která je určena maximálním počtem znaků, které lze do pole zadat.

Většina implementací má také nestandardní typ nazývaný VARCHAR, což je textový řetězec, který může mít libovolnou délku až do maxima definovaného implementací (obvykle 254 znaků). Hodnoty CHARACTER a VARCHAR jsou uvedeny v jednoduchých uvozovkách jako „text“. Rozdíl mezi CHAR a VARCHAR je ten, že CHAR musí vyhradit dostatek paměti pro maximální délku řetězce, zatímco VARCHAR přiděluje paměť podle potřeby.

Typy znaků se skládají ze všech tisknutelných znaků, včetně čísel.

Číslo 1 však není totožné se znakem „1“. Znak "1" je jen další vytištěný text, který systém nezjistí jako s číselnou hodnotou 1.

Například 1 + 1 = 2, ale "1" + "1" se nerovná "2".

Hodnoty znaků jsou uloženy v počítači jako binární hodnoty, ale uživateli se zobrazují jako tištěný text. Převod se řídí formátem určeným systémem, který používáte. Tento převodní formát bude jedním ze dvou standardních typů (možná s rozšířeními) používaných v počítačových systémech: kód ASCII (používaný ve všech osobních a malých počítačích) a kód EBCDIC (používaný ve velkých počítačích). Určité operace, jako je abecední řazení hodnot polí, se změní s formátem.

1.6. SQLnesrovnalosti

V rámci produktů světa SQL existují nezávislé nekonzistence. SQL se vynořil z komerčního databázového světa jako nástroj a později byl vyvinut do standardu ANSI. Bohužel ANSI ne vždy určuje největší přínos, takže programy se snaží vyhovět standardu ANSI, aniž by jim to umožnilo je příliš omezovat. ANSI je jakýmsi minimálním standardem – můžete dělat více, než vám umožňuje, ale musíte být schopni dosáhnout stejných výsledků jako při provádění stejného úkolu.

SQL se obvykle vyskytuje na počítačových systémech, které mají více než jednoho uživatele, a proto je třeba mezi nimi rozlišovat. Typicky má v takovém systému každý uživatel nějaký druh ověřovacího kódu práv, který ho identifikuje (terminologie se liší). Na začátku relace s počítačem se uživatel přihlásí (zaregistruje) tak, že počítači sdělí, kdo je uživatel, identifikován konkrétním ID. Libovolný počet lidí používajících stejné přístupové ID jsou samostatní uživatelé; a podobně může jedna osoba zastupovat velký počet uživatelů (v různých časech) pomocí různých dostupných identifikátorů.

SQL následuje. Akce ve většině prostředí SQL jsou přetypovány na speciální přístupný identifikátor, který přesně odpovídá konkrétnímu uživateli. Tabulku nebo jiný objekt vlastní uživatel, který nad ním má plnou kontrolu. Uživatel může nebo nemusí mít oprávnění k provedení akce s objektem.

Jako argument v příkazu lze použít speciální hodnotu USER. Označuje dostupné ID uživatele zadávajícího příkaz.

Závěry kapitoly :

První kapitola představila koncept relační databáze. Také jsme se naučili některé základní principy o tom, jak se vytvářejí tabulky – jak fungují řádky a sloupce, jak primární klíče navzájem rozlišují řádky a jak mohou sloupce odkazovat na hodnoty v jiných sloupcích. Definovali jsme, že záznam je synonymem pro řádek a pole je synonymem pro sloupec. Podívali jsme se na ukázkové tabulky. Krátké a jednoduché, jsou schopny ukázat většinu funkcí jazyka.

Byl také uveden koncept jazyka SQL, některé jeho konvence a termíny, byla zvážena jeho struktura, použití jazyka SQL, poskytování dat a jejich definice (a některé nesrovnalosti, které se v tomto případě objevují).

KapitolaII. Použití jazykaSQLextrahovat informace z tabulek

2.1. Vytvořte žádost

SQL je zkratka pro Structured Query Language. Dotazy jsou pravděpodobně nejčastěji používaným aspektem SQL. Ve skutečnosti je pro kategorii uživatelů SQL nepravděpodobné, že by někdo jazyk používal k něčemu jinému. Z tohoto důvodu začneme diskusi o SQL diskuzí o dotazu a o tom, jak se v tomto jazyce provádí.

Dotaz je příkaz zadaný vašemu databázovému programu, který mu říká, aby zobrazil určité informace z tabulek do paměti. Tyto informace jsou obvykle odesílány přímo na obrazovku počítače nebo terminálu, i když ve většině případů mohou být také odeslány na tiskárnu, uloženy do souboru (jako objekt v paměti počítače) nebo poskytnuty jako vstup pro jiný příkaz nebo proces.

Dotazy jsou obecně považovány za součást jazyka DML. Protože však dotaz nemění informace v tabulkách, ale pouze je zobrazuje uživateli, budeme dotazy považovat za samostatnou kategorii mezi příkazy DML, které provádějí akci, spíše než pouze zobrazují obsah databáze.

Všechny SQL dotazy se skládají z jediného příkazu. Struktura tohoto příkazu je zdánlivě jednoduchá, protože jej musíte rozšířit, abyste mohli provádět vysoce komplexní vyhodnocení a manipulace s daty. Tento příkaz se nazývá SELECT.

2.2. NAtýmVYBRAT

Ve své nejjednodušší podobě příkaz SELECT jednoduše přikáže databázi získat informace z tabulky. Můžete například zobrazit tabulku Dodavatelé zadáním následujícího:

SELECT snum, sname, sity, comm

OD Prodejců;

Výstup pro tento dotaz je uveden v tabulce 2.1.

Tabulka 2.1 - příkaz SELECT

Protokol provádění SQL

SELECT snum, sname, sity, comm FROM Salespeople;

Jinými slovy, tento příkaz jednoduše zobrazí všechna data z tabulky. Většina programů také poskytuje záhlaví sloupců, jak je uvedeno výše, a některé umožňují podrobné formátování výstupu, ale to je mimo standardní specifikace.

Pro každou část tohoto příkazu je vysvětlení:

SELECT je klíčové slovo, které říká databázi, že tento příkaz je dotaz. Všechny dotazy začínají tímto slovem, za kterým následuje mezera.

Snum, sname je seznam sloupců z tabulky, které jsou vybrány dotazem. Žádné sloupce, které zde nejsou uvedeny, nebudou zahrnuty do výstupu příkazu. To samozřejmě neznamená, že budou smazáni nebo jejich informace budou vymazány z tabulek, protože dotaz nemá vliv na informace v tabulkách; zobrazuje pouze data.

FROM FROM je klíčové slovo, jako SELECT, které musí prodejci uvést v každém dotazu. Za ním následuje mezera a poté název tabulky použité jako zdroj informací. V tomto případě je to tabulka Prodejci.

Středník se používá ve všech interaktivních příkazech SQL, aby řekl databázi, že příkaz je dokončen a připraven k provedení.

Na některých systémech zpětné lomítko (\) na řádku označuje konec příkazu.

Přirozeně, dotaz této povahy nemusí nutně seřadit výstup žádným specifikovaným způsobem. Stejný příkaz provedený se stejnými daty, ale v různých časech, nevytvoří stejné pořadí. Řádky se obvykle nacházejí v pořadí, v jakém se nacházejí v tabulce, protože, jak jsme zjistili v předchozí kapitole, je toto pořadí libovolné. Nemusí se nutně jednat o pořadí, ve kterém byla data zadána nebo uložena. Výstup příkazů SQL můžete zařadit přímo: pomocí speciální klauzule.

Použití návratu (klávesa ENTER) je volitelné. Musíte přesně určit, jak je pohodlnější sestavit dotaz na několik řádků nebo na jeden řádek, a to následovně:

SELECT snum, jméno, město, comm FROM Prodejci;

Protože SQL používá k označení konce příkazu středník, většina programů SQL považuje návraty (prostřednictvím stisknutí klávesy Return nebo klávesy ENTER) za mezeru. Je dobré používat zpětné sledování a zarovnání, aby byly vaše příkazy snáze čitelné a správnější.

Pro zobrazení kompletního seznamu sloupců lze použít hvězdičku (*):

OD Prodejců;

Výsledkem bude stejný výsledek jako předchozí příkaz.

Obecně platí, že příkaz SELECT začíná klíčovým slovem SELECT následovaným mezerou. Poté by měl následovat seznam názvů sloupců, které chcete zobrazit, oddělené čárkami. Chcete-li zobrazit všechny sloupce v tabulce, můžete tento seznam nahradit hvězdičkou (*). Následuje klíčové slovo FROM, za ním mezera a název tabulky, na kterou se dotaz provádí. Nakonec by se měl použít středník (;) k ukončení příkazu a označení, že příkaz je připraven k provedení.

Příkaz SELECT je schopen extrahovat přesně definované informace z tabulky. Nejprve můžete vidět pouze určité sloupce tabulky. To lze snadno provést jednoduchým vyloučením sloupců, které nejsou potřeba, z části SELECT příkazu. Například žádost

SELECT jméno, kom

OD Prodejců;

vytvoří výstup uvedený v tabulce 2.2:

Tabulka 2.2 - Výběr konkrétních sloupců

Protokol provádění SQL

SELECT snum, comm FROM Prodejci;

Můžete mít tabulky s velkým počtem sloupců obsahujících data, z nichž ne všechny jsou relevantní pro daný úkol. Proto lze nalézt způsob, jak vybrat a vybrat pouze užitečné sloupce.

I když jsou sloupce tabulky podle definice uspořádané, neznamená to, že budou obnoveny ve stejném pořadí. Hvězdička (*) samozřejmě zobrazí všechny sloupce v jejich přirozeném pořadí, ale pokud jsou uvedeny samostatně, můžeme je získat v požadovaném pořadí. Zvažte tabulku objednávky obsahující datum nákupu (odate), číslo prodejce (snum), číslo objednávky (onum) a částku nákupu (amt):

SELECT odate, snum, onum, amt

Výstup tohoto dotazu je uveden v tabulce 2.3.

Tabulka 2.3 - Rekonstrukce sloupů

Protokol provádění SQL

SELECT odate, snum, onum, amt FROM Objednávky;

Struktura informací v tabulkách je jednoduše základem pro aktivní restrukturalizaci v SQL.

2.3. TýmODLIŠNÝ

Příkaz DISTINCT je argument, který může odstranit duplicitní hodnoty z klauzule SELECT. Předpokládejme, že potřebujeme vědět, kteří prodejci mají aktuálně své objednávky v tabulce Objednávky. Objednávkou se rozumí záznam v tabulce Objednávky, který eviduje nákupy uskutečněné v určitý den určitým zákazníkem od určitého prodejce za určitou částku. Nepotřebujeme vědět, kolik objednávek každý má; potřebujeme pouze seznam čísel prodejců (snum). Proto můžete zadat:

abyste získali výstup uvedený v tabulce 2.4.

Tabulka 2.4 - VÝBĚR s duplicitními čísly prodejce

Protokol provádění SQL

SELECT snum FROM Objednávky;

Chcete-li získat seznam bez duplikátů, pro čitelnost můžete zadat následující:

SELECT DISTINCT snum

Výstup pro tento dotaz je uveden v tabulce 2.5.

Jinými slovy, DISTINCT sleduje, jaké hodnoty tam byly předtím, aby se v seznamu neduplikovaly. Je to užitečný způsob, jak se vyhnout redundanci dat. Abyste předešli ztrátě některých dat, neměli byste DISTINCT používat bez rozmyslu, protože to může skrývat nějaký problém nebo některá důležitá data.

DISTINCT se v dané klauzuli SELECT může objevit pouze jednou. Pokud návrh vybere mnoho oblastí,

Tabulka 2.5 - VÝBĚR bez duplikace

Protokol provádění SQL

SELECT DISTINCT snum FROM Objednávky;

DISTINCT vynechá řádky, kde jsou všechna vybraná pole identická. Řádky, ve kterých jsou některé hodnoty stejné a některé odlišné, budou uloženy. DISTINCT ve skutečnosti způsobí, že se zobrazí celý řádek výstupu bez zadání jakýchkoli polí (kromě případů, kdy se použije uvnitř agregačních funkcí), takže nemá smysl to opakovat.

Místo DISTINCT můžete zadat - VŠECHNY. To bude mít opačný účinek, duplicitní výstupní řádky zůstanou. Protože se jedná o stejný případ, kdy není specifikováno ani DISTINCT, ani ALL, je ALL v podstatě spíše vysvětlujícím než operativním argumentem.

2.4. Týmové návrhy

Tabulky mají tendenci být velmi velké, protože do nich postupem času přibývá více a více řádků. Protože obvykle jsou zajímavé pouze určité řádky, SQL vám umožňuje nastavit kritéria pro určení, které řádky jsou vybrány pro výstup.

WHERE je klauzule SELECT, která umožňuje nastavit predikáty, jejichž podmínka může být pravdivá nebo nepravdivá pro libovolný řádek v tabulce. Příkaz načte z tabulky pouze ty řádky, pro které je toto tvrzení pravdivé. Potřebujeme například vidět jména a provize všech prodejců v Londýně. Můžete zadat následující příkaz:

SELECT jméno, město

OD Prodejců;

WHERE město = "LONDÝN";

Když je uvedena klauzule WHERE, databázový program prohledá celou tabulku jeden řádek po druhém a prozkoumá každý řádek, aby určil, zda je daný příkaz pravdivý. U položky Peel se tedy program podívá na aktuální hodnotu sloupce města, určí, že se rovná "Londýn", a zahrne tento řetězec do výstupu. Záznam pro Serres nebude zahrnut a tak dále.

Výstup pro výše uvedený dotaz je uveden v tabulce 2.6.

Tabulka 2.6 - SELECT s klauzulí WHERE

Protokol provádění SQL

VYBERTE jméno, město FROM Prodejci WHERE město = "Londýn"

Zkusme příklad s číselným polem v klauzuli WHERE. Pole hodnocení v tabulce Zákazníci je určeno k rozdělení zákazníků do skupin na základě určitých kritérií, která lze nakonec získat prostřednictvím tohoto čísla. Možná je to forma hodnocení úvěru nebo ocenění na základě objemu předchozích akvizic. Takové číselné kódy mohou být užitečné v relačních databázích jako způsob shrnutí komplexních informací. Všechny zákazníky s hodnocením 100 můžete vybrat následovně:

hodnocení WHERE = 100;

Jednoduché uvozovky se zde nepoužívají, protože skóre je číselné pole. Výsledky dotazu jsou uvedeny v tabulce 2.7.

V příkazu SELECT, který používá WHERE, můžete použít čísla sloupců, odstranit duplicity nebo změnit pořadí sloupců. Pořadí sloupců pro názvy však můžete změnit pouze v klauzuli SELECT, nikoli v klauzuli WHERE.

Tabulka 2.7 - SELECT s číselným polem v predikátu

Protokol provádění SQL

SELECT * FROM Zákazníci WHERE hodnocení = 100;

Vzávěry kapitoly II:

Nyní známe několik způsobů, jak vytvořit tabulku, která poskytne potřebné informace, a nejen vyhodit celý její obsah. Je možné změnit pořadí sloupců tabulky nebo některý z nich odstranit a také se rozhodnout, zda chcete zobrazit duplicitní hodnoty nebo ne.

Nejdůležitější je, že můžete nastavit podmínku zvanou predikát, která určuje, zda bude pro výstup vybrán určitý řádek tabulky z tisíců podobných řádků.

Závěr

Dokončením práce můžeme dojít k závěru, že SQL je vysokoúrovňový programovací jazyk určený pro práci s databázemi. Umožňuje upravovat data, sestavovat a spouštět dotazy a zobrazovat výsledky ve formě sestav. V současné době je to obecně uznávaný standard pro systémy správy relačních databází.

Jazyk SQL se obvykle používá ve spojení s univerzálními programovacími jazyky C, Pascal atd., případně s jazyky pro správu databází Fox, dBASE IV atd.

Seznampoužitýliteratura

1. F. Andon, V. Reznichenko SQL Query Language: Training Course. - Petrohrad: Petr, 2006.

2. K. Date Guide k relačnímu DBMS DB2. - M.: Finance a statistika, 1988. - 320 s.

3. V.V. Kirillov Základy navrhování relačních databází. Studijní příručka. - Petrohrad: ITMO, 1994. - 90 s.

4. M. Meyer Teorie relačních databází. - M.: Mir, 1987. - 608 s.

5. Distribuované DBMS. Informix. Část 1. Základy práce s databázemi. - Směrnice pro provádění laboratorních prací / V.M. Stasyshin - Novosibirsk: NSTU, 1995.

6. Databáze J. Ullmana v Pascalu. - M.: Strojírenství, 1990. - 386 s.

Podobné dokumenty

    Obecné informace o hlavních operátorech jazyka SQL. Interaktivní režim provozu. Použijte jazyk SQL k výběru informací z tabulek, vkládání, úpravě a mazání dat v nich. Vztah mezi operacemi relační algebry a příkazy SQL.

    abstrakt, přidáno 02.06.2015

    Pojem a obecná charakteristika programovacího jazyka PHP, principy a fáze jeho práce, syntaxe a související pole. Zpracování výjimek v Javě. Práce s databázemi pomocí JDBC. Naučte se, jak vytvořit grafické rozhraní.

    prezentace, přidáno 13.06.2014

    Pojem relačního datového modelu, integrita jeho podstaty a vazeb. Hlavní fáze tvorby databáze, propojení tabulek v datovém diagramu. Návrh databáze pro katalog knih "Knihy" pomocí Microsoft Access DBMS a dotazovacího jazyka SQL.

    práce v kurzu, přidáno 25.11.2010

    Obecné informace o historii vzniku a standardech SQL: mezinárodní standard 1989, 1992 (SQL2), standard SQL: 1999 (SQL3). Interaktivní a vnořené SQL. SQL pododdělení. Strukturovaný dotazovací jazyk pro vytváření a úpravy tabulek.

    abstrakt, přidáno 14.10.2011

    Structured Query Language (SQL) a jeho místo v oblasti přístupu k informacím v relačních databázích. Struktura a základní datové typy jazyka. Syntaxe a sémantika hlavních SQL příkazů, nejnovější jazykové standardy.

    abstrakt, přidáno 29.03.2012

    Teoretické informace a základní pojmy databází. Systémy správy databází: složení, struktura, bezpečnost, provozní režimy, objekty. Práce s databázemi v OpenOffice.Org BASE: vytváření tabulek, vztahů, dotazů pomocí Průvodce dotazem.

    práce v kurzu, přidáno 28.04.2011

    Rozdíly mezi existujícími dialekty SQL. Standardizace jazyka SQL. Koncept databáze. Efektivita organizace dat. Struktura jazyka SQL. Přibližné číselné typy. Datový typ intervalu. Zpracování složitých strukturovaných informací.

    práce v kurzu, přidáno 29.05.2014

    Obecné informace o systémech správy databází MS Access. Použití jazyka QBE k vytvoření dotazů pro výběr dat. Parametrické a křížové dotazy. Dotazy s automatickou náhradou pro výběr duplikátů a záznamů, které nemají shodu.

    práce v kurzu, přidáno 06.03.2015

    Návrh relační databáze pomocí aplikačního softwaru MS ACCESS. Popisy funkcí použití dotazů k načtení, změně a odstranění informací z databáze. Charakteristika struktury uživatelského rozhraní.

    práce v kurzu, přidáno 19.11.2012

    Analýza předmětné oblasti pomocí modelů metodiky ARIS a vytvoření ER diagramu. Popis vstupních a výstupních informací pro návrh relační databáze. Vývoj řídicích dotazů a vztahů mezi nimi pomocí jazyka SQL.




Nahoru