PostgreSQL to jeden z najpopularniejszych systemów obiektowo-relacyjnych baz danych. Jest to bezpłatne oprogramowanie typu open source, które rozszerza język SQL o dodatkowe funkcje do obsługi złożonych obciążeń danych. Może pracować z różnymi typami danych, niezawodnie i bezpiecznie. Dowiedz się więcej o funkcjach PostgreSQL.
W tym przewodniku dowiemy się więcej o tworzeniu tabel w schemacie w PostgreSQL.
Schematy w PostgreSQL
Baza danych PostgreSQL może zawierać jeden lub więcej nazwanych schematów, z których każdy zawiera tabele.
Ta sama nazwa obiektu może być przypisana w wielu schematach bez konfliktu. Na przykład prawidłowy jest następujący schemat/drzewo tabeli:
- schemat_a
- Tabela 1
- Tabela 2
- schemat_b
- Tabela 1
- Tabela 2
Możesz myśleć o schematach jak o katalogach na poziomie systemu operacyjnego. Różnica polega na tym, że nie mogą istnieć zagnieżdżone schematy. Dowiedz się więcej o schemacie na Dokumentacja PostgreSQL .
Istnieje wiele powodów wdrożenia schematów:
- Wielu użytkowników korzystających z tej samej bazy danych bez konfliktów między sobą.
- Lepsza organizacja i zarządzanie bazami danych w logiczne grupy.
- Aplikacje innych firm mogą tworzyć swoje unikalne schematy bez kolidowania z istniejącymi schematami lub innymi obiektami.
Tabele w PostgreSQL
Każda relacyjna baza danych składa się z wielu powiązanych tabel, z których każda składa się z wierszy i kolumn. PostgreSQL zawiera kilka wbudowanych tabel, które zawierają różne informacje systemowe. Możemy jednak również tworzyć nowe tabele w ramach zdefiniowanych przez użytkownika baz danych i schematów.
Wymagania wstępne:
Aby wykonać czynności przedstawione w tym przewodniku, potrzebne będą następujące elementy:
- Odpowiednio skonfigurowany system Linux. Dowiedz się więcej o instalacja Ubuntu w VirtualBox .
- Prawidłowa instalacja PostgreSQL. Kasy instalacja PostgreSQL na Ubuntu .
- Dostęp do Użytkownik PostgreSQL z pozwolenie na UŻYTKOWANIE do bazy danych.
Na potrzeby tego przewodnika użyjemy postgres wykonać wszystkie czynności w PostgreSQL.
Tworzenie tabel w schemacie
Tworzenie demonstracyjnej bazy danych
Jak wspomniano wcześniej, schematy istnieją w bazie danych. W celach demonstracyjnych tworzymy fikcyjną bazę danych, unikając zakłóceń w istniejącej bazie danych.
Uzyskaj dostęp do powłoki PostgreSQL jako postgres :
$ sudo -i -u postgres psql
Utwórz nową bazę danych demo_baza danych:
$ UTWÓRZ BAZY DANYCH demo_db;
Sprawdź, czy baza danych została pomyślnie utworzona:
$ l
Na koniec połącz się z nowo utworzoną bazą danych:
$ \connect demo_db;
Schemat publiczny
Każda nowa baza danych w PostgreSQL ma domyślny schemat – publiczny . Jeśli spróbujesz utworzyć obiekt bez określenia nazwy schematu, domyślnie zostanie wybrany schemat publiczny.
Poniższe polecenie drukuje wszystkie dostępne schematy w bazie danych PostgreSQL:
$\dn
Alternatywnie możemy również użyć następującego zapytania SQL:
$ WYBIERZ * Z pg_catalog.pg_namespace;
Tworzenie nowego schematu
Aby utworzyć nowy schemat w określonej bazie danych, struktura poleceń jest następująca:
$ UTWÓRZ SCHEMATZgodnie z regułą utwórzmy nowy schemat demo_schema:
$ UTWÓRZ SCHEMAT demo_schemat;
Sprawdź listę schematów w celu weryfikacji:
$\dn
Tworzenie tabeli w schemacie
Teraz, gdy mamy już utworzony schemat docelowy, możemy wypełnić go tabelami.
Składnia tworzenia tabeli jest następująca:
UTWÓRZ TABELĘ...
)
Tutaj:
- schemat : To pole określa nazwę schematu, w którym tworzona jest tabela. Jeśli nie zostanie podana żadna wartość, tabela zostanie utworzona w ramach publiczny schemat.
Dla demonstracji tworzymy prostą tabelę:
UTWÓRZ TABELĘ demo_schema.demo_table (ZNAK NAZWY(64),
ID INT NIE NULL
);
Tutaj:
- Pole NAZWA jest określony do przechowywania ciągu 64 znaków.
- Pole ID zawiera wartości całkowite. Termin ' NIE JEST ZEREM ” wskazuje na to ID nie może być pusty ani zerowy.
Możemy zweryfikować istnienie tabeli za pomocą następującego zapytania:
$ WYBIERZ * Z demo_schema.demo_table;
Wstawianie danych do tabeli
Po utworzeniu tabeli możemy teraz wstawić kilka wartości:
INSERT INTO demo_schema.demo_table (NAZWA, ID)WARTOŚCI
(„PQR”, 45),
(„IJK”, 99)
;
Sprawdź zawartość tabeli:
$ WYBIERZ * Z demo_schema.demo_table;
Zarządzanie schematami
Uprawnienia schematu
Za pomocą uprawnień do schematu możemy zarządzać, jaka rola może wykonywać jakie działania na określonym schemacie. Spośród wszystkich możliwych uprawnień schematy obsługują tylko TWÓRZ i WYKORZYSTAJ.
Aby zaktualizować uprawnienia schematu dla określonej roli, struktura poleceń jest następująca:
$ GRANT
Aby odwołać pozwolenie schematu dla określonej roli, struktura poleceń jest następująca:
$ REVOKESprawdź zmianę za pomocą następującego polecenia:
$ \dn+
Zmień właściwości schematu
Z pomocą ZMIEŃ SCHEMAT instrukcji, możemy modyfikować różne właściwości schematu. Na przykład: własność, nazwa schematu itp.
Aby zmienić nazwę schematu, użyj następującego zapytania:
$ ALTER SCHEMAT
Aby zmienić właściciela schematu, użyj następującego zapytania:
$ ZMIEŃ WŁAŚCICIELA SCHEMATU
Pamiętaj, że aby zmienić właściciela, bieżący użytkownik musi mieć STWÓRZ pozwolenie na schemat.
Usuwanie schematu
Jeśli schemat nie jest już potrzebny, możemy go usunąć za pomocą UPUSZCZAĆ zapytanie:
$ USUŃ SCHEMAT
Jeśli schemat zawiera jakikolwiek obiekt, potrzebujemy pliku KASKADA modyfikator:
$ DROP SCHEMAT
Zarządzanie stołem
Uprawnienia do tabeli
Podobnie jak w przypadku schematu, każda tabela zawiera również zarządzanie uprawnieniami, określające, jakie działania rola może wykonać na tabeli.
Aby sprawdzić uprawnienia tabeli, użyj następującego polecenia w psql:
$ \dp
Zmień właściwości tabeli
Z pomocą ZMIEŃ TABELĘ instrukcji możemy modyfikować liczne aspekty już istniejącej tabeli.
Na przykład, aby usunąć kolumnę, zapytanie wygląda tak:
$ ALTER TABLE
Aby dodać nową kolumnę, możemy użyć następującego zapytania:
$ ALTER TABLE
Możemy również ustawić kompresję dla określonej kolumny:
$ ALTER COLUMNUsuwanie tabeli
Aby usunąć tabelę ze schematu, możemy użyć metody OPUŚĆ STÓŁ zapytanie:
$ DROP TABELA
Zauważ, że w przeciwieństwie do schematów, OPUŚĆ STÓŁ zapytanie nie spowoduje błędu, niezależnie od tego, czy tabela jest pusta, czy nie.
Wniosek
W tym przewodniku pokazaliśmy, jak utworzyć tabele w schemacie w PostgreSQL. Stworzyliśmy fałszywy schemat w fałszywej bazie danych i utworzyliśmy tabelę w schemacie. W tym przewodniku pokazano również, jak zarządzać różnymi właściwościami schematów i tabel.
Aby uzyskać lepszą integralność danych, można skonfigurować plik logiczna replikacja PostgreSQL . Aby baza danych PostgreSQL była zdrowa, możesz skonfigurować plik autopróżnia aby wyczyścić martwe krotki pozostawione przez usunięte rekordy.
Aby uzyskać więcej przewodników po PostgreSQL, sprawdź Podkategoria PostgreSQL .