2019年10月23日水曜日

SQL標準はどこから

SQLはPostgreSQLばかり使っていて標準は少ししか意識していなかったり。
標準化もされていて、SQL99などという名前は聞いたことがあるかもしれないが、今は2003とか2011とかもっと新しいものまである。標準SQLというらしい。
最新版から見ればいいのか、ある程度古いところから差分を追いかけるのがいいのか。
Javaなどのオブジェクト指向に対応したというSQL99あたりから見てみることにしたい。

PostgreSQL 7.3のドキュメントによるとSQLはISO/IEC 9075 Database Language SQLというところが標準らしい。
SQL-92くらいでは実装は最小から大きいところまで分かれていたが大きすぎたので、SQL99ではコアとその他に分けてみたとか。
  • 標準SQL ISO/IEC 9075 Database Language SQL
    • SQL-92
    • SQL99 Javaなどオブジェクト化対応
    • SQL:2003
    • SQL:2011
    • SQL:2016
あまり関係ないがJDBCにオブジェクトを突っ込めそうなライブラリを作ってみた。
JSONでマッピング系を作っていたので流用した結果 Object → JSON → Map → JDBC(SQL) という変換をかけている。未実装だらけなので(仮)。要望等(謎)ないだろうから完成形にするつもりはあまりない。
 GitHub SoftLibD3BIF
動作確認はPostgreSQL 11のみ。
table定義を書かずに主キーなどはアノテーションをクラスに埋めるだけでも可。
そのうちJSONなど中間外して効率化するかもしれない。
EJBとかどうなったんだろか。

0 件のコメント:

コメントを投稿

RSA鍵を作る

最近暗号系をいろいろ実装してみている中で PKCS #1 の RSA も必要になってきたので実装してみた。中身がわからないと使いにくいタイプ。 RSA は公開鍵暗号という形で秘密鍵、公開鍵の2つの鍵を使う。AESなどの共通鍵暗号とは違うところ。 公開鍵で暗号化、秘密鍵で復号ができ...