Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.11;
Скачать: CL | DM;

Вниз

Изучение SQL. Сколько времени?   Найти похожие ветки 

 
capkoh ©   (2008-03-26 12:45) [0]

Вопрос такой: за какое время можно изучить SQL в такой степени, чтобы можно было претендовать на звание «начинающий»? Положим, что я буду уделять этому занятию ровно два часа в день (только будни).

Вопрос второй: что должен знать и уметь человек с опытом работы с SQL в один год?

Стоит ли этим заниматься безотносительно к какой-либо конкретной БД?
Если нет, то какую БД выбрать?


 
Ega23 ©   (2008-03-26 12:54) [1]


> Положим, что я буду уделять этому занятию ровно два часа
> в день (только будни).


Простите, не удержался: а с женой у вас как? Тоже по расписанию поминутному?  :)


 
Romkin ©   (2008-03-26 12:57) [2]

www.sql-ex.ru
Сертификат. Это - начальный уровень


 
Правильный_Вася   (2008-03-26 12:59) [3]


> за какое время можно изучить SQL в такой степени, чтобы
> можно было претендовать на звание «начинающий»?

полная неделя интенсивных занятий


 
Corwin   (2008-03-26 13:00) [4]

http://www.sql.ru/docs/sql/u_sql/index.shtml

Данный книг отражает собственно весь pure SQL.
В зависимости от вовлеченности, после около 0,5 года производственной деятельности, после набора критической суммы опыта, стоит озадачиться вопросами из области SQL tuning (такая книжка тоже есть у O"Reilly), что подразумевает знакомство с конкретной БД (если это Oracle, то помочь могут Скотт Урманн, Том Кайт, и Oracle Concept Manuals).

Какая БД - вопрос всецело решается производственной необходимостью.


 
capkoh ©   (2008-03-26 13:10) [5]

> Простите, не удержался: а с женой у вас как? Тоже по расписанию
> поминутному?  :)

Да ничего. Жены у меня нет, и в ближайшее время не предвидится.
Мне ещё месяца два-три быть студентом, к слову. Тут, знаете, полезно план составлять и его придерживаться.

Почему вы решили, что она у меня есть? :)
Но вопрос не в этом.

Если есть ещё у кого-то подобные вопросы, то задавайте скорее. Чем быстрее они кончатся, тем быстрее начнутся полезные посты, я надеюсь.

Заранее спасибо за содержательные ответы.


 
Игорь Шевченко ©   (2008-03-26 13:16) [6]

Купить две книжки: Мартина Грубера по SQL и Джо Селко - SQL для профессионалов. Прочитать их обе. Осмыслить. После этого на уровень "Для начинающих" вполне можно претендовать.


 
Ega23 ©   (2008-03-26 13:19) [7]

Практика, практика и ещё раз практика.


 
Reindeer Moss Eater ©   (2008-03-26 13:30) [8]

Примерно одна минута и ты уже начинающий.


 
Правильный_Вася   (2008-03-26 13:39) [9]


> Примерно одна минута и ты уже начинающий.

а дальше - начавший, продолжающий, продолживший и т.п.


 
Sergey13 ©   (2008-03-26 13:50) [10]

Предлагаю, по итогам дискуссии, присвоить звание "начинающего" автору вопроса.
8-)


 
Kolan ©   (2008-03-26 13:58) [11]

> www.sql-ex.ru

+1


 
DrPass ©   (2008-03-26 14:01) [12]


> за какое время можно изучить SQL в такой степени, чтобы
> можно было претендовать на звание «начинающий»? Положим,
>  что я буду уделять этому занятию ровно два часа в день
> (только будни).

Скажи, какой у тебя IQ?


 
Anatoly Podgoretsky ©   (2008-03-26 15:19) [13]

> capkoh  (26.03.2008 12:45:00)  [0]

А SQL это что, только составление запросов или больше. Запросы можно освоить от пары дней до недели.


 
ditrix ©   (2008-03-26 15:30) [14]

>>за какое время можно изучить SQL
ни за какое.
образование не есть результат. образование - есть процесс.


 
capkoh ©   (2008-03-26 16:36) [15]

> Скажи, какой у тебя IQ?

Это сказано иронично, подозреваю?
В таком случае, если вы оцениваете все умственные способности человека единственным показателем IQ, то дайте мне ссылку на тест IQ, результатам которого вы доверяете. Я его пройду.


> образование не есть результат. образование - есть процесс.

Согласен. Но во всех вакансиях, которые я видел, требуется «опыт работы с SQL от года» или подобное. Конечно, мне интересно, где я (ничего не зная на данный момент про SQL) этот опыт могу получить. Понятно также, что никто меня такого на работу брать не будет. Кому выгодно обучать с нуля? Вот именно получение базовых знаний мне сейчас наиболее интересно (книги, курсы). За www.sql-ex.ru спасибо.

Если кто-то хочет высказаться на тему проблемы получения «опыта от года» в коммерческой организации, то создайте отдельную ветку (меня там не увидите, это всё и так понятно). Здесь об этом писать не нужно.


 
Ega23 ©   (2008-03-26 17:28) [16]


> Вот именно получение базовых знаний мне сейчас наиболее
> интересно


Если серьезно, то так:
если у тебя нет проблем с дискретной математикой (а точнее - с логикой, т.е. прекрасно представляешь, что такое ((A and B) or C), где A, B и С - некие множества), то разобраться самостоятельно во всем этом деле можно за пару дней.
Если рядом присутствует тот, кто тебе может это "на пальцах" объяснить, то за пару часов (мне в своё время шеф аккурат так и объяснил, после чего я тут же зачет пошёл сдавать).

Сложного в SQL нифига нет.
А вот дальше начинается голая практика. И тут тебе уже никто не поможет, практический опыт накапливается долго.


 
DrPass ©   (2008-03-26 18:12) [17]


> > Скажи, какой у тебя IQ?
>
> Это сказано иронично, подозреваю?
> В таком случае, если вы оцениваете все умственные способности
> человека единственным показателем IQ, то дайте мне ссылку
> на тест IQ, результатам которого вы доверяете. Я его пройду.
>

Иронично, конечно. Но смысл ты уловил - ничего не зная о твоих умственных способностях и подготовке, невозможно хотя бы примерно оценить, сколько тебе времени потребуется на изучение SQL


 
capkoh ©   (2008-03-26 20:52) [18]

Я спрашивал об изучении азов SQL (в этом можно убедиться, посмотрев первый пост). Думаю, что на это у всех уходит примерно равное время.


> [16] Ega23 ©   (26.03.08 17:28)

Спасибо.


 
ferr   (2008-03-26 20:59) [19]

фтыкаешь проводи и говоришь: я знаю кун-фу. примерно так..


 
Anatoly Podgoretsky ©   (2008-03-26 21:53) [20]

> capkoh  (26.03.2008 20:52:18)  [18]

На азы нужно всего несколько часов, если конечно знать, что азы, а что нет.

Select * From tbl

Вот на это на понимание надо несколько секунд без объяснений и книге
И вообще язык очень простой, для работы с данными всего четыре команды

SELECT, UPDATE, INSERT, DELETE


 
Johnmen ©   (2008-03-26 22:06) [21]


> Думаю, что на это у всех уходит примерно равное время.

Ошибочно думаешь.
Некоторые вообще не могут изучить 2*2 пожизненно. Что наглядно демонстрирует конференция "Начинающим".


 
ferr   (2008-03-26 22:28) [22]

> Select * From tbl

звёздочка маст дай


 
Johnmen ©   (2008-03-26 22:36) [23]


> ferr   (26.03.08 22:28) [22]
> > Select * From tbl
> звёздочка маст дай

Зачем так грубо?


 
ferr   (2008-03-26 22:41) [24]

> Зачем так грубо?

Так это вселенское зло и корень всех бед. Она вообще ну никак не стыкуюется с реляционной алгеброй, добавлена для линтяев.. почти имхо.


 
Palladin ©   (2008-03-26 22:42) [25]


> ferr   (26.03.08 22:28) [22]

угу и придумали ее идиоты... и мудрый ferr сейчас расскажет почему они были неправы...


 
Anatoly Podgoretsky ©   (2008-03-26 23:08) [26]

> Palladin  (26.03.2008 22:42:25)  [25]

О чем речь, фирма IBM изобрела SQL для рядовых непрограммирующих пользователей и как же она ошиблась.


 
Palladin ©   (2008-03-26 23:41) [27]


> Anatoly Podgoretsky ©

во во... а если быть точнее для экономистов аналитиков... что бы они могли почти как на нормальном английском запросить данные из хранилища...

но язык запросов очень понравился всем :) осрбонно программистам и получил дальнейшее развитие...


 
Ega23 ©   (2008-03-27 00:39) [28]


> Некоторые вообще не могут изучить 2*2 пожизненно.

Зависит от системы счисления.
Вот конкретнос ейчас я пьян, и чё0та не могу все комьинациии расписать. Но они отличны от 4.


 
Petr V. Abramov ©   (2008-03-27 02:05) [29]


> добавлена для линтяев.. почти имхо.

<звездочка>

> ferr   (26.03.08 22:41) [24]

для админов ушедших годов, когда не было восхитительных пакетов типа Erwin, где все в графическом виде со связями. Но дураки, сместо того, чтоб ждать, когда загрузится смема и потом выискивать, просто пишут select * и знают поля :)


 
Petr V. Abramov ©   (2008-03-27 02:18) [30]


> Anatoly Podgoretsky ©   (26.03.08 23:08) [26]


>
> О чем речь, фирма IBM изобрела SQL для рядовых непрограммирующих
> пользователей и как же она ошиблась.

когда фирма изобрела, человека, неспособного написать sql-запрос, к компу не подпускали :)
Компы были для программистов, не для юзеров, хотя их и использовали в мирных целях.

счас следующая попытка научить комп выдавать инфу по запросу на человеческом языке, тоже неудачная

http://www.yandex.ru/yandsearch?text=%D0%BB%D1%8E%D0%B1%D0%BE%D0%B2%D1%8C+%D0%B4%D0%B5%D0%B2%D1%83%D1%88%D0%BA%D0%B0+%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D0%BE


 
Смирнов   (2008-03-27 11:00) [31]


> И вообще язык очень простой, для работы с данными всего
> четыре команды
>
> SELECT, UPDATE, INSERT, DELETE


может быть даже 3 всего, т.к. update = delete + insert (исходя из того, что в триггерах есть deleted и inserted), возможно я ошибаюсь, но мне так преподавали.


 
Palladin ©   (2008-03-27 11:05) [32]


> update = delete + insert

бред...


 
Игорь Шевченко ©   (2008-03-27 11:06) [33]

Palladin ©   (27.03.08 11:05) [32]

Не всегда :) Внутре оно по крайней мере часто работает именно так.


 
Palladin ©   (2008-03-27 11:08) [34]


> Игорь Шевченко ©   (27.03.08 11:06) [33]

ужас... интересно, какие в этом выгоды...


 
clickmaker ©   (2008-03-27 11:10) [35]


> [33] Игорь Шевченко ©   (27.03.08 11:06)

однако, практика показывает, что delete работает дольше, чем update...


 
Palladin ©   (2008-03-27 11:11) [36]

Честно говоря, кроме как избавления от реализации функционала update, я выгоды в этом не вижу. То бишь выгода только для разработчиков получается.


 
Ega23 ©   (2008-03-27 11:18) [37]


> однако, практика показывает, что delete работает дольше,
>  чем update...


Частичная реиндексация?
Быстрее всего drop работает.  :)


 
clickmaker ©   (2008-03-27 11:19) [38]


> Быстрее всего drop работает

или truncate )


 
Palladin ©   (2008-03-27 11:21) [39]

угу... к ним бы еще where прикрутить :)


 
Игорь Шевченко ©   (2008-03-27 11:24) [40]

Palladin ©   (27.03.08 11:08) [34]


> интересно, какие в этом выгоды...


минус одна операция при реализации...

clickmaker ©   (27.03.08 11:10) [35]


> однако, практика показывает, что delete работает дольше,
>  чем update...


Вполне разумно, данных для отката готовить больше


 
Eraser ©   (2008-03-27 11:29) [41]


> Anatoly Podgoretsky ©   (26.03.08 21:53) [20]
> > capkoh  (26.03.2008 20:52:18)  [18]На азы нужно всего
> несколько часов, если конечно знать, что азы, а что нет.
> Select * From tbl

+1 для того, чтобы понять различные вариации SELECT * FROM WHERE особо напрягать мозг не надо, imho. если это знаешь, ну а так же вставку, обновление, удаление.. то считай, что начинающий..
а следующий этап это уже внешние объединения, группировки и т.д.


 
clickmaker ©   (2008-03-27 11:33) [42]


> внешние объединения, группировки

Тамбовские, Солнцевские... )
На самом деле, основной гемор при работе с SQL - оптимизация запросов по скорости
Если смотрели фильм "Никола Паганини" - так там он говорит "истинная гениальность - играть не на одной струне, а вообще без струн"
Так вот, основной парадокс при работе с базами в том, что нужно стараться как можно реже к этой самой базе обращаться )


 
Eraser ©   (2008-03-27 11:35) [43]


> clickmaker ©   (27.03.08 11:33) [42]

эт точно, кэширование рулит )


 
Sergey13 ©   (2008-03-27 11:41) [44]

> [40] Игорь Шевченко ©   (27.03.08 11:24)
> > однако, практика показывает, что delete работает дольше, чем update...
>
> Вполне разумно, данных для отката готовить больше

Но тогда, по этой логике на delete + insert должно готовиться еще больше, пусть и не на много. И апдейт должен бы работать медленнее.


 
Игорь Шевченко ©   (2008-03-27 11:53) [45]

Sergey13 ©   (27.03.08 11:41) [44]

Я извиняюсь, я имел в виду реализацию уже после того, как данные отката подготовлены. Мои слова не стоит понимать, как "СУБД при получении запроса UPDATE самостоятельно строит из него запросы DELETE и INSERT и последовательно их выполняет, как если бы они пришли от клиента".


 
Sergey13 ©   (2008-03-27 11:56) [46]

> [45] Игорь Шевченко ©   (27.03.08 11:53)

Ок.


 
capkoh ©   (2008-03-27 15:37) [47]

Благодарю всех откликнувшихся, теперь я понял с чего нужно начать изучение SQL и к чему стремиться при формировании запросов. А дальше, думаю, втянусь постепенно.


 
Simpson   (2008-03-27 20:19) [48]

LOL Он начнет изучение SQL с Fortran"a. Возьми Груббера прочитай станеш начинающим, базу для самостоятельных заданий используй существующую и уже запущенную (для Дельфи всегда идет Интербэйз(упрощено для понимания)). Просто проделай все примеры из книги и можеш смело говорить что в SQL ты начинающий.


 
MsGuns ©   (2008-03-27 21:01) [49]

На основе почти трехлетней плотной работы с пользователями самой разной квалификации и опыта могу сказать, что :
Самостоятельно составлять простейшие запросы на выборку из одной таблицы с перечнем выбираемых полей
с использованием Where средний пользователь может через день-два.
Выборка из более чем одной таблицы (связки - join) - неделя
Выборка с группировками (агрегатами) и агрегатными условиями (having)  - две-три недели
Составление вложенных запросов - две-три недели
Составление кросс-выборок - от нескольких месяцев или никогда
Понимание и проектирование бизнес-логики - никогда.
Оптимизация запросов, анализ планов и т.д. - никогда

Все особенности конкретного скл-сервера слабо влияют на эти сроки за исключениес случаев когда одному пользователю приходится писать запросы к разным серверам поочередно (как пример, очень разные Interbase и MSSQL)


 
Petr V. Abramov ©   (2008-03-27 21:05) [50]


> MsGuns ©   (27.03.08 21:01) [49]


когда в вакансиях пишут "SQL от года", обычно как раз имеют в виду


> Понимание и проектирование бизнес-логики - никогда.
> Оптимизация запросов, анализ планов и т.д. - никогда



Страницы: 1 2 вся ветка

Текущий архив: 2008.05.11;
Скачать: CL | DM;

Наверх




Память: 0.61 MB
Время: 0.024 c
15-1206933934
TPL
2008-03-31 07:25
2008.05.11
Если нету Com-порта


15-1206401988
Поп Гапон
2008-03-25 02:39
2008.05.11
Перегнать строку в Unicode, зная ее LangID


2-1207809049
TRSteep
2008-04-10 10:30
2008.05.11
Классы и ошибки


15-1206796838
@!!ex
2008-03-29 16:20
2008.05.11
Что за музыка?


2-1207896329
Guriev
2008-04-11 10:45
2008.05.11
Как прописать "пробел" при нажатии на Enter?