Apa desain terbaik untuk tabel, Type
bidang yang dari int
atau char(1)
? Dengan kata lain, diberikan skema ini:
create table Car
(
Name varchar(100) not null,
Description varchar(100) not null,
VehType .... not null
)
Apakah lebih efisien (dari segi kinerja) untuk VehType
menjadi seorang int
atau char(1)
? Katakanlah Anda memiliki lima jenis mobil, haruskah Anda menggunakan nilai tambah 0 -> 4, atau karakter untuk jenis tersebut (misalnya; 'v', 's', 'c', 't', 'm')?
Jika lebih dari itu, saya akan menggunakan tabel Tipe terpisah dan memiliki hubungan kunci asing, tapi saya tidak melihat perlunya.
Saya perhatikan bahwa tampilan sys.objects
katalog menggunakan karakter untuk type
bidang tersebut. Apakah ada alasan untuk itu? Apakah saya hanya meraih udara tipis di sini, dan apakah itu yang paling nyaman bagi saya?
sumber
Sama seperti pelengkap jawaban gbn besar .
Mungkin Anda bisa membuat sesuatu seperti itu:
Jadi, Anda dapat melakukan sesuka Anda dengan enum sambil mempertahankan integritas relasional (menggunakan kunci asing). Dengan
code
kolom, Anda dapat menggunakan kode char sesuka Anda, sehingga akan didokumentasikan pada basis data (dan Anda dapat mengekstrak info kode langsung dari DB, tanpa transformasi yang berbelit-belit pada kode aplikasi untuk integrasi sistem).sumber
null
kode?