SQL - Práce s databázovými strukturami (DDL)
Stránky: | E-learning VŠCHT Praha |
Kurz: | Využití databází a jazyka SQL |
Kniha: | SQL - Práce s databázovými strukturami (DDL) |
Vytiskl(a): | Nepřihlášený host |
Datum: | neděle, 3. srpna 2025, 02.36 |
Popis
Jak již bylo uvedeno, množina příkazů jazyka DDL obsahuje příkazy pro manipulaci s databázovými strukturami. Příkaz CREATE pro vytváření struktur, příkaz ALTER pro jejich změnu a příkaz DROP pro jejicih odstranění.
Obsah
- 1. Vytvoření databáze - Příkaz CREATE DATABASE
- 2. Vytvoření databázové tabulky - Příkaz CREATE TABLE
- 3. Vytvoření indexu - Příkaz CREATE INDEX
- 4. Vytvoření pohledu - Příkaz CREATE VIEW
- 5. Změna databázové tabulky - Příkaz ALTER TABLE
- 6. Odstranění databáze - Příkaz DROP DATABASE
- 7. Odstranění databázové tabulky - Příkaz DROP TABLE
- 8. Odstranění indexu - Příkaz DROP INDEX
- 9. Odstranění pohledu - Příkaz DROP VIEW
1. Vytvoření databáze - Příkaz CREATE DATABASE
Popis
Příkaz CREATE DATABASE vytvoří novou databázi. Pro mnohé databázové platformy platí níže uvedená syntaxe příkazu v jazyce SQL, nicméně v SQLite platformě tento příkaz nelze použít, protože se jedná o souborový databázový systém, kde každý jeden soubor reprezentuje právě jednu databázi a tedy nelze v tomto souboru zakládat další databáze. Nová SQLite databáze se vytvoří jednoduše a zcela automaticky při spuštění databázového rozhraní pomocí příkazu sqlite3.
Syntaxe
CREATE DATABASE nazev_databaze;
Příklad
Vytvoření nové nepojmenované databáze
Vytvoření nové databáze s názvem
Otevření existující databáze
nebo
2. Vytvoření databázové tabulky - Příkaz CREATE TABLE
Popis
Příkaz CREATE TABLE vytvoří novou tabulku s uvedeným názvem v aktuální databázi. Příkaz přijímá jako argument název tabulky a dále v
kulatých závorkách uvedený výčet všech atributů včetně specifikace integritních omezení.
Definici každého atributu následuje datový typ a případně některé z integritních omezení. Klíčovým slovem DEFAULT lze definovat výchozí hodnotu
atributu, která se vloží automaticky, pokud nebude při vytváření nového záznamu uvedena.
Syntaxe
CREATE TABLE [schema.]nazev_tabulky (
nazev_sloupce datovy_typ [DEFAULT vyraz],
nazev_sloupce datovy_typ [DEFAULT vyraz]
)
Příklad
3. Vytvoření indexu - Příkaz CREATE INDEX
Popis
Příkaz CREATE INDEX vytvoří nad tabulkou tzv. index. Index je struktura, která umožňuje urychlit vyhledávání v tabulkách. Index musí být vždy asociován s nějakou tabulkou. Každá tabulka může mít více indexů. Index lze vytvořit pro jeden či více atributů tabulky. Příkaz SELECT pak místo prohledávání všech atributů ve všech záznamech tabulky prohledává jen příslušný index a díky přiřazenému ID každému řádku indexu pak vrátí příslušný záznam z prohledávané tabulky. Vyhledávání za pomoci indexu bývá velmi rychlé jen v případě, pokud je cílem hledání maximálně 5 procent všech záznamů. Obecně se nedoporučuje používat indexy v malých tabulkách a v tabulkách se sloupci s malou variabilitou hodnot.
Syntaxe
CREATE INDEX nazev_indexu
ON nazev_tabulky(nazev_sloupce[, nazev sloupce]);
Příklad
Přehled všech indexů konkrétní tabulky lze vypsat pomocí SQLite příkazu .indices.
4. Vytvoření pohledu - Příkaz CREATE VIEW
Popis
Příkaz CREATE VIEW vytvoří pohled. Pohledy jsou virtuální tabulky, které vytváříme z již existujících tabulek za účelem zjednodušeného dotazování. Přestože pohledy slouží hlavně pro dotazování, je možné jejich prostřednictvím data v původních tabulkách i aktualizovat. Pohledy se také používají z bezpečnostních důvodů pro odstínění uživatelů od dat, která jim nejsou určena. Jakýkoliv pohled tedy popisuje odvozená data. Data jsou buď vybrána ze základních tabulek a díky vhodně zvoleným kombinacím poskytují nová fakta, nebo jsou výsledkem nějakých transformací původních dat pomocí prostředků, které SQL nabízí.
Syntaxe
CREATE VIEW nazev_pohledu
AS vnoreny_dotaz;
Příklad
5. Změna databázové tabulky - Příkaz ALTER TABLE
Popis
Příkaz ALTER TABLE slouží pro změnu struktury dříve vytvořené tabulky. Změnou může být přejmenování tabulky nebo přidání nového sloupce do tabulky.
Přejmenování tabulky
Syntaxe
ALTER TABLE nazev_tabulky RENAME TO novy_nazev_tabulky
Příklad
Přidání sloupce do tabulky
Syntaxe
ALTER TABLE nazev_tabulky ADD COLUMN nazev_sloupce definice
Příklad
6. Odstranění databáze - Příkaz DROP DATABASE
Popis
Příkaz DROP DATABASE smaže databázi. Pro mnohé databázové platformy platí níže uvedená syntaxe příkazu v jazyce SQL, nicméně v SQLite platformě tento příkaz nelze použít, protože se jedná o souborový databázový systém, kde každý jeden soubor reprezentuje
právě jednu databázi. Z uvedeného důvodu vyplývá, že pro odstranění SQLite databáze je nejjednodušším způsobem smazat soubor, který danou databázi reprezentuje.
Syntaxe
DROP DATABASE nazev_databaze;
Příklad
7. Odstranění databázové tabulky - Příkaz DROP TABLE
Popis
Příkaz DROP TABLE slouží pro odstranění databázové tabulky.
Syntaxe
DROP TABLE nazev_tabulky;
Příklad
8. Odstranění indexu - Příkaz DROP INDEX
Popis
Příkaz DROP INDEX odstraní dříve vytvořený index. Po odstranění indexu zůstane původní tabulka nezměněná. Při odstranění tabulky dojde k odstranění všech souvisejících indexů.
Syntaxe
DROP INDEX nazev_indexu;
Příklad
9. Odstranění pohledu - Příkaz DROP VIEW
Popis
Příkaz DROP VIEW slouží pro odstranění pohledu.
Syntaxe
DROP VIEW nazev_pohledu;
Příklad