Реляционные базы данных (СУБД, RDBMS), язык SQL, Oracle, MySQL
January
Работа с MS Access из Java
Posted in: Java open-source проекты, Базы данных, SQL, Oracle | 7 Comments
Даже если ваш проект использует новейшие разработки в области кросс-платформенного ПО, рано или поздно придется столкнуться с технологиями, с которыми не очень хотелось сталкиваться.
Так случилось и со мной, когда заказчик захотел получать отчеты в виде базы данных MS Access.
Пришлось порыться в поисках java-библиотеки для работы с форматом mdb.
О результатах своих поисков я и хочу вам рассказать.
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)
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…)
May
Все выражения в SQL делятся на две основные категории:
DDL - data definition language - язык определения данных;
DML - data manipulation languauge - язык манипулирования данными.
Язык DML необходим для изменения содержимого таблиц. Его операторы - это всем известные insert, update, delete. Для того, чтобы изменения стали видны всем пользователям базы данных, требуется выполнение оператора commit, а для отката изменений - оператора rollback.
DDL-выражения (метаданные) можно получить из уже существующей схемы. Они очень полезны при оптимизации и анализе баз данных. О том, как получить метаданные из Oracle и будет эта статья.
(more…)
March
Использование SQL/XML функций в Oracle
Posted in: Технологии XML, XPath, Базы данных, SQL, Oracle | 10 Comments
Начиная с девятой версии, Oracle предоставляет набор XML-related функций. Используя эти функции в запросах к реляционным данным можно получить данные в формате XML.
В данной статье я хочу описать SQL/XML функции Oracle (9i и выше), которые встречаются наиболее часто. Итак…
(more…)
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…)