LAG TABELL i et skjema Postgres

Lag Tabell I Et Skjema Postgres



PostgreSQL er et av de mest populære objektrelasjonelle databasesystemene. Det er gratis programvare med åpen kildekode som utvider SQL-språket med tilleggsfunksjoner for å håndtere de komplekse dataarbeidsmengdene. Den kan fungere med ulike datatyper, pålitelig og sikker. Lær mer om funksjonene til PostgreSQL.

I denne veiledningen vil vi lære mer om å lage tabeller i et skjema i PostgreSQL.







Skjemaer i PostgreSQL

En PostgreSQL-database kan inneholde ett eller flere navngitte skjemaer, hvert skjema inneholder tabeller.



Det samme objektnavnet kan tildeles på tvers av flere skjemaer uten konflikt. For eksempel er følgende skjema/tabelltre gyldig:



  • schema_a
    • tabell_1
    • tabell_2
  • schema_b
    • tabell_1
    • tabell_2

Du kan tenke på skjemaer som kataloger på operativsystemnivå. Forskjellen er at det ikke kan være nestede skjemaer. Lær mer i dybden om skjema på PostgreSQL-dokumentasjon .





Det kan være flere grunner til å implementere skjemaene:

  • Flere brukere bruker samme database uten å komme i konflikt med hverandre.
  • Bedre organisering og styring av databaser i logiske grupper.
  • Tredjepartsapper kan lage sitt unike skjema uten å kollidere med eksisterende skjemaer eller andre objekter.

Tabeller i PostgreSQL

Enhver relasjonsdatabase består av flere relaterte tabeller, som hver består av rader og kolonner. PostgreSQL kommer med flere innebygde tabeller som inneholder diverse systeminfo. Vi kan imidlertid også lage nye tabeller under brukerdefinerte databaser og skjemaer.



Forutsetninger:

For å utføre trinnene som er vist i denne veiledningen, trenger du følgende komponenter:

  • Et riktig konfigurert Linux-system. Lære mer om installere Ubuntu i VirtualBox .
  • En riktig installasjon av PostgreSQL. Sjekk ut installere PostgreSQL på Ubuntu .
  • Tilgang til en PostgreSQL-bruker med BRUKstillatelse til en database.

For formålet med denne veiledningen vil vi bruke postgres for å utføre alle handlingene i PostgreSQL.

Opprette tabeller i et skjema

Opprette en demodatabase

Som nevnt tidligere, eksisterer skjemaer under en database. For demonstrasjonsformål oppretter vi en dummy-database, og unngår forstyrrelser i eksisterende databaser.

Få tilgang til PostgreSQL-skallet som postgres :

$ sudo -i -u postgres psql

Opprett en ny database demo_db:

$ CREATE DATABASE demo_db;

Bekreft om databasen er opprettet:

$ \l

Til slutt kobler du til den nyopprettede databasen:

$ \connect demo_db;

Det offentlige skjemaet

Enhver ny database i PostgreSQL kommer med et standardskjema - offentlig . Hvis du prøver å opprette et objekt uten å spesifisere skjemanavnet, velges det offentlige skjemaet som standard.

Følgende kommando skriver ut alt tilgjengelig skjema i PostgreSQL-databasen:

$ \dn

Alternativt kan vi også bruke følgende SQL-spørring:

$ SELECT * FRA pg_catalog.pg_namespace;

Opprette et nytt skjema

For å lage et nytt skjema under en bestemt database, er kommandostrukturen som følger:

$ CREATE SCHEMA ;

Følg regelen, la oss lage et nytt skjema demo_schema:

$ CREATE SCHEMA demo_schema;

Sjekk skjemalisten for bekreftelse:

$ \dn

Opprette en tabell i et skjema

Nå som vi har opprettet målskjemaet, kan vi fylle det ut med tabeller.

Syntaksen for å lage en tabell er som følger:

LAG TABELL . (

...
)

Her:

  • skjema : Dette feltet spesifiserer navnet på skjemaet der tabellen opprettes. Hvis ingen verdi er oppgitt, opprettes tabellen under offentlig skjema.

For demonstrasjon lager vi en enkel tabell:

LAG TABELL demo_schema.demo_table (

NAME CHAR(64),

ID INT IKKE NULL

);

Her:

  • Feltet NAVN er spesifisert for å lagre en streng på 64 tegn.
  • Feltet ID inneholder heltallsverdiene. Begrepet ' IKKE NULL ' indikerer det ID kan ikke være tom eller null.

Vi kan bekrefte eksistensen av tabellen ved å bruke følgende spørring:

$ SELECT * FRA demo_schema.demo_table;

Sette inn data i tabellen

Med tabellen på plass kan vi nå sette inn noen verdier:

INSERT INTO demo_schema.demo_table (NAVN, ID)

VERDIER

('PQR', 45),

('IJK', 99)

;

Sjekk innholdet i tabellen:

$ SELECT * FRA demo_schema.demo_table;

Skjemabehandling

Skjematillatelser

Ved hjelp av skjematillatelse kan vi administrere hvilken rolle som kan utføre hvilken handling på et spesifikt skjema. Av alle mulige privilegier støtter skjemaer bare LAG OG BRUK.

For å oppdatere skjematillatelsen for en bestemt rolle, er kommandostrukturen som følger:

$ GIR PÅ SKEMA TIL ;

For å tilbakekalle skjematillatelsen for en bestemt rolle, er kommandostrukturen som følger:

$ REVOKE PÅ SKEMA TIL ;

Bekreft endringen ved å bruke følgende kommando:

$ \dn+

Alter Schema Properties

Ved hjelp av ENDRE SKEMA setning, kan vi endre de ulike egenskapene til et skjema. For eksempel: eierskap, skjemanavn osv.

For å endre skjemanavnet, bruk følgende spørring:

$ ALTER SCHEMA ENDRE NØVN TIL ;

For å endre eierskapet til et skjema, bruk følgende spørring:

$ ALTER SCHEMA EIER TIL ;

Merk at for å endre eierskapet, må gjeldende bruker ha SKAPE tillatelse til skjemaet.

Sletting av et skjema

Hvis et skjema ikke lenger er nødvendig, kan vi slette det ved å bruke MISTE spørsmål:

$ DROP SCHEMA

Hvis skjemaet inneholder et objekt, trenger vi CASCADE modifikator:

$ DROP SCHEMA CASCADE;

Bordbehandling

Tabelltillatelser

I likhet med skjema kommer hver tabell også med tillatelsesadministrasjon, som definerer hvilken handling en rolle kan utføre på bordet.

For å sjekke tillatelsene til en tabell, bruk følgende kommando i psql:

$ \dp

Endre tabellegenskaper

Ved hjelp av ENDRE TABELL uttalelse, kan vi endre de mange aspektene ved en allerede eksisterende tabell.

For eksempel, for å slippe en kolonne, ser spørringen slik ut:

$ ALTER TABLE SLIPP KOLONNE ;

For å legge til en ny kolonne kan vi bruke følgende spørring:

$ ALTER TABLE ADD COLUMN ;

Vi kan også angi komprimeringen for en bestemt kolonne:

$ ALTER COLUMN SET COMPRESSION ;

Sletting av en tabell

For å slette en tabell fra et skjema, kan vi bruke DROPPE BORD spørsmål:

$ DROPPE TABELL ;

Merk at i motsetning til skjemaer DROPPE BORD spørringen vil ikke produsere en feil om tabellen er tom eller ikke.

Konklusjon

I denne veiledningen demonstrerte vi hvordan du lager tabellene i et skjema i PostgreSQL. Vi opprettet et dummy-skjema i en dummy-database og opprettet en tabell i skjemaet. Denne veiledningen viste også frem hvordan du administrerer de ulike egenskapene til skjemaer og tabeller.

For bedre dataintegritet kan du konfigurere en logisk PostgreSQL-replikering . For å holde PostgreSQL-databasen sunn, kan du konfigurere autovakuum for å rense de døde tuplene som er igjen av de slettede postene.

For flere PostgreSQL-guider, sjekk ut PostgreSQL underkategori .