PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Unikalne połączenie w tabeli

To może (i powinno) być rozwiązane na poziomie bazy danych, jeśli chcesz zagwarantować integralność danych przez cały czas. Istnieją różne sposoby, częściowy UNIQUE INDEX prawdopodobnie najprostszy i najskuteczniejszy.

CREATE UNIQUE INDEX picture_homepage_uni ON picture (house_id) WHERE homepage;

->sqlfiddle

Przyspieszy również zapytania, aby pobrać zdjęcia ze strony głównej jako dodatkowe korzyści.

Zmień schemat

Innym podejściem byłoby dodanie kolumny homepage_id do tabeli house , wskazując wybrany obraz. Automatycznie można wybrać tylko 1 zdjęcie. Nie potrzebujesz picture.homepage nie więcej. Integralność referencyjna może być nieco trudna z powodu ograniczeń kluczy obcych w obu kierunkach, ale mam takie działające rozwiązania.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak dodać liczbę dni w postgresql datetime

  2. Skrypt Bash do instalacji PostgreSQL - nie działa

  3. Kierowanie na określone wartości z JSON API i wstawianie do Postgresql za pomocą Pythona

  4. Korzystanie z pg_restore w pliku zrzutu

  5. dostarczanie certyfikatów do połączenia tomcat jndi z postgresql