SQL Server 7.0 MSDE 完全トレーニングテキスト 上

[表紙]SQL Server 7.0 MSDE 完全トレーニングテキスト 上

紙版発売

B5判/528ページ

定価3,168円(本体2,880円+税10%)

ISBN 4-7741-0965-7

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

上巻は第1部で,「Trasact-SQLの学習」です。E.F.コッドのリレーショナルモデルに基づいたデータベースの概念と正規化,関係の演算などを通してテーブル設計の基本を学びます。実際にMSDEを使ってテストしながら学べるように構成されています。

こんな方におすすめ

  • SQL Server 7.0やMSDEを使ってデータベースサーバを構築したい方
  • MSDEに移行しようと考えている方

目次

第1章 データベースの基礎

  • RDBMSを学ぶ
  • データベースの設計ミスは致命的!
  • 1.1 関係(relationリレーション)とは
  • 1.2 実表(base table)とビュー表(viewed table)
  • 1.3 実表の構成要素
  • 1.4 実表の設計
    • 1.4.1 リレーショナルモデルの特徴
    • 1.4.2 『属性の原子性(Atomicity)』の適用
    • 1.4.3 『レコードの非同値性』の適用
    • 1.4.4 計算属性は覚えますか?
    • 1.4.5 #第1正規化処理
    • 1.4.6 リレーションの目的を1個に絞る
    • 1.4.7 外部キー
    • 1.4.8 #第2正規化処理
    • 1.4.9 #第3正規化処理
    • 1.4.10 #第4正規化処理
  • 1.5 関係の演算を理解するための準備作業
    • 1.5.1 SQLServer7.0やMSDEの起動と停止
    • 1.5.2 Transact-SQLプログラムの実行
    • 1.5.3 データベースの新規作成処理
    • 1.5.4 ログイン名sa,パスワードなし
    • 1.5.5 学習用のログイン登録
    • 1.5.6 MySampleTest データベースの作成9
    • 1.5.7 [商品]テーブルの新規作成
  • 1.6 関係の演算
    • 1.6.1 射影演算
    • 1.6.2 選択演算
    • 1.6.3 交差結合
    • 1.6.4 等結合
    • 1.6.5 自然結合
    • 1.6.6 左外結合
    • 1.6.7 右外結合
    • 1.6.8 完全外結合
    • 1.6.9 自己結合
    • 1.6.10 和演算
    • 1.6.11 差演算
    • 1.6.12 積演算
  • 1.7 属性のデータ型
    • 1.7.1 文字型
    • 1.7.2 数値型
    • 1.7.3 バイナリ型
    • 1.7.4 論理型
    • 1.7.5 日付型
    • 1.7.6 システム型
  • 1.8 NULL値と空文字列

第2章 Transact-SQL言語を使った データベースへの問い合わせ

  • 2.1 SQL言語 3
  • 2.2 SQL言語学習用見本データの作成
  • 2.3 SQLServer7.0データベースサーバーシステム概要
  • 2.4 レコード選択用SELECT命令
    • 2.4.1 SELECT 列名リスト FROM テーブル名リスト
    • 2.4.2 SELECT * FROM 社員
    • 2.4.3 SELECT DISTINCT 自宅都道府県 FROM 社員
    • 2.4.4 SELECT 社員コード AS 番号 , 自宅都道府県 AS 地域 FROM 社員
    • 2.4.5 SELECT 列名リスト FROM テーブル名リスト WHERE 検索条件
    • 2.4.6 BETWEEN A AND B
    • 2.4.7 NOT BETWEEN A AND B
    • 2.4.8 WHERE A OR B / WHERE C IN (候補値リスト)
    • 2.4.9 WHERE A AND B
    • 2.4.10 IS NULL
    • 2.4.11 IS NOT NULL
    • 2.4.12 LIKE
    • 2.4.13 LIKE(2)
    • 2.4.14 ORDER BY
    • 2.4.15 レコードのグループ化
    • 2.4.16 グループ毎のレコード数計算
    • 2.4.17 グループ化の処理前にレコードの選別を行う(WHERE句)
    • 2.4.18 グループ化の処理後にレコードの選別を行う(HAVING句)
    • 2.4.19 2段階のグループ化作業
    • 2.4.20 複数表の問い合わせ
    • 2.4.21 3個の表の結合
    • 2.4.22 サブクエリー
    • 2.4.23 サブクエリー(2)
  • 2.5 レコード挿入・更新・削除用SQL言語
    • 2.5.1 1レコードをデフォルト値で挿入する
    • 2.5.2 1レコードを挿入する
    • 2.5.3 他表の検索結果をレコードに登録する
    • 2.5.4 ストアドプロシージャが返すレコードセットの結果を挿入する
    • 2.5.5 列の更新(1)
    • 2.5.6 列の更新(2)
    • 2.5.7 レコードの削除(1)
    • 2.5.8 レコードの削除(2)
  • 2.6 データ記述・データ定義などのSQL言語
    • 2.6.1 データベースの新規作成処理
    • 2.6.2 プライマリデータファイルの作成場所指定
    • 2.6.3 データファイル作成時のパラメータの指定
    • 2.6.4 データファイルとトランザクションログファイルの配置場所
    • 2.6.5 データファイルの分散配置
    • 2.6.6 データファイルのグループ化
    • 2.6.7 テーブルの新規作成処理
    • 2.6.8 テーブルの新規作成処理(2)
    • 2.6.9 テーブルの新規作成処理(3)『テーブル記憶場所の指示』
    • 2.6.10 テーブルの保守(1)『主キーの設定』
    • 2.6.11 テーブルの保守(2)『主キーの削除』
    • 2.6.12 テーブルの保守(3)『NULL値の許容・NULL値の禁止』
    • 2.6.13 テーブルの保守(4)『DEFAULT値の削除と設定』
    • 2.6.14 テーブルの保守(5)『CHECK制約の削除と設定』
    • 2.6.15 テーブルの保守(6)『UNIQUE制約の削除と設定』
    • 2.6.16 テーブルの保守(7)『INDEXの削除と設定』
    • 2.6.17 テーブルの保守(8)『参照整合性制約の設定』
    • 2.6.18 テーブルの保守(9)『新しい列の追加・既存列の削除・既存列の変更』

第3章 Transact-SQL言語 プログラミング文法

  • 3.1 コメント文
  • 3.2 バッチとGO
  • 3.3 ローカル変数と代入命令
  • 3.4 SET NOCOUNT ON命令
  • 3.5 グローバル変数と実行時エラーの調査
  • 3.6 演算子
  • 3.7 PRINT命令
  • 3.8 RAISERROR命令
    • 3.8.1 RAISERROR命令の使い方(1)
    • 3.8.2 RAISERROR命令の使い方(2)
    • 3.8.3 SQL03_04プログラム
    • 3.8.4 FORMATMESSAGE命令
  • 3.9 IF文とBEGIN-ENDブロック
    • 3.10 WHILE文
    • 3.11 GOTO文
    • 3.12 RETURN文
    • 3.13 単純CASE関数
    • 3.14 検索 CASE 関数
    • 3.15 データ変換関数
    • 3.16 WAITFOR 命令
    • 3.17 ISNULL関数
    • 3.18 関数命令

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

  • 4.1 ストアドプロシージャの作成
    • 4.1.1 ストアドプロシージャの定義
    • 4.1.2 ストアドプロシージャの作成先データベース
    • 4.1.3 データベースオブジェクトの所有者名について
    • 4.1.4 ストアドプロシージャのパラメータ宣言
    • 4.1.5 ストアドプロシージャ内で禁止されている命令
    • 4.1.6 ローカル一時テーブルの扱い
    • 4.1.7 ストアドプロシージャ内で作成したデータベースオブジェクトの所有者
    • 4.1.8 ストアドプロシージャの戻り値の返し方とその受け取り方
    • 4.1.9 OUTPUTパラメータによる引数の更新
    • 4.1.10 ストアドプロシージャの呼び出し方法
    • 4.1.11 ストアドプロシージャの結果セットの受け取り方
    • 4.1.12 ストアドプロシージャのグループ化
  • 4.2 システムストアドプロシージャ

第5章 ビュー表

  • 5.1 ビュー表とは?
  • 5.2 CREATE VIEW文
  • 5.3 分割テーブルとビュー表によるテーブル合成処理
  • 5.4 ビュー表を使ったレコードの追加・更新処理
  • 5.5 WITH CHECK OPTION
  • 5.6 ビュー表の作成権限と使用権限

第6章 トリガ

  • 6.1 トリガとは?
  • 6.2 トリガを定義するCREATE TRIGGER文
  • 6.3 insertedテーブルとdeletedテーブル
  • 6.4 IF UPDATE(列名)
  • 6.5 COLUMNS_UPDATED()関数
  • 6.6 トリガの中で使用できないSQL文命令
  • 6.7 トリガ内部のSELECT文
  • 6.8 トリガのネスト構造
  • 6.9 トリガの再帰起動
  • 6.10 トリガ内で実行するROLLBACK TRANSACTION命令
  • 6.11 トリガプログラムの例題
    • 6.11.1 レコードを追加した時刻と最終更新時刻の自動記録
    • 6.11.2 ROLLBACKを行うレコード整合性維持のトリガの組み込み
    • 6.11.3 ROLLBACKするときは必ずRAISERROR命令の実行を忘れずに
    • 6.11.4 連鎖更新・連鎖削除機能の組み込み

第7章 カーソル

  • 7.1 データベースサーバーからレコード検索結果をページ単位に分割して受け取る
    • 7.1.1 [検索HIT]テーブル
    • 7.1.2 [検索HIT作業用]テーブル
    • 7.1.3 [P_検索実行]ストアドプロシージャ
    • 7.1.4 [P_検索表示]ストアドプロシージャ
    • 7.1.5 [P_再同期CMD]ストアドプロシージャ
    • 7.1.6 Accessのパススルークエリーを利用したクライアント側システム
    • 7.1.7 Access2000のADPプロジェクトを利用したクライアント側システム
  • 7.2 結果セット指向(SELECT文)とレコード指向(カーソル)
  • 7.3 カーソルの用語
    • 7.3.1 サーバーカーソル
    • 7.3.2 クライアントカーソル
    • 7.3.3 APIサーバーカーソル
    • 7.3.4 静的カーソル
    • 7.3.5 動的カーソル
    • 7.3.6 順方向専用カーソル
    • 7.3.7 キーセットドリブンカーソル
    • 7.3.8 ブロックカーソル
  • 7.4 カーソルをサポートするTransact-SQL言語の文法
    • 7.4.1 カーソル管理の仕組み
    • 7.4.2 DECLARE CURSOR文
    • 7.4.3 カーソル変数宣言(1)
    • 7.4.4 カーソル変数宣言(2)
    • 7.4.5 カーソル変数宣言(3)
    • 7.4.6 OPEN文
    • 7.4.7 CLOSE文
    • 7.4.8 DEALLOCATE文
    • 7.4.9 FETCH文
    • 7.4.10 UPDATE文
    • 7.4.11 DELETE文
  • 7.5 カーソルを使ってレコード検索結果をページ単位に分割して受け取る
    • 7.5.1 DELETE_MyPROCストアドプロシージャ
    • 7.5.2 DEFINE_CURSORストアドプロシージャ
    • 7.5.3 FETCH_CURSORストアドプロシージャ
    • 7.5.4 My_cur_initストアドプロシージャ
    • 7.5.5 My_cur_termストアドプロシージャ
    • 7.5.6 Main_GetRecord_From_My_curストアドプロシージャ
    • 7.5.7 GetRecord_From_My_curストアドプロシージャ
    • 7.5.8 クライアントアプリケーションからの実行
    • 7.5.9 Access2000のADPクライアントアプリケーションの作成

第8章 トランザクション

  • 8.1 トランザクションの定義
  • 8.2 トランザクションの要件
  • 8.3 SQLServerのトランザクション動作モード
    • 8.3.1 コミットとロールバック・ロールフォワード
    • 8.3.2 自動コミットトランザクションモード
    • 8.3.2 明示的なトランザクションモード
    • 8.3.3 暗黙のトランザクションモード
  • 8.4 トランザクションの基本命令
    • 8.4.1 BEGIN TRANSACTION
    • 8.4.2 COMMIT TRANSACTION
    • 8.4.3 ROLLBACK TRANSACTION
  • 8.5 トランザクションの基本例題
    • 8.5.1 トランザクション内で整合性違反の発生
    • 8.5.2 整合性違反によりトランザクション全体をロールバックする
    • 8.5.3 トリガプログラムでのロールバック命令
    • 8.5.4 SET XACT_ABORT 設定
  • 8.6 トランザクションの入れ子(ネスト)構造
  • 8.7 トランザクションのセーブポイント
  • 8.8 ロックの粒度とロックの種類
  • 8.9 トランザクションの分離レベル
    • 8.9.1 『未コミット読み取り』レベル(READ UNCOMMITTED)の例題
    • 8.9.2 『コミット済み読み取り』レベル(READ COMMITTED)の例題
    • 8.9.3 反復可能読み取り(REPEATABLE READ)の例題
    • 8.9.4 『直列化』レベル(SERIALIZABLE)の例題