Oracle durumda, isteyeceksiniz değil kolon'durumuna kimlik "veya 'adını' ya da jenerik herhangi bir isim.
Mesele şu ki , eski sürümlerde varsayılan olarak Oracle, benzer sütun adlarına dayanan tabloları birleştirmeye çalışacak, bu yüzden her şeyi iyi bir şekilde adlandırdıysam, tablolarım arasında varsayılan birleştirme yan tümcesini belirleyerek de sona erdi.
Hatta Ama eğer değil birden tablolarda görünür isimleri seçilmesi vermeyerek, Oracle kullanarak, aynı zamanda araç daha sonra bir iki tablo arasında seçmek yapmanız gereken her zaman aliasing sorun üzerinden gitmek zorunda kalmamasıdır:
SELECT
instrument.name as instrument_name,
instrument.abbr as instrument_abbr,
source.name as source_name,
source.abbr as source_abbr,
...
FROM ...
Bu nedenle, eğer çoklu tablo seçimleri norm ise, daha uzun sütun isimleri sizi yazarken saklar. (bir seferde sadece bir tablo kullanıyorsanız ... gerçekten bir ilişkisel veritabanına ihtiyacınız var mı?)
... ve kaydetme yazma, bizi Oracle'da başka bir soruna getiriyor - en azından 8i'de (Oracle SQL Tuning ve Veri Modelleme derslerini alırken şu anki sürüm) yürütme planlarının önbelleğe alınması, yalnızca ilk o kadar çok karaktere dayanıyor: sorgusu (tam değerini hatırlayamıyorum ... 1024?), öyleyse, cümlenin sonunda yalnızca bir şeyden farklı olan sorgularınız ve çıkardığınız sütunların gerçekten uzun bir listesi varsa, yürütme planını doğru önbelleğe alamadığı için performansa çarpabilir.
Oracle, iyi bir masa ve sütun adı olduğunu iddia ettiklerini seçme konusunda bir rehbere sahipti, bu temelde 5-8 karaktere kadar harfleri kaldırmak için bir rehberdi, ama ben hiç umursamadım.
...
Her şey bundan başka bir şey olarak giderken:
- sütunlar her zaman tekildir (tablolar her zaman çoğuldur)
- Tüm isimler küçük harflerdir, sadece büyük küçük harf duyarlı bir şey olması durumunda
- Yukarıdakilerin bir sonucu olarak, deve çantası yerine alt çizgi kullanın.
güncelleme : Oracle'ın birleştirme davranışına aşina olmayanlar için, şu şekilde bahsettiği Oracle SQL Mastering: Join Koşulları hakkındaki son örneğe bakın :
Ne oldu? Bunun nedeni, supplier_id dışında, bu iki tablonun ortak bir isimle başka bir sütun çiftinin olması gerçeğinde yatmaktadır. Bu sütun isimdir. Bu nedenle, tedarikçi ile parça tabloları arasında doğal bir birleşme isteğinde bulunduğunuzda, birleşme işlemi sadece iki tablonun supplier_id sütununu eşitlemekle kalmaz, aynı zamanda iki tablonun isim sütunu da eşittir. Hiçbir tedarikçi adı aynı tedarikçinin parça adıyla aynı olmadığından, sorgu tarafından hiçbir satır döndürülmez.
'Eski birleştirme sözdizimi' altında (8i ve önceki), 'DOĞAL BİRLEŞTİRME' varsayılan birleştirme davranışıydı ve bir birleştirme koşulu belirtmemenizin hala geçerli olduğuna inanıyorum. 'NATURAL JOIN' bir kez 9i'de resmi bir seçenekti, genel öneri kullanmıyordu , çünkü kötü sütun isimleri sizi mahvedebilirdi, ki bu benim iyi sütun isimlerini savunuyorum.