ZardoZAntony, бред - это быть категоричным в разработке и проектировании. Любой опытный сеньор понимает, что архитектура - это всегда баланс между тем как правильно, быстро и дешево. Это всегда поиск оптимального пути в зависимости от ресурсов того или иного типа.
Надо будет и три варианта написания номера будут хранить, и ключом номер телефона сделают - зависит от постановки задачи.
И кстати, где написано, что преобразования надо выполнять на стороне сервера?
Alister O: На практике я часто и густо вижу такую реализацию. Создают "суперюзера" с большим охватом прав доступа и возможностью эти права передавать. Пароль от супер юзера знают администраторы БД. Пароль SYS хранится в "запечатанном конверте в сейфе". Достается при исключительной необходимости. Для некоторых особых случаев можно зацепиться с правами SYS локально (conn / as sysdba).
Созданный "суперюзер" есть обычный пользователь БД (с широкими правами).
Я не утверждаю, что так правильно. Я не админ. Но встречаются вот такие организации работы администраторов Oracle с некоторой волатильностью.
nevro:
1. GROUP BY - это не фильтр. WHERE, HAVING - можно сказать фильтры. Почему "можно сказать"? Когда долго работаешь с БД, это как с иностранным языком, в какой-то момент начинаешь думать на иностранном. Перестаешь переводить в голове на русский. Так и с инструкциями SQL. Перестаешь переводить в русские термины "инструкция", "фильтр" и т.д. Просто понимаешь как это работает. Как Нео из Матрицы. Начинаешь видеть зеленые буковки))
2. HAVING можно использовать только в паре с GROUP BY. Условно говоря да. Однако, бывает группировки с пустым количеством поле в GROUP BY. Например, select count(1) from table1. Тут мы посчитали кол-во строк в таблице. Без группировки. Можно написать select count(1) from table1 having count(1) = 0. Это будет работать. Будет выдавать результат только, если в таблице 0 строк.
3. ORDER BY - итоговая сортировка. Самая последняя инструкция. Когда результирующий rowset определен. Неважно как, кем и чем.
Йцу Йцуевич:Если возможна такая ситуация, что владелец телефона может измениться, то суррогатный ключ (Id) придется оставить =). В противном случае вполне можно использовать ключом номер телефона.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Надо будет и три варианта написания номера будут хранить, и ключом номер телефона сделают - зависит от постановки задачи.
И кстати, где написано, что преобразования надо выполнять на стороне сервера?