「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:2267
現在:1


Baseのクエリ機能について

ページOpenOffice.org FAQの登録ページ
投稿者new_OOo3
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2011-05-18 18:34:12 (水)
OSWindows7
依存するページ
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

お世話になります。

Database Application初心者の私はBaseは以下の認識を持っておりました。

****** [ 当方のBaseの認識 ] ********
Base データベースは、実際には既存のデータベースへのリンクである。
つまり、BaseはDatabase Engineを持たずに接続するRDBMSのDatabase Engineを利用しており、厳密にはクエリ機能は保有していない。
************************************

しかしながら、某システム開発会社のサイトにて以下の紹介コメントが記されていました。(○○システム部所属のエンジニア談)

****** [ 抜粋 ] *****
Baseは・・・・・Calcでは扱えないような巨大なデータをテーブル管理するRDBMSである
とともにAccess同様、フォーム、レポート、クエリー機能を要しています。
*********************

上記コメントを読み、少し自分の認識に間違いがある様に思えてきました。 つきましては、下記項目についてご教示頂けます様お願いします。

[ 質問 ]
1) Baseは独自のDatabase Engineを持っているのでしょうか?
   MS-ACCESSで言うところの「Microsoft Jet Database Engine」は持っているのでしょうか?
2) Baseはクエリ機能を持っているのでしょうか?
   それとも、各RDBMSのSQL利用の為のUI(User Interface)のみを持っているのでしょうか?
3) 非常に低レベルで恐縮ですが、「クエリ = SQLやXQueryを実行する事であり、クエリ実行にはDatabase Engineが不可欠」と言う当方の認識が間違いでしょうか?

お時間のある時で結構ですので、ご回答を頂ければ幸いです。

宜しくお願いします。


Accessとは異なる仕様

M.Kamataki (2011-05-18 23:41:00 (水))

1)について。Baseの標準データベースはHSQLDBです。これはOpenOffice.orgとは関係なく開発されているJavaベースのデータベースですが、OpenOffice.org 2.0の開発時に「埋め込みデータベース」として、Baseから特に意識せずに利用できるデータベースになりました。

>MS-ACCESSで言うところの「Microsoft Jet Database Engine」は持っているのでしょうか?

既存のデータベースを流用しているだけなので、Accessとは異なる発想ですよね。ただし、標準状態でHSQLDBを利用すると、Accessと同じようにテーブル、クエリー、フォーム、レポートを同じファイルに格納できます。この辺りの仕様をどう解釈するかが難しいところです。「Baseは独自のDatabase Engineを持っている」とも言えますが、完全にAccessと同じではないので中途半端な仕様とも言えます。(この中途半端な仕様の標準HSQLDBを業務に勧めるのはためらわれますねぇ)

2)について。何をもってクエリー機能と呼んでいるかにもよります。Accessと同じものという意味なら、Baseもほぼ同じ機能を持ってます。パラメータクエリーは、AccessでもBaseでも利用できますが、これはデータベースエンジンのSQLには存在しない機能です。

3)について。間違っていませんよ。接続するデータベースエンジンが異なれば、異なるSQL文を書かないといけない場合もあります。

*.mdb 形式のTable Dataについて、PC環境毎の認識について確認させて下さい。

new_OOo3 (2011-05-19 19:13:19 (木))

M.Kamataki

お世話になっております。
質問文にありますコメントを読んだ時に、下記の様な環境でMS-ACCESS形式 File(*.mdb) のTable Dataを直接、読込んだり、クエリを実行できるか?と言う疑問が頭を過り、質問投稿させて頂きました。

******* [ 想定環境 ] *******
[ Case1 ]
OS : WindowsXP( or VISTA or 7 )
MS-OfficeのInstall有無 : 無

[ Case2 ]
OS : Linux( Ubuntu等)
HDDのパテーション : Cドライブ(ext3 [ System ]) / Dドライブ(Fat32)
Dドライブにmdb Fileを格納


ご回答を頂き、以下の様になると考えております。

Case1 : OK  
   => Excelと同様にADO( ActiveX Data Objects )を利用すればHSQLDBにTable Dataが取込可能であり、HSQLDBを用いてクエリ作業が出来る。
      但し、BaseのFile Open時にmdb Fileを選択してDataを読み込んでもクエリは実行出来ない。
Case2 : NG
   => MS-ACCESSにて、一旦、CSV Fileに変換しないとDataの取込も出来ない。


重ねての質問で申し訳ありませんが、上記の認識にて間違いがあればご指摘頂けます様お願いします。

MDBファイルの扱いについて

M.Kamataki (2011-05-19 23:51:23 (木))

おおむねnew_OOo3さんの認識で問題ないと思います。

WindowsでのMDBファイルの扱いについては当Q&Aの関連サイトで以下のように記事が掲載されています。こちらをご覧ください。

Access − Base 互換性の基礎知識
http://oooug.jp/compati/2.0/modules/sections/index.php?op=viewarticle&artid=12

また、Windows以外のOSではmdbtoolsを使う方法があります。以前調べたので、faq/1/284「MacのbaseでAccessのファイルを開きたい」をご覧ください。

ご教示ありがとうございます。

new_OOo3 (2011-05-20 18:15:26 (金))

M.Kamataki

お世話になっております。
ご紹介頂きました「mdbtools」は全く知りませんでした。
faq/1/284「MacのbaseでAccessのファイルを開きたい」中に記されているM.Kamataki様のご報告を参照して時間がある時にChallangeしてみたいと思います。
ご回答を頂きまして本当にありがとうございました。

お名前:
題名: