У разі Oracle, ви хочете , щоб НЕ назвати стовпці «ідентифікатор» або «ім'я» або що - небудь родове.
Проблема полягає в тому, що за замовчуванням у старих версіях Oracle намагатиметься приєднати таблиці на основі схожих імен стовпців, тож якщо я все добре назвав, то я також закінчив вказати за замовчуванням пункт приєднання між моїми таблицями.
Але навіть якщо ви не використовуєте Oracle, не вибираючи імена, які відображаються в декількох таблицях, це також означає, що вам не доведеться потім переживати проблеми з псевдонімом кожного разу, коли вам потрібно зробити вибір у двох таблицях:
SELECT
instrument.name as instrument_name,
instrument.abbr as instrument_abbr,
source.name as source_name,
source.abbr as source_abbr,
...
FROM ...
Отже, якщо вибір декількох таблиць є нормою, довші назви стовпців заощаджують вас при введенні. (якщо ви використовуєте лише одну таблицю за один раз ... чи справді вам навіть потрібна реляційна база даних?)
... і збереження набору тексту приводить нас до ще однієї проблеми в Oracle - принаймні до 8i (поточна версія, коли я брав курси настройки Oracle SQL Tuning та моделювання даних) кешування планів виконання засноване на перших стільки символах запит (не можете згадати точне значення ... 1024?), тож якщо у вас є запити, які змінюються лише чим-небудь до кінця пункту де, і дійсно довгий список стовпців, які ви виймаєте, ви може зіткнутися з хітом продуктивності, оскільки він не може правильно кешувати план виконання.
У Oracle було керівництво по вибору того, що вони стверджують, що це гарні назви таблиць і стовпців, що в основному є посібником для видалення букв, поки це приблизно 5-8 символів, але я ніколи не дуже переймався цим.
...
Як інакше:
- стовпці завжди однини (таблиці завжди множинні)
- всі назви малими літерами, про всяк випадок, якщо є щось з урахуванням регістру
- в результаті сказаного використовуйте підкреслення замість корпусу верблюда.
оновлення : для тих, хто не знайомий з поведінкою приєднання Oracle, перегляньте останній приклад з Mastering Oracle SQL: Умови приєднання , де він згадує:
Що сталося? Причина полягає в тому, що крім постачальника_id, ці дві таблиці мають ще одну пару стовпців із загальною назвою. Цей стовпець - ім'я. Отже, коли ви запитуєте про природне з'єднання між постачальником і таблицями частин, з'єднання відбувається не тільки шляхом прирівнювання стовпця_в_допоміж двох таблиць, але і стовпця імен з двох таблиць прирівнюється також. Оскільки жодне ім’я постачальника не збігається з назвою частини цього ж постачальника, запит не повертає жодних рядків.
У розділі "старий синтаксис приєднання" (8i та новіші версії) "NATURAL JOIN" був типовим поведінкою приєднання, і я вважаю, що це все ще є, якщо ви не вказали умову приєднання. Після того, як "НАТУРАЛЬНИЙ ПРИЄДНАЙТЕСЬ" був офіційним варіантом у 9i, загальна рекомендація не використовувати його , тому що неправильне іменування стовпців може вас накрутити, що, на мою думку, я виступаю за гарні назви стовпців.