Советы по началу работы с SQL? - PullRequest
3 голосов
/ 21 сентября 2008

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

Ответы [ 18 ]

3 голосов
/ 21 сентября 2008

Structure Query Language (SQL) - это язык, используемый для общения с системами управления базами данных (СУБД). Хотя это хорошая вещь для изучения, вероятно, лучше всего делать это с учетом проекта, который вы хотели бы сделать. Забавно, что вы говорите, что у вас никогда не было необходимости, потому что я наоборот, почти каждая программа, которую я когда-либо писал, использовала какую-то базу данных. Подавляющее большинство (в основном на основе Интернета) вращаются вокруг использования базы данных.

  • Узнайте об отношениях и архитектуре базы данных. Это означает, как структурировать ваши таблицы, создавать внешние ключи и отношения.

    Например, у вас может быть база данных фильмов. В нем вы храните информацию о фильмах, студиях, выпустивших фильмы, и актерах в фильмах. Каждый из них становится таблицей. Каждый фильм выпущен одной студией. Поскольку вы не хотите хранить дублирующуюся информацию о студии (адрес и т. Д.) В каждой записи фильма, вы сохраняете отношение к ней, поэтому каждый элемент фильма содержит ссылку на элемент студии. Это называется отношения один-ко-многим (в одной студии много фильмов). Кроме того, вы не хотите хранить информацию об актере для каждого фильма. Но один актер может быть во многих фильмах, так что это сохраняется как отношение «многие ко многим».

  • Изучите сам SQL. SQLCourse - хорошее место для начала, но есть много других книг и ресурсов. SQL является стандартом, но каждая СУБД имеет свои собственные специфические для поставщика способы выполнения определенных задач и другие ограничения (например, некоторые системы не поддерживают подзапросы, существует несколько различных синтаксисов для ограничения количества возвращаемых строк и т. Д. ). Важно изучить синтаксис того, который вы используете (например, не изучать синтаксис Oracle, а затем попытаться использовать его в MySQL), но они достаточно похожи, чтобы концепции были одинаковыми.

  • Инструменты зависят от используемой СУБД. MySQL - довольно популярная база данных, доступно множество инструментов и много книг. SQLite и Postgresql также довольно популярны, и также бесплатны / с открытым исходным кодом.

2 голосов
/ 21 сентября 2008

Если вы можете, вы действительно хотите найти кого-то, кто знает, как его использовать, и забрать себе мозги. Это потому, что есть много важных принципов (например, 3-я нормальная форма), которые будет намного легче выучить через обсуждение, чем из книг.

Если вы хотите обучать себя, вы должны изучить синтаксис выполнения основных операций выбора, объединения, обновления, удаления и группировки по запросам. Вам также следует изучить «швейцарский армейский нож» из отборных, заявление CASE. Слишком много людей не делают. Многие учебники, рекомендованные в этой теме, сделают это. Тогда вам нужно попытаться решить проблемы SQL. Я уверен, что Пазлы и ответы SQL Джо Селко являются их хорошим источником, хотя они могут быть немного продвинутыми.

Это позволит вам на самом деле писать SQL. Но вам все равно нужно научиться организовывать базы данных. Что для большинства целей означает, что вам действительно нужно узнать, как выглядит третья нормальная форма. Вы не должны быть в состоянии дать формальное определение этого, просто узнайте это, когда вы видите это, и знаете, как настроить что-то, чтобы быть в этом формате.

Множество ссылок объяснят это, но вы не узнаете, правильно ли вы их читаете. Вот где это действительно, действительно помогает получить доступ к тому, кто может взглянуть на раскладку стола и сказать вам: «Это верно» против «Это неправильно, вот что нужно изменить». В противном случае вы можете опубликовать здесь вопрос с предложенным макетом. Но дискуссия с живым человеком туда-сюда была бы предпочтительнее ИМО.

1 голос
/ 12 июня 2009

Рекомендую упражнения на этом сайте: sql-ex.ru Вы даже можете получить сертификат, если сделаете все правильно.

1 голос
/ 21 сентября 2008

Отличный SQL для Чео Клеко для умников.

1 голос
/ 21 сентября 2008

Чтение немного о реляционной алгебре - хороший способ понять основные понятия реляционных баз данных.

1 голос
/ 21 сентября 2008

Я всегда рекомендую Практическое руководство по SQL в качестве хорошей отправной точки для начинающих - особенно тех, кто видел SQL, но никогда не понимал, как составить запрос самостоятельно или как он работает.

Все книги Селко великолепны.

Книга Эрнандеса "Простые смертные" хороша.

Книги Кена Хендерсона также превосходны.

1 голос
/ 21 сентября 2008

SQLite хорош, и у него действительно хорошая документация, однако вы должны знать, что это не полнофункциональная база данных SQL, как MySQL, Postgres или коммерческие варианты. API SQLite опирается на обратные вызовы, что является хорошей моделью, но не все API баз данных работают таким образом. Если вы знакомы с Perl, DBI - еще один хороший способ изучения SQL.

/ Allan

1 голос
/ 21 сентября 2008

Вы правы, SQLite - отличное место для начала, потому что он бесплатный, легкий и доступен на многих платформах. Это только начало, хотя. SQLite очень либерален в отношении синтаксиса SQL и не имеет внутреннего языка программирования, как в системах СУБД. Тем не менее, если вы хотите начать и учиться с минимальными издержками, SQLite - это то, что вам нужно.

1 голос
/ 21 сентября 2008

Попробуйте Википедию, http://www.w3schools.com/sql/default.asp и http://www.sql -tutorial.net / Также проверьте YouTube для видео SQL.

1 голос
/ 04 ноября 2010

Начните с Ideone и попробуйте выполнять запросы в режиме онлайн только с помощью веб-браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...