LOO TABEL skeemis Postgres

Loo Tabel Skeemis Postgres



PostgreSQL on üks populaarsemaid objektrelatsiooniandmebaasisüsteeme. See on tasuta avatud lähtekoodiga tarkvara, mis laiendab SQL-keelt täiendavate funktsioonidega, et tulla toime keeruka andmekoormusega. See võib töötada erinevate andmetüüpidega, usaldusväärne ja turvaline. Lisateavet PostgreSQL-i funktsioonide kohta.

Sellest juhendist õpime lisateavet tabelite loomise kohta skeemis PostgreSQL-is.







Skeemid PostgreSQL-is

PostgreSQL-i andmebaas võib sisaldada ühte või mitut nimega skeemi, millest iga skeem sisaldab tabeleid.



Sama objekti nime saab määrata mitmele skeemile ilma konfliktideta. Näiteks kehtib järgmine skeem/tabelipuu:



  • skeem_a
    • Tabel 1
    • tabel_2
  • skeem_b
    • Tabel 1
    • tabel_2

Võite mõelda skeemidele nagu kataloogid operatsioonisüsteemi tasemel. Erinevus seisneb selles, et pesastatud skeeme ei saa olla. Lisateavet skeemi kohta leiate aadressilt PostgreSQL-i dokumentatsioon .





Skeemide rakendamisel võib olla mitu põhjust:

  • Mitu kasutajat kasutavad sama andmebaasi üksteisega vastuolus.
  • Andmebaaside parem organiseerimine ja haldamine loogilistesse rühmadesse.
  • Kolmanda osapoole rakendused saavad luua oma ainulaadse skeemi olemasolevate skeemide või muude objektidega kokku puutumata.

Tabelid PostgreSQL-is

Iga relatsiooniandmebaas koosneb mitmest seotud tabelist, millest igaüks koosneb ridadest ja veergudest. PostgreSQL-il on mitu sisseehitatud tabelit, mis sisaldavad erinevat süsteemiteavet. Samas saame luua uusi tabeleid ka kasutaja määratud andmebaaside ja skeemide alla.



Eeltingimused:

Selles juhendis näidatud toimingute tegemiseks vajate järgmisi komponente.

  • Õigesti konfigureeritud Linuxi süsteem. Lisateavet Ubuntu installimine VirtualBoxi .
  • PostgreSQL-i õige installimine. Kontrollige PostgreSQL-i installimine Ubuntule .
  • Juurdepääs a PostgreSQL kasutaja koos KASUTAMISE luba andmebaasi.

Selle juhendi jaoks kasutame postgres kõigi toimingute tegemiseks PostgreSQL-is.

Skeemis tabelite loomine

Demoandmebaasi loomine

Nagu varem mainitud, eksisteerivad skeemid andmebaasi all. Demonstreerimiseks loome näiva andmebaasi, vältides olemasoleva andmebaasi häireid.

Juurdepääs PostgreSQL-kestale kui postgres :

$ sudo -i -u postgres psql

Looge uus andmebaas demo_db:

$ LOO ANDMEBAAS demo_db;

Kontrollige, kas andmebaas on edukalt loodud:

$ \l

Lõpuks looge ühendus vastloodud andmebaasiga:

$ \connect demo_db;

Avalik skeem

Igal uuel PostgreSQL-i andmebaasil on vaikeskeem - avalik . Kui proovite luua objekti ilma skeemi nime määramata, valitakse vaikimisi avalik skeem.

Järgmine käsk prindib kogu PostgreSQL-i andmebaasis saadaoleva skeemi:

$ \dn

Teise võimalusena saame kasutada ka järgmist SQL-päringut:

$ SELECT * FROM pg_catalog.pg_namespace;

Uue skeemi loomine

Uue skeemi loomiseks konkreetse andmebaasi all on käsustruktuur järgmine:

$ CREATE SCHEMA ;

Järgides reeglit, loome uue skeemi demo_schema:

$ CREATE SCHEMA demo_schema;

Kontrollige kontrollimiseks skeemide loendit:

$ \dn

Skeemis tabeli loomine

Nüüd, kui oleme sihtskeemi loonud, saame selle täita tabelitega.

Tabeli loomise süntaks on järgmine:

LOO TABEL . (

...
)

Siin:

  • skeem : see väli määrab skeemi nime, kus tabel luuakse. Kui väärtust ei esitata, luuakse tabel all avalik skeem.

Demonstreerimiseks loome lihtsa tabeli:

LOO TABEL demo_schema.demo_table (

NIMI CHAR (64),

ID INT NOT NULL

);

Siin:

  • Põld NIMI on määratud salvestama 64 märgist koosnevat stringi.
  • Põld ID sisaldab täisarvulisi väärtusi. Mõiste ' MITTE NULL ” näitab seda ID ei saa olla tühi ega tühi.

Tabeli olemasolu saame kontrollida järgmise päringu abil:

$ SELECT * FROM demo_schema.demo_table;

Andmete sisestamine tabelisse

Kui tabel on paigas, saame nüüd sisestada mõned väärtused:

SISESTAMINE demo_schema.demo_table (NAME, ID)

VÄÄRTUSED

('PQR', 45),

('IJK', 99)

;

Kontrollige tabeli sisu:

$ SELECT * FROM demo_schema.demo_table;

Skeemihaldus

Skeemi load

Skeemiloa abil saame hallata, milline roll millist toimingut konkreetse skeemi puhul teha saab. Kõigist võimalikest privileegidest toetavad ainult skeemid LOO ja KASUTAGE.

Konkreetse rolli skeemiloa värskendamiseks on käsustruktuur järgmine:

$ ANNA SKEEMAL ;

Konkreetse rolli skeemiloa tühistamiseks on käsustruktuur järgmine:

$ REVOKE SKEEMAL TO ;

Kinnitage muudatus järgmise käsuga:

$ \dn+

Muuda skeemi atribuute

Abiga ALTER SKEEM lause, saame muuta skeemi erinevaid omadusi. Näiteks: omand, skeemi nimi jne.

Skeemi nime muutmiseks kasutage järgmist päringut:

$ ALTER SCHEMA NIMETA ÜMBER ;

Skeemi omandiõiguse muutmiseks kasutage järgmist päringut.

$ ALTER SCHEMA OMANIK ;

Pange tähele, et omandiõiguse muutmiseks peab praegusel kasutajal olema LOO luba skeemi kasutamiseks.

Skeemi kustutamine

Kui skeemi pole enam vaja, saame selle kustutada kasutades TULLA päring:

$ KUKKA SKEEM

Kui skeem sisaldab mis tahes objekti, vajame KASKAAD modifikaator:

$ DROP SCHEMA CASCADE;

Tabelihaldus

Tabeli õigused

Sarnaselt skeemile on iga tabeliga kaasas ka õiguste haldamine, mis määrab, milliseid toiminguid roll tabelis teha saab.

Tabeli õiguste kontrollimiseks kasutage psql-is järgmist käsku:

$ \dp

Muuda tabeli atribuute

Abiga ALTER TABLE avalduse, saame muuta juba olemasoleva tabeli paljusid aspekte.

Näiteks veeru mahajätmiseks näeb päring välja järgmine:

$ ALTER TABLE Drop COLUMN ;

Uue veeru lisamiseks saame kasutada järgmist päringut:

$ ALTER TABLE ADD COLUMN ;

Samuti saame määrata konkreetse veeru tihendamise:

$ ALTER COLUMN SET COMPRESSION ;

Tabeli kustutamine

Tabeli kustutamiseks skeemist saame kasutada KUKKATA LAUD päring:

$ DROP TABLE ;

Pange tähele, et erinevalt skeemidest on KUKKATA LAUD päring ei anna viga olenemata sellest, kas tabel on tühi või mitte.

Järeldus

Selles juhendis näitasime, kuidas luua tabeleid skeemis PostgreSQL-is. Lõime näiva skeemi näivandmebaasis ja lõime skeemi sees tabeli. Selles juhendis tutvustati ka skeemide ja tabelite erinevate atribuutide haldamist.

Parema andmete terviklikkuse tagamiseks saate konfigureerida a loogiline PostgreSQL replikatsioon . PostgreSQL-i andmebaasi tervena hoidmiseks saate konfigureerida autovaakum kustutatud kirjetest järele jäänud surnud korteeži puhastamiseks.

Täiendavate PostgreSQL-i juhendite saamiseks vaadake PostgreSQL-i alamkategooria .