SQLFiddle

CREATE TABLE Benutzer(
  Benutzernr INT PRIMARY KEY,
  Name VARCHAR(200)
);

CREATE TABLE Beitrag (
  BeitragsID SERIAL PRIMARY KEY,
  gepostet_am DATE NOT NULL,
  Beitragstext VARCHAR(200),
  Benutzernr INT REFERENCES Benutzer(Benutzernr) NOT NULL
);

CREATE TABLE Sponsored_Post(
  BeitragsID INT PRIMARY KEY REFERENCES Beitrag(BeitragsID),
  Tagesbudget DECIMAL(9,2) CHECK(Tagesbudget >= 1) DEFAULT 1 NOT NULL
);

CREATE TABLE Foto(
  BeitragsID INT PRIMARY KEY REFERENCES Beitrag(BeitragsID),
  Dateiname CHAR(32) CHECK(char_length(Dateiname) = 32) NOT NULL
);

CREATE TABLE verlinkt(
  Benutzernr INT REFERENCES Benutzer(Benutzernr),
  BeitragsID INT REFERENCES Foto(BeitragsID),
  pos_x INT,
  pos_y INT,
  PRIMARY KEY(Benutzernr, BeitragsID)
);