【おすすめ】SQL Server 2016の教科書 開発編【技術書】

技術書

データベースやSQL(データベースを操作するための言語)の勉強をしてみたいけど、どれを読めばいいのかわからない!

とお悩みの方におすすめの一冊。

この本を読むことで、

獲得できる知識・スキル
  • 汎用的なデータベースの基礎知識
  • SQL(データベースを操作するための言語)の記述方法
  • テーブル設計技法やデータ取得時に発生する様々な問題と解決方法

を学ぶことができます。

おすすめ理由

SQL Server 2016の教科書と銘打ってはあるんですが、その内容はどのデータベースにも共通している基礎的な知識が多くを占めています。なので「自分が使いたいと思っているデータベースはSQL Serverじゃないんだよね」という人にもぜひ読んで欲しいです。

データベースとは何なのか、どう使っていくものなのか、実際に開発していく時にはどのようなことに注意しなければならないのかが、本当にすごくわかりやすく、それでいて実践的に書かれているのが非常に素晴らしいです。

特に第15章「ロックと分離レベル」は、知識としてある程度知ってはいたものの、ここまで丁寧に解説してくれる資料は見たことがなかったので感動しました。

データベースに関すること(SQLや開発時の注意点など含め)を満遍なく学習することができるので、これからデータベースを勉強しようと考えている人には絶対おすすめしたい一冊ですね。

まとめ

  • 汎用的なデータベースの基礎知識を満遍なく身に着けることができる
  • SQL Server 2016の教科書と銘打ってはいるが、SQL Server以外のデータベース利用を考えている人にも入門編として非常におすすめ

出版社:ソシム
ページ数:525ページ
Kindle(電子書籍):なし

本の目次

入門編

第1章 SQL Server 2016の概要とインストール

 1-1 SQL Server 2016の概要
 1-2 SQL Server 2016の製品ラインナップ
 1-3 SQL Server 2016 Developerエディションのインストール

第2章 インストール後の構成

 2-1 管理ツール(Management Studio)のインストール
 2-2 インストール後のメニュー
 2-3 SQL Server関連のサービス
 2-4 SQL Serverが正常に動作していることの確認
 2-5 システム データベース
 2-6 インストール後のフォルダー構成
 2-7 SQL Server 2008 R2や2012との共存

第3章 SQL Server 2016を使ってみよう

 3-1 とりあえず使ってみよう
 3-2 SQLでデータの追加と検索
 3-3 データの追加~INSERT~
 3-4 データの検索(SELECT)
 3-5 データの更新(UPDATE)と 削除(DELETE)

第4章 正規化

 4-1 正規化とは
 4-2 関数従属とキー
 4-3 正規化の手順

第5章 制約

 5-1 制約とは
 5-2 この章で使用するテーブル
 5-3 PRIMARY KEY制約(主キー制約)
 5-4 UNIQUE制約
 5-5 CHECK制約
 5-6 FOREIGN KEY制約

第6章 SQLステートメントの基本(ANSI SQL92準拠)

 6-1 この章で使用するテーブル
 6-2 データを並べ替える~ORDER BY~
 6-3 WHERE句で利用できる演算子
 6-4 その他の演算子

第7章 SQLステートメントの応用(ANSI SQL92準拠)

 7-1 集計関数とグループ化
 7-2 複数テーブルの結合
 7-3 外部結合~OUTER JOIN~
 7-4 その他のSQL92規格
 7-5 3つ以上のテーブルの結合
 7-6 ビュー~仮想表~

第8章 テーブル関連の操作とデータのインポート/エクスポート

 8-1 テーブルのコピー~SELECT INTO~
 8-2 データのみのコピー~INSERT SELECT~
 8-3 IDENTITYプロパティで自動採番
 8-4 データの全削除を高速に実行~TRUNCATE TABLE~
 8-5 DEFAULT値(既定値)
 8-6 CSVファイル出力(エクスポート)
 8-7 Integration Servicesでデータのインポート

第9章 照合順序、データ型

 9-1 この章で使用するテーブル
 9-2 照合順序(Collation)
 9-3 データ型

第10章 関数とユーザー定義関数

 10-1 この章で使用するテーブル
 10-2 文字列操作関数
 10-3 日付と時刻の操作関数
 10-4 変換関数~CONVERTとCAST~
 10-5 数値操作の関数
 10-6 その他の関数
 10-7 ユーザー定義関数
 10-8 .NET Framework言語を使ったユーザー定義関数(SQLCLR)
 10-9 CLRユーザー定義関数のパフォーマンスは?

第11章 Transact-SQL(T-SQL)の基本

 11-1 Transact-SQLの構成要素
 11-2 動的SQL(EXEC、sp_executesql)
 11-3 TOP句での上位N件の取得
 11-4 MERGE(UPSERT)
 11-5 順位付け関数(ROW_NUMBER、RANK、 DENSE_RANK、NTILE)
 11-6 ページング(OFFSET~FETCH)
 11-7 CTE(共通テーブル式)
 11-8 一時テーブルによる結果の一時的な保存
 11-9 テーブル変数

開発編

第12章 データベース アプリケーションの開発

 12-1 データベースAPI
 12-2 ADO.NETを使ってみよう
 12-3 SQL Server Profilerによるデバッグ
 12-4 SQLの動的生成とSQLインジェクション
 12-5 更新系SQLの実行

第13章 ストアド プロシージャ

 13-1 ストアド プロシージャ
 13-2 ストアド プロシージャの作成
 13-3 入力パラメーターの利用
 13-4 ストアド プロシージャのデバッグ
 13-5 OUTPUT(出力)パラメーター
 13-6 RETURNコード.
 13-7 ストアド プロシージャ定義の表示

第14章 トランザクションとエラー処理

 14-1 トランザクションとは
 14-2 SQL Serverにおけるトランザクションの実装
 14-3 トランザクションの例
 14-4 ロールバックされない処理(制約違反エラー)
 14-5 エラーの再スローとユーザー定義エラー
 14-6 ADO.NETでトランザクション~SqlTransaction~

第15章 ロックと分離レベル

 15-1 ロックとは
 15-2 デッドロック
 15-3 トランザクションの分離とIsolation Level
 15-4 ダーティ リードとRead UnCommitted
 15-5 反復読み取り不可: Non Repeatable Read
 15-6 ファントム読み取り(Phantom Read)
 15-7 楽観的(オプティミスティック)同時実行制御

第16章 ロックの実践と読み取り一貫性

 16-1 テーブル スキャンによるロック待ち
 16-2 読み取り一貫性
 16-3 読み取り一貫性のオーバーヘッド

付録 SQL Serverへの接続方法と提供される機能のまとめ

 A-1 ネットワークを介したSQL Serverへの接続
 A-2 SQL Serverの各バージョンで提供された代表的な機能
 A-3 SQL Server 2016の主な新機能
 A-4 今後の情報源

Posted by yuumekou