PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

SQL:Keuntungan dari ENUM vs. hubungan satu-ke-banyak?

Contoh ditampilkan menggunakan PostgreSQL, tetapi RDBMS lain memiliki sintaks yang serupa

Itu tidak benar. Ini bukan persyaratan SQL ISO/IEC/ANSI, jadi database komersial tidak menyediakannya (Anda seharusnya menyediakan tabel Pencarian). Ujung kota yang kecil menerapkan berbagai "ekstra", tetapi tidak menerapkan persyaratan yang lebih ketat, atau gerutuan, dari ujung kota yang besar.

Kami juga tidak memiliki ENUM sebagai bagian dari Tipe Data, itu tidak masuk akal.

Kerugian pertama dari ENUM adalah tidak standar dan karenanya tidak portabel.

Kerugian besar kedua dari ENUM adalah, basis datanya Tertutup. Ratusan Alat Laporan yang dapat digunakan pada database (terlepas dari aplikasi), tidak dapat menemukannya, dan oleh karena itu tidak dapat memproyeksikan nama/artinya. Jika Anda memiliki tabel Standard SQL Lookup normal, masalah itu akan hilang.

Yang ketiga adalah, ketika Anda mengubah nilainya, Anda harus mengubah DDL. Dalam database SQL Standar Normal, Anda cukup Menyisipkan/Memperbarui/Menghapus satu baris di tabel Pencarian.

Terakhir, Anda tidak dapat dengan mudah mendapatkan daftar isi ENUM; Anda bisa dengan tabel Lookup. Lebih penting lagi, Anda memiliki vektor untuk melakukan kueri Dimensi-Fakta dengan, menghilangkan kebutuhan untuk memilih dari tabel Fakta besar dan GROUP BY.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengelola koneksi db di server?

  2. Bagaimana saya merumuskan kueri penyisipan ke database lain menggunakan postgres_fdw?

  3. Flask before_request dan teardown_request untuk koneksi DB

  4. PostgreSQL:Cara mendapatkan semua poin dalam radius tertentu

  5. Fungsi INSERT massal Postgres menggunakan argumen JSON