База данных Derby: Рукавицы за поясом

«Ищет рукавицы, а они за поясом», — говорят про любителей усложнять себе жизнь. Так и с базами данных. Каких только Java-программист не перепробует: MySQL, MS-SQL, PostgreSQL, Oracle, SQLite… Для всех них имеются JDBC-драйвера, но ведь нужно установить еще сам движок БД, а это не всегда просто. Между тем в стандартный комплект JDK входит база данных Apache Derby, вполне пригодная для большинства целей. По крайней мере альтернативой SQLite ее вполне можно считать. Только SQLite скачивать и устанавливать надо (да и с JDBC там не всё просто), а Derby есть везде, где есть JDK.



Не углубляясь в тонкости, просто приведу фрагмент документации, переведя основной текст на русский.

Входим в каталог, где лежит Derby:

cd $JDK_HOME/db/lib


Запускаем консоль управления:

java -jar derbyrun.jar ij


Далее — обычная работа с SQL, за исключением первой строки, в которой, впрочем, нет ничего непонятного:

CONNECT 'jdbc : derby : firstdb ; create=true';

# пробелы рядом с двоеточиями не нужны, это защита от смайликов.

CREATE TABLE FIRSTTABLE
    (ID INT PRIMARY KEY,
    NAME VARCHAR(12));
0 rows inserted/updated/deleted

INSERT INTO FIRSTTABLE VALUES 
    (10,'TEN'),(20,'TWENTY'),(30,'THIRTY');
3 rows inserted/updated/deleted

SELECT * FROM FIRSTTABLE;
ID         |NAME
------------------------
10         |TEN
20         |TWENTY
30         |THIRTY

3 rows selected

SELECT * FROM FIRSTTABLE
WHERE ID=20;
ID         |NAME
------------------------
20         |TWENTY

1 row selected

exit;


В отличие от SQLite, Derby может работать не только в embed-режиме, но и в серверном, в т.ч. по сети. Естественно, есть к ней JDBC-драйвера, причем опять-таки загружать их не нужно, уже входят в комплект JDK.

Из недостатков — неполная (но вполне достаточная) поддержка стандарта SQL. Например, такую строку как

DROP IF EXISTS TABLE ...


программа не обработала (из-за «IF EXISTS»).

Комментарии (3)

RSS свернуть / развернуть
+
0
Вот поэтому я когда слышу слово СТАНДАРТ — хватаюсь за револьвер !
avatar

Markony

  • 08 мая 2010, 12:56
+
+1
Ну, на анархии-то в технических делах тоже далеко не уедешь. С точки зрения социального строя я анархист, мне власть не нужна никакая. А вот в технике без них никуда. Другое дело, что сейчас все кому не лень их шлепают, девальвация стандартов происходит. А вот советская система ГОСТ была вполне адекватной. Царство ей небесное и вечная память .
avatar

yababay

  • 08 мая 2010, 13:02
+
0
Bсе кому не лень шлепают...
avatar

Markony

  • 09 мая 2010, 19:29

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.