見出し画像

第2回 Database Design and Implementation 読書記録

みなさんこんにちは。
TomoProg(ともぷろ)です。

Database Design and Implementation を読み始めたので、その読書記録です。

前回の読書記録はこちら

感想

今回は第2章JDBCを読んでいきました。
そもそもJDBCって名前は聞いたことあるけど、具体的にどういうものなのか説明できないなと思ったので、そこを知るいい機会になりました。
JDBCのメソッドの説明や使い方が主に書かれており、データベースの内部の話というよりはJDBCを紹介している章でした。

わかったことまとめ

JDBCとは

Javaのプログラムとデータベースの中立ちをしてくれる部品のこと。

データベースにはいろいろ種類がある(Oracle, MySQL, PostgresSQLなど)。
それらを使う際にデータベースに応じて接続方法などで使い方を変えたりする必要がないように、Javaのプログラムとデータベースの間に入って、違いを吸収してくれる。

ユーザはJDBCが定義するインターフェースに沿って実装すれば、何のデータベースを使っていようがプログラムを統一できる。

参考
https://wa3.i-3-i.info/word12380.html

Javaのtry-with-resource構文

C#でいうところのusing。Pythonでいうところのwith。
ファイルオープンの後にクローズを強制したい場合などに使用可能。
try-catchのtryに丸括弧で処理を書く。

try (Connection conn = d.connect(url, null)) { 
    System.out.println("Database Created");
}
catch (SQLException e) {
    e.printStackTrace();
}

Isolation Level(トランザクション分離レベル)

コードと実例をもとに解説してくれていたが、前に自分でまとめたものがあったため、こんなのだったなと復習できた。

プリペアドステートメント

SQLのパラメータを直接埋め込むのではなく、プレースホルダにしておくことで、パラメータを代入する前にコンパイルしておけるため、複数回実行するときに非常に効率的である。

データベースエンジンを信頼する

クライアント側で目的のデータを書くための処理を書くのではなく、データベース側に仕事をさせること。
全部のデータを取ってきて、クライアント側で結合するようなことはしない。
(つまり、ちゃんとSQLを使いこなす。)
そういうことはデータベースエンジンに任せた方が効率が良いことがほとんど。

今回はここまで。
次回は第3章を読んでいこうと思います。

それではまた。
TomoProg

いいなと思ったら応援しよう!

この記事が参加している募集