fedora:aplikacje:libreoffice:base_pgsql
Różnice
Różnice między wybraną wersją a wersją aktualną.
| Poprzednia rewizja po obu stronachPoprzednia wersjaNowa wersja | Poprzednia wersja | ||
| fedora:aplikacje:libreoffice:base_pgsql [2025/11/02 09:34] – [Struktura bazy] sindap | fedora:aplikacje:libreoffice:base_pgsql [2025/11/04 19:35] (aktualna) – [Tworzenie tabeli 'test_table'] sindap | ||
|---|---|---|---|
| Linia 134: | Linia 134: | ||
| ==== Dlaczego \c mojabaza? ==== | ==== Dlaczego \c mojabaza? ==== | ||
| Będą połączonym do serwera postgresql z poziomu użytkownika postgres i użycia '' | Będą połączonym do serwera postgresql z poziomu użytkownika postgres i użycia '' | ||
| + | ===== Tabele ===== | ||
| + | ==== Tworzenie tabeli ' | ||
| + | Tworzona tabela musi zawierać minimum jedną kolumnę. Wprowadzenie polecenia '' | ||
| + | <code sql> | ||
| + | CREATE TABLE test_table ( | ||
| + | id SERIAL PRIMARY KEY, | ||
| + | nazwa TEXT NOT NULL, | ||
| + | opis TEXT, | ||
| + | data_utworzenia TIMESTAMP DEFAULT CURRENT_TIMESTAMP | ||
| + | ); | ||
| + | </ | ||
| + | <WRAP center round important 80%> | ||
| + | Uwaga. Dodana kolumna o typie TEXT skutkuje tym, że po odświeżeniu tabel i wprowadzaniu danych tekstowych czasem w polach mogą pojawić się zera. Jeżeli tak się stanie odświeżenie tabel nie wystarcza. Trzeba wyłączyć i włączyć LO Base. | ||
| + | </ | ||
| + | |||
| + | ==== Dodanie kolumny ' | ||
| + | <code sql> | ||
| + | ALTER TABLE test_table | ||
| + | ADD COLUMN lokalizacja TEXT; | ||
| + | </ | ||
| + | |||
| + | ==== Dodanie kolumny ' | ||
| + | <code sql> | ||
| + | ALTER TABLE test_table | ||
| + | ADD COLUMN rok INTEGER DEFAULT 2025; | ||
| + | </ | ||
| + | |||
| + | ==== Dodanie kolumny ' | ||
| + | <code sql> | ||
| + | ALTER TABLE test_table | ||
| + | ADD COLUMN kraj TEXT NOT NULL DEFAULT ' | ||
| + | </ | ||
| + | |||
| + | ==== Dodanie kolumny ' | ||
| + | Dzięki temu '' | ||
| + | <code sql> | ||
| + | ALTER TABLE test_table | ||
| + | ADD COLUMN artysta_id INTEGER REFERENCES artysci(id); | ||
| + | </ | ||
| + | |||
| + | |||
| ===== Struktura bazy ===== | ===== Struktura bazy ===== | ||
| - | Tworzenie przykładowej tabeli artyści | + | ==== Tworzenie przykładowej tabeli artyści |
| <code sql> | <code sql> | ||
| Linia 143: | Linia 184: | ||
| nazwa TEXT NOT NULL UNIQUE | nazwa TEXT NOT NULL UNIQUE | ||
| ); | ); | ||
| + | </ | ||
| + | |||
| + | ==== Tworzenie przykładowej tabeli utwory ==== | ||
| + | |||
| + | <code sql> | ||
| + | CREATE TABLE utwory ( | ||
| + | id SERIAL PRIMARY KEY, | ||
| + | tytul TEXT NOT NULL, | ||
| + | rok INTEGER, | ||
| + | czas INTERVAL, | ||
| + | opis TEXT | ||
| + | ); | ||
| + | </ | ||
| + | |||
| + | ==== Tworzenie tabeli łącznikowej ==== | ||
| + | |||
| + | Ponieważ jeden utwór może mieć wielu artystów, a jeden artysta wiele utworów → relacja **wiele-do-wielu (many-to-many)**. | ||
| + | |||
| + | <code sql> | ||
| + | CREATE TABLE utwor_artysta ( | ||
| + | utwor_id INTEGER REFERENCES utwory(id) ON DELETE CASCADE, | ||
| + | artysta_id INTEGER REFERENCES artysci(id) ON DELETE CASCADE, | ||
| + | PRIMARY KEY (utwor_id, artysta_id) | ||
| + | ); | ||
| + | </ | ||
| + | |||
| + | ==== Unikanie duplikatów ==== | ||
| + | |||
| + | Jeśli chcesz uniknąć duplikatów (np. dwa razy ten sam utwór-artysta), | ||
| + | |||
| + | <code sql> | ||
| + | ALTER TABLE utwor_artysta ADD CONSTRAINT unikalny_utwor_artysta UNIQUE (utwor_id, artysta_id) | ||
| </ | </ | ||
| ===== Połączenie LibreOffice Base ===== | ===== Połączenie LibreOffice Base ===== | ||
fedora/aplikacje/libreoffice/base_pgsql.1762072451.txt.gz · ostatnio zmienione: przez sindap
