За сколько можно выучить sql

За сколько можно выучить 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]

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


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 (в этом можно убедиться, посмотрев первый пост). Думаю, что на это у всех уходит примерно равное время.

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

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.


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

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

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 от года", обычно как раз имеют в виду


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

Форум PHP программистов ► Профессиональная деятельность ► Обучение IT технологиям

Собственно, сабж: хочу быстро выучить SQL, то есть запросы, базовые знания по проектированию БД, оптимизации запросов, нюансы создания различных юзеров и проч. Некоторые знания, конечно, имеются, но они очень поверхностные, из разряда записал в базу / прочитал из базы .

Желательно, на примере MySQL. Может кто-нибудь посоветовать соответствующую литературу, сайты и проч.? Заранее спасибо.

0

Сообщений: 2768
Пользователь №: 26803
На форуме:
Карма: 122

0

Сообщений: 104
Пользователь №: 19569
На форуме:
Карма: 3

0

Сообщений: 2804
Пользователь №: 24406
На форуме:
Карма: 181

0

Сообщений: 192
Пользователь №: 18548
На форуме:
Карма: 4

Роберт Шелдон, Джоффрей Мойе
MySQL. Базовый курс Beginning MySQL
Серия: Программистам от программистов
Издательства: Вильямс, Диалектика, 2007 г.

Насчет быстро не гарантирую, все таки 800 страниц, но понятней я лично не встречал. Просто прочитал и стал писать запросы на MySQL так же легко, как и HTML код. Книгу отличает простой и доступный стиль изложения, изобилие примеров и множество рекомендаций по эффективному применению MySQL. Подробно рассматриваются такие вопросы, как инсталляция и настройка MySQL, проектирование и создание баз данных , настройка таблиц различных типов, введение в язык SQL, экспорт и импорт данных , организация и управление транзакциями. Немало внимания уделяется администрированию MySQL, тонкой настройке производительности, а также резервному копированию и восстановлению баз данных в случае сбоя системы. Упражнения, предлагаемые в конце каждой главы, помогают закрепить полученные знания. Книга рассчитана на начинающих разработчиков, а также будет полезной для студентов и преподавателей дисциплин, связанных с использованием СУБД MySQL и созданием Web-приложений, взаимодействующих с данными.

Сколько времени необходимо для изучения основ SQL (C#)?

E-sunE-sun

Языками программирования не владею.

Ivan AsmerIvan Asmer

1) SQL — это SQL а C# — это C#. Разными SQL базами данных можно пользоваться с разными языками программирования.
2) для изучения основ, в зависимости от способностей надо от 1 дня до месяца. В принципе, на начальном уровне SQL очень прост. А вот профессиональное DBA (Администрирование Баз Данных) и оптимизация работы БД — это весьма сложно.
3) Для начала посоветовал бы попробовать mysql — БД бесплатная, распространенная, и с 5-й ветки (версии) весьма и весьма функциональная (ранее Mysql многие считали ущербным). Если же планируете писать на C# — изучайте M$ SQL.

E-sunE-sun

Visual C# 2008 Express Edition то что нужно?

Марат ГизатуллинМарат Гизатуллин

Для начала стоит прочитать
http://www.citforum.ru/database/sql_kg/index.shtml

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

ГостьГость

E-sun да Visual C# 2008 Express Edition вполне подходящая среда для изучения C#, рекомендую купить книгу Эндрю Троэлсена, желательно какую-нибудь из последних, посвященных программированию в.NET

neironeiro

Если упустишь базовые вещи, то на всю жизнь останешься рабом того инструмента на котором научился играть, а послезавтра мелкомягкие выпустят K##, и пойдешь ты с С# за еду кодить 😉
так вот, для начала, книга К. Дейт «Введение в базы данных» — это базовая книга по реляционным СУБД во многих универах мира, написана просто, изящно, читается на ура, куча примеров, а SQL в ней даётся органично, а не с потолка… Даёт базовое понимание работы БД, полезно и ДБА и девелоперам, чтобы писать красивый и правильный код.
Осилив её, можно проектировать БД в независимости от движка, хоть MySQL, PostgreSQL, MS SQL, IBM DB2, просто для каждой субд придётся маленько почитать особенности реализации 😉

neironeiro

Ссылка на описание книги

Delfi (Стас СальниковDelfi (Стас Сальников

Все зависит от усваимости материала. И к тому же как ты хочешь выучить? Чтобы все по памяти или просто знать, куда надо аглянуть при возникшем вопросе? Всего не запомнишь никогда… Я бы по второму способу, а это не сложно… Главное понимать что и куда надо…

SteckSteck

Все зависит от того, как где этим пользоваться. Если не применять на практике а читать книжки, то приблизительная оценка времени: + бесконечность.
Если же есть серьезный проект, желательно с жестко ограниченными временными рамками где идет достаточно активное использование, то недели более чем достаточно, даже с запаом и медленным вьезжанием в хитрости. Впрочем при нулевом общении с другими языками программирования и не очень способным мозгом, то может быть две недели.

В общем суть такова — выучить это можно крайне быстро, но лишь в том случае если оно действительно нужно.

E-sunE-sun

Учусь на IT-шника.
Нужно сделать несколько лаб, и при подачи заявления на практику-стажировку будет + если я напишу базовое знание SQL

AlexknowAlexknow

Поскольку указан C#, значит речь идет о диалекте MS SQL Server и работе с ним через DB.NET компоненты.
Поскольку опытный программист не задал бы такой вопрос, а изучил бы, программист неопытный (или не программист).

Понимая под «основами» минимальный набор навыков для написания стандартных запросов, оценим в 3 месяца для неопытного программиста и в 6-9 месяцев (и больше) для не программиста.

Serge ISerge I

Засеките время и решите первые 57 задач на «Упражнения по SQL».

XXFessXXXXFessXX

Я полагаю, автор в курсе sql как языка
а применительно к C# ему нужно изучить ado.net
я бы посоветовал пролистать:
http://www.infanata.org/computers/1146110850-programmirovanie-na-microsoft-ado.net-2.0.html
http://www.infanata.org/2007/05/02/adonet_sbornik_receptov_dlja_professionalov.html
http://www.infanata.org/2006/11/27/sakhil_malik_adonet_20_dlja_professionalov.html
ну, и все что найдете подобного
время изучения

время беглого прочтения и осмысления такой литературы
я бы назвал 2-3 дня
желаю удачи.

Igor SuvorovIgor Suvorov

Вопрос:
Сколько времени необходимо для изучения основ SQL (C#) ?
Языками программирования не владею.
Ответ:
При наличии высшего образования

Жизнь — это движение! А тестирование — это жизнь 🙂

В начале 2012 года я дорабатывала последние дни в компании ХХХ. Нас поглощал УУУ и там, на их проектах, тестировщики были не нужны. У меня было много свободного времени на работе, так как на моем проекте активность возникала раз в неделю.

Поэтому я училась. Мой разработчик начал учить меня основам программирования и рассказал про SQL, за что я ему до сих пор благодарна

Он научил меня основам SQL за 2 дня. И этих знаний мне хватило, чтобы решать задачки на собеседовании. Потому что, если вы никогда не работали с SQL, все, что вам нужно знать — это основы. А чтобы понимать основы, надо просто разобраться с селектами и простейшими джойнами. Создать свою собственную базу и потыкать ее разными запросами, следя за результатами. И все!

Удачи на собеседованиях!

См также:
SQL. Полезные запросы — запросы посложнее, которые я использую в работе спустя 5 лет после написания тех последних дней в компании ХХХ.

PS — статья сохранена на Testbase в навыке «знать SQL», теперь не потеряется!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *