Jawaban spesifik untuk pertanyaan Anda (setidaknya untuk Oracle dan mungkin basis data lainnya) adalah bahwa panjang bidang tidak masalah, hanya panjang data. Namun, ini tidak boleh digunakan sebagai faktor penentu mengenai apakah akan mengatur bidang ke panjang maksimum yang diijinkan atau tidak. Berikut adalah beberapa masalah lain yang harus Anda pertimbangkan sebelum memaksimalkan ukuran bidang.
Memformat
Setiap alat klien yang memformat data berdasarkan ukuran bidang akan memerlukan pertimbangan pemformatan khusus. Oracle SQL * Plus misalnya secara default menampilkan ukuran maksimum kolom Varchar2 bahkan jika datanya hanya satu karakter. Membandingkan…
create table f1 (a varchar2(4000), b varchar2(4000));
create table f2 (a varchar2(5), b varchar2(5));
insert into f1 values ('a','b');
insert into f2 values ('a','b');
select * from f1;
select * from f2;
Bad Data
Field length menyediakan mekanisme tambahan untuk menangkap / mencegah data buruk. Sebuah antarmuka tidak boleh mencoba memasukkan 3000 karakter ke dalam bidang 100 karakter, tetapi jika bidang itu didefinisikan 4000 karakter, mungkin saja. Kesalahan tidak akan tertangkap pada tahap entri data, tetapi sistem mungkin mengalami masalah lebih lanjut ketika aplikasi lain mencoba memproses data dan tersedak. Sebagai contoh, jika Anda kemudian memutuskan untuk mengindeks bidang di Oracle Anda akan melebihi panjang kunci maksimum (tergantung pada ukuran blok dan rangkaian). Lihat…
create index i1 on f1(a);
Memori
Jika aplikasi klien mengalokasikan memori menggunakan ukuran maksimum, aplikasi akan mengalokasikan secara signifikan lebih banyak memori daripada yang diperlukan. Pertimbangan khusus harus dilakukan untuk menghindari hal ini.
Dokumentasi
Ukuran bidang menyediakan titik data dokumentasi tentang data tersebut. Kita bisa memanggil semua tabel t1, t2, t3, dll. Dan semua bidang f1, f2, f3, dll., Tetapi dengan menentukan nama yang bermakna, kita lebih memahami data. Misalnya, jika tabel alamat untuk perusahaan dengan pelanggan di AS memiliki bidang yang disebut Status yang terdiri dari dua karakter, kami berharap singkatan status dua karakter dimasukkan di dalamnya. Di sisi lain, jika bidangnya seratus karakter, kita mungkin mengharapkan nama negara lengkap untuk ditampilkan di bidang tersebut.
Semua yang dikatakan, tampaknya bijaksana untuk dipersiapkan untuk perubahan. Hanya karena semua nama produk Anda hari ini muat dalam 20 karakter tidak berarti mereka akan selalu demikian. Jangan berlebihan dan menghasilkan 1000, tetapi tinggalkan ruang untuk ekspansi yang masuk akal.