Если вы просто хотите изучать язык SQL, а не администрирование баз данных, я бы порекомендовал работать с SQLite. Если вы работаете на Mac, то он уже должен быть установлен. Это гораздо более простая система, чем большинство СУБД; нет сервера для настройки, нет клиента для подключения к серверу. Нет каталогов зашифрованных файлов или чего-либо подобного. Для начала можно просто набрать:
sqlite3 mydatabase.db
и начать работать с ней. Это настолько легче и проще в настройке и использовании, чем другие системы баз данных, что я думаю, что это хороший выбор для новичка.
Теперь SQLite - довольно маленький и легкий язык. Если вам нужно заниматься какими-либо действительно сложными запросами и добычей данных, я бы порекомендовал PostgreSQL. Он имеет достаточно продвинутый оптимизатор запросов и довольно длинный список возможностей SQL.
И если вы хотите изучить базу данных как что-то, что можно использовать для внутреннего хранения для веб-программирования или чего-то подобного, MySQL - это то, что я бы выбрал. Он повсеместно распространен, поддерживается практически любым веб-хостом, и довольно быстр для очень простых запросов и обновлений, что, как правило, является тем, что вам нужно для веб-системы. У нее есть некоторые реальные особенности, которых следует избегать при настройке; нужно выбирать между несколькими разными движками хранения, и может потребоваться много работы, чтобы убедить ее работать с данными Unicode на самом деле. Но хорошо учиться в основном из-за его повсеместности.
Если вы просто получаете ваши ноги мокрыми, MYSQL является отличным для начала. Простота установки на любой платформе, отличная поддержка сообщества и множество бесплатных инструментов для работы (SQLYog - мой любимый).
- Согласен, что теория очень важна. В зависимости от того, как вы учитесь лучше всего, копание и подгонка могут быть тем, что нужно сделать до того, как вы попытаетесь впитать в себя 40 лет размышлений о реляционных системах.
Кодд и дата - легенды в этой области, которые могут помочь вам понять более широкие аспекты теории отношений, но их трудно усвоить до того, как у вас появится контекст для данной темы.
Если вы ищете более прагматичное/посредственное руководство, я бы предложил вам книгу типа "Базы данных для Mere Mortals" и все, что написал Джо Селко.
Как только вы освоите основы, появится множество других платформ, которые также можно будет изучить. Как упоминалось выше, SQLLite и PostGres - два других отличных варианта для Mac OS
.Если вы хотите изучать SQL: лучший способ - это выбрать базу данных, которая реализует больше возможностей стандарта SQL. Поэтому я бы рекомендовал Firebird или PostgreSQL
База данных в облаке: Amazon EC2, Google App Engine или Microsoft Azure
Из того, что я видел (по крайней мере, в Интернете), MySQL и PostgreSQL являются самыми распространенными бесплатными системами баз данных. Если вы рассматриваете возможность изучения одной из них, проверьте это сравнение .
Вы также можете рассмотреть возможность изучения SQLite, "автономного, встроенного, с нулевой конфигурацией движка базы данных SQL". Это действительно легко встать и пойти, хранится в одном файле, и, как говорится в его описании, не имеет сложной конфигурации. SQLite оказался чрезвычайно популярным в качестве постоянного хранилища данных для локальных приложений на рабочем столе/iPhone. Если вы идёте по этому пути на Mac/iPhone, то для упрощения работы с базой данных стоит обратить внимание на Core Data, который является абстрактным слоем Apple, разработанным поверх SQLite (но может работать практически с любыми БД). В качестве бонуса, Core Data включает в себя красивый графический интерфейс для формирования отношений и сущностей. Более подробную информацию вы можете найти в этом учебном пособии .
] Если вы [] действительно [], [] действительно [] хотите "учиться с нуля", то [] теория [] - это первое, что нужно выучить. А это значит: [] НЕ [] продукты, а не какие-либо. Ни DB2, ни MySQL, ни оракул, ни что-либо из них.[
] []Хью Дарвен имеет свободно доступную электронную книгу, озаглавленную "Введение в теорию реляционных баз данных". Этот материал достаточно "доступен" и отличается от большинства других учебников по теории. [
] []Крис Дэйт имеет несколько книг, из которых "Введение в системы баз данных" является наиболее полным, также стандартным учебником в этой области, но, возможно, для некоторых слишком абстрактным.[
] []Если вы думаете, что все, что вам нужно, это "просто знать продукт" и что вы можете одинаково хорошо справиться "без всей этой теории", то в таком случае, пожалуйста, не обращайте внимания на этот ответ, потому что формулировка вашего вопроса нечестна[
].Печально, что базы данных работают по-разному. Скорее всего, я бы сначала выбрал MySQL и немного поиграл с ним. Потом взять PostgreSQL и сделать то же самое.
Если вам нужно использовать базы данных в корпоративной среде, то я хотел бы протестировать также Oracle и SQL Server, у которых обе версии имеют экспресс-версии, которые можно установить бесплатно.
http://www.microsoft.com/express/sql/download/ http://www.oracle.com/technology/software/products/database/index.html
Сначала все базы данных более или менее запутаны, но сначала я бы выбрал MySQL, потому что он может выполнять большинство основных функций и имеет много полезной информации.
Я бы пошла с Микл. Она проста в настройке, с ней легко работать с помощью клиента mysql, и она хорошо документирована. Если вы только начинаете, то, скорее всего, вам не понадобится большинство функций, предлагаемых другими базами данных, например, хранимые процедуры и тому подобное.
Во-первых, MySQL и повсеместный, и современный.
ANSI SQL более или менее одинаков во всех RDBM, так что вы можете изучить любой из них, и вы будете хороши.
После того, как вы освоите ANSI SQL, все, что у вас останется - это локализованные решения для каждой из них, которые не будут переноситься на другие системы - и поэтому, совершенно не рекомендуется их использовать, если только они не упрощают ваши задачи таким образом, чтобы оправдать это.
MySQL, PostgreSQL, SQLite - выберите один. PostgreSQL больше похоже на оракул, и на мой взгляд немного более зрелый. Он хранил процедуры, триггеры и ссылочную целостность дольше, чем MySQL. Я признаю, что у меня оба установлены, но я использую MySQL чаще, потому что это быстро и легко.
Но имейте в виду, что альтернативы Non-SQL там и растут в важности. Bigtable , объектные базы данных, такие как DB4O , стоит осознавать. «Нет SQL» нет.
Десятичная
доступна в VB6 как подтип VARIANT
.
Dim d As Variant
d = CDec(1)
MsgBox TypeName(d)
Поэтому вы реализуете его как VARIANT с соответствующим подтипом в интерфейсе.
-121--4349578-Можете ли вы отправить «sudo» в подпроцесс? См. этот поток SO .
@ Jon Hadley, от интерпретатора:
>>> import subprocess
>>> p = subprocess.call(['sudo','/usr/bin/env'])
PASSWORD:
[snip]
USER=root
USERNAME=root
SUDO_COMMAND=/usr/bin/env
SUDO_USER=telliott99
SUDO_UID=501
SUDO_GID=20
Из терминала на OS X, я должен сделать sudo, когда я запускаю скрипт:
$ sudo python test.py
, то это (в test.py) дает тот же выход, что и раньше:
import subprocess
p = subprocess.Popen('/usr/bin/env')
Получение подпроцесса для прямой обработки аутентификации из скрипта, вероятно, не является хорошей идеей, поскольку скрывает повышение привилегий. Но вы можете посмотреть на pexpect и этот SO ответ .
-121--3090725-Алекс написал: «Чтение учебника без постепенной проверки ваших знаний по фактической базе данных не даст хороших результатов для большинства людей».
Моя книга и мой университетский курс используют Дейва Вуорхиса Рель для этой самой цели.
Хью