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

SQL:Zalety ENUM w porównaniu z relacją jeden-do-wielu?

Przykład pokazany przy użyciu PostgreSQL, ale inne RDBMS mają podobną składnię

To nieprawda. Nie jest to wymóg ISO/IEC/ANSI SQL, więc komercyjne bazy danych go nie zapewniają (powinno się zapewnić tabele przeglądowe). W małym końcu miasta wprowadzane są różne „dodatki”, ale nie wdrażaj bardziej rygorystycznych wymagań ani pomruków dużego końca miasta.

Nie mamy też ENUM jako części DataType, to absurd.

Pierwszą wadą ENUM jest to, że jest niestandardowa i dlatego nie jest przenośna.

Drugą dużą wadą ENUMów jest to, że baza danych jest zamknięta. Setki narzędzi raportów, których można używać w bazie danych (niezależnie od aplikacji), nie mogą ich znaleźć, a zatem nie mogą wyświetlać nazw/znaczeń. Jeśli masz normalną tabelę Standard SQL Lookup, ten problem został wyeliminowany.

Po trzecie, kiedy zmieniasz wartości, musisz zmienić DDL. W normalnej standardowej bazie danych SQL wystarczy wstawić/zaktualizować/usunąć wiersz w tabeli wyszukiwania.

Wreszcie, nie można łatwo uzyskać spisu zawartości ENUM; możesz z tabelą przeglądową. Co ważniejsze, masz wektor do wykonywania dowolnych zapytań typu „wymiar-fakt”, eliminując potrzebę wybierania z dużej tabeli faktów i grupowania według.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jeden system bezpieczeństwa dla aplikacji, puli połączeń i PostgreSQL — przypadek LDAP

  2. Zautomatyzowane aktualizacje klastrów PostgreSQL w chmurze niemal zerowe przestoje (część I)

  3. PHPpgAdmin:Jak usuwać wiersze bez użycia SQL

  4. Jaki jest właściwy indeks do odpytywania struktur w tablicach w jsonb Postgresa?

  5. Połącz się jako użytkownik bez ustawionego hasła w Postgresql 8.4 przez JDBC