У меня никогда не было особой потребности в программировании с базами данных. Поскольку их использование настолько широко распространено, мне кажется, что мне стоит научиться. SQL кажется подходящим местом для начала, возможно, SQLite и, возможно, Привязки Python. Что бы вы порекомендовали новичку? Приветствуются библиотеки, инструменты и проектные идеи.


Если вы программируете с использованием платформы .NET, изучение LINQ может быть хорошим началом. «Механизм» LINQ будет обрабатывать внутреннюю связь с базой данных (или объектами, или сущностями, или XML и т. д.) За вас. Если вы хотите копнуть глубже, вы можете изучить SQL, сгенерированный написанным вами LINQ.
Если вы уже кое-что знаете о веб-приложениях, то это будет хорошим началом. Почти каждое серьезное веб-приложение использует базу данных SQL в качестве бэкэнда.
Попробуйте Википедию, http://www.w3schools.com/sql/default.asp и http://www.sql-tutorial.net/. Также проверьте YouTube на наличие видео SQL.
Ребята из Head First выпустили книгу. Судя по тому, насколько хороши их другие книги, я бы порекомендовал эту. Хотя еще не читал. (СВЯЗЬ)
Вы правы, SQLite - отличное место для начала, потому что он бесплатный, легкий и доступный на многих платформах. Но это только начало. SQLite очень либерален в синтаксисе SQL и не имеет внутреннего языка программирования, как в системах СУБД. Тем не менее, если вы хотите начать и учиться с минимальными накладными расходами, SQLite - это то, что вам нужно.
SQLite хорош, и у них действительно хорошая документация, однако вы должны знать, что это не полнофункциональная база данных SQL, такая как MySQL, Postgres или коммерческие варианты. API SQLite полагается на обратные вызовы, что является прекрасной моделью, но не все API баз данных работают таким образом. Если вы знакомы с Perl, то DBI - еще один хороший способ изучить SQL.
/ Аллан
Язык запросов структуры (SQL) - это язык, используемый для общения с системами управления базами данных (СУБД). Хотя этому полезно учиться, вероятно, лучше всего делать это, имея в виду проект, которым вы хотели бы заниматься. Забавно, что вы говорите, что у вас никогда не было необходимости, потому что я наоборот, почти каждая программа, которую я когда-либо писал, использовала какую-либо базу данных. Подавляющее большинство (в основном веб-сайтов) вращается вокруг использования базы данных.
Узнайте об отношениях и архитектуре базы данных. Это означает, как структурировать ваши таблицы, создавать внешние ключи и отношения.
Например, у вас может быть база данных фильмов. В нем вы храните информацию о фильмах, студиях, выпустивших фильмы, и актерах в фильмах. Каждый из них становится таблицей. Каждый фильм выпускается одной студией. Поскольку вы не хотите хранить дублирующую информацию о студии (адрес и т. д.) В каждой записи фильма, вы сохраняете отношение к ней, поэтому каждый элемент фильма содержит ссылку на элемент Studio. Это называется отношениями «один ко многим» (у одной студии есть много фильмов). Точно так же вы не хотите хранить информацию об актерах для каждого фильма. Но один актер может быть во многих фильмах, поэтому это сохраняется как отношение «многие ко многим».
Изучите сам SQL. SQLCourse - хорошее место для начала, но есть много других книг и ресурсов. SQL является стандартом, но каждая СУБД имеет свои собственные способы выполнения определенных действий и другие ограничения (например, некоторые системы не поддерживают подзапросы, существует несколько различных синтаксисов для ограничения количества возвращаемых строк и т. д. ). Важно изучить синтаксис того, который вы используете (например, не изучать синтаксис Oracle, а затем пытаться использовать его в MySQL), но они достаточно похожи, чтобы концепции были одинаковыми.
Инструменты зависят от используемой СУБД. MySQL - довольно популярная база данных, доступно множество инструментов и множество книг. SQLite и Postgresql также довольно популярны, а также бесплатны / с открытым исходным кодом.
Возможно, вы захотите начать с MySQL, поскольку он широко документирован и с ним очень легко начать. Вы можете загрузить Community Edition, а затем добавить Инструменты графического интерфейса, и вы получите как графический интерфейс, так и интерфейсы командной строки.
Если вы можете, вы действительно хотите найти кого-то, кто знает, как им пользоваться, и забрать его мозги. Это потому, что есть много важных принципов (например, 3-я нормальная форма), которые будет намного легче усвоить путем обсуждения, а не из книг.
Если вы хотите научиться самостоятельно, вам следует изучить синтаксис для выполнения основных операций выбора, объединения, обновления, удаления и группировки по запросам. Вы также должны выучить «швейцарский армейский нож» для выбора, оператор CASE. Слишком много людей этого не делают. Многие из руководств, рекомендованных в этом потоке, сделают это. Тогда вам нужно попробовать решить проблемы SQL. Я уверен, что SQL-головоломки и ответы Джо Селко - хороший их источник, хотя он может быть немного продвинутым.
Это позволит вам писать SQL. Но вам все равно нужно научиться организовывать базу данных. Что для большинства целей означает, что вам действительно нужно узнать, как выглядит 3-я нормальная форма. Вам не нужно уметь давать формальное определение этому, просто узнавайте это, когда видите, и знаете, как настроить что-то, чтобы оно было в этом формате.
Это объясняется множеством ссылок, но вы не узнаете, правильно ли вы их читаете. Именно здесь В самом деле помогает получить доступ к тому, кто может взглянуть на макет таблицы и сказать вам: «Верно» или «Это неправильно, вот что нужно изменить». В противном случае вы можете разместить здесь вопрос с предложенным макетом. Но обсуждение с живым человеком все же было бы предпочтительнее, ИМО.
«Нежное введение в SQL» - вы можете даже практиковать "живые запросы" прямо на этом учебном веб-сайте.
http://sqlzoo.net/
Я всегда рекомендую Практическое руководство по SQL как хорошую отправную точку для новичков - особенно тех, кто видел SQL, но никогда не понимал, как самостоятельно создавать запросы или как они работают.
Все книги Celko великолепны.
Книга Эрнандеса «Простые смертные» хороша.
Книги Кена Хендерсона тоже превосходны.
Немного ознакомившись с реляционная алгебра - хороший способ понять основные концепции реляционных баз данных.
SQL для умников Джо Селко превосходен.
Ссылка на Amazon: amazon.com/Joe-Celkos-SQL-Smarties-Programming/dp/1558605762
Прочтите книгу, чтобы начать изучать SQL. Не так давно я прочитал Начало SQL-запросов от Apress и нашел его понятным и логично написанным для новичка (я просмотрел его для коллеги).
Рекомендую упражнения на этом сайте: sql-ex.ru Вы даже можете получить сертификат, если сделаете правильно.
Я узнал 90% того, что знаю о SQL, из здесь. В 1997 г.
Я думаю, что он все еще стоит.
Начните с Ideone и попробуйте запросы в режиме онлайн только с помощью веб-браузера.
Привет, хотя это еще не все, но здорово разобраться с SQLite, как упоминалось выше, Google «Изучите SQL на практике» и есть онлайн-книга, с которой вы можете работать, которая использует SQLite.
Google отлично подходит для бесплатной загрузки PDF-файлов «Кашель, кашель», но попробуйте http://www.sqlfiddle.com/
Это бесплатная онлайн-платформа! Вход в систему не требуется, просто перейдите на их страницу, создайте свою базу данных на любом языке, который вы хотите (это лучший вариант, который я выбираю T-SQL, поскольку я изучаю его), а затем вы можете запрашивать его столько, сколько захотите. Я учусь с помощью файла pdf, в котором есть файлы SQL с открытым исходным кодом, которые вы можете загрузить, чтобы следовать, и SQLFiddle отлично подходит для изучения SQL, специфичного для поставщика.
W3 Schools отлично подходит для начинающих, хотя иногда я сомневаюсь в их точности. Многие фрагменты, которые я нашел на этом сайте, были неправильными. Особенно в разделах Javascript и SQL. Однако с тех пор это могло измениться.