A PostgreSQL az egyik legnépszerűbb objektum-relációs adatbázisrendszer. Ez egy ingyenes és nyílt forráskódú szoftver, amely az SQL nyelvet további funkciókkal bővíti az összetett adatterhelések kezelésére. Különféle adattípusokkal tud működni, megbízható és biztonságos. Tudjon meg többet a PostgreSQL szolgáltatásairól.
Ebben az útmutatóban többet megtudunk a táblák létrehozásáról sémában a PostgreSQL-ben.
Sémák a PostgreSQL-ben
A PostgreSQL adatbázis egy vagy több elnevezett sémát tartalmazhat, mindegyik séma táblázatokat tartalmazhat.
Ugyanaz az objektumnév több sémához is hozzárendelhető ütközés nélkül. Például a következő séma/táblafa érvényes:
- schema_a
- Asztal 1
- táblázat_2
- schema_b
- Asztal 1
- táblázat_2
Gondolhatunk olyan sémákra, mint a könyvtárak az operációs rendszer szintjén. A különbség az, hogy nem lehetnek beágyazott sémák. Tudjon meg többet a sémáról itt PostgreSQL dokumentáció .
A sémák megvalósításának több oka is lehet:
- Több felhasználó használja ugyanazt az adatbázist anélkül, hogy ütközne egymással.
- Az adatbázisok logikai csoportokba való jobb szervezése és kezelése.
- A harmadik féltől származó alkalmazások anélkül hozhatják létre egyedi sémájukat, hogy ütköznének a meglévő sémákkal vagy más objektumokkal.
Táblázatok a PostgreSQL-ben
Minden relációs adatbázis több kapcsolódó táblából áll, amelyek mindegyike sorokból és oszlopokból áll. A PostgreSQL számos beépített táblával rendelkezik, amelyek különféle rendszerinformációkat tartalmaznak. Azonban új táblákat is létrehozhatunk a felhasználó által definiált adatbázisok és sémák alatt.
Előfeltételek:
Az ebben az útmutatóban bemutatott lépések végrehajtásához a következő összetevőkre lesz szüksége:
- Egy megfelelően konfigurált Linux rendszer. Tudj meg többet az Ubuntu telepítése VirtualBoxba .
- A PostgreSQL megfelelő telepítése. Nézze meg PostgreSQL telepítése Ubuntura .
- Hozzáférés a PostgreSQL felhasználó val vel HASZNÁLATI engedély egy adatbázishoz.
Ennek az útmutatónak a céljára használjuk postgres az összes művelet végrehajtásához a PostgreSQL-ben.
Táblázatok létrehozása sémában
Demo adatbázis létrehozása
Mint korábban említettük, a sémák egy adatbázis alatt léteznek. Demonstrációs célból áladatbázist hozunk létre, elkerülve a meglévő adatbázisok megzavarását.
Hozzáférés a PostgreSQL shellhez mint postgres :
$ sudo -i -u postgres psql
Hozzon létre egy új adatbázist demo_db:
$ ADATBÁZIS LÉTREHOZÁSA demo_db;
Ellenőrizze, hogy az adatbázis sikeresen létrejött-e:
$ \l
Végül csatlakozzon az újonnan létrehozott adatbázishoz:
$ \connect demo_db;
A nyilvános séma
A PostgreSQL minden új adatbázisa alapértelmezett sémával érkezik - nyilvános . Ha a sémanév megadása nélkül próbál létrehozni egy objektumot, akkor alapértelmezés szerint a nyilvános séma kerül kiválasztásra.
A következő parancs kinyomtatja a PostgreSQL adatbázisban elérhető összes sémát:
$ \dn
Alternatív megoldásként használhatjuk a következő SQL lekérdezést is:
$ SELECT * FROM pg_catalog.pg_namespace;
Új séma létrehozása
Egy adott adatbázis alatti új séma létrehozásához a parancsstruktúra a következő:
$ SÉMA LÉTREHOZÁSAA szabályt követve hozzunk létre egy új demo_schema sémát:
$ CREATE SCHEMA demo_schema;
Ellenőrizze a sémalistát az ellenőrzéshez:
$ \dn
Táblázat létrehozása sémában
Most, hogy elkészítettük a célsémát, feltölthetjük táblázatokkal.
A táblázat létrehozásának szintaxisa a következő:
TÁBLÁZAT LÉTREHOZÁSA...
)
Itt:
- séma : Ez a mező adja meg a séma nevét, ahol a tábla létrejön. Ha nincs megadva érték, a táblázat a következő alatt jön létre nyilvános séma.
A demonstrációhoz egy egyszerű táblázatot készítünk:
TÁBLÁZAT LÉTREHOZÁSA demo_schema.demo_table (NÉV CHAR(64),
ID INT NOT NULL
);
Itt:
- Területén NÉV egy 64 karakteres karakterlánc tárolására van megadva.
- Területén ID egész értékeket tartalmaz. A ' kifejezés NEM NULLA ” azt jelzi ID nem lehet üres vagy nulla.
A tábla létezését a következő lekérdezéssel ellenőrizhetjük:
$ SELECT * FROM demo_schema.demo_table;
Adatok beszúrása a táblázatba
Ha a táblázat a helyén van, beszúrhatunk néhány értéket:
BEHELYEZÉS A demo_schema.demo_table (NAME, ID)ÉRTÉKEK
('PQR', 45),
('IJK', 99)
;
Ellenőrizze a táblázat tartalmát:
$ SELECT * FROM demo_schema.demo_table;
Sémakezelés
Sémaengedélyek
A sémaengedély segítségével kezelhetjük, hogy egy adott sémán melyik szerepkör milyen műveletet hajthat végre. Az összes lehetséges jogosultság közül csak a sémák támogatják LÉTREHOZÁS és HASZNÁLAT.
Egy adott szerep sémaengedélyének frissítéséhez a parancsstruktúra a következő:
$ GRANT
Egy adott szerep sémaengedélyének visszavonásához a parancsszerkezet a következő:
$ REVOKEEllenőrizze a módosítást a következő paranccsal:
$ \dn+
A séma tulajdonságainak módosítása
Segítségével a ALTER SCHEMA utasítással módosíthatjuk egy séma különféle tulajdonságait. Például: tulajdonjog, séma neve stb.
A séma nevének megváltoztatásához használja a következő lekérdezést:
$ ALTER SCHEMA
A séma tulajdonjogának megváltoztatásához használja a következő lekérdezést:
$ ALTER SCHEMA
Vegye figyelembe, hogy a tulajdonjog megváltoztatásához az aktuális felhasználónak rendelkeznie kell a TEREMT engedélyt a sémára.
Séma törlése
Ha egy sémára már nincs szükség, akkor a segítségével törölhetjük CSEPP lekérdezés:
$ DROP SCHEMA
Ha a séma bármilyen objektumot tartalmaz, szükségünk van a VÍZESÉS módosító:
$ DROP SCHEMA
Táblázatkezelés
Táblázat engedélyei
A sémához hasonlóan minden táblához is tartozik engedélykezelés, amely meghatározza, hogy egy szerep milyen műveletet hajthat végre a táblán.
A tábla engedélyeinek ellenőrzéséhez használja a következő parancsot a psql-ben:
$ \dp
Módosítsa a táblázat tulajdonságait
Segítségével a ALTER TABLE utasítással módosíthatjuk egy már létező tábla számos aspektusát.
Például egy oszlop eldobásához a lekérdezés a következőképpen néz ki:
$ ALTER TABLE
Új oszlop hozzáadásához a következő lekérdezést használhatjuk:
$ ALTER TABLE
Egy adott oszlop tömörítését is beállíthatjuk:
$ ALTER COLUMNTáblázat törlése
Táblázat sémából való törléséhez használhatjuk a DROP TABLE lekérdezés:
$ DROP TABLE
Vegye figyelembe, hogy a sémákkal ellentétben a DROP TABLE lekérdezés nem ad hibát, függetlenül attól, hogy a tábla üres-e vagy sem.
Következtetés
Ebben az útmutatóban bemutattuk, hogyan hozhat létre táblákat sémában a PostgreSQL-ben. Létrehoztunk egy álsémát egy áladatbázison belül, és létrehoztunk egy táblázatot a sémán belül. Ez az útmutató bemutatja a sémák és táblák különféle tulajdonságainak kezelését is.
A jobb adatintegritás érdekében konfigurálhatja a logikai PostgreSQL replikáció . A PostgreSQL adatbázis egészségének megőrzéséhez konfigurálhatja a autovákuum hogy megtisztítsa a törölt rekordok által hátrahagyott halott sorokat.
További PostgreSQL-útmutatókért tekintse meg a PostgreSQL alkategória .