スポンサーリンク

DB

AndroidアプリのSQLiteで,データベースの存在を判定する方法 (ローカルファイルにデータを永続化させる場合の,事前チェック処理)

AndroidプログラミングのTOPへ あなたは,自分のブログに対して,腹が立った事はあるか。 私は先日,「AndroidでのDB(スキーマ)の存在を確認する方法」を調べようと思った。そしてググった。 この有り様である。 「Android データベース "存在判定"」とい…

Ruby on Railsで,DBへの全接続を強制的に切断したい (Webアプリから,sudo経由で任意のコマンドを実行可能にする方法)

データベースへの接続を「強制的に切断」するには,どうしたらよいか。環境は,Linux上で,Ruby on RailsからPostgreSQLにつないでいる場合を想定。 考えうる方式は3通り。 ActiveRecord側から,DB接続を切断する PostgreSQL側から,DB接続を切断する OS側…

データベースとSQLの業務スキルレベル 判別表 (5段階)

スキルチェックの目次へ リレーショナル・データベースを利用したシステム開発の,簡易スキルチェックのための調査表。印刷用。 データベース・エンジニアのレベルを測定する。レベルは,0から4までの5段階。 (0) 非エンジニア (1) 初学者(入門書…

Ruby on Rails 1.2 での開発のはまり所

Ruby on Rails 1.2.6 でWebアプリケーションを開発する際,はまった事のまとめ。既に世の中では Rails 3.x以降のバージョンが出ているが, この情報はレガシーRailsアプリケーションの保守・メンテに役立つだろう。 (1) プラグイン関連 (1−1) acts_as…

PREPARE文と,PL/pgSQL の入門  (PostgreSQLで「動的に」SQLを実行するために,プリペアド・クエリやストアドファンクションを定義しよう)

複数のINSERT文を「動的に」発行するには,どうしたらよいか? 例えば,都合のいいサンプルデータをDBに大量投入したいとか。その場合,INSERT文を大量に発行することになる。どうやって? (案1)SQLをExcelで大量生成 (案2)PREPARE文をExcelで大量生成…

資格「オラクルマスター・ブロンズ」の学習用リンク集(DBA,SQL基礎I)

資格「Oracle Master(Bronze)」を取得するための,学習用のリンク集。

インデックスを作成して,SQLの速度をチューニングする手順 (PostgreSQLで,EXPLAIN文とCREATE INDEX文によるパフォーマンス改善)

以下の5ステップで,適切なインデックスを作成し,SQLを高速化できる。 (1) パフォーマンスを改善すべきSQL(もしくはカラム)を特定 (1−1) ログを閲覧し,実行秒数の大きいものを抽出する。 (1−2) 統計テーブルを閲覧し,よく利用されるテーブ…

DBの「トランザクション分離レベル」が必要な理由  (PostgreSQLで,ファントム・リードを防止すべきサンプル事例)

データベースには,「トランザクション分離レベル」というものがある。 以下では,それが なぜ必要なのか? デフォルトのレベルでは,どうして駄目なのか? PostgreSQLでは,どうやってレベルを変更・確認するのか? などを取り上げる。 トランザクション分…

Rubyの動かないコード (中級編) Ruby on Railsで,スレッドごとにトランザクションを分離したい

以下のRuby on Railsのコードが,意図した動作をしないのはなぜですか。(制限時間1分) やりたい事 2つのスレッドを同時に動かす。 スレッド1では,レコードを登録後,ロールバックする。 スレッド2では,レコードを登録後,コミットする。 タイミング…

「相関サブクエリ」とは何かを理解して,複雑なSQLでも読めるようになろう

SQLの「相関サブクエリ」がわかれば・・・ 巨大なSQLが,迷わずに読めるようになる。 「関数」のような,便利なサブクエリを書けるようになる。 以下では, 「相関サブクエリ」とは何か? 普通のサブクエリ(非相関サブクエリ)やJOIN操作とは何が違うのか?…

Ruby on RailsのModel内に記述するメソッドの分類表

Ruby on Railsで,子モデルクラスに記述すべきメソッドの,分類済み一覧表。 「子モデル」とは, DBにアクセスするクラス。 そのクラスのインスタンスオブジェクトがアプリ全体で持ち回され,単一のレコードを扱う上で便利な働きをする。 これに対し,「親モ…

バッチで,ODBC接続の設定を追加・更新・表示しよう(odbcconf.exeの使い方:PostgreSQLでの使用例)

バッチのまとめTOPへ コマンドプロンプトのバッチから,ODBC設定を 新規作成 更新 一覧表示 する方法。接続先のDBMSの例としては,PostgreSQLの場合を取り上げる。 GUIだと,DSNを追加するためには コントロールパネル→管理ツール→データソース(ODBC) のダ…

SQLで,テーブルに存在しない複数行のデータを取得する方法 (PostgreSQLの generate_series関数をマスターしよう)

PostgreSQLで,テーブルを使わずに,複数行のデータを取得する方法。 SQLの中で,大量の定数データを使う必要がある。(例えば,1ヶ月間の日付全部とか,1000までの素数全部とか) だが,それらのデータを,前もってどこかのテーブルに格納しておくことはで…

PostgreSQLのシステムテーブル入門 (暗記用のSQL集)

PostgreSQLで,システムテーブルを利用するための入門。 システムテーブルの使い方を覚えれば,自分が作ったテーブルの統計情報や,メタデータを取得する事ができる。DBそのものの理解も深まる。 (1)情報スキーマ(人間に理解しやすい。調べ物をするとき…

CSVをExcelファイルに変換するスクリプト (JScript/WSHで,カンマ区切りCSVファイルから.xlsを生成)

バッチのまとめTOPへ JScript/WSHで,CSVを.xlsファイルに変換するスクリプト。 実は,Excelには致命的なバグ(致命的な仕様)があり,CSVの扱いがひどい。 どれほど工夫しても,CSVをExcel上で開くと, 列がずれたり セルの表示形式を楽に制御できず,値が…

PostgreSQLのバッチを,パスワードを聞かれずに実行する方法 (psqlも設定ファイル編集も不要)

バッチのまとめTOPへ PostgreSQLをバッチで自動実行する方法。パスワード入力なし。 PostgreSQLをコマンドラインから利用するためには,通常はpsqlを経由する。psqlは実行時に必ずパスワードを聞かれるので,バッチによる自動運転は不可能。 技術的雑談-Post…

Excelシート上のデータを DB にインポートするVBAマクロ

バッチ・マクロのTOPへ Excelワークシート上のデータを,そのまま直接DBに登録する。VBAだけで済ませる。(Excel以外のツールやAPIが不要) たとえばアプリケーションのテスト仕様書がExcelで,テスト項目の中に「特定のデータをインポート」というのがある…

ER図から,Webアプリを自動生成しよう (A5SQL Mk2 + CakePHPを連携させる)

下記の流れは,一度は体験しておきたい。 ER図を書く。 → 1 から,DDL文+テーブルを自動生成。 → 2 から,テーブル定義書を自動生成。 → 2 から,Webアプリを自動生成。 コーディングなし。 例として,複数人で利用できるブックマークアプリのようなものを生…

実行環境付きのSQL例文集 (ExcelのドキュメントからDBにアクセス)

あるプロジェクトのDB構造を知りたい場合, テーブル定義書を見る。 ER図を見る。 これらはごく一般的なことだ。 だが,膨大なテーブル群の中で業務上重要なカラムは少ないかもしれない。また,「ビューにするほどではないけど取っておきたいSQL」が生じてく…

テーブル定義書から,Javaのエンティティクラスを自動生成する VBA マクロ

ExcelのDBテーブル定義書(.xlsファイル)を読み込んで, Javaのエンティティクラスのソースコードを出力するマクロ。 モデル層で,永続化クラスを手でコーディングしなくて済む。 ダウンロードできます 簡単なサンプルを下記からダウンロードできる。 http:…