Saya ingat belajar melakukan ini dalam kursus DBMS untuk siswa Magister Layanan Informasi. Untuk menghemat beberapa pengetikan, Anda dapat mengetik:
SELECT t1.id, t2.stuff
FROM
someTable t1
INNER JOIN otherTable t2
ON t1.id=t2.id
;
Tapi ... Mengapa ini bisa diterima dalam prosedur tersimpan dan semacamnya? Sepertinya yang dilakukannya hanyalah merusak keterbacaan pernyataan sambil menghemat waktu yang sangat kecil. Apakah ada alasan fungsional atau logis untuk melakukan ini? Tampaknya menambah ambiguitas daripada menghapusnya; satu-satunya alasan yang dapat saya lihat untuk menggunakan format ini adalah jika Anda menambahkan alias bermakna semantik - misalnya, FROM someTable idsTable
- ketika nama tabel tidak cukup deskriptif.
Apakah tabel alias praktik yang buruk atau ini hanya penyalahgunaan sistem yang membantu?
stored-procedures
best-practices
naming-convention
Ben Brocka
sumber
sumber
select id, stuff from someTable natural join otherTable
?Jawaban:
Aliasing tabel adalah praktik umum dan bermanfaat.
Ekstrak pelaporan berikut menggambarkan semua poin di atas dengan baik:
sumber
Saya pikir menggunakan alias membantu keterbacaan kueri jika nama tabel panjang atau mirip satu sama lain sehingga seseorang yang membacanya dengan cepat mungkin keliru. Apakah Anda pikir ini ...
lebih mudah dibaca dari ini?
Bergantung pada apa yang Anda gunakan sebagai alias tabel, ini dapat membuat kueri lebih sederhana bagi seseorang untuk dibaca dan dipahami.
sumber
Aliasing tabel (demi nama tabel pendek) bukan praktik yang buruk.
Saya biasanya menggunakannya ketika nama tab panjang dan kemudian hanya menggunakan alias yang masuk akal:
Jika Anda ingin meningkatkan keterbacaan, Anda dapat menggunakan
AS
kata kunci:Tetapi, ketika Anda terbiasa dengan sintaks, itu tidak diperlukan.
sumber
Anda dapat menggunakan ini untuk secara signifikan meningkatkan keterbacaan kueri Anda. Alih-alih menggunakan alias pendek, gunakan alias Anda untuk menggambarkan data yang Anda gabungkan, misalnya
Meskipun menggunakan alias yang sangat singkat (seperti
a
ataut1
) dapat membuat kueri sulit dibaca karena Anda harus pergi dan menemukan alias untuk mencari apa artinya alias, alias yang bernama baik seringkali dapat membuat kueri lebih mudah dibaca daripada hanya menggunakan tabel nama.sumber
Ini adalah pertanyaan tentang "praktik buruk". Jawabannya tampaknya tentang "Menyimpan penekanan tombol".
Secara pribadi, kecepatan pengkodean saya dibatasi oleh kecepatan pikiran saya, bukan oleh kecepatan mengetik saya. Saya menemukan kode dengan banyak alias tabel yang jauh lebih sulit dibaca daripada kode yang menggunakan nama tabel itu sendiri. Alias tabel menambahkan tingkat tipuan lainnya.
Namun, sebagian besar programmer menggunakan alias tabel (walaupun saya tidak). Beberapa "lingkungan pengembangan SQL" membuat ini sangat mudah dilakukan, dan beberapa guru mengajarkan alias tabel secara otomatis, terutama sebagai bagian dari pembelajaran sintaksis "Bergabung".
Menggunakan alias tabel bukanlah praktik yang buruk, tetapi kadang-kadang saya harus melalui kode dan mengganti alias dengan nama tabel asli untuk memahami apa yang terjadi.
sumber