Реляционные базы данных (СУБД, RDBMS), язык SQL, Oracle, MySQL




22
January

Работа с MS Access из Java

Posted in: Java open-source проекты, Базы данных, SQL, Oracle | 7 Comments

Даже если ваш проект использует новейшие разработки в области кросс-платформенного ПО, рано или поздно придется столкнуться с технологиями, с которыми не очень хотелось сталкиваться.
Так случилось и со мной, когда заказчик захотел получать отчеты в виде базы данных MS Access.
Пришлось порыться в поисках java-библиотеки для работы с форматом mdb.
О результатах своих поисков я и хочу вам рассказать.

(more…)

1
December

Проблема с rowset.jar (NullPointerException)

Posted in: Базы данных, SQL, Oracle, Java technologies, J2SE | 2 Comments

Библиотека rowset.jar предоставляет набор имплементаций для таких интерфейсов, как CachedRowSet, FilteredRowSet, JoinRowSet и т.д, а также другие необходимые классы для работы с ними.
Чаще всего программистам приходится иметь дело именно с com.sun.rowset.CachedRowSetImpl. Этот класс позволяет кэшировать данные из data source (так сказать, работать в режиме off-line).
В этой статье я хочу рассказать о проблеме, которая возникла у меня при работе с библиотекой.
А именно, при попытке создать объект CachedRowSetImpl валился следующий Exception:

java.lang.NullPointerException
 at java.io.Reader.<init>(Reader.java:61)
 at java.io.InputStreamReader.<init>(InputStreamReader.java:80)
 at java.util.Properties.load(Properties.java:266)
 at java.util.PropertyResourceBundle .<init>(PropertyResourceBundle.java:96)
 at com.sun.rowset.JdbcRowSetResourceBundle.<init>(Unknown Source)
 at com.sun.rowset.JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle(Unknown Source)
 at com.sun.rowset.CachedRowSetImpl .<init>(Unknown Source)
 at TestRowSet.main(TestRowSet.java:14)

(more…)

12
June

Oracle DBMS Metadata (DDL)

Posted in: Java technologies (translated), Базы данных, SQL, Oracle | No Comments

The Russian version of this article can be found here.
All SQL statements are devided into two main categories:
DDL - data definition language;
DML - data manipulation languauge.
DML is used to change the data in the database tables. Instructions of DML are well-known for everyone: insert, update, delete. In order to save changes to database (so, the other users will see them), you need to execute commit operator. To discard all of your changes you have to execute rollback operator.
All database objects (triggers, tables, indices, etc.) have their definitions. DDL-expressions (metadata) of these objects can be extracted from the database schema. DDL-expressions will help you during database analysis and optimization.
This article will teach you, how objects’ definitions can be extracted from the Oracle database instance.
(more…)

26
May

Метаданные Oracle (DBMS_METADATA)

Posted in: Базы данных, SQL, Oracle | No Comments

Все выражения в SQL делятся на две основные категории:
DDL - data definition language - язык определения данных;
DML - data manipulation languauge - язык манипулирования данными.
Язык DML необходим для изменения содержимого таблиц. Его операторы - это всем известные insert, update, delete. Для того, чтобы изменения стали видны всем пользователям базы данных, требуется выполнение оператора commit, а для отката изменений - оператора rollback.
DDL-выражения (метаданные) можно получить из уже существующей схемы. Они очень полезны при оптимизации и анализе баз данных. О том, как получить метаданные из Oracle и будет эта статья.
(more…)

17
March

Использование SQL/XML функций в Oracle

Posted in: Технологии XML, XPath, Базы данных, SQL, Oracle | 10 Comments

Начиная с девятой версии, Oracle предоставляет набор XML-related функций. Используя эти функции в запросах к реляционным данным можно получить данные в формате XML.
В данной статье я хочу описать SQL/XML функции Oracle (9i и выше), которые встречаются наиболее часто. Итак…
(more…)

6
January

Операторы Inner Join и Outer (left, right, full) Join в SQL (Oracle)

Posted in: Базы данных, SQL, Oracle | 35 Comments

Ключевое слово join в SQL используется при построении select выражений. Инструкция Join позволяет объединить колонки из нескольких таблиц в одну. Объединение происходит временное и целостность таблиц не нарушается. Существует три типа join-выражений:

  • inner join;
  • outer join;
  • cross join;

В свою очередь, outer join может быть left, right и full (слово outer обычно опускается).
В качестве примера (DBMS Oracle) создадим две простые таблицы и сконструируем для них SQL-выражения с использованием join.
(more…)