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/05 20:22] – [Unikanie duplikatów] sindap | fedora:aplikacje:libreoffice:base_pgsql [2025/11/06 21:09] (aktualna) – [Pola kluczy] sindap | ||
|---|---|---|---|
| Linia 150: | Linia 150: | ||
| Jako typ pola kluczy używanym '' | Jako typ pola kluczy używanym '' | ||
| + | |||
| + | Jednak w przypadku bazy dla LibreOffice Base na tą chwilę wygodniej stosować SERIAL. W przypadku pola SERIAL znika problem pojawiających się zer. Nie wiem czy problem jest po stronie sterownika łączącego LO Base z bazą czy samego LO. Biorąc pod uwagę, że LO Base bez problemu działa z HSQLDB to raczej wina jest po stronie sterownika SDBC. | ||
| ==== Dodanie kolumny ' | ==== Dodanie kolumny ' | ||
| Linia 178: | Linia 180: | ||
| ===== Struktura bazy ===== | ===== Struktura bazy ===== | ||
| + | ==== Pola kluczy ==== | ||
| + | * **klucz główny w każdej tabeli:** id | ||
| + | * **klucz obcy:** nazwa_tabeli_docelowej_id | ||
| + | Trzymanie się tej zasady ułatwi późniejszą administrację i użytkowanie. W niektórych przypadkach stosuje się podejście klucza głównego nawiązującego do nazwy tabeli. Jeżeli tabela '' | ||
| ==== Tworzenie przykładowej tabeli artyści ==== | ==== Tworzenie przykładowej tabeli artyści ==== | ||
| <code sql> | <code sql> | ||
| CREATE TABLE artysci ( | CREATE TABLE artysci ( | ||
| - | id INTEGER GENERATED BY DEFAULT AS IDENTITY | + | id SERIAL |
| nazwa TEXT NOT NULL UNIQUE | nazwa TEXT NOT NULL UNIQUE | ||
| ); | ); | ||
| Linia 192: | Linia 198: | ||
| <code sql> | <code sql> | ||
| CREATE TABLE utwory ( | CREATE TABLE utwory ( | ||
| - | id INTEGER GENERATED BY DEFAULT AS IDENTITY | + | id SERIAL |
| tytul TEXT NOT NULL, | tytul TEXT NOT NULL, | ||
| rok INTEGER, | rok INTEGER, | ||
| Linia 223: | Linia 229: | ||
| <code sql> | <code sql> | ||
| CREATE TABLE gatunki ( | CREATE TABLE gatunki ( | ||
| - | id INTEGER GENERATED BY DEFAULT AS IDENTITY | + | id SERIAL |
| nazwa TEXT NOT NULL UNIQUE | nazwa TEXT NOT NULL UNIQUE | ||
| ); | ); | ||
| + | </ | ||
| + | |||
| + | ==== Połączenie tabeli artystów z tabelą gatunków relacją jeden-do-wielu ==== | ||
| + | W tym celu w tabli '' | ||
| + | |||
| + | <code sql> | ||
| + | ALTER TABLE artysci | ||
| + | ADD COLUMN gatunek_id INTEGER REFERENCES gatunki(id) ON DELETE SET NULL; | ||
| </ | </ | ||
| ===== Połączenie LibreOffice Base ===== | ===== Połączenie LibreOffice Base ===== | ||
fedora/aplikacje/libreoffice/base_pgsql.1762370531.txt.gz · ostatnio zmienione: przez sindap
