1.3 SQLへのPythonの透過的変換
透過層クラスを使用すると、選択したPythonオブジェクトをOracleデータベース・オブジェクトに変換できるとともに、データベース内の表に対して対応するSQLを呼び出すようにオーバーロードされた、使い慣れた様々なPython関数を呼び出すこともできます。
OML4Py透過層は、次のことを行います。
-
Pythonの
pandas.DataFrame
オブジェクトをデータベース表に変換する関数を格納する -
Python関数をオーバーロードして、その機能をSQLに変換する
-
データベース・データにプロキシ・オブジェクトを利用する
-
使い慣れたPython構文を使用してデータベース・データを操作する
次の表は、透過層関数のリストです。
表1-1 透過層関数
関数 | 説明 |
---|---|
oml.create |
Pythonデータセットからデータベース・スキーマに表を作成します。 |
oml_object.pull |
|
oml.push |
Pythonセッションからデータベース・スキーマ内のオブジェクトにデータをプッシュします。 |
oml.sync |
データベース表またはビューを表す |
oml.dir |
Pythonセッション・ワークスペース内の |
oml.drop |
永続データベースの表またはビューを削除します。 |
透過層プロキシ・クラスは、SQLデータ型またはオブジェクトを対応するPython型にマップします。これらのクラスは、マップされたPython型のものと同じPython関数および演算子を提供します。次の表は、透過層データ型クラスのリストです。
表1-2 透過層データ型クラス
クラス | 説明 |
---|---|
oml.Boolean |
データベース・データ内の0、1およびNULL値の単一列を表すブール系列データ・クラス。 |
oml.Bytes |
|
oml.Float |
|
oml.String |
|
oml.DataFrame |
|
次の表は、Pythonとデータベースの間のデータの読取りと書込みの両方に関するOML4Pyデータ型のマッピングのリストです。
表1-3 Pythonデータ型とSQLデータ型の対応付け
データベース読取り | Pythonデータ型 | データベース書込み |
---|---|---|
N/A |
Boolean |
|
|
bytes |
|
|
float |
|
|
str |
|