PostgreSQL je jedným z najpopulárnejších objektovo-relačných databázových systémov. Je to bezplatný softvér s otvoreným zdrojovým kódom, ktorý rozširuje jazyk SQL o ďalšie funkcie na zvládanie zložitých dátových záťaží. Dokáže pracovať s rôznymi typmi údajov, je spoľahlivý a bezpečný. Prečítajte si viac o funkciách PostgreSQL.
V tejto príručke sa dozvieme viac o vytváraní tabuliek v schéme v PostgreSQL.
Schémy v PostgreSQL
Databáza PostgreSQL môže obsahovať jednu alebo viac pomenovaných schém, pričom každá schéma obsahuje tabuľky.
Rovnaký názov objektu možno priradiť viacerým schémam bez konfliktu. Platí napríklad nasledujúci strom schémy/tabuľky:
- schéma_a
- stôl 1
- tabuľka_2
- schéma_b
- stôl 1
- tabuľka_2
Schémy si môžete predstaviť ako adresáre na úrovni operačného systému. Rozdiel je v tom, že nemôžu byť vnorené schémy. Získajte viac informácií o schéme PostgreSQL dokumentácia .
Na implementáciu schém môže byť viacero dôvodov:
- Viacerí používatelia používajú rovnakú databázu bez vzájomného konfliktu.
- Lepšia organizácia a správa databáz do logických skupín.
- Aplikácie tretích strán môžu vytvoriť svoju jedinečnú schému bez kolízie s existujúcimi schémami alebo inými objektmi.
Tabuľky v PostgreSQL
Každá relačná databáza pozostáva z viacerých súvisiacich tabuliek, z ktorých každá pozostáva z riadkov a stĺpcov. PostgreSQL prichádza s niekoľkými vstavanými tabuľkami, ktoré obsahujú rôzne systémové informácie. Môžeme však vytvárať aj nové tabuľky pod užívateľsky definovanými databázami a schémami.
Predpoklady:
Ak chcete vykonať kroky uvedené v tejto príručke, budete potrebovať nasledujúce komponenty:
- Správne nakonfigurovaný systém Linux. Naučiť sa viac o inštalácia Ubuntu do VirtualBoxu .
- Správna inštalácia PostgreSQL. Odhlásiť sa inštalácia PostgreSQL na Ubuntu .
- Prístup k a Používateľ PostgreSQL s Povolenie POUŽÍVAŤ do databázy.
Na účely tejto príručky použijeme postgres vykonávať všetky akcie v PostgreSQL.
Vytváranie tabuliek v schéme
Vytvorenie demo databázy
Ako už bolo spomenuté, schémy existujú pod databázou. Na demonštračné účely vytvárame fiktívnu databázu, aby sme sa vyhli narušeniu akejkoľvek existujúcej databázy.
Prístup k shellu PostgreSQL ako postgres :
$ sudo -i -u postgres psql
Vytvorte novú databázu demo_db:
$ CREATE DATABASE demo_db;
Skontrolujte, či je databáza úspešne vytvorená:
$ \l
Nakoniec sa pripojte k novovytvorenej databáze:
$ \connect demo_db;
Verejná schéma
Každá nová databáza v PostgreSQL prichádza s predvolenou schémou – verejnosti . Ak sa pokúsite vytvoriť objekt bez zadania názvu schémy, štandardne sa vyberie verejná schéma.
Nasledujúci príkaz vytlačí všetky dostupné schémy v databáze PostgreSQL:
$ \dn
Prípadne môžeme použiť aj nasledujúci SQL dotaz:
$ SELECT * FROM pg_catalog.pg_namespace;
Vytvorenie novej schémy
Ak chcete vytvoriť novú schému pod konkrétnou databázou, štruktúra príkazu je takáto:
$ CREATE SCHEMAPodľa pravidla vytvorte novú schému demo_schema:
$ CREATE SCHEMA demo_schema;
Skontrolujte zoznam schém na overenie:
$ \dn
Vytvorenie tabuľky v schéme
Teraz, keď máme vytvorenú cieľovú schému, môžeme ju naplniť tabuľkami.
Syntax na vytvorenie tabuľky je nasledovná:
CREATE TABLE...
)
Tu:
- schému : Toto pole určuje názov schémy, v ktorej je tabuľka vytvorená. Ak nie je zadaná žiadna hodnota, tabuľka sa vytvorí pod verejnosti schému.
Na ukážku vytvoríme jednoduchú tabuľku:
CREATE TABLE demo_schema.demo_table (NAME CHAR(64),
ID INT NIE JE NULL
);
Tu:
- Pole NÁZOV je špecifikovaný na uloženie reťazca 64 znakov.
- Pole ID obsahuje celočíselné hodnoty. Termín ' NIE JE NULL “ to naznačuje ID nemôže byť prázdna alebo nulová.
Existenciu tabuľky môžeme overiť pomocou nasledujúceho dotazu:
$ SELECT * FROM demo_schema.demo_table;
Vkladanie údajov do tabuľky
Keď je tabuľka na mieste, môžeme teraz vložiť niektoré hodnoty:
INSERT INTO demo_schema.demo_table (NAME, ID)HODNOTY
('PQR', 45),
('IJK', 99)
;
Skontrolujte obsah tabuľky:
$ SELECT * FROM demo_schema.demo_table;
Správa schém
Povolenia schémy
Pomocou povolenia schémy môžeme spravovať, aká rola môže vykonávať akú akciu na konkrétnej schéme. Zo všetkých možných privilégií podporujú iba schémy VYTVORIŤ A POUŽÍVAŤ.
Ak chcete aktualizovať povolenie schémy pre konkrétnu rolu, štruktúra príkazu je takáto:
$ GRANT
Ak chcete zrušiť povolenie schémy pre konkrétnu rolu, štruktúra príkazu je takáto:
$ ZRUŠIŤOverte zmenu pomocou nasledujúceho príkazu:
$ \dn+
Zmeniť vlastnosti schémy
S pomocou ZMENIŤ SCHÉMU môžeme modifikovať rôzne vlastnosti schémy. Napríklad: vlastníctvo, názov schémy atď.
Ak chcete zmeniť názov schémy, použite nasledujúci dotaz:
$ ALTER SCHEMA
Ak chcete zmeniť vlastníctvo schémy, použite nasledujúci dotaz:
$ ALTER SCHEMA
Upozorňujeme, že ak chcete zmeniť vlastníctvo, aktuálny používateľ musí mať VYTVORIŤ povolenie na schému.
Odstránenie schémy
Ak už schéma nie je potrebná, môžeme ju odstrániť pomocou POKLES dopyt:
$ DROP SCHEMA
Ak schéma obsahuje akýkoľvek objekt, potrebujeme KASCADE modifikátor:
$ DROP SCHEMA
Správa tabuliek
Povolenia tabuľky
Rovnako ako schéma, každá tabuľka tiež prichádza so správou povolení, ktorá definuje, akú akciu môže rola vykonať v tabuľke.
Ak chcete skontrolovať povolenia tabuľky, použite nasledujúci príkaz v psql:
$ \dp
Zmeniť vlastnosti tabuľky
S pomocou ALTER TABLE môžeme upraviť mnohé aspekty už existujúcej tabuľky.
Ak chcete napríklad zrušiť stĺpec, dotaz vyzerá takto:
$ ALTER TABLE
Na pridanie nového stĺpca môžeme použiť nasledujúci dotaz:
$ ALTER TABLE
Môžeme tiež nastaviť kompresiu pre konkrétny stĺpec:
$ ALTER COLUMNOdstránenie tabuľky
Na odstránenie tabuľky zo schémy môžeme použiť DROP TABLE dopyt:
$ DROP TABLE
Všimnite si, že na rozdiel od schém, DROP TABLE dotaz nevyvolá chybu, či je tabuľka prázdna alebo nie.
Záver
V tejto príručke sme ukázali, ako vytvoriť tabuľky v schéme v PostgreSQL. Vytvorili sme fiktívnu schému v rámci fiktívnej databázy a v rámci schémy sme vytvorili tabuľku. Táto príručka tiež ukázala, ako spravovať rôzne vlastnosti schém a tabuliek.
Pre lepšiu integritu údajov môžete nakonfigurovať a logická replikácia PostgreSQL . Ak chcete zachovať zdravú databázu PostgreSQL, môžete nakonfigurovať autovákuum vyčistiť mŕtve n-tice, ktoré zostali po vymazaných záznamoch.
Ďalšie príručky PostgreSQL nájdete na stránke Podkategória PostgreSQL .