На мой взгляд, есть три «трека» с навыками базы данных: разработчик, администратор базы данных и архитектор. С точки зрения развития вы хотите сосредоточиться на разработке, понять архитектора и забрать столько материалов DBA, сколько вам нужно на этом пути.
Являясь разработчиком, ключевым моментом (на мой взгляд) является то, что ваш SQL будет действительно хорошим стандартом. Как интервьюер, если я ищу разработчика, мне все равно, можно ли создавать базы данных так же, как вы можете писать запросы. Предполагая, что вы знаете о своих основных командах CRUD, вы знаете о:
хранимых процедур (не только как использовать их, но когда и почему)
Просмотров (Ditto, в том числе материализованных представлений)
Триггеры (вставка, обновление, удалять, как и почему)
курсоров (особенно влияет на производительность)
ссылочной целостности
Операции
Индексы
Добавление значения по умолчанию, ограничения и идентичности к таблицам
Комплексное использование группы по и имеющие
функции особенно:
- Дата и время манипуляции
- Строковые манипуляции
- Обработка обнуляет
Вы должны быть в состоянии осуществить любые необходимые вам данные из базы данных с помощью SQL в одиночку, вы никогда не должны манипулировать или проанализировать его каким-либо образом с помощью вашего процедурного кода (вы можете выбрать, но это будет выбор, а не вы не знаете, как это сделать с SQL).
Как разработчик, я бы выбрал одно предложение, которое я бы рассмотрел, - это SQL для Smarties от Joe Celko. Множество SQL, чтобы делать то, что вы, возможно, никогда не думали о возможности делать в SQL.
Один из лучших способов узнать этот материал, утомительный, как кажется, написание отчетов (управленческая информация). Я видел, как многие люди стонали о том, чтобы писать отчеты скучными, а затем делать это действительно, очень плохо (и не только потому, что они не пытались). Отчеты, как правило, близки к чистому SQL, поэтому вам нужно действительно знать инструменты под рукой, а сложный отчет действительно предоставляет тем, кто знает SQL у тех, кто этого не делает. Люди также склонны не желать слишком долго ждать, так что производительность тоже важна.
Посмотрите на свою текущую базу данных и придумайте кучу действительно неудобных вещей, которые кто-то действительно может захотеть узнать. Подумайте о маркетинге, тенденциях, большинстве и наименее популярном. Затем попробуйте объединить их в один запрос.
Что касается производительности, я бы также пытался понять, как работает оптимизатор запросов, как он принимает решения о том, когда использовать индекс и когда сканировать таблицу, когда индексы помогут и когда они будут мешать.
Хороший разработчик не просто пишет хорошие запросы, они пишут быстрые, поддерживаемые запросы. Чтобы действительно справиться с этим, вам нужно поиграть с базой данных с дюжиной (или более таблицами), содержащей, в идеале, миллионы строк. Вот когда вы начинаете видеть запросы, которые, как вы считали, прекрасно тянули каблуки.
Архитектура/дизайнерский материал, который другие хорошо освещали. Все, что я сказал по этому вопросу, это то, что для каждой базы данных, которая должна быть разработана, есть сотни запросов, которые нужно написать для этого. Возможно, вам стоит подумать о том, что пропорциональный разрыв работы, когда вы выполняете аудит, и убедитесь, что ваш запрос действительно до нуля.
С точки зрения ссылок это зависит от платформы - все это имеет тенденцию быть специфичным для платформы. Но для этого и предназначен Google.
Не я подозреваю, совсем то, что вы хотите, но стоит знать, как много людей, которые думают, что они знают, что SQL действительно очень не ...
«Смотрите, что я клоню» - не полностью. Это проблема «масштабируемости», которая является равным компонентом приложения, операционной системы и базы данных. «промышленный уровень» - что думает ваш работодатель? Это обширная наука - небольшая фокусировка поможет. –
Спасибо за комментарий, мой вопрос на самом деле о том, как привлечь внимание, о котором вы говорите. Я обновил вопрос, чтобы попытаться это разъяснить. – sharkin
Вас интересуют «базы данных в целом» или конкретный продукт базы данных? Там обычно лучше доступный материал, который зависит от поставщика. – RobS