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 5: Základy jazyka SQL
87
Kapitola 6: Jednoduché dotazy
105
Kapitola 7: Vícetabulkové dotazy (spojení)
143
Kapitola 8: Souhrnné dotazy
185
Kapitola 9: Poddotazy a výrazy dotazu
211 část III Aktualizace dat
Kapitola 10: Aktualizace databáze
257
Kapitola 11: Integrita dat
275
Kapitola 12: Zpracování transakcí
307 Část IV Struktura databáze
Kapitola 13: Vytváření databáze
341
Kapitola 14: Pohledy
379
Kapitola 15: Zabezpečení SQL
399
Kapitola 16: Systémový katalog
421
4
SQL
Kompletní průvodce
Část V Programování v SQL Kapitola 17: Integrovaný jazyk SQL
445
Kapitola 18: Dynamickýjazyk SQL
495
Kapitola 19: Aplikační rozhraní SQL
541 část VI
Současnost a budoucnost SQL Kapitola 20: Databázové zpracování a uložené procedury
629
Kapitola 21: Jazyk SQL a technologie datových skladů
679
Kapitola 22: Jazyk SQL a aplikační servery
693
Kapitola 23: Jazyk SQL, práce v sítích a distribuované databáze
711
Kapitola 24: Jazyk SQL a objekty
749
Kapitola 25: Jazyk SQL a XML
783
Kapitola 26: Budoucnost pro SQL
817 Část VII Přílohy
Příloha A: Ukázková databáze
835
Příloha B: Dodavatelé databázových systémů
841
Příloha C: Příručka syntaxe SQL
859
Příloha D: Rozhraní pro volání SQL
867
Příloha E: Standardní informační schémata SQL
883
Příloha F: Instalační příručka DVD
899
Obsah část I Přehled jazyka SQL
KAPITOLA 1: ÚVOD
27
Jazyk SQL Úloha jazyka SQL Rysy a výhody jazyka SQL
28 29 31
Nezávislost na prodejci Přenositelnost mezi počítačovými systémy Standardy jazyka SQL Podpora a angažovanost firmy IBM (DB2) Angažovanost firmy Microsoft (SQL Server, ODBC a ADO) Relační základy Vysokoúrovňová struktura podobná angličtině Interaktivní dotazy „ad hoc“ Programovaný přístup k databázi Vícenásobné pohledy na data Kompletní databázový jazyk Dynamické definování dat Architektura klient/server Podpora podnikových aplikací Rozšiřitelnost a objektová technologie Internetový databázový přístup Integrace s jazykem Java (JDBC) Průmyslová infrastruktura
31 32 32 32 33 33 33 33 34 34 34 34 34 35 35 35 35 36
KAPITOLA 2: STRUČNÝ ÚVOD DO JAZYKA SQL
37
Jednoduchá databáze Získávání dat Datové souhrny Přidávání dat do databáze Odstranění dat Aktualizace databáze Ochrana dat Vytváření tabulek Shrnutí
37 38 40 41 41 42 42 43 44
6
SQL
Kompletní průvodce
KAPITOLA 3: JAZYK SQL Z ŠIRŠÍHO POHLEDU
45
Jazyk SQL a správa databází Stručná historie jazyka SQL
45 46
Počátky První produkty Produkty firmy IBM Obchodní přijetí
Standardy SQL Standardy ANSI/ISO Další standardy SQL ODBC a skupina SQL Access Group Jazyk SQL a přenositelnost
Jazyk SQL a práce v síti Centralizovaná architektura Architektura souborového serveru Architektura klient/server Vícevrstvá architektura
Rozšiřování jazyka SQL SQL a sjednocená databázová strategie firmy IBM Jazyk SQL na minipočítačích Jazyk SQL na unixových systémech Jazyk SQL na osobních počítačích Jazyk SQL a zpracování transakcí Jazyk SQL a databáze pracovních skupin Jazyk SQL a technologie datových skladů Jazyk SQL a distribuované internetové aplikace
48 48 49 49
51 51 53 53 54
56 56 57 57 59
60 61 61 62 62 64 64 65 67
Shrnutí
68
KAPITOLA 4: RELAČNÍ DATABÁZE
69
Dřívější datové modely
69
Systémy řízení souborů Hierarchické databáze Síťové databáze
70 71 72
Relační datový model Vzorová databáze Tabulky Primární klíče Relace Cizí klíče
Coddových 12 pravidel Shrnutí
74 75 76 78 79 80
82 84
Obsah
7
Část II Získávání dat
KAPITOLA 5: ZÁKLADY JAZYKA SQL
87
Příkazy Názvy
87 91
Názvy tabulek Názvy sloupců
Datové typy Konstanty Numerické konstanty Řetězcové konstanty Konstanty data a času Symbolické konstanty
92 93
93 98 98 98 99 100
Výrazy Vestavěné funkce Chybějící data (hodnoty NULL) Shrnutí
101 102 103 104
KAPITOLA 6: JEDNODUCHÉ DOTAZY
105
Příkaz SELECT
105
Klauzule SELECT Klauzule FROM
107 108
Výsledky dotazu Jednoduché dotazy
108 111
Výpočtové sloupce Výběr všech sloupců (SELECT *) Duplicitní řádky (DISTINCT) Výběr řádku (klauzule WHERE)
Vyhledávací podmínky Porovnávací test (=, <>,<,<=,>,>=) Rozsahový test (BETWEEN) Test členství v množině (IN) Test porovnávání vzorků (LIKE) Test prázdné hodnoty (IS NULL) Složené vyhledávací podmínky (AND, OR a NOT)
Uspořádání výsledků dotazu (klauzule ORDER BY) Pravidla pro zpracování jednotabulkového dotazu Sjednocení výsledků dotazu (UNION)* Sjednocování a duplikace řádků *
111 114 115 116
118 119 122 124 125 128 129
132 134 135 137
8
SQL
Kompletní průvodce
Sjednocování a řazení Vícenásobné operace UNION *
138 139
Shrnutí
141
KAPITOLA 7: VÍCETABULKOVÉ DOTAZY (SPOJENÍ)
143
Příklad dvoutabulkového dotazu Jednoduché spojení (spojení na rovnost)
144 146
Dotazy rodič−potomek Spojení s výběrovými kritérii pro řádek Více porovnávaných sloupců Dotazy na tři a více tabulek Další spojení na rovnost
147 149 150 150 154
Spojení na nerovnost Jazyk SQL a vícetabulkové dotazy
155 156
Kvalifikované názvy sloupců Výběr všech sloupců Vlastní spojení Aliasy tabulek
Výkon vícetabulkového dotazu Struktura spojení Násobení tabulky Pravidla pro zpracování vícetabulkového dotazu
Vnější spojení *
156 157 158 161
162 163 163 164
165
Levé a pravé vnější spojení * Notace vnějšího spojení *
169 172
Spojení a standard SQL2
173
Vnitřní spojení ve standardu SQL2 * Vnější spojení ve standardu SQL2 * Křížové spojení a sjednocené spojení ve standardu SQL2 Vícetabulková spojení v SQL2
174 177 178 180
Shrnutí
183
KAPITOLA 8: SOUHRNNÉ DOTAZY
185
Sloupcové funkce
185
Výpočet celkového součtu (SUM) Výpočet průměru sloupce (AVG) Hledání extrémních hodnot (MIN a MAX) Počítání datových hodnot (COUNT) Sloupcové funkce ve výběrovém seznamu Hodnoty NULL a sloupcové funkce Eliminace duplicitních řádků (DISTINCT)
186 188 189 190 191 193 195
Obsah
Skupinové dotazy (klauzule GROUP BY) Více seskupujících sloupců Omezení týkající se skupinových dotazů Hodnoty NULL v seskupujících sloupcích
Skupinové vyhledávací podmínky (klauzule HAVING) Omezení skupinových vyhledávacích podmínek Hodnoty NULL a skupinové vyhledávací podmínky Klauzule HAVING bez klauzule GROUP BY
9
196 199 202 204
204 208 208 209
Shrnutí
209
KAPITOLA 9: PODDOTAZY A VÝRAZY DOTAZU
211
Použití poddotazů Jak poddotaz vypadá? Poddotazy v klauzuli WHERE Vnější odkazy Vyhledávací podmínky v poddotazech
212 213 214 215 216
Poddotazový test porovnáním (=, <>, <, <=, >, >=) Test výskytu v množině (operátor IN) Existenční test (operátor EXISTS) Kvantifikované testy (ANY a ALL)
216 218 220 222
Poddotazy a spojení Vnořené poddotazy Korelované poddotazy * Poddotazy v klauzuli HAVING Poddotazy – shrnutí Pokročilé dotazy ve standardu SQL2
227 228 229 231 233 234
Výrazy se skalární hodnotou (SQL2) Výrazy s operátorem CAST (SQL2) Výrazy s operátorem CASE (SQL2) Výraz s operátorem COALESCE (SQL2) Výraz s operátorem NULLIF (SQL2)
237 237 239 240 241
Výrazy s řádkovou hodnotou (SQL2)
242
Konstruktor řádkové hodnoty (SQL2) Řádkové poddotazy (SQL2) Řádková porovnání (SQL2)
Tabulkové výrazy (SQL2) Konstruktor tabulkové hodnoty (SQL2) Tabulkové poddotazy (SQL2) Specifikace dotazu standardu SQL2
Dotazové výrazy (SQL2) Operace UNION, INTERSECT
242 244 245
245 246 247 248
249
10
SQL
Kompletní průvodce
a DIFFERENCE ve standardu SQL2 Dotazové výrazy v klauzuli FROM
249 251
Dotazy v jazyce SQL: závěrečné shrnutí
253
část III Aktualizace dat
KAPITOLA 10: AKTUALIZACE DATABÁZE
257
Přidávání dat do databáze
258
Jednořádkový příkaz INSERT Nástroje pro hromadné vkládání
258 264
Odstraňování dat z databáze Příkaz DELETE Odstranění všech řádků DELETE s poddotazem
265 265 267 267
Modifikace dat v databázi
269
Příkaz UPDATE Aktualizace všech pravidel UPDATE s poddotazem
269 271 272
Shrnutí
273
KAPITOLA 11: INTEGRITA DAT
275
Co je to integrita dat? Požadovaná data Jednoduchá kontrola platnosti
275 277 278
Kontrola hodnot sloupců (SQL2) Domény (SQL2)
279 279
Integrita entity Jiná omezení jednoznačnosti Jednoznačnost a hodnoty NULL
Referenční integrita Problémy referenční integrity Pravidla odstraňování a aktualizace * Kaskádová odstranění a aktualizace * Cyklické odkazy * Cizí klíče a hodnoty NULL *
Rozšířené možnosti omezení (SQL2) Tvrzení Druhy omezení SQL2 Odložená kontrola hodnot
281 281 281
282 283 285 287 289 293
295 296 297 298
Obsah
Obchodní pravidla
11
300
Co je to spoušť? Spouště a referenční integrita Výhody a nevýhody spouští Spouště a standard SQL
301 303 304 305
Shrnutí
305
KAPITOLA 12: ZPRACOVÁNÍ TRANSAKCÍ
307
Co je to transakce?
308
COMMIT a ROLLBACK Model transakcí podle ANSI/ISO
308 311
Transakce: v zákulisí * Transakce a víceuživatelské zpracování Problém ztracené aktualizace Problém nepotvrzených dat Problém nekonzistentních dat Problém fantomových dat Souběžné transakce
314 316 316 317 319 320 320
Zamykání *
323
Úrovně zamykání Sdílené a exkluzivní zámky Zablokování * Vyspělé techniky zamykání * Explicitní zamykání *
323 325 326 328 329
Správa verzí *
333
Správa verzí v praxi * Výhody a nevýhody správy verzí *
334 337
Shrnutí
337 Část IV Struktura databáze
KAPITOLA 13: VYTVÁŘENÍ DATABÁZE
341
Jazyk DDL (Data Definition Language) Vytváření databáze Definice tabulek
342 343 344
Vytváření tabulek (CREATE TABLE) Odstraňování tabulky (DROP TABLE) Změna definice tabulky (ALTER TABLE)
344 353 354
12
SQL
Kompletní průvodce
Definice omezení Tvrzení Domény
Aliasy a synonyma (CREATE/DROP ALIAS) Indexy (CREATE/DROP INDEX) Správa dalších objektů databáze Struktura databáze Architektura s jednou databází Architektura s více databázemi Architektura s více umístěními Databáze na více serverech
Struktura databáze a standard ANSI/ISO Katalogy SQL2 Schémata SQL2
358 358 358
359 360 364 367 368 368 370 372
372 375 375
Shrnutí
378
KAPITOLA 14: POHLEDY
379
Co je to pohled?
379
Jak databáze pracuje s pohledy Výhody pohledů Nevýhody pohledů
Vytváření pohledů Horizontální pohledy Vertikální pohledy Pohledy s podmnožinami sloupců a řádků Seskupené pohledy Spojené pohledy
Aktualizace pohledu Aktualizace pohledů a standard ANSI/ISO Aktualizace pohledů v komerčních produktech SQL Kontrola aktualizací pohledů (CHECK OPTION)
380 382 382
382 383 385 386 387 389
390 391 392 393
Odstraňování pohledů (DROP VIEW) Materializované pohledy * Shrnutí
395 396 398
KAPITOLA 15: ZABEZPEČENÍ SQL
399
Pojmy zabezpečení SQL
400
Identifikátory uživatele Objekty zabezpečení Práva
400 405 405
Obsah
Pohledy a zabezpečení SQL Přidělování práv (GRANT)
13
408 410
Práva ke sloupcům Přidělování práv (GRANT OPTION)
412 413
Rušení práv (REVOKE)
415
REVOKE a GRANT OPTION REVOKE a standard ANSI/ISO
417 418
Shrnutí
420
KAPITOLA 16: SYSTÉMOVÝ KATALOG
421
Co je to systémový katalog?
422
Katalog a nástroje dotazů Katalog a standard ANSI/ISO Obsah katalogu
422 423 424
Informace o tabulkách Informace o sloupcích Informace o pohledech Poznámky Informace o relacích Informace o uživatelích Informace o právech Informační schéma SQL2 Další informace v katalogu Shrnutí
425 428 430 432 433 436 437 438 441 442 Část V Programování v SQL
KAPITOLA 17: INTEGROVANÝ JAZYK SQL
445
Programové techniky SQL
446
Zpracování databázových příkazů Koncepty integrovaného jazyka SQL Vývoj programu s integrovaným jazykem SQL Spuštění programu s integrovaným jazykem SQL
Jednoduché příkazy integrovaného jazyka SQL Deklarace tabulek Ošetření chyb Používání hostitelských proměnných
447 448 451 453
455 456 458 466
14
SQL
Kompletní průvodce
Získání dat v integrovaném jazyce SQL Jednořádkové dotazy Víceřádkové dotazy
474 474 481
Odstraňování a aktualizace dat podle kurzorů Kurzory a zpracování transakcí Shrnutí
488 492 493
KAPITOLA 18: DYNAMICKÝ JAZYK SQL
495
Omezení statického jazyka SQL Principy dynamického jazyka SQL Dynamické spouštění příkazů (EXECUTE IMMEDIATE) Dynamické spouštění ve dvou krocích
496 497 499 501
Příkaz PREPARE Příkaz EXECUTE
504 505
Dynamické dotazy
513
Příkaz DESCRIBE Příkaz DECLARE CURSOR Dynamický příkaz OPEN Dynamický příkaz FETCH Dynamický příkaz CLOSE
Dynamické dialekty SQL Dynamický jazyk SQL v Oraclu
Dynamický jazyk SQL a norma SQL2 Základní dynamické příkazy SQL2 Norma SQL2 a SQLDA SQL2 a dynamické dotazy SQL
518 520 520 522 522
524 524
528 528 530 536
Shrnutí
539
KAPITOLA 19: APLIKAČNÍ ROZHRANÍ SQL
541
Principy aplikačního rozhraní API dblib (SQL Server)
542 544
Základní techniky SQL Serveru Dotazy SQL Serveru Úpravy aktuálních řádků podle pozice dotazu Dynamické dotazy
ODBC a standard SQL/CLI Standardizace CLI Struktury CLI Zpracování příkazů CLI Chyby a diagnostické informace v CLI
545 551 554 556
561 561 566 569 586
Obsah
Atributy CLI Informační volání CLI
15
587 589
Aplikační rozhraní ODBC
590
Architektura ODBC ODBC a nezávislost na databázovém systému Katalogové funkce ODBC Rozšířené možnosti ODBC
590 591 592 593
Rozhraní Oraclu OCI
596
Manipulátory OCI Připojení k serveru Oracle Vykonávání příkazů Zpracování výsledků dotazu Zacházení s deskriptory Řízení transakcí
597 598 599 600 600 601
Připojení k databázím v Javě (JDBC)
602
Historie a verze JDBC Implementace JDBC a typy ovladačů Aplikační rozhraní JDBC
603 604 609
Shrnutí
626 část VI Současnost a budoucnost SQL
KAPITOLA 20: DATABÁZOVÉ ZPRACOVÁNÍ A ULOžENÉ PROCEDURY
629
Pojetí uložených procedur Jednoduchý příklad Použití uložených procedur
630 632 633
Vytvoření uložené procedury Volání uložené procedury Uložená procedura a lokální proměnné Příkazové bloky Návratová hodnota Vracení hodnot přes parametry Podmíněné provádění kódu Opakované provádění kódu Další konstrukce pro řízení běhu kódu Opakování pomocí kurzoru Obsluha chybových stavů
Výhody uložených procedur Výkon uložených procedur
634 635 637 640 641 642 646 647 649 650 654
655 657
16
SQL
Kompletní průvodce
Systémem definované uložené procedury Externí uložené procedury Spouště Výhody a nevýhody spouští Spouště v jazyce Transact−SQL Spouště v jazyce Informix SPL Spouště v jazyce Oracle PL/SQL Další posouzení spouští
Uložené procedury, spouště a standard SQL Standard uložených procedur SQL/PSM Kurzorové operace Standardy spouští v SQL:1999
658 658 659 660 660 662 664 666
666 667 670 675
Shrnutí
677
KAPITOLA 21: JAZYK SQL A TECHNOLOGIE DATOVÝCH SKLADŮ
679
Koncepce datového skladování
680
Složky datového skladu Vývoj datového skladování
Databázová architektura pro skladování Krychle faktů Hvězdicová schémata Víceúrovňové dimenze Rozšíření SQL pro datové skladování
682 683
684 684 685 688 689
Výkon skladu
690
Načítací výkon Výkon dotazů
690 691
Shrnutí
692
KAPITOLA 22: JAZYK SQL A APLIKAČNÍ SERVERY
693
Jazyk SQL a webové servery: první realizace Aplikační servery a trojvrstvá architektura webových serverů Přístup k databázi z aplikačních serverů
694 695 697
Typy komponent EJB Jakým způsobem do databáze přistupují komponenty relace Jakým způsobem do databáze přistupují objektové komponenty Rozšíření komponentního modelu EJB 2.0
Odkládání u aplikačních serverů Shrnutí
698 699 701 706
707 709
Obsah
17
KAPITOLA 23: JAZYK SQL, PRÁCE V SÍTÍCH A DISTRIBUOVANÉ DATABÁZE
711
Problémy distribuované správy dat Distribuce dat: praktická řešení
712 717
Vzdálený databázový přístup Transparentnost vzdálených dat Vytahování tabulek Replikování tabulky Modifikovatelné repliky Kompromisy při replikování Typické replikační architektury
Distribuovaný databázový přístup Vzdálené požadavky Vzdálené transakce Distribuované transakce Distribuované požadavky
Dvoufázový potvrzovací protokol Síťové aplikace a databázová architektura Aplikace klient/server a databázová architektura Aplikace klient/server s uloženými procedurami Podnikové aplikace a datové odkládání Velkoobjemové řízení dat na Internetu
717 721 722 724 726 728 729
732 733 734 735 736
738 741 741 742 744 745
Shrnutí
746
KAPITOLA 24: JAZYK SQL A OBJEKTY
749
Objektově orientované databáze
750
Charakteristika objektově orientovaných databází Plusy a minusy objektově orientovaných databází Objekty a databázový trh
Objektově−relační databáze
750 751 752
753
Podpora rozsáhlých objektů Rozsáhlé binární objekty v relačním modelu Specializované zpracování objektů BLOB
754 755 756
Abstraktní (strukturované) datové typy
759
Definování abstraktních datových typů Zacházení s abstraktními datovými typy
Dědičnost Tabulková dědičnost: Realizace tříd objektů
760 763
764 766
Množiny, pole a kolekce
769
Definování kolekcí Dotazy nad kolekcemi dat Práce s kolekcemi dat
770 773 774
18
SQL
Kompletní průvodce
Kolekce a uložené procedury
775
Uživatelsky definované datové typy Metody a uložené procedury Podpora objektů ve standardu SQL:1999 Shrnutí
777 778 781 782
KAPITOLA 25: JAZYK SQL A XML
783
Co je XML? Základy jazyka XML Použití XML s daty
783 785 786
Jazyk XML a jazyk SQL Prvky proti atributům
Použití jazyka XML s databázemi Výstup v XML Vstup z XML Výměna dat pomocí XML Ukládání XML a integrace
Jazyk XML a metadata Definice typů dokumentů (DTD) Schéma XML Datové typy ve Schématu XML
XML a dotazy Pojetí jazyka XQuery Zpracování dotazů v jazyce XQuery
789 790
792 793 794 796 797
801 803 805 806
811 812 814
Databáze XML Shrnutí
815 816
KAPITOLA 26: BUDOUCNOST PRO SQL
817
Databázové trendy
818
Zralost podnikového databázového trhu Různorodost a rozčleňování trhu Balíčkové podnikové aplikace Zlepšení výkonnosti hardwaru Databázová serverová zařízení Měření výkonnosti Standardizace SQL
SQL v dalších deseti letech Distribuované databáze Skladování dat ve velkém Supervýkonné databáze
818 819 820 821 822 823 824
827 827 828 829
Obsah
Internet a integrace síťových služeb Integrované databáze Integrace objektů
19
829 830 831
Shrnutí
832 Část VII Přílohy
PŘÍLOHA A: UKÁZKOVÁ DATABÁZE
835
PŘÍLOHA B: DODAVATELÉ DATABÁZOVÝCH SYSTÉMŮ
841
PŘÍLOHA C: PŘÍRUČKA SYNTAXE SQL
859
Příkazy definice dat Základní příkazy pro manipulaci s daty Příkazy běhu transakcí Příkazy pro práci s kurzory Dotazovací výrazy Vyhledávací podmínky Výrazy Prvky příkazu Jednoduché prvky
860 861 862 862 863 864 865 865 866
PŘÍLOHA D: ROZHRANÍ PRO VOLÁNÍ SQL
867
Rozhraní pro volání SQL Procedury pro práci s ovladači Procedury pro práci s SQL prostředím Procedury pro práci s SQL databázovým spojením Procedury pro práci s SQL příkazy Procedury pro práci s uloženými procedurami Procedury pro práci s výsledky dotazu Procedury pro práci s popisy výsledku dotazu Procedury pro práci s popisovači výsledku dotazu Procedury pro práci s dynamickými parametry Procedury pro práci s chybami, stavy a systémové procedury Procedury pro práci s informacemi o CLI implementaci Návratové kódy CLI parametrů
869 869 869 870 871 872 873 874 874 876 876 877 877
20
SQL
Kompletní průvodce
PŘÍLOHA E: STANDARDNÍ INFORMAČNÍ SCHÉMATA SQL
883
Schematické pohledy
885
Tabulkové pohledy Sloupcové pohledy Pohledy na pohledy Pohledy na tabulky použité v pohledu Pohledy na sloupce použité v pohledu Pohledy na omezení tabulek Pohledy na omezení odkazu Pohledy na kontrolní omezení Pohledy na klíče použité v definici sloupce Pohledy na tvrzení Pohledy na tabulky použité v omezeních Pohledy na sloupce použité v omezeních Pohledy na práva nad tabulkami Pohledy na práva nad sloupci Pohledy na použitá práva Pohledy na domény Pohledy na doménová omezení Pohledy na sloupce použité v doménách Pohledy na znakové sady Pohledy na způsoby třídění (třídicí sekvence) Pohledy na konverze mezi znakovými sadami Pohledy na SQL programovací jazyky
885 886 887 887 888 888 889 889 890 890 891 891 892 892 893 894 895 895 896 896 897 898
PŘÍLOHA F: INSTALAČNÍ PŘÍRUČKA DVD
899
Instalace databázových systémů
900
Instalace MySQL verze 4.0 Instalace IBM DB2 verze 8.2 Instalace Oracle 10g Instalace SQL Anyware Studio 9 Instalace SQL Serveru 2000
REJSTŘÍK
900 904 909 911 916
923