VB.NET+SQL Server データベースアプリ作成考え方のキモ
概 要
SQL ServerとVisual Basic.NET(ADO.NET)によるデータベースアプリケーション開発の実際の場面で遭遇する問題を取り上げながら、実践的なDBアプリ開発のノウハウをわかりやすく伝授する「DB職人養成」解説書です。テストデータベースだらけで容量不足に陥ったサーバー、正規化しすぎてサブクエリが複雑化して保守不能となったアプリケーション、目的とする条件だけを力技で連結された巨大クエリのためにクラッシュしたマシンなど、著者が実際に目にした話を楽しいマンガで紹介しながら、実際の解決法や効率的な処理方法などをソースコードつきでわかりやすく解説しました。DB初心者だけでなく、開発経験豊富な中級者にも目からウロコのノウハウが満載です。
| 著者 | 今井聡 |
| 価格 | 円(税込)(本体1400円) |
| ISBN | 978-4-7980-2233-8 |
| 発売日 | 2009/3/26 |
| 判型 | A5 |
| 色数 | 2色 |
| ページ数 | 224 |
| CD/DVD | - |
| 対象読者 | 初級 |
| シリーズ | - |
目次
Chaper1 つまずく編
★VSサーバー管理者 開発者用のテストデータベースが大増殖!?
シナリオと状況
対策してみよう
対策1:開発時点でローカルにExpressを置いてしまう
対策2:接続を管理するプラグを構築してしまう
対策3:何しろDBAとして資源の管理を徹底する
対策こぼれ話
★VSサーバー管理者 トランザクションログがパンクする!?
シナリオと状況
対策してみよう
対策1:復旧モデルの確認をする
対策2:ディスク容量を見直す
対策3:データベースの操作や設計を見直す
★VSアプリケーション開発 そのクエリ、アドホックで動いていませんか?
シナリオと状況
対策してみよう
対策1:パラメータを利用したクエリに書き換える
対策2:パラメータ化した場合はテストがしやすい
★VSアプリケーション開発 CommandBuilderに頼りすぎ!?
シナリオと状況
対策してみよう
対策1:データソースエディタで自動生成されるDataAdapterをベースにカスタマイズする
対策2:手書きのコマンドをきっちりとそれが対データベース開発者の生きる道
★VSアプリケーション開発 IN条件をパラメータ化したい初心者が陥りやすいパラメータのまちがい!?
シナリオと状況
対策してみよう
対策1:パラメータの使い方を理解しよう
対策2:副問い合わせの利用などクエリを書き換えられないか考える
★VSテスト テストにこぎつけたけど、今動いているクエリがわからない!?
シナリオと状況
対策してみよう
対策1:実行時にクエリの内容を出力する
対策2:実行時にクエリのパラメータを出力する
★VSテスト テストにこぎつけたけど、データセットの中身がよくわからない
シナリオと状況
対策してみよう
対策1:データセットの内容をデバッグ出力に表示する
対策2:データセットの内容をCSVファイルに出力する
Chapter2 コケる編
★VSクエリ開発 グループ化したKEYごとに最新の日付を取得せよ!?
シナリオと状況
対策してみよう
★VSクエリ開発 IDENT列の歯抜けを探せ!?
シナリオと状況
対策してみよう
★VSクエリ開発 サブクエリ、サブクエリ、相関サブクエリ!開発者は大混乱!?
シナリオと状況
対策してみよう
★VSアプリケーションデザイン データベースへの接続が氾濫 プラグがいっぱいのシステム!?
シナリオと状況
対策してみよう
対策1:データベース接続部をまとめてクラスに隠ぺいする
★VSアプリケーションデザイン 巨大なマスター情報を保持し続ければメモリが、かといって毎回取得!?
シナリオと状況
対策してみよう
★VSアプリケーションデザイン 物理レコード順に依存!?
シナリオと状況
対策してみよう
対策1:データに順番がある場合はクエリにORDER BY句を必ず
対策2:取得済みDataTable内の並べ替えをしたい場合はDataViewを作る
★VSアプリケーションデザイン AdapterとReaderとCommandと
シナリオと状況
対策してみよう
★VSデータの一括処理 大量のデータをテーブルに挿入しなければならない!?
シナリオと状況
対策してみよう
Chaper3 ハマる編
★VSバッチ処理 複雑な日次のバッチ処理を組まなければいけない!?
シナリオと状況
対策してみよう
★VSバッチ処理 DTS、SSISで組んだパッケージは外部から呼び出せない!?
シナリオと状況
対策してみよう
★VS接続文字列 接続文字列の情報を管理しましょう
シナリオと状況
対策してみよう
★VS接続文字列 接続情報の再利用消える機微情報!?
シナリオと状況
対策してみよう
★VS要件 Excelに印刷だって!? レポートを考える その1
シナリオと状況
対策してみよう
★VS要件 Excelに印刷だって!? レポートを考える その2
(VSTOによるクライアントの作成)
シナリオと状況
対策してみよう
★VS要件 レポートコンポーネントを使え!?
シナリオと状況
対策してみよう
★VS同時実行制御 それは本当にデッドロックなのか!?
シナリオと状況
対策してみよう
対策1:本当にデッドロックが発生しているのか確認する
対策2:タイムアウトかもしれないのだったらアプローチを変える
対策3:本当にデットロックだったらデータアクセス方法を考える
対策4:ゲートを作りたいのであればアプリケーションロックを検討する
Chapter4 プラクティス編
★VSプラクティス1 接続文字列を組み立てるクラスを作ろう
接続文字列って定型的?
クラスをデザインしてみよう
★VSプラクティス2 接続を管理するクラスを作ろう
接続文字列管理と「接続管理」
接続管理のクラスをデザインする
★VSプラクティス3 型指定されたデータセットの利用
強力な味方「型指定されたデータセット」
型指定されたデータセットを使ってみよう
★VSプラクティス4 型指定されたデータセットとデータアダプタ
データアダプタを自前で作るというアプローチ
手書きデータアダプタを作ってみよう
Chapter5 番外編
★VS無茶な開発者よもやま話 長大なクエリをほうり投げる!
シナリオと状況
対策してみよう
★VS無茶な開発者よもやま話 UNION ALLの大行列
シナリオと状況
対策してみよう
★VS無茶な開発者よもやま話 とにもかくにもCHAR型
シナリオと状況
対策してみよう
★VS無茶な開発者よもやま話 ヘルプを見ない開発者
シナリオと状況
対策してみよう

