Kami menggunakan pengaturan database dari aplikasi vendor yang sangat sulit untuk membaca nama tabel database, dan tidak ada dokumentasi tentang apa yang disimpan di mana. Saya bisa melihat mengapa orang mungkin ingin mengaburkan struktur tabel mereka di aplikasi berpemilik, tetapi salah satu poin penjualan dari aplikasi ini (Perencanaan Sumber Daya Perusahaan) adalah kemampuan penyesuaiannya.
Nama tabel seperti aptrx (Transaksi Hutang Akun) dan apmaster_all (anehnya, ini adalah tabel vendor). Ini adalah basis data yang sangat kompleks, jadi saya bertanya-tanya apakah ada logika untuk konvensi atau apakah itu hanya dikaburkan dengan sengaja atau tidak.
Sejauh pengetahuan saya, panjang nama tabel tidak akan mempengaruhi kinerja secara nyata, benar? Basis datanya sangat kompleks (ratusan tabel) sehingga pengurutan masuk akal, tapi saya tidak bisa membayangkan mengapa AccountsPayableTransactions tidak lebih disukai daripada aptrx ....
sumber
Jawaban:
Oracle telah memiliki batas jangka panjang pada nama tabel 30 karakter. Saya menduga ini adalah masalah warisan yang didasarkan pada lingkungan asli 16 bit.
Panjang nama tabel bisa memiliki efek yang sangat kecil pada kinerja karena semua nama harus disimpan dalam kamus data dan juga diuraikan untuk kueri, tetapi saya tidak berpikir Anda bisa mengukur hit.
Efek yang lebih penting dari nama tabel pendek adalah sulit digunakan. Saya juga harus memelihara skema database perusahaan dengan nama pendek. Tidak ada alasan bagus untuk memiliki nama tabel pendek. Kemudahan perawatan truf kebingungan atau kebiasaan lama DOS setiap waktu.
sumber
Saya merasa ada dua hal yang masih perlu dikatakan atau dielaborasi:
Saya selalu tergoda untuk menghabiskan terlalu sedikit waktu untuk memilih nama, dan selalu menyesal nanti jika saya lakukan - jarang mengubah nama
sumber
Kemalasan. Opsi IntelliSense dan pihak ke-3 membuat pengetikan alasan yang sulit benar untuk dibenarkan. Saya lebih suka nama-nama itu memiliki kata-kata yang bermakna dan dapat dibaca.
sumber
Singkatan yang terkenal biasanya lebih disukai daripada mengeja. Ketika singkatan dikenal oleh beberapa orang, tetapi tidak cukup banyak orang, kami berhenti menyebutnya singkatan, dan mulai menyebutnya kode.
Singkatan menghemat ruang pada platform yang memiliki batas ketat, meskipun ini kurang penting sekarang daripada 30 tahun yang lalu. (Sepertinya saya ingat bekerja pada sistem pada 1980-an yang membatasi Anda untuk 6 atau 8 karakter untuk nama tabel.)
Singkatan biasanya membuat nama tabel dan nama kolom lebih mudah dibaca, selama singkatan dilakukan dengan baik. Jika saya bekerja pada kode untuk AP sepanjang hari, saya lebih suka membaca nama kolom seperti "ap_trx.inv_num" daripada "accounts_payable_transactions.invoice_number". (Saya suka garis bawah.) Mengetik nama panjang tidak banyak masalah dengan editor teks yang baik.
Dalam sistem akuntansi, "ap" dan "trx" adalah singkatan yang terkenal. Lainnya termasuk "ar", "gl", dan "gj", untuk piutang dagang, buku besar, dan jurnal umum.
Dalam sistem yang dirancang dengan baik, jika saya menemukan transaksi hutang dalam tabel bernama "aptrx", saya berharap menemukan transaksi piutang di artrx, transaksi buku besar di gltrx, dan sebagainya. Saya menemukan "apmaster_all" sedikit membingungkan, tetapi jika saya juga menemukan "armaster_all", saya akan menganggap bahwa yang pertama memegang semua vendor (sebagai lawan dari vendor yang aktif atau tidak aktif), dan yang kedua juga memegang semua pelanggan.
Di domain masalah lain, Anda menemukan singkatan terkenal lainnya. Dalam menangani, Anda akan menemukan singkatan seperti "addr" untuk alamat, "st" untuk jalan, "usps" untuk Layanan Pos Amerika Serikat, "up" untuk United Parcel Service, "cty" untuk county, "zip" untuk Peningkatan Zona Kode, dan sebagainya.
Saya tidak akan menyebut kebingungan ini. Jika rekening transaksi hutang yang disimpan dalam tabel bernama "cdrs21", saya akan menelepon yang kebingungan. (Meskipun saya pernah bekerja untuk sebuah perusahaan yang menamai semua modul assembler mainframe mereka dengan cara itu. Batas karakter, bukan kebingungan.)
Tetapi basis data yang berguna tumbuh, dan Anda mengalami masalah saat basis data menjadi besar. Saat Anda menambahkan domain masalah ke basis data Anda, Anda mengalami situasi di mana singkatan yang terkenal bertabrakan. Jika Anda berurusan dengan media, maka "ap" juga bisa menyingkat "Associated Press", "pers alternatif", atau "penempatan lebih lanjut". Ketika itu terjadi, saatnya untuk meninggalkan singkatan, atau beralih ke kode. Semakin besar organisasi (dan semakin besar basis data), semakin sering saya menemukan kode.
sumber
Hanya berdebat dengan "tuhanku, kacamata mereka tidak melakukan apa pun untuk konvensi penamaan yang mengerikan ini". Tim manajemen data di lingkungan terakhir saya menyatakan alasan untuk menggunakan nama tabel disingkat adalah keterbatasan DB2 (kami memiliki DB2 pada z / os dan SQL Server) sebanyak 18 karakter untuk tabel dan kolom. Saya segera menunjukkan bahwa ini tidak akurat dengan dokumentasi dari situs IBM. Mereka kemudian menyatakan itu adalah masalah COBOL (ya, mereka secara aktif mengembangkan COBOL) jika perlu berbicara dengan database yang kemudian dibantah oleh joki MF. Akhirnya, tanggapan mereka adalah standar publikasi kami.
Kami mengajukan petisi kepada komite standar untuk menambah panjang dari 18 menjadi 32 karakter dan menerima 30 batasan karakter. Itu mengakibatkan tabel berubah dari nama 'SR_M_DLY_ADV_PRD_S' yang tidak berguna menjadi 'IDX_FDSHRCLAS_LIF_RTRN_STATS_X' FML
Jadi, dalam belasan tahun pengalaman saya, nama tabel yang diperpendek tidak memberikan manfaat nyata dan menghasilkan biaya pengembangan dan pemeliharaan yang lebih tinggi karena saya harus selalu merujuk ke kamus data untuk menerjemahkan sampah di layar ke pengidentifikasi yang berarti. Yang dapat dikontraskan dengan entitas bernama logis yang telah saya kerjakan dan sebagian besar dapat dibuat kembali dari memori karena mereka dinamai secara intuitif.
sumber
Itu kebiasaan (saya setuju dengan Kevinsky). Ini adalah reaksi pada beberapa masalah lama (mungkin ada) untuk pembatasan (panjang nama, ruang antara kata-kata nama kompleks, multibahasa dll) dari sistem operasi (DOS, Windows, misalnya) dan beberapa perangkat lunak yang tidak menangani nama-nama tersebut. Orang yang berpengalaman mengatakan: "Lakukan (gunakan pendek dan dipisahkan dengan nama garis bawah) dan semua akan baik-baik saja."
sumber
Saya suka menggunakan penamaan deskriptif untuk alasan yang disebutkan di atas oleh poster.
Namun ada juga manfaat lain. Misalnya, dengan penamaan deskriptif, Anda dapat menggunakan nama bersarang. Katakanlah Anda memiliki tabel yang disebut Karyawan. Jika Anda memiliki hubungan dengan tabel lain, itu bisa disebut EmployeeAddress. Atau Departemen Karyawan. Dengan penamaan yang samar dan tidak tepat ini hampir tidak mungkin.
sumber
Tergantung pada seberapa kompleks definisi yang mendasari masing-masing kolom. Saya pikir orang-orang menjadi malas dengan manajemen metadata ketika mereka melihat nama-nama kolom yang sangat deskriptif ini, dan mereka bahkan deskripsi yang tidak lengkap. Anda mungkin juga bertanya mengapa menyingkat sesuatu.
sumber