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.