Mam system składający się z nieustalonej liczby stanowisk (małej: n < 255).
Każde stanowisko ma własny unikalny numer nadany fizycznie w czasie produkcji.
Stanowiska mogą być uruchamiane niezależenie od siebie - trzeba być przygotowanym na dowolną kombinację uruchomionych stanowisk.
Każde stanowisko generuje dane. Udostępnia je pozostałym stanowiskom i zapisuje je do własnej bazy danych.
Dane pochodzące z innych stanowisk są również zapisywane w lokalnej bazie danych.
Czy tworzenie złożonego klucza głównego w tabeli z Danymi na podstawie naturalnego identyfikatora jakim jest Numer Stanowiska jest bardzo złym pomysłem?
CREATE TABLE test."Stanowiska"
(
"ID_Stanowiska" integer NOT NULL,
"Nazwa" character(255),
CONSTRAINT "pk_Stanowiska" PRIMARY KEY ("ID_Stanowiska")
)
CREATE TABLE test."Dane"
(
"Stanowisko_ID" integer NOT NULL,
"NumerKolejny" integer NOT NULL,
"Wartosc" integer,
"CzasUtworzenia" time with time zone,
CONSTRAINT "pk_Dane" PRIMARY KEY ("Stanowisko_ID", "NumerKolejny"),
CONSTRAINT "fk_Stanowiska" FOREIGN KEY ("Stanowisko_ID") REFERENCES test."Stanowiska" ("ID_Stanowiska") MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION
)