MCP Microsoft SQL Server 2012 へのクエリ 試験対策コース エディフィストラーニング株式会社 ラーニングソリューション部 1

Size: px
Start display at page:

Download "MCP Microsoft SQL Server 2012 へのクエリ 試験対策コース エディフィストラーニング株式会社 ラーニングソリューション部 1"

Transcription

1 MCP Microsoft SQL Server 2012 へのクエリ 試験対策コース エディフィストラーニング株式会社 ラーニングソリューション部 1

2 目標と前提条件 目標 MCP Microsoft SQL Server 2012 へのクエリ 資格 に対応する知識を学習 前提条件 リレーショナル データベースに関する基本知識を有していること SQL Server データベース エンジンに関する基本知識を有し 管理 ツールの操作に慣れていること 2

3 2 種類の資格 MCSA (マイクロソフト認定ソリューション アソシエイト) コア プラットフォーム スキルの所有を証明 MCSE (マイクロソフト認定ソリューション エキスパート) 卓越した IT スキルのスタンダードとして世界中で認知 多様なソリューションにわたって奥深い専門技術を実証 変わり続けるテクノロジーに対応する最先端のスキルを証明 MCSE:Data Platform 大規模データ ソリューションの構築と管理のた めの幅広いスキルセットを証明 MCSE:Business Intelligence BI に関する専門スキルを証明 MCSA:SQL Server 2012 SQL Server 2012 コア プラットフォーム スキルの所有を証明 3

4 MCSA: SQL Server 2012 SQL Server の MCP 資格に初めて挑戦される方 SQL Server 2008 で SQL Server の MCP 資格を取得している方 4

5 MCSE: Data Platform SQL Server の MCP 資格に初めて挑戦される方 SQL Server 2008 で SQL Server の MCP 資格を取得している方 5

6 MCSE: Business Intelligence SQL Server の MCP 資格に初めて挑戦される方 SQL Server 2008 で SQL Server の MCP 資格を取得している方 6

7 試験内容 受験対象者 SQL Server データベースの管理者 導入者 システム エンジニア およびデータベース アプリケーションの開発者 出題範囲 データベースオブジェクトの作成 (24%) データの操作 (27%) データの変更 (24%) クエリのトラブルシューティングと最適化 (25%) 所要時間 170 分 7

8 コースの概要 第1章 データベース オブジェクトの作成 T-SQL を使用したテーブルの作成と変更 ビューの作成と変更 DML トリガーの作成と変更 第2章 データの取得と変更 SELECT ステートメントによる基本的なクエリ 集計クエリと順位付け XML データへのクエリ DML ステートメントによるデータの変更 第3章 関数とストアド プロシージャ 関数 ストアド プロシージャ 第4章 クエリのトラブル シューティングと最適化 クエリの最適化 トランザクション管理 エラー処理 8

9 章の構成 T-SQL を使用したテーブルの作成と変更 ビューの作成と変更 DML トリガーの作成と変更 9

10 テーブルとは テーブルはデータを表形式の構造に格納 列の集まりとして定義される 各行には一意なレコードが置かれる 列 列名 社員ID 部門ID 社員名 電話番号 住所 生年月日 更新日 鈴木 和康 東京都杉並区 1972/1/ /4/ 矢嶋 聡 東京都板橋区 1978/4/3 2004/4/1 行に置かれた 荒木 達也 神奈川県横浜市 1974/12/5 2001/4/ 西 昭彦 東京都墨田区 1969/10/ /4/1 10 レコード

11 テーブル定義の基本構文 CREATE TABLE ステートメント CREATE TABLE <スキーマ名>.<テーブル名>( <列名1> <データ型> (NULL NOT NULL), <列名2> <データ型> (NULL NOT NULL) ) ALTER TABLE ステートメントによる列の追加 ALTER TABLE <スキーマ名>.<テーブル名> ADD <列名1> <データ型> (NULL NOT NULL) 11

12 システム データ型 (1/2) カテゴリ データ型 バイト数 説明 整数 bigint int smallint tinyint ,223,372,036,854,775,808 9,223,372,036,854,775,807 の整数値 -2,147,483,648 2,147,483,647 の整数値 -32,768 32,767 の整数値 0 255の整数値 真数 decimal[(p[, s])] numeric[(p[, s])] ^ ^38 1の固定長の有効桁数と小数点部桁数を持つ数値 概数 float[(n)] real E E の浮動小数点数 -3.40E E + 38 の浮動小数点数 通貨 money smallmoney ,337,203,685, ,337,203,685, の金額データ値 -214, , の金額データ値 日付と時刻 datetimeoffset datetime Datetime2 smalldatetime date time 年1月1日 9999年12月31日の日付とタイム ゾーン オフセットが付いた時刻データ 1753年1月1日 9999年12月31日の日付と時刻データ 1年1月1日 9999年12月31日の日付と時刻データ 1990年1月1日 2079年6月6日の日付と時刻データ 1年1月1日 9999年12月31日の日付データ 0:00: :59: ,000 8,000 2 GB 2 GB 8,000文字以内の固定長非Unicodeデータ 8,000文字以内の可変長非Unicodeデータ 2,147,483,647文字以内の可変長非Unicodeデータ 2,147,483,647文字以内の可変長非Unicodeデータ ,000 8,000 2 GB 2 GB 4,000文字以内の固定長Unicodeデータ 4,000文字以内の可変長Unicodeデータ 1,073,741,823文字以内の可変長非Unicodeデータ 1,073,741,823 文字以内の可変長非Unicodeデータ char[(n)] varchar[(n)] 非 Unicode 文字 varchar(max) text Unicode 文字 12 nchar[(n)] nvarchar[(n)] nvarchar(max) ntext

13 システム データ型 (2/2) カテゴリ データ型 バイト数 説明 バイナリ binary[(n)] varbinary[(n)] varbinary(max) 0 8,000 8,000 バイト以内の固定長バイナリ データ 0 8,000 8,000 バイト以内の可変長バイナリ データ 0 2 GB (または16バイト ポインタ) 2,147,483,647 バイト以内の可変長バイナリ データ 画像 image 0 2 GB (または16バイト ポインタ) 2,147,483,647 バイト以内の可変長バイナリ データ グローバル識別 子 uniqueidentifier 16 グローバルな一意識別子 (GUID) を格納するデータ型 xml xml 0 2 GB 2,147,483,647 バイト以内の可変長XMLデータ 特殊 bit cursor timestamp sysname sql_variant table hierarchyid geometry geography ,016 テーブルの定義内容による ,060 (Undocumented) 0 8,060 (Undocumented) 1 または 0 カーソルへの参照を格納 データベース タイムスタンプ値 オブジェクト名を格納するユーザー定義データ型 (nvarchar(128)) int 値 binary 値 および char 値を格納できる テーブル形式のデータを格納 階層内の位置情報を格納する CLR のデータ型 ユークリッド座標系のデータを格納する CLR データ型 球体地球座標系のデータを格納する CLR データ型 8,000 バイト以上のドキュメントや動画などのメディア ファイルは varbinary(max) を使用 13

14 計算列と PERSISTED の効果 PERSISTED とマークされた計算列 計算値をテーブルに物理的に保存し 計算列のいずれかが更新された場合 その値を 更新するように指定できる 次のテーブルに StockInStore と StockInWarehouse を合計した値を持つ PERSISTED とマークされた計算列 (TotalCount) を追加する 次の ALTER TABLE ステートメントを実行する ALTER TABLE Inventory ADD TotalCount AS (ProductsInStore + ProductsInWarehouse) PERSISTED 内部的にはインデックスが作成される インデックスが不要の場合は PERSISTED を記述しない 14

15 データ整合性 ドメインの整合性 列に格納される値が取りうる範囲を定義域 ドメイン と呼ぶ 例 社員年齢は 18歳 以上 65 歳未満 性別は 男性 女性 の2種類 列に適正な値が格納されるように値の種類 形式 範囲 NULL 値を 許容するかなどを規定する データ型 NULL 値許容属性 CHECK 制約 DEFAULT 制約で設定 エンティティの整合性 テーブルに格納される行の一意性の保証 PRIMARY KEY 制約 UNIQUE 制約で設定 参照整合性 テーブル間の参照関係に矛盾がない状態を維持 FOREIGN KEY 制約 トリガーで設定 15

16 データ整合性と制約 データ整合性 対象 制約 説明 ドメイン 整合性 列 DEFAULT INSERT ステートメントの VALUE 句に明示的な値が指定さ れていない場合 既定値を挿入 CHECK INSERT UPDATE ステートメント実行時に格納される値を 制限 NULL NULL 値を許可するか拒否 (NOT NULL) するかを指定 テーブル FOREIGN KEY 格納できるデータ値を同一テーブル または外部テーブルの 指定された列に格納される値の範囲に制限 テーブル PRIMARY KEY 各行を一意に識別する 内部的には インデックスが作成される NULL 値は許可されない 列 UNIQUE 各行を一意に識別する 内部的には インデックスが作成される NULL 値は 1 件入力できる テーブル FOREIGN KEY 格納できるデータ値を同一テーブル または外部テーブルの 指定された列に格納される値の範囲に制限 参照されているキー値の変更時の動作が指定できる 列 CHECK 格納できるデータ値を同一テーブルの別の列にに格納される 値の範囲に制限 エンティティ 整合性 参照整合性 16

17 制約の構文 PRIMARY KEY 制約 主キーとして設定し 列に重複した値が入力されないようにする 内部的に一意なクラスター化インデックスが作成される ALTER TABLE <テーブル名> ADD CONSTRAINT <制約名> PRIMARY KEY CLUSTERED (<列名1>, <列名n>)) FOREIGN KEY 制約 格納できるデータ値を同一テーブル または外部テーブルの指定された列に格納され る値の範囲に制限 ALTER TABLE <テーブル名> ADD CONSTRAINT <制約名> FOREIGN KEY (<列名>) REFERENCES <テーブル名> (<列名>) DEFAULT 制約 列に既定値を格納 ALTER TABLE <テーブル名> ADD CONSTRAINT <制約名> DEFAULT (<既定値>)) 17

18 参照整合性 PRIMARY KEY 制約と FOREIGN KEY 制約により実装 社員 部門 部門ID 部門名 PK 1 外部テーブル参照 18 社員ID 部門ID 上司ID 社員名 電話番号 E メール 更新日 PK FK FK 2 自己テーブル参照

19 制約の定義例 CREATE TABLE [部門]( [部門ID] int IDENTITY(1,1) NOT NULL,[部門名] nvarchar(50) NOT NULL CONSTRAINT [PK_部門] PRIMARY KEY CLUSTERED ([部門ID]) ) GO CREATE TABLE [社員]( [社員ID] int IDENTITY(1000,1) NOT NULL,[部門ID] int NOT NULL,[上司ID] int NOT NULL,[社員名] nvarchar(50) NOT NULL,[電話番号] nchar(12) NOT NULL,[Eメール] nvarchar(125) NOT NULL,[生年月日] date NOT NULL,[更新日] datetime NOT NULL CONSTRAINT [DF_社員_更新日] DEFAULT(GETDATE()), CONSTRAINT [PK_社員] PRIMARY KEY CLUSTERED ([社員ID]),CONSTRAINT [UQ_社員] UNIQUE ([Eメール])) GO ALTER TABLE [社員] ADD CONSTRAINT [FK_社員_上司] FOREIGN KEY([上司ID]) REFERENCES [社員]([社員ID]) GO ALTER TABLE [社員] ADD CONSTRAINT [FK_社員_部門] FOREIGN KEY([部門ID]) REFERENCES [部門]([部門ID]) GO 19

20 Q1 PRIMARY KEY 制約 問 Customers テーブルは複数のソース テーブルから顧客データをインポート する ここで Customers テーブルの各行が一意であることを保証したい CustID (PK) Name CustID (PK) Name 鈴木 和康 西 昭彦 矢嶋 聡 荒木 達也 Customers SourceID CustID Name 鈴木 和康 矢嶋 聡 荒木 達也 西 昭彦 次の CREATE TABLE ステートメントを実行する CREATE TABLE Customers ( SourceID int NOT NULL,CustID int NOT NULL,Name nvarchar(255) NOT NULL,CONSTRAINT PK_Customers PRIMARY KEY CLUSTERED (SourceID, CustID)) 20

21 Q2 FOREIGN KEY 制約 テーブル間の参照整合性を設定する 問 Orders テーブルの CustomerID が Customers テーブルの CustomerID の値の範囲であることを保証したい 次の ALTER TABLE ステートメントを実行する ALTER TABLE Orders ADD CONSTRAINT FX_Order_CusomerID FOREIGN KEY (CusomerID) REFERENCES Cusomers (CusomerID) 21

22 一意な値の発行 IDENTITY プロパティによる整数値の発行 IDENTITY (シード値 増分値) 列のプロパティとして設定 引数で指定されたシード値から開始し 以降 増分値を加算した値を発行 NEWID() 関数による GUID 値の発行 uniqueidentifier 型に GUID 値を格納 ネットワーク上のサーバー間で複製されるテーブルの一意性を確保 CREATE TABLE Sales.受注( 受注ID int NOT NULL IDENTITY(1,1),製品ID int NOT NULL,数量 smallint NULL,rowguid uniqueidentifier NOT NULL CONSTRAINT DF_rowguid DEFAULT (newid() WITH VALUES) ) SEQUENCE オブジェクト NEXT VALUE FOR <シーケンス名> でシーケンス値を取得 CREATE SEQUENCE <オブジェクト名> AS <整数型> START WITH <初期値> INCREMENT BY <増分値> MINVALUE <最小値> MAXVALUE <最大値> (CYCLE NO CYCLE) UPDATE <テーブル名> SET <列名> = NEXT VALUE FOR <オブジェクト名> 22

23 Q3 GUID 値を発行する DEFAULT 制約 NEWID() 関数 GUID (グローバル一意識別子) として機能する 16 バイトの 2 進数値 (Uniqueidentifier 型) を発行する 問 既存データを格納している Accounts テーブルに 新規データが挿 入された時 GUID 値を生成し 格納するための列として AccountGUID を追加したい 次の ALTER TABLE ステートメントを実行する ALTER TABLE dbo.accounts ADD AccountGUID Uniqueidentifier NOT NULL CONSTRAINT DF_AccountGUID DEFAULT NEWID() WITH VALUES 23

24 Q4 SEQUENCE を使用した連番の発行 問 100 人の生徒情報を格納している Students テーブルに Class 列が 追加された その列に 1 から 10 の値を 1 ずつ増分しながら 循環さ せて格納したい 次の CREATE SEQUENCE と UPDATE ステートメントを実行する CREATE SEQUENCE CLASS_Sequence AS int START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 10 CYCLE UPDATE Students SET CLASS = NEXT VALUE FOR CLASS_Sequence 24

25 SQL Server のインデックス クラスター化インデックス テーブルに 1 個 リーフノードには インデックス付けされた列の値に基づきソートされたデータ行を格納 CREATE CLUSTERED INDEX <インデックス名> ON <テーブル名>(<列名>, ) 非クラスター化インデックス テーブルに 999 個まで リーフノードには データ行へのポインタ (行識別子:RID) を格納 但し 既にクラスター化インデックスがある場合は クラスター化インデックスのキー値を格納 CREATE INDEX <インデックス名> ON <テーブル名>(<列名>, ) 一意なインデックスの作成では UNIQUE キーワードを指定する インデックス キーのサイズと複合インデックス列の数の制約 キー列の最大サイズ 900 バイト 16 列まで PRIMARY KEY 制約を設定した列 他の列にクラスター化インデックスが存在しない場合 自動的に一意のクラスター化インデックスが作成される 他の列にクラスター化インデックスが存在する場合 一意の非クラスター化インデックスが作成される 25

26 クラスター化インデックスの構造 ProductID にクラスター化インデックスを作成した場合 完全一致 検索クエリ SELECT ProductID,ProductNumber,Color FROM Production.Product WHERE ProductID = 714 生成される 実行プラン Clustered Index Seek ① クラスター化インデックス ProductID ページ: : :142 ② ページ:141 ページ: : :101 ProductID で 並び替えられ たデータ行 リンクリスト ③ ページ: FR-R92B FR-R92R-58 Black Red 707 HL-U509-R Red 708 HL-U509 Black 709 SO-B909-M White 26 01:102 01:103 ページ:102 ページ:101 ページ: SO-B909-L White 715 LJ-0192-L Multi 720 FR-R92R-52 Red 711 HL-U509-B Blue 716 LJ-0192-X Multi 721 FR-R92R-56 Red 712 CA-1098 Multi 717 FR-R92R-62 Red 722 FR-R38B-58 Black 713 LJ-0192-S Multi 718 FR-R92R-44 Red 723 FR-R38B-60 Black 714 LJ-0192-M Multi 719 FR-R92R-48 Red 724 FR-R38B-62 Black

27 非クラスター化インデックスの構造 ProductID に非クラスター化インデックスを作成した場合 SELECT ProductID,ProductNumber,Color FROM Production.Product WHERE ProductID = 714 完全一致 検索クエリ 生成される 実行プラン Index Seek + RID Lookup ① 非クラスター化インデックス ページ:170 ② ProductID ページ: : : :120:03 01:110:04 01:110:02 01:120:01 01:100:05 ④ ③ RID ファイル番号: ページ番号:行番号 ページ: :110:03 01:130:04 01:100:04 01:110:01 01:120:05 RID LOOKUP ヒープ ページ:100 ページ:110 ページ: :100:03 01:130:03 01:120:04 01:120:02 01:110:05 ページ:120 01:130:02 01:130:01 01:130:05 01:100:01 01:100:02 ページ: FR-R38B-60 Black 713 LJ-0192-S Multi 708 HL-U509 Black 721 FR-R92R-56 Red 724 FR-R38B-62 Black 707 HL-U509-R Red 718 FR-R92R-44 Red 720 FR-R92R-52 Red Black 716 LJ-0192-X Multi 711 HL-U509-B Blue 722 FR-R38B-58 Black 715 LJ-0192-L Multi 710 SO-B909-L White 680 FR-R92B CA-1098 Multi 706 FR-R92R-58 Red 717 FR-R92R-62 Red 709 SO-B909-M White 719 FR-R92R-48 Red 714 LJ-0192-M Multi ページ: : :183 ページ:181 ページ:180 ファイル番号: ページ番号 : :172

28 スキーマ データベース オブジェクトはスキーマ に置かれる アプリケーションに対する名前空間の形成 <サーバー名>.<データベース名>.<スキーマ名>.<オブジェクト名> インスタンス データベース データベース Production dbo Sales dbo スキーマ スキーマ作成の基本構文 CREATE SCHEMA <スキーマ名> AUTHORIZATION <所有者名> スキーマ変更の基本構文 ALTER SCHEMA <新しいスキーマ名> TRANSFER <既存のスキーマ名>.<オブジェクト名> 28

29 章の構成 T-SQL を使用したテーブルの作成と変更 ビューの作成と変更 DML トリガーの作成と変更 29

30 ビューとは? クエリにより定義される仮想テーブル ビューが参照するベース テーブルに対するフィルターの役目をする ベース テーブルへの直接のアクセスを許可したくない場合に使用 ビューの種類 標準のビュー 1 つ以上のベース テーブルまたは ビューのデータを 1 つの新しい仮想テーブル に組み合わせる インデックス付きビュー ビューに一意なクラスター化インデックスを作成することにより ビューを具体化 (永続化) する パーティション ビュー 1 つ以上のサーバーに分散した 1 つ以上のベース テーブルを基に 行方向にパー ティション分割されたデータを結合する 30

31 標準のビューの定義例 部門テーブル 社員テーブル 部門ID 部門名 社員ID 部門ID 社員名 電話番号 生年月日 更新日 10 企画部 鈴木 和康 〇 〇 1972/1/ /4/1 11 営業部 矢嶋 聡 〇 1978/4/3 2004/4/1 12 生産部 荒木 達也 〇 1974/12/5 2001/4/ 西 昭彦 〇 1969/10/ /4/1 部門名 社員名 電話番号 企画部 鈴木 和康 〇 〇 営業部 矢嶋 聡 〇 営業部 荒木 達也 〇 vw_部門別社員情報 CREATE VIEW vw_部門別社員情報 WITH SCHEMABINDING AS SELECT 部門名,社員名,電話番号 FROM dbo.部門 JOIN dbo.社員 ON 部門.部門ID = 社員.部門ID WHERE 部門.部門ID IN (10,11) WITH CHECK OPTION WITH SCHEMABINDING ベース テーブルの定義にビューをバインド ベース テーブルに対し ビュー定義に影響を与える変更は行えない WITH CHECK OPTION 行がビューに表示されなくなるような変更は実行できない 31

32 ビューを使用したデータの変更 元になる複数のテーブルを同時に変更することはできない 以下の列は変更できない 集計関数または計算から得られた列を変更できない GROUP BY HAVING または DISTINCT 句の影響を受ける列を変更でき ない 32

33 インデックス付きビュー インデックス付きビューの利点 ビューを永続化し パフォーマンスを向上させる クエリ オプティマイザーがクエリの解決にビューを使用できるようになる インデックス付きビューの選択シナリオ パフォーマンス向上がメンテナンスのオーバー ヘッドより重要 基になるテーブルのデータが頻繁に変更されない クエリで多数のテーブルの結合や集計を実行する インデックス付きビューの要件 ビューに作成する最初のインデックスの種類は一意なクラスター化インデックス SCHEMABINDING オプションを使用する スキーマ バインドによって ベース テーブルのスキーマにビューをバインドする ビューから他のビューは参照できない ベース テーブルはビューと同じデータベース内にあり ビューと同じ所有者にする ビューが参照するテーブルやユーザー定義関数は <スキーマ名>.<オブジェクト名> の 2 部構成の形式で参照する 1 部 3 部 または 4 部構成の形式で構成されるオブジェクト名は使用できない ビューから非決定的関数は参照できない GROUP BY を記述する場合 ビュー定義に COUNT_BIG(*) を記述する 33

34 Q5 インデックス付きビューの定義 問 次の要件を満たす dbo.vwtokyostudents という名前のビューを定義する Province が Tokyo の生徒のすべての情報を表示する ビューから Address テーブルにデータを挿入する場合 Province が Tokyo 以外 の生徒の情報は 挿入させないようにする 作成するビューにインデックスを作成できるようにする 次の CREATE VIEW ステートメントを実行する 34 CREATE VIEW dbo.vwtokyostudents WITH SCHEMABINDING AS SELECT * FROM Student s INNER JOIN Address a ON s.addressid = a.addressid INNER JOIN EducationHistory e ON s.studentid = e.studentid WHERE a.province = 'Tokyo' WITH CHECK OPTION

35 Q6 インデックス付きビューの定義 問 次のビュー参照のパフォーマンスを向上させるには CREATE VIEW Sales.vwCustomerSalesAmount WITH SCHEMABINDING AS SELECT O.CustomerID,C.Name,SUM(O.SalesAmount) AS CustomerTotal,COUNT_BIG(*) AS Count FROM Sales.Orders AS O INNER JOIN Sales.Customers AS C ON O.CustomerID = C.CustomerID GROUP BY O.CustomerID,C.Name 次のステートメントを実行する CREATE UNIQUE CLUSTERED INDEX idx_vwcustomersalesamount ON Sales.vwCustomerSalesAmount (CustomerID) 35

36 章の構成 T-SQL を使用したテーブルの作成と変更 ビューの作成と変更 DML トリガーの作成と変更 36

37 トリガーとは? 特別な種類のストアド プロシージャ トリガーとトリガーを引き起こしたステートメントは 1 つのトランザクショ ンに含まれる DML トリガー テーブルに作成 INSERT UPDATE または DELETE ステートメントによりテーブル変更時 にデータベース エンジンにより起動される 2 つの種類 AFTER トリガー INSERT UPDATE または DELETE ステートメントの実行後に起動される INSTEAD OF トリガー テーブル またはビューに作成 INSERT UPDATE または DELETE のステートメントの代わりに起動される DDL トリガー サーバーに作成 DDL ステートメント実行時に起動される データベースオブジェクトの変更を監査 37

38 DMLトリガー定義の基本構文 DML トリガー CREATE TRIGGER <スキーマ名>.<トリガー名> ON {<テーブル名> <ビュー名>} {FOR AFTER INSTEAD OF} {[INSERT][,][UPDATE][,][DELETE]} AS BEGIN END FOR と記述した場合 AFTER と同じ 38

39 DML AFTER トリガーの例 inserted テーブル 挿入されたデータ行を保持 deleted テーブル 削除されたデータ行を保持 例 Products テーブルの RetailPrice 列 または SalesPrice 列の値が変更された場合 PriceUpdateHistory テーブルに変更前の値を記録するトリガー CREATE TRIGGER dbo.trgpriceupdate ON Products AFTER UPDATE AS IF UPDATE(RetailPrice) OR UPDATE(SalePrice) INSERT INTO dbo.priceupdatehistory SELECT ProductID,RetailPrice AS OldRetailPrice,SalePrice AS OldSalePrice,GETDATE() AS UpdatedDateTime FROM DELETED 39

40 DML INSTEAD OF トリガー トリガーを起動するステートメントの動作を置き換える 使用例 1 つ以上の列に対するエラー チェックや値チェックの実行 行の挿入 更新 削除操作に対する追加の処理を実行 UNION ALL や INNER JOIN で結合された複数のベース テーブルを持つ ビューに対する挿入 更新 削除操作 40

41 DML INSTEAD OF トリガーの例 次の要件を満たすトリガーを Transactions テーブルに作成する Transactions テーブルにデータが挿入される場合 Accounts テーブルに AccountNumber が存在する場合のみ データが挿入されるようにする 複数データが挿入される場合でも正しく動作する必要がある 次の CREATE TRIGGER ステートメントを実行する CREATE TRIGGER TrgValidateAccountNumber ON Transactions INSTEAD OF INSERT AS BEGIN INSERT INTO Transactions SELECT TransactionID,AccountNumber,Amount,Date FROM INSERTED WHERE AccountNumber IN (SELECT AccountNumber FROM Accounts) END 41

42 Q7 ビューへのトリガーの作成 リレーションシップが設定された Employee と Address テーブル 各テーブルの主キー列には IDENTITY プロパティが設定されている 次の定義文で vwemployeeinfo という名前のビューを作成した ビューに対して INSERT や INSERT SELECT ステートメントが実行された場合 Employee と Address テーブルにデータの挿入を可能にするためのトリガーを定義する 42 CREATE VIEW vwemployeeinfo AS SELECT e.lastname,e.firstname,e.birthdate,a.addressid,a.province,a.city,a.address1,a.address2 FROM dbo.employee e INNER JOIN dbo.address a ON e.addressid = a.addressid CREATE TRIGGER trgvwemployeeinfo ON VwEmployeeInfo INSTEAD OF INSERT AS BEGIN int INSERT INTO dbo.address(province,city,address1,address2) SELECT Province,City,Address1,Address2 FROM INSERTED = SCOPE_IDENTITY() INSERT INTO dbo.employee(lastname,firstname,birthdate,addressid) SELECT LastName,FirstName,BirthDate,@AddressID FROM INSERTED END

43 コースの概要 第1章 データベース オブジェクトの作成 T-SQL を使用したテーブルの作成と変更 ビューの作成と変更 DML トリガーの作成と変更 第2章 データの取得と変更 SELECT ステートメントによる基本的なクエリ 集計クエリと順位付け XML データへのクエリ DML ステートメントによるデータの変更 第3章 関数とストアド プロシージャ 関数 ストアド プロシージャ 第4章 クエリのトラブル シューティングと最適化 クエリの最適化 トランザクション管理 エラー処理 43

44 章の構成 SELECT ステートメントによる基本的なクエリ 集計クエリと順位付け XML データへのクエリ DMLステートメントによるデータの変更 44

45 SELECT ステートメント 基本構文 SELECT 選択リスト [ INTO 新しいテーブル名 ] FROM <スキーマ名>.<テーブル名> [ WHERE 検索条件 ] [ ORDER BY 並べ替えで使用する列名 [ ASC DESC ] ] テーブルの結合 (ANSI 89) 内部結合のみ SELECT 選択リスト FROM <スキーマ名>.<テーブル名>, <スキーマ名>.<テーブル名> WHERE 結合条件 テーブルの結合 (ANSI 92) SELECT 選択リスト FROM <スキーマ名>.<テーブル名> JOIN <スキーマ名>.<テーブル名> ON 結合条件 45

46 テーブルの結合 社員と部門テーブルの定義内容 各テーブルに格納されたデータ 46

47 内部結合 内部結合 SELECT d.departmentname,e.employeename FROM dbo.department d INNER JOIN dbo.employee e ON d.departmentid = e.departmentid 結果セット 47

48 外部結合 左外部結合 SELECT d.departmentname,e.employeename FROM dbo.department d LEFT OUTER JOIN dbo.employee e ON d.departmentid = e.departmentid 結果セット 右外部結合 SELECT d.departmentname,e.employeename FROM dbo.department d RIGHT OUTER JOIN dbo.employee e ON d.departmentid = e.departmentid 結果セット 48

49 外部結合 完全外部結合 SELECT d.departmentname,e.employeename FROM dbo.department d FULL OUTER JOIN dbo.employee e ON d.departmentid = e.departmentid 結果セット 49

50 クロス結合 クロス結合 SELECT d.departmentname,e.employeename FROM dbo.department d CROSS JOIN dbo.employee e 結果セット 50

51 Q8 テーブルの結合 問 次の要件を満たす SELECT ステートメントを記述する 顧客が購買した日を確認するため Customers テーブルの Name 列とOrders テーブ ルの OrderDate 列を表示する 何も購買していない顧客の情報も表示する 次の SELECT ステートメントを実行する SELECT c.name,o.orderdate FROM Customers AS c LEFT OUTER JOIN Orders AS o ON c.customerid = o.customerid 51

52 サブ クエリの記述 SELECT INSERT UPDATE および DELETE ステートメントの内部 または別のサブクエリの内部で入れ子になっているクエリ 別のクエリの結果セットに依存するクエリ 式が使えるところであればどこにでも記述できる SOME ANY サブ クエリが返すスカラー値のいずれかの値と比較 比較演算子の条件が一つでも True になる場合 True を返す 条件がすべて False になる場合 False を返す ALL サブ クエリが返すスカラー値のすべての値と比較 比較演算子の条件がすべて True になる場合 True を返す 条件が一つでも False になる場合 False を返す 52

53 SOME ANY ALL IN 演算子 テーブルに格納されているデータ 比較演算子の条件が一つでも True になる場合 True を返す (<> ANY と同等) -- 社員の Tanaka が所属していない部署 SELECT * FROM dbo.department WHERE DepartmentID <> SOME (SELECT DepartmentID FROM dbo.employee WHERE EmployeeName = 'Tanaka') 比較演算子の条件がすべて True になる場合 True を返す (NOT IN と同等) -- 社員が誰も所属していない部署 SELECT * FROM dbo.department WHERE DepartmentID <> ALL (SELECT DepartmentID FROM dbo.employee) 53

54 Q9 SOME ANY ALL IN 演算子 問 営業担当がいない地域に住む顧客の一覧を表示する A. SELECT CustomerID,Name,CityID FROM Sales.Customers WHERE CityID < > SOME (SELECT CityID FROM Sales.Salesperson) B. SELECT CustomerID,Name,CityID FROM Sales.Customers WHERE CityID < > ALL (SELECT CityID FROM Sales.Salesperson) C. SELECT CustomerID,Name,CityID FROM Sales.Customers WHERE CityID < > ANY (SELECT CityID FROM Sales.Salesperson) D. SELECT CustomerID,Name,CityID FROM Sales.Customers WHERE CityID NOT IN (SELECT CityID FROM Sales.Salesperson) 54

55 共通テーブル式 (CTE) ANSI-99 SQL 規格に準拠した一時的な名前付き結果セット 派生テーブルの改良 一度だけ評価されステートメントが完了するまで保持される 複数回の参照 自己参照が可能 WITH 句で開始 WITH <CTE 名> AS (<SELECT ステートメント>) <DML ステートメント> 名前 AS に続き丸括弧内に表現式 複数の CTE を記述する場合 カンマで区切る 結果セットを返す SELECT ステートメントが続く Sales_CTE という名前 の CTE の定義 CTE のデータを取得する SELECT CTE を参照する SELECT 55 WITH Sales_CTE (SalesPersonID, SalesOrderID, SalesYear) AS ( SELECT SalesPersonID, SalesOrderID, YEAR(OrderDate) AS SalesYear FROM Sales.SalesOrderHeader WHERE SalesPersonID IS NOT NULL) SELECT SalesPersonID, COUNT(SalesOrderID) AS TotalSales, SalesYear FROM Sales_CTE GROUP BY SalesYear, SalesPersonID ORDER BY SalesPersonID, SalesYear GO

56 Q10 共通テーブル式 (CTE) 問 次の要件を満たす CTE を使用した SELECT ステートメントを記述する 最後に商品を購入してから 2 年間 商品を購入していない顧客名と最新の購入日を表 示する 次の SELECT ステートメントを実行する WITH CTE (CustomerID, MostResentOrderDate) AS ( SELECT CustomerID, MAX(OrderDate) AS MostResentOrderDate FROM dbo.ordersummary GROUP BY CustomerID ) SELECT ci.customername,mostresentorderdate FROM CTE INNER JOIN dbo.customerinfo ci ON CTE.CustomerID = ci.customerid WHERE cte.mostresentorderdate < DATEADD(YEAR, -2, GETDATE() ) 56

57 Q11 共通テーブル式 (CTE) 問 次の要件を満たす CTE を使用した DELETE ステートメントを記述する Products テーブルの Name 列に重複した値がある場合 削除する UpdatedDate 列の値が古い方を削除する 次の DELETE ステートメントを実行する WITH CTEDupRecords AS ( SELECT MAX(UpdatedDate) AS UpdatedDate, Name FROM Products GROUP BY Name HAVING COUNT(*) > 1 ) DELETE p FROM Products AS p JOIN CTEDupRecords AS cte ON cte.name = p.name AND cte.updateddate > p.updateddate 57

58 章の構成 SELECT ステートメントによる基本的なクエリ 集計クエリと順位付け XML データへのクエリ DMLステートメントによるデータの変更 58

59 集計クエリの SELECT ステートメント 基本構文 SELECT 選択リスト FROM スキーマ名. テーブル名 [ WHERE 検索条件 ] [ GROUP BY グループ化する列名 ] [ HAVING 検索条件 ] [ ORDER BY 並べ替えで使用する列名 [ ASC DESC ] ] 集計関数 集計関数 説明 AVG 値の平均値 COUNT 値の数 COUNT(*) 行の数 MAX 最大値 MIN 最小値 SUM 値の合計値 集計クエリの例 SELECT ProductID, SUM (LineTotal) AS TotalSalesAmount FROM Sales.SalesOrderDetail GROUP BY ProductID ORDER BY ProductID 59

60 Q12 集計クエリ 問 次の集計クエリを記述しましたが 実行するとエラーになる SELECT SalesOrderID,ProductID,AVG (OrderQty),SUM (UnitPrice),MAX (UnitPriceDiscount) FROM Sales.SalesOrderDetail この集計クエリを次の要件を満たすようにして完成する SELECT と FROM 句は上記クエリを利用する SalesOrderID ごとに降順に並び替えて ProductID ごとに集計する ProductID は昇順に表示する SELECT SalesOrderID,ProductID,AVG (OrderQty),SUM (UnitPrice),MAX (UnitPriceDiscount) FROM Sales.SalesOrderDetail GROUP BY SalesOrderID,ProductID ORDER BY SalesOrderID DESC,ProductID ASC 60

61 Q13 集計クエリ 問 次の要件を満たす集計クエリを記述する 結果セットには顧客の名前 注文日の順序で表示する 注文日は顧客ごとに最新の日付のみを表示し 列名を MostResentOrderDate とする 注文日を降順に並び替えて表示する ANSI 92 以降の構文に準拠する 次の SELECT ステートメントを実行する SELECT C.Name, MAX(O.OrderDate) AS MostRecentOrderDate FROM Customers AS C INNER JOIN Orders AS O ON C.CustomerID = O.CustomerID GROUP BY C.Name ORDER BY MostRecentOrderDate DESC 61

62 ROLLUP CUBE GROUPING SETS ROLLUP 単純な GROUP BY 集計行と小計行 および総計行を生成 SELECT CustomerID, ProductID, SUM([Total Amount] AS Total FROM dbo.v_ordersummary GROUP BY ROLLUP (CustomerID, ProductID) CUBE ROLLUP 集計行とクロス集計行を生成 SELECT CustomerID, ProductID, SUM([Total Amount] AS Total FROM dbo.v_ordersummary GROUP BY CUBE (CustomerID, ProductID) GROUPING SETS 指定したグループの集計のみを生成する 62 SELECT CustomerID, ProductID, SUM([Total Amount] AS Total FROM dbo.v_ordersummary GROUP BY GROUPING SETS ((CustomerID, (ProductID), (ProductID), ())

63 順位付け関数 順位付けの対象となる行セットのパーティション分割と並べ替え方法を指定 順位付け関数 説明 ROW_NUMBER() 順序番号を生成 RANK() 対象行より 1 つ前の行数に 1 を加算した値 (同じ順位の行には同じ順位番号が付けられ 番号が飛ぶ) DENSE_RANK() 対象行より 1 つ前の行の順位数に 1 を加算した値 NTILE() 対象の結果セットを指定された数で分割 構文 SELECT <選択リスト>,<順位付け関数>RANK() OVER (ODER BY <列名> [ ASC DESC ] ) AS <別名> FROM <スキーマ名>.<テーブル名> ORDER BY <スキーマ名>. <列名> [ ASC DESC ] 63

64 順位付け関数 サンプル クエリ SELECT CustomerID,[Total Amount],ROW_NUMBER()OVER(ORDER BY [Total Amount] DESC) AS Order_ROW_NUMBER,RANK() OVER(ORDER BY [Total Amount] DESC) AS Order_Rank,DENSE_RANK() OVER(ORDER BY [Total Amount] DESC) AS Order_Dense_Rank,NTILE(100) OVER(ORDER BY [Total Amount] DESC) AS Ntile_100 FROM dbo.ordersummary2 ORDER BY [Total Amount] DESC 結果セット 64

65 Q14 順位付け関数 問 次の要件を満たす順位付け関数を使用したクエリを記述する ProductCatalog テーブルの列を参照し 製品リストを作成する テーブルに定義された列の順序ですべての列の値を表示し 最後の列に RriceRank という名前の 列を追加し SalesPrice 列の値で行の順位付けをする SalesPrice の値を降順で表示する 複数の製品で SalesPrice 列の値が同じ場合 同じ順序を付けて番号を飛ばす 次の SELECT ステートメントを実行する SELECT ProductCatalog.ProductID,ProductCatalog.Name,ProductCatalog.RetailPrice,ProductCatalog.SalesPrice,RANK() OVER (ORDER BY ProductCatalog.SalesPrice DESC) AS PriceRank FROM Sales.ProductCatalog ORDER BY ProductCatalog.SalesPrice DESC 65

66 Q15 順位付け関数 科目ごとに最高得点の生徒を得点と一緒に表示する A. SELECT StudentID, Name, RANK() OVER (ORDER BY AVG (Score) DESC) AS Value FROM dbo.studentscore GROUP BY StudentID, Name ORDER BY Value B. SELECT StudentID, Name, DENSE_RANK() OVER (ORDER BY AVG (Score) DESC) AS Value FROM dbo.studentscore GROUP BY StudentID, Name ORDER BY Value C. SELECT StudentID, Name, NTILE(3) OVER (ORDER BY AVG (Score) DESC) AS Value FROM dbo.studentscore GROUP BY StudentID, Name ORDER BY Value D. SELECT Subject, StudentID, Score AS Value FROM (SELECT Subject, StudentID, Score AS Score, RANK () OVER (PARTITION BY Subject ORDER BY Score ASC) AS Rank FROM dbo.studentscore) tmp WHERE Rank = 1 E. SELECT Subject, StudentID, Score AS Value FROM (SELECT Subject, StudentID, Score AS Score, RANK () OVER (PARTITION BY Subject ORDER BY Score DESC) AS Rank FROM dbo.studentscore) tmp WHERE Rank = 1 F. SELECT StudentID, Name, Score AS Value FROM (SELECT StudentID, Name, Score AS Score, RANK () OVER (PARTITION BY StudentID ORDER BY Score ASC) AS Rank FROM dbo.studentscore) tmp WHERE Rank = 1 G. SELECT StudentID, Name, Score AS Value FROM (SELECT StudentID, Name, Score AS Score, RANK () OVER (PARTITION BY StudentID ORDER BY Score DESC) AS Rank FROM dbo.studentscore) tmp WHERE Rank = 1 66

67 LAG 関数と LEAD 関数 LAG 関数 自己結合を使用せずに同じ結果セットの前の行からデータにアクセス SELECT YEAR(QuotaDate) AS SalesYear, SalesQuota AS CurrentQuota, LAG(SalesQuota, 1,0) OVER (ORDER BY YEAR(QuotaDate)) AS PreviousQuota FROM Sales.SalesPersonQuotaHistory WHERE BusinessEntityID = 275 and YEAR(QuotaDate) IN ('2005','2006') LEAD 関数 自己結合を使用せずに同じ結果セットの後続の行からデータにアクセス SELECT YEAR(QuotaDate) AS SalesYear, SalesQuota AS CurrentQuota, LEAD(SalesQuota, 1,0) OVER (ORDER BY YEAR(QuotaDate)) AS PreviousQuota FROM Sales.SalesPersonQuotaHistory WHERE BusinessEntityID = 275 and YEAR(QuotaDate) IN ('2005','2006') 67

68 UNION と UNION ALL UNION 演算子 結果セットを結合する 複数のステートメントの選択リスト内の式 (列名 算術式 集計関数など) の数は すべて同じにする 重複する行は削除される 重複する行を削除したくない場合 UNION ALL を記述する SELECT COUNT (*) AS NumberOf Sales,SUM (SalesAmount) AS TotalSalesAmount FROM DomesticSalesOrders UNION ALL SELECT COUNT (*) AS NumberOfSales,SUM (SalesAmount) AS TotalSalesAmount FROM InternationalSalesOrders 68

69 章の構成 SELECT ステートメントによる基本的なクエリ 集計クエリと順位付け XML データへのクエリ DMLステートメントによるデータの変更 69

70 XML クエリ SQL クエリを XML データに変換 FOR XML モード 70 FOR XML モード XML の構造 RAW 行セットを汎用識別子 <row> を持つ XML に変換 属性(既定) または要素 (ELEMENTS ディレクティブを記述) に展開 AUTO 行セットを XML に変換 複数テーブルの親子関係を階層に反映 属性(既定) または要素 (ELEMENTS ディレクティブを記述) に展開 PATH XML 構造の厳密な制御が可能 列の別名に XPath 式を記述し要素と属性の展開パターン および階層構造 を制御する(要素 (既定) または属性(AS 句で XPath 式を記述) に展開)

71 Q16 XML クエリ 適切な FOR XML モードを指定する SELECT OrderID,OrderDate,SalesAmount,Name,City FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID WHERE Customers.CustomerID = 1 FOR XML RAW <row OrderID="1" OrderDate=" " SalesAmount=" " Name="Tanaka" City="Chiba" /> <row OrderID="6" OrderDate=" " SalesAmount=" " Name="Tanaka" City="Chiba" /> 71

72 Q17 XML クエリ 適切な FOR XML モードを指定する SELECT OrderID,OrderDate,SalesAmount,Name,City FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID WHERE Customers.CustomerID = 1 FOR XML AUTO <Orders OrderID="1" OrderDate=" " SalesAmount=" "> <Customers Name="Tanaka" City="Chiba" /> </Orders> <Orders OrderID="6" OrderDate=" " SalesAmount=" "> <Customers Name="Tanaka" City="Chiba" /> </Orders> 72

73 Q18 XML クエリ 適切な FOR XML モードを指定する SELECT OrderID,OrderDate,SalesAmount,Name,City FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID WHERE Customers.CustomerID = 1 FOR XML AUTO,ELEMENTS 73 <Orders> <OrderID>1</OrderID> <OrderDate> </OrderDate> <SalesAmount> </SalesAmount> <Customers> <Name>Tanaka</Name> <City>Chiba</City> </Customers> </Orders>

74 Q19 XML クエリ 適切な FOR XML モードを指定する SELECT 属性として展開 Name AS AS 属性として展開,OrderID,OrderDate,SalesAmount FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID WHERE Customers.CustomerID = 1 FOR XML PATH ('Customers') 74 <Customers Name="Tanaka" City="Chiba"> <OrderID>1</OrderID> <OrderDate> </OrderDate> <SalesAmount> </SalesAmount> </Customers> <Customers Name="Tanaka" City="Chiba"> <OrderID>6</OrderID> <OrderDate> </OrderDate> <SalesAmount> </SalesAmount> </Customers>

75 章の構成 SELECT ステートメントによる基本的なクエリ 集計クエリと順位付け XML データへのクエリ DML ステートメントによるデータの変更 75

76 OUTPUT 句を使用したデータの更新 OUTPUT INTO 句 更新されたデータのアーカイブや検証で使用 UPDATE ステートメントで影響を受ける行の情報を INSERTED および DELETED テーブルの値として返す INTO に指定したテーブル またはテーブル型変数にデータを挿入 価格変更の情報を格納する例 UPDATE Production.Product SET ListPrice = ListPrice * 1.05 OUTPUT INSERTED.ProductID,DELETED.ListPrice,INSERTED.ListPrice INTO Production.ProductListPrice_Log (ProductID, OldPrice, NewPrice) GO 76

77 バイナリ ラージ オブジェクト (BLOB) の更新 BLOB データ型 varchar(max) nvarchar(max) varbinary(max) 8000 バイト以上のデータを格納 varbinary(max) には文書ファイル 画像 動画などを格納できる Windows API からもアクセスする場合は FILESTREAM 属性を指定 データの更新方法 UPDATE ステートメントに列に対する WRITE メソッドを記述 WRITE メソッドの構文 <列名>.WRITE サンプル コード 77 table ( SummaryBefore nvarchar(max), SummaryAfter nvarchar(max)) GO UPDATE Production.Document SET DocumentSummary.WRITE (N'features',28,10) OUTPUT DELETED.DocumentSummary, INSERTED.DocumentSummary WHERE Title = N'Front Reflector Bracket Installation' GO SELECT SummaryBefore, SummaryAfter

78 MERGE ステートメント ANSI SQL 2006 準拠 データソースを対象のテーブル またはビューと結合し その結合結果に基づい て複数の操作を実行 単一ステートメントで INSERT UPDATE および DELETE 操作を実行できる 複数の行セット入力に使用 MERGE <対象テーブル> USING <ソース テーブル> ON <結合条件> WHEN MATCHED THEN UPDATE SET <対象テーブル>.<列名> = <ソース テーブル>.<列名> WHEN MATCHED AND <式> THEN DELETE WHEN NOT MATCHED BY TARGET THEN INSERT VALUES( ) 78

79 Q20 MERGE ステートメント 問 TerritoryInfo テーブルのデータをメンテナンスするストアドプロシージャ を完成させる TerritoryCode が存在する場合は更新する TerritoryCode が存在しない場合は挿入する CREATE PROCEDURE nvarchar(10) AS BEGIN SET NOCOUNT ON MERGE dbo.territoryinfo AS target @Country) AS source (TerritoryCode, TerritoryName, Country) ON (target.territorycode = source.territorycode) WHEN MATCHED THEN UPDATE SET target.territoryname = source.territoryname, target.country = source.country WHEN NOT MATCHED BY TARGET THEN INSERT(TerritoryCode, TerritoryName, Country) VALUES(source.TerritoryCode, source.territoryname, source.country); END 79

80 コースの概要 第1章 データベース オブジェクトの作成 T-SQL を使用したテーブルの作成と変更 ビューの作成と変更 DML トリガーの作成と変更 第2章 データの取得と変更 SELECT ステートメントによる基本的なクエリ 集計クエリと順位付け XML データへのクエリ DML ステートメントによるデータの変更 第3章 関数とストアド プロシージャ 関数 ストアド プロシージャ 第4章 クエリのトラブル シューティングと最適化 クエリの最適化 トランザクション管理 エラー処理 80

81 章の構成 関数の使用 関数の作成 ストアド プロシージャの作成と変更 81

82 CONVERT() 関数 値を指定されたデータ型に変換する 基本構文 CONVERT ( <データ型>, <値> ) 使用例 CREATE PROCEDURE varchar(20) AS SELECT Orders.OrderID FROM Orders WHERE Orders.OrderDate > CONVERT(datetime,@Parameter1) SELECT COUNT(*) FROM Purchases WHERE PurchaseTime >= CONVERT(date, GETDATE()) AND PurchaseTime < DATEADD(day, 1, CONVERT(date, GETDATE())) 82

83 TRY_PARSE() 関数 値を指定されたデータ型に変換する 変換に失敗する場合 NULL を返す 基本構文 TRY_PARSE (<値> AS <データ型> ) 使用例 varchar(max) = ' ' SELECT IIF(TRY_PARSE(@var AS decimal(10,3)) IS NULL, 'True', 'False' ) AS Result 83

84 FORMAT() 関数 形式とオプションのカルチャを指定し 書式設定された値を返す 基本構文 FORMAT (<値>, <形式> [, <カルチャ>] ) 使用例 SELECT FORMAT(GETDATE(), 'yyyy-mm-dd', 'ja-jp') カルチャ情報に基づく各国対応した形式への変換が可能 84

85 EOMONTH 関数 オプションのオフセットを使用し 指定された日付の月の最終日を返す 基本構文 EOMONTH ( <日付> [, <月数>] ) 使用例 DATETIME = GETDATE() SELECT EOMONTH ) AS '当月末日' SELECT EOMONTH 1 ) AS '来月末日' SELECT EOMONTH -1 ) AS '先月末日' 85

86 章の構成 関数の使用 関数の作成 ストアド プロシージャの作成と変更 86

87 関数を使用するシナリオ SELECT などの Transact-SQL ステートメント内で使用する 関数を呼び出すアプリケーション内で使用する 別のユーザー定義関数の定義内で使用する ビューをパラメータ化したり インデックス付きビューの機能を向上さ せる テーブルの計算列を定義する 他のテーブルを参照するような場合 列の CHECK 制約を定義する 87

88 関数の種類 スカラー値関数 単一値を返す 式を記述できる箇所で使用 テーブル値関数 結果セットを返す FROM 句に使用 パラメータを持つビューに似ている 88

89 関数定義の基本構文 インライン関数 単一の SELECT ステートメントの結果を返す CREATE FUNCTION スキーマ名.関数名 データ型, ) RETURNS データ型 [WITH オプション] AS RETURN( SELECT 列名1,列名2, FROM スキーマ名.テーブル名 WHERE 行の検索条件) 複数ステートメント関数 BEGIN END ブロック構造 CREATE FUNCTION スキーマ名.関数名 (@パラメータ名1 データ型, ) RETURNS データ型 [WITH オプション] AS BEGIN RETURN END 89

90 スカラー値関数の例 RETURNS 句で戻り値のデータ型を指定 CREATE FUNCTION dbo.leapyearcheck datetime) RETURNS int AS BEGIN int bit = YEAR(@Date) IF((@Year % 4 = 0 % 100!= 0) % 400 = 0) = 1 ELSE = 0 RETURN (@LeapYear) END 同じデータ型のスカラー式が許容される任意の場所で呼び出せる SELECT FirstName,LastName,year(BirthDate) AS BirthYear,dbo.LeapYearCheck(BirthDate) AS LeapYear FROM HumanResources.Employee 90

91 テーブル値関数の例 RETURNS に table データ型を指定 関数の内容は 単一の SELECT ステートメント 返されるデータ構造はクエリ定義によって決まる 依存するテーブルの構造を変更させたくない場合 WITH 句に SHEMABINDING を記述 CREATE FUNCTION dbo.getstockqty int) RETURNS table WITH SCHEMABINDING AS RETURN( SELECT l.name,pi.bin,pi.shelf,pi.quantity FROM Production.ProductInventory pi INNER JOIN Production.Location l ON pi.locationid = l.locationid WHERE ProductID ) FROM 句に記述して呼び出す SELECT * FROM dbo.getstockqty(2) 91

92 テーブル値関数の結合 CROSS APPLY を使用したテーブル値関数の結果との結合 外部テーブルを左入力 テーブル値関数は右入力とする SELECT cp.plan_handle,object_name(qp.objectid) AS 'object_name',qp.query_plan,cp.objtype FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle) qp WHERE cp.objtype ='Proc' 外部結合の場合は OUTER APPLY を記述 92

93 章の構成 関数の使用 関数の作成 ストアド プロシージャの作成と変更 93

94 ストアド プロシージャとは? Transact-SQL ステートメント または Microsoft.NET Framework コードのコレクションに名前を付けたもの EXECUTE ステートメントで実行 入力パラメータを受け入れ 出力パラメータ値を返す 成功または失敗を示すステータス値を返す ストアド プロシージャの種類 システム ストアド プロシージャ 拡張システム ストアド プロシージャ ユーザー定義の Transact-SQL ストアド プロシージャ ユーザー定義の SQLCLR ストアド プロシージャ 関数との違い エラー ハンドリングが可能 DDL ステートメントが記述できる EXECUTE で呼び出すため クエリやビューの中には記述できない 94

95 ストアド プロシージャの定義 ストアド プロシージャの構文 CREATE PROCEDURE プロシージャ名 入力パラメーター1 データ型 [= 既定値 入力パラメーター2 データ型 [= 既定値 出力パラメーター1 データ型 出力パラメーター2 データ型 OUTPUT], WITH オプション AS SQLステートメント 主要なオプション ENCRYPTION CREATE PROCEDURE ステートメントの元のテキストを 暗号化した形式に変換 することを EXECUTE AS プロシージャを実行するコンテキストの指定 RECOMPILE プロシージャのプランをキャッシュしない 95

96 EXECUTE AS による実行コンテキスト制御 所有者が異なるオブジェクトの場合 EXECUTE AS で所有者に偽装できる 鈴木さんが所有する ストアドプロシージャ (EXECUTE AS 佐藤 ) 山本さん 佐藤さんが所有する テーブル 山本さんの EXECUTE 権限が チェックされる 佐藤さんの SELECT 権限が チェックされる EXECUTE AS に設定できる引数 96 引数 説明 CALLER モジュール内のステートメントは モジュールを実行しているユーザー本人のコンテキストで 動作するため モジュールを実行したユーザーは そのモジュールが参照するすべてのデータ ベース オブジェクトに対して適切な権限が付与されている必要がある OWNER モジュール内のステートメントを モジュールの所有者のコンテキストで実行する 所有者が 指定されていないモジュールについては そのモジュールのスキーマの所有者のコンテキスト が使用される この引数は DDLトリガーまたはログオントリガでは指定できない データベースユーザー名 指定したデータベースユーザーのコンテキストで実行する サーバースコープの DDL トリ ガー またはログオントリガーには指定できない ログイン名 指定したログインのコンテキストで実行する サーバースコープの DDL トリガーまたはログ オン トリガーにのみ指定できる

97 ストアド プロシージャ定義と実行 プロシージャの定義 出力パラメーターの指定 OUTPUT 句を指定すると呼び出し元に値が返る 戻り値の指定 RETURN 句を指定すると呼び出し元に int 型の値が返る CREATE PROCEDURE money OUTPUT AS SET NOCOUNT ON = SalesPrice FROM dbo.products WHERE ProductID RETURN プロシージャの実行 97 出力パラメーターの指定 OUTPUT 句を指定した変数に値が渡る money int = dbo.usp_getproductinfo 771,@Price OUTPUT PRINT N'Return Code = ' + CAST(@RC AS nvarchar(8)) + N' Price = ' + CAST(@Price AS nvarchar(8))

98 ストアド プロシージャ実行時の情報取得 直前に実行したステートメントの整数値のエラー番号を返す 次のステートメントの実行前に変数に退避しないと上書きされる 直前に実行したステートメントに影響を受けた行数を返す 次のステートメントの実行前に変数に退避しないと上書きされる int int EXECUTE usp_deleteproducts = IF (@Error <> 0) PRINT N'ERROR = ' + CAST(@Error AS nvarchar(8)) + CAST(@Rowcount AS nvarchar(8)) + N' Rows Deleted!' 98

99 カーソルを使用した呼び出しの例 結果セットの値によりプロシージャを実行したい場合などに使用する int DECLARE contact_cursor CURSOR FOR SELECT EmployeeID FROM dbo.employee OPEN contact_cursor FETCH NEXT FROM contact_cursor WHILE = 0 BEGIN EXECUTE FETCH NEXT FROM contact_cursor END CLOSE contact_cursor DEALLOCATE contact_cursor GO 99

100 Q21 ストアド プロシージャの作成 問 次の要件を満たすストアド という名前のひとつの int 型のパラメーターを使用する usp_getproductinfoという名前 のストアド プロシージャを作成する パラメーターで指定された値の行数のみを返す SalesPrice の値を降順で表示する 定義内容を暗号化する 次の CREATE PROCEDURE ステートメントを実行する CREATE PROCEDURE int WITH ENCRYPTION AS SELECT Products.Name,Products.SalesPrice FROM dbo.products ORDER BY Products.SalesPrice DESC 100

101 コースの概要 第1章 データベース オブジェクトの作成 T-SQL を使用したテーブルの作成と変更 ビューの作成と変更 DML トリガーの作成と変更 第2章 データの取得と変更 SELECT ステートメントによる基本的なクエリ 集計クエリと順位付け XML データへのクエリ DML ステートメントによるデータの変更 第3章 関数とストアド プロシージャ 関数 ストアド プロシージャ 第4章 クエリのトラブル シューティングと最適化 クエリの最適化 トランザクション管理 エラー処理 101

102 章の構成 クエリの最適化 トランザクション管理 エラー処理 102

103 実行プラン クエリ エンジンが生成するクエリ プランとユーザー コンテキスト クエリ プラン ユーザー コンテキストを含まない再入可能な読み取り専用のデータ構造体 実行コンテキスト 検索条件の値やパラメータ値など実行に固有のデータ 103

104 クエリ プラン生成のフロー クエリ エンジン 新しいステートメント 言語処理 実行プランを発見 コンパイル済みプラン を発見 プロシージャ キャッシュ の検索 プランが発見できない クエリ オプティマイザ クエリ実行 解析 自動パラメータ化 ビルド ビューの展開 インデックス 統計情報 クエリの最適化 インデックスと統計情報を参照 実行プランを生成 メモリ割当ての許可 と並列プラン化 実行 プランをキャッシュに格納 104

105 実行プランの表示と制御 ステートメント解析時に推定のグラフィカル プランを表示 SET SHOWPLAN_XML ON GO ステートメント解析時に推定のテキスト プランを表示 SET SHOWPLAN_ALL ON GO ステートメント実行時に実際に使用したグラフィカル プランを表示 SET STATISTICS XML ON GO ステートメント実行時に実際に使用したテキスト プランを表示 SET STATISTICS PROFILE ON GO グラフィカル プランは クエリ実行に不足するインデックスが見つかると推奨 されるインデックスを提案する機能も含む 105

106 クエリの最適化 アドホック クエリの最適化 optimize for ad hoc workloads サーバー構成オプション 毎回 動的に作成される再利用性が低いアドホック クエリのプランでプ ロシージャ キャッシュがいっぱいにならないように指定できる EXECUTE sys.sp_configure N'optimize for ad hoc workloads', N'1' GO RECONFIGURE WITH OVERRIDE GO 106

107 統計情報の表示 統計のプロパティ 107

108 手動による統計情報の作成と更新 統計情報の作成 CREATE STATISTICS テーブル サイズが大きい場合 サンプリングにより統計情報を生成できる CREATE STATISTICS <統計情報名> ON { <テーブル名> <ビュー名> } ( <列名> [,...n ] ) [ WHERE <フィルター述部> ] [ WITH [ [ FULLSCAN SAMPLE <数値> { PERCENT ROWS }[, ] ] [ NORECOMPUTE ] ] 統計情報の手動更新 統計情報の行数見積もりと実際の行数が異なるような場合 実行する 更新のためのステートメント UPDATE STATISTICS sp_updatestats 108

109 章の構成 クエリの最適化 トランザクション管理 エラー処理 109

110 トランザクションとは 論理的な 1 つの作業単位として実行される一連の操作 トランザクション処理に要求される ACID プロパティ 110 ACID プロパティ 説明 原子性 (Atomicity) トランザクションは分離できない 1 つの作業単位 トランザクション内のデータ変更は すべて実行されるか まっ たく実行されないかのどちらかでなければならない 一貫性 (Consistency) トランザクション完了時 すべてのデータが一貫した状態になけ ればならない 分離性 (Isolation ) 同時実行トランザクションからの変更は 他のトランザクション によって行われる変更から独立している 持続性 (Durability ) トランザクション中にインスタンス停止が発生しても完了したト ランザクションによる変更結果は持続されなければならない

111 トランザクションの記述 暗黙的なトランザクション 明示的なトランザクション SET IMPLICIT_TRANSACTIONS ON で開始 トランザクションは自動的に開始され 終了または取り消しを記述 ANSI-92 標準 Oracle の既定モード SET IMPLICIT_TRANSACTIONS ON 処理1 トランザクション 明示的にトランザクションの開始 終了 取り消しを記述 明示的に開始しない場合ステートメント 実行時に一文ずつ確定する(自動コミット モード) SQL Server の既定モード BEGIN TRAN TRN1 処理1 処理2 処理2 COMMIT COMMIT TRAN TR1 処理3 ROLLBACK トランザクション トランザクション BEGIN TRAN TRN2 処理3 トランザクション ROLLBACK TRAN TR2 111

112 XACT_ABORT ステートメント実行時にエラーが発生した場合 トランザクション全体 を確実にロールバックさせる場合 XACT_ABORT を ON に設定する 例文 SET XACT_ABORT ON GO XACT_ABORT が OFF の場合 エラーの重大度レベルにより エラー が発生したステートメントのみが ロールバックされ トランザクショ ン処理は継続される場合がある 112

113 既定のトランザクション分離レベルでのロック動作 基本的なロック モード ロックモードの種類 説明 共有 (Shared:S) SELECT ステートメントなどデータ変更を伴わない読み取り操作で使用 更新 (Update:U) INSERT UPDATE DELETE ステートメントによるデータ変更を前提とした読み取り操作で使用 排他 (exclusive:x) INSERT UPDATE DELETE ステートメントによるデータ変更で使用 基本的なロックの互換性 要求されたモード 既に許可されているモード IS S U IX X インテント共有 (IS) 共有 (S) 更新 (U) インテント排他 (IX) 排他 (X) トランザクション分離レベルで制御可能 113

114 ロック ヒント オプション DML 文で指定 既定は行ロック INSERT ステートメントを テーブル ロックを使用して実行する例 INSERT INTO dbo.orderhistorical WITH (TABLOCK) SELECT * FROM dbo.ordersummary データベース (S) テーブル (IX) ページ (IX) 行 114 ロック ヒントの種類 ロック ヒント トランザクション分 離レベルの指定 SERIALIZABLE REPEATABLEREAD READCOMMITTED READCOMMITTEDLOCK READUNCOMMITTED NOLOCK ロック粒度の指定 ROWLOCK PAGLOCK TABLOCK TABLOCKX ロック期間の指定 HOLDLOCK ロック モードの指定 UPDLOCK XLOCK (X)

115 トランザクションの同時実行時の問題 複数のユーザーにより開始されるトランザクション間の相互関係 同時に処理しても良いか? もしくは完全な分離が必要か? トランザクション実行時の同時実行時の問題 115 発生する問題 説明 更新データの損失 更新されたデータが上書きされる ダーティ リード 未コミットデータが読み込まれる 反復不可能読み取り 参照の都度 変化するデータ ファントム 現れたり消えたりするレコード

116 トランザクション分離レベルの種類 ロック方式 (ANSI/ISO 標準) READ UNCOMMITED (未コミット読み取り) READ COMMITTED (コミット済み読み取り) データベース エンジンの既定の分離レベル REPEATABLE READ (再読み込み可能読み取り) SERIALIZABLE (直列化) SET ステートメントによりセッション レベルで制御可能 SET TRANSACTION ISOLATION LEVEL <トランザクション分離レベル名> マルチ バージョニング方式 (SQL Server 2005 よりサポート) READ COMMITTED SNAPSHOT SNAPSHOT (スナップショット分離) バージョン管理 更新時間と SELECT ステートメント開始時のトランザクション シーケンス番号(XSN)を使用 して tempdb 上に確実に更新前イメージが残るように管理される tempdb 上のデータは 1 分ごとにチェックされ 参照される可能性がなくなった時点でガベー ジ コレクションによって自動的に削除される 参考 - 参考

117 トランザクション分離レベルと同時実行制御 問題点 ダーティ リード 反復不可能読 み取り ファントム 同時実行制御 分離レベル READ UNCOMMITTED 可 可 可 READ COMMITTED 不可 可 可 REPEATABLE READ 不可 不可 可 SERIALIZABLE 不可 不可 不可 READ COMMITTED SNAPSHOT SNAPSHOT 不可 可 可 物理排他 (悲観的ロック) 物理排他 (悲観的ロック) 物理排他 (悲観的ロック) 物理排他 (悲観的ロック) 論理排他 (楽観的ロック) 不可 不可 不可 117 論理排他 (楽観的ロック)

118 ロック方式 READ COMMITTED (既定) TX1 BEGIN TRANSACTION UPDATE Products SET Price = 263 WHERE ID = 1001 T2 Price COMMIT TRANSACTION T4 Price T5 T6 SELECT ID,Price FROM Products WHERE ID = 1001 更新後データを取得 T7 118 SELECT ID,Price FROM Products WHERE ID = 1001 ブロックされる 更新後データ (確定済み) ID BEGIN TRANSACTION T3 更新後データ (未確定) ID TX2 T1 ID Price COMMIT TRANSACTION

119 ロック方式 REPEATABLE READ SERIALIZABLE TX1 BEGIN TRANSACTION UPDATE Products SET Price = 263 WHERE ID = 1001 T2 Price COMMIT TRANSACTION T4 Price SELECT ID,Price FROM Products WHERE ID = 1001 ブロックされる T5 更新後データ (確定済み) ID BEGIN TRANSACTION T3 更新後データ (未確定) ID TX2 T1 T6 SELECT ID,Price FROM Products WHERE ID = 1001 ブロックされる T7 119 COMMIT TRANSACTION

120 マルチ バージョニング方式 READ COMMITTED SNAPSHOT TX1 BEGIN TRANSACTION T2 UPDATE Products SET Price = 263 WHERE ID = 1001 更新後データ (未確定) TX2 T1 T3 更新前データ ID Price ID Price tempdb COMMIT TRANSACTION T4 Price T5 T6 ID Price SELECT ID,Price FROM Products WHERE ID = 1001 ステートメント実行時点の 確定済みデータを返す 更新後データを取得 T7 120 SELECT ID,Price FROM Products WHERE ID = 1001 更新前データを取得 更新後データ (確定済み) ID BEGIN TRANSACTION ID Price COMMIT TRANSACTION

121 マルチ バージョニング方式 SNAPSHOT TX1 BEGIN TRANSACTION T2 UPDATE Products SET Price = 263 WHERE ID = 1001 更新後データ (未確定) TX2 T1 T3 更新前データ ID Price ID Price tempdb COMMIT TRANSACTION T4 Price SELECT ID,Price FROM Products WHERE ID = 1001 更新前データを取得 T5 更新後データ (確定済み) ID BEGIN TRANSACTION T6 ID Price SELECT ID,Price FROM Products WHERE ID = 1001 トランザクション開始時点 の確定済みデータを返す 更新前データを取得 T7 121 ID Price COMMIT TRANSACTION

122 READ_COMMITTED_SNAPSHOT の設定 ステートメント レベルの読み取り一貫性 SELECT を発行した時点でのデータを読み取ることを保証 更新前データは tempdb に格納 データベースに対して有効化する (既定は無効) ALTER DATABASE データベース名 SET READ_COMMITTED_SNAPSHOT ON 122

123 SNAPSHOT の設定 トランザクション レベルの読み取り一貫性 トランザクション発行時点でのデータ保証 更新前データは tempdb に格納 排他ロックを無視して旧バージョンの読み取りが可能 データベースに対して有効化(既定は無効) ALTER DATABASE データベース名 SET ALLOW_SNAPSHOT_ISOLATION ON SNAPSHOT 分離レベルを使用するセッションで分離レベルを変更 SET TRANSACTION ISOLATION LEVEL SNAPSHOT 123

124 マルチ バージョニング方式の選択肢 読み取りと書き込みの競合を回避 READ COMMITTED SNAPSHOT ステートメント レベルの読み取り一貫性 ステートメント実行時点の確定済みデータを返す SNAPSHOT トランザクション レベルの読み取り一貫性 トランザクション開始時点の確定済みデータを返す READ_COMMITED_SNAPSHOT に比べると tempdb への負荷が高い 124

125 章の構成 クエリの最適化 トランザクション管理 エラー処理 125

126 例外処理の実装 実行コードの記述 BEGIN TRY END TRY ブロック エラー処理の記述 BEGIN CATCH END BEGIN TRANSACTION BEGIN TRY EXEC dbo.usp_updatedata COMMIT TRANSACTION END TRY BEGIN CATCH IF 0 ROLLBACK TRANSACTION END CATCH 126

127 エラー情報の取得 ERROR_ 関数 TRY ブロックで発生した例外のエラー情報を返す CATCH ブロック内で値が不変 127 エラー関数の種類 返される情報 型 ERROR_NUMBER() エラー番号 int ERROR_SEVERITY() 重大度 int ERROR_STATE() エラー状態番号 int ERROR_PROCEDURE() エラーが発生したストアド プロシージャ トリガの名前 nvarchar(126) ERROR_LINE() エラーを発生させたルーチン内の行番号 Int ERROR_MESSAGE() エラーの完全なテキスト メッセージ nvarchar(2048)

128 トランザクションの検査 実行中のトランザクションの数 XACT_STATE() 関数 アクティブなトランザクションの有無 128 戻り値 説明 1 アクティブなユーザー トランザクションが存在して トランザクションのコミットなど 任意の操作を実行できる 0 アクティブなユーザー トランザクションが存在しない -1 アクティブなユーザー トランザクションが存在するが コミットできないトランザ クションとして分類されるエラーが発生した

129 Q22 トランザクションの検査 次の要件を満たすように顧客データを削除するストアドプロシージャを完成する このストアドプロシージャは 他のトランザクションから呼び出される 顧客データの削除に成功した場合 監査ログの記録に失敗してもトランザクションを コミットしたい この要件を見た右ために 14 行目に入力するべきコードは 1: CREATE PROC int 2: AS 3: BEGIN 4: int 5: BEGIN TRANSACTION 6: BEGIN TRY 7: DELETE dbo.customers WHERE Customers.CustomerID 8: 9: INSERT INTO Audit.Log(Operation,ErrorCode,OperationDate) 10: VALUES ('DELETE ' + CONVERT(varchar(10),@CustomerID),@ERROR,SYSDATETIME()) 11: COMMIT TRANSACTION 12: END TRY 13: BEGIN CATCH 14: IF (XACT_STATE()) = 1 15: COMMIT TRANSACTION 16: ELSE 17: ROLLBACK TRANSACTION 18: END CATCH 19: END 129

130 解答集 Answers Q1 (SourceID, CustID) Q12 SalesOrderID,ProductID SalesOrderID DESC,ProductID ASC Q2 FOREIGN KEY (CusomerID) REFERENCES Cusomers (CusomerID) Q13 MostRecentOrderDate DESC Q3 DEFAULT NEWID() WITH VALUES Q14 RANK() OVER (ORDER BY ProductCatalog.SalesPrice DESC) Q NEXT VALUE FOR CLASS_Sequence Q15 E Q5 WITH SCHEMABINDING AS WITH CHECK OPTION Q16 RAW Q6 UNIQUE CLUSTERED INDEX Q17 AUTO Q7 ON VwEmployeeInfo INSTEAD OF INSERT Q18 AUTO,ELEMENTS Q8 LEFT OUTER JOIN Q19 PATH ('Customers') Q9 B D Q20 UPDATE SET target.territoryname = source.territoryname,target.country = source.country INSERT(TerritoryCode, TerritoryName, Country) VALUES(source.TerritoryCode, source.territoryname, source.country); Answers Q10 cte.mostresentorderdate < DATEADD(YEAR, -2, GETDATE() Q21 WITH ENCRYPTION TOP Products.SalesPrice DESC Q11 MAX cte.updateddate > p.updateddate Q22 IF (XACT_STATE()) = 1 130

131 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 131

Exam : J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10

Exam : J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10 PASSEXAM http://www.passexam.jp Exam : 70-461J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10 1. あなたが ContosoDb 付きの Microsoft SQL Server 2012 のデータベースを管理します 展示に示すように テーブルが定義されています ( 図表ボタンをクリックします

More information

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058 1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058 2 Excel 1 SQL 1 SQL Server sp_executesql Oracle SQL

More information

问题集 ITEXAMPASS 1 年で無料進級することに提供する

问题集 ITEXAMPASS   1 年で無料進級することに提供する 问题集 ITEXAMPASS https://www.itexampass.jp 1 年で無料進級することに提供する Exam : 70-762 Title : Developing SQL Databases Version : DEMO 1 / 10 1. ドラッグドロップ注 : この質問は 同じシナリオを使用する一連の質問の一部です あなたの便宜のために シナリオは各質問で繰り返されます 各質問は異なる目標と答えの選択を提示しますが

More information

標準化 補足資料

標準化 補足資料 高度専門データベース技術 SQL99 補足資料 ( 株 ) アイテック情報技術教育研究部 2012 年 2 月 14 日 ( はじめに ) この補足資料は,SQL99(ISO/IEC9075-2,JIS X3005-2) の必須機能 (Core SQL) のうち, SQL92に対し機能拡張が行われた部分で, 高度専門データベース技術 ( 以下, DB 技術 という ) に記載のないものについて記述する

More information

Microsoft PowerPoint - db03-5.ppt

Microsoft PowerPoint - db03-5.ppt データベース言語 SQL リレーショナルデータモデルにおけるデータ操作言語 : リレーショナル代数 少なくともリレーショナル代数と同等のデータ検索能力をもつときリレーショナル完備という. リレーショナル代数はユーザフレンドリではない. 自然な英文による質問の表現が必要になる. リレーショナルデータベース言語 SQL 英文による簡単な構文 リレーショナル代数でできない, 合計, 平均, 最大などの計算機能の組み込み.

More information

Chapter Two

Chapter Two Database 第 8 回 :SQL 言語 ( データベース操作 ) 上智大学理工学部情報理工学科 高岡詠子 No reproduction or republication without written permission. 許可のない転載 再発行を禁止します 1 Schedule 日程 内容 第 1 回 10 月 6 日 ガイダンス, データベースとは? 第 2 回 10 月 13 日 三層スキーマ,

More information

Microsoft認定資格問題集DEMO(70-459_Part2)

Microsoft認定資格問題集DEMO(70-459_Part2) Microsoft 認定資格問題集 受験番号 : 70-459 受験名 : MCITP: Database Administrator 2008 または MCITP: Database Developer 2008 から MCSE: Data Platform への移行 言語 : 日本語 PartⅡ シナリオ問題問題数 :7 シナリオ合計 39 問 テストバリュー (TESTVALUE) はこの日本語版問題集の著作権を所有しています

More information

スライド 1

スライド 1 XML with SQLServer ~let's take fun when you can do it~ Presented by 夏椰 ( 今川美保 ) Agenda( その 1) XML XML XSLT XPath XML Schema XQuery Agenda( その 2) SQLServer における XML XML 型 XML Schema XQuery & XPath チェック制約

More information

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None クイック検索検索 目次 Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 改訂情報概要レコードの追加 / 更新 / 削除レコードの編集レコードを削除するレコードの一括インポートとエクスポート日本語のキャプション表示 2 改訂情報 変更年月日 変更内容 2012-10-01 初版 2013-10-01 第 2 版下記が追加 変更されました 対応するフィールドの型

More information

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版  

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版   Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 改訂情報概要レコードの追加 / 更新 / 削除レコードの編集レコードを削除するレコードの一括インポートとエクスポート日本語のキャプション表示 2 改訂情報 変更年月日 変更内容 2012-10-01 初版 2013-10-01 第 2 版下記が追加 変更されました 対応するフィールドの型 が追加されました

More information

KTest

KTest KTest Exam : 070-459J Title : Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform Version : DEMO 1 / 8 1. あなたは 複数のテーブルからデータにアクセスするためにビューを使用するアプリケーションがある

More information

Microsoft Word - Android_SQLite講座_画面800×1280

Microsoft Word - Android_SQLite講座_画面800×1280 Page 24 11 SQLite の概要 Android にはリレーショナルデータベースである SQLite が標準で掲載されています リレーショナルデータベースは データを表の形で扱うことができるデータベースです リレーショナルデータベースには SQL と呼ばれる言語によって簡単にデータの操作や問い合わせができようになっています SQLite は クライアントサーバ形式ではなく端末の中で処理が完結します

More information

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部 はじめに コース概要と目的 Oracle 独自の手続き型言語である PL/SQL について説明します PL/SQL の基本構文 ストアド サブプログラム トリガーの作成方法 またストアド サブプログラムの管理について習得することを目的としています 受講対象者 これから PL/SQL を使用してアプリケーション開発をされる方 前提条件 SQL トレーニング コースを受講された方 もしくは 同等の知識をお持ちの方

More information

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1 リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1 データベース とは? データ (Data) の基地 (Base) 実世界のデータを管理するいれもの 例えば 電話帳辞書メーラー検索エンジン もデータベースである Copyright 2008 SRA OSS, Inc.

More information

DumpCollection IT Exam Training online / Bootcamp PDF and Testing Engine, study and practice

DumpCollection IT Exam Training online / Bootcamp   PDF and Testing Engine, study and practice DumpCollection IT Exam Training online / Bootcamp http://www.dumpcollection.com PDF and Testing Engine, study and practice Exam : 1z0-144 日本語 (JPN) Title : Oracle Database 11g: Program with PL/SQL Vendor

More information

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作 Access 2007 と SQL Server Express を使用 SQL 文は SQL Server 主体で解説 Access 版ノースウィンドウデータベースを使用 DBMS プログラム サーバーエクスプローラ SQL 文 実行結果 データベース エンジン データベース SQL 文とは 1 度のコマンドで必要なデータを効率よく取得するための技術といえます

More information

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索 eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索する 違うデータに変更する 要らなくなったデータを削除する 各システムごとに障害対策も含めて 正確にこのようなデータ処理のプログラムを作ることは大変なことです

More information

プレポスト【問題】

プレポスト【問題】 1/5 ページ プレポスト データベース基礎 受講日程受講番号氏名 1 データベースの特徴で間違っているものを選びなさい 1. データの一元管理が可能 2. データの重複が少ない 3. プログラムとの関係が1 対 1 4. データの整合性の確保 2 ANSI/SPARC による 3 層スキーマについて正しいものを選びなさい 1. 外部スキーマ : プログラムに必要な部分のデータ構造を定義概念スキーマ

More information

Chapter Two

Chapter Two Database 第 9 回 :SQL 言語 ( データベース操作 : 集合関数 抽出条件 副問い合わせ ) 上智大学理工学部情報理工学科 高岡詠子 No reproduction or republication without written permission. 許可のない転載 再発行を禁止します 2011/12/8 2011 Eiko Takaoka All Rights Reserved.

More information

結合演算 ( 復習 ) データベース論 (9) R 社員番号 氏名麻生太郎安部晋三与謝野馨森喜朗 部門経理課営業課総務課営業課 S 部門経理課営業課総務課 電話 問合せ言語と SQL(2) R S 社員番号

結合演算 ( 復習 ) データベース論 (9) R 社員番号 氏名麻生太郎安部晋三与謝野馨森喜朗 部門経理課営業課総務課営業課 S 部門経理課営業課総務課 電話 問合せ言語と SQL(2) R S 社員番号 結合演算 ( 復習 ) データベース論 (9) R 社員番号 046 064 011 011 氏名麻生太郎安部晋三与謝野馨森喜朗 部門総務課 S 部門総務課 電話 45 4567 問合せ言語と SQL(2) R S 社員番号 046 064 011 011 氏名麻生太郎安部晋三与謝野馨森喜朗 部門総務課 電話 45 4567 DB-9 4 結合演算 結合演算 ( 例題演習 ) R 社員番号 046

More information

1,.,,,., RDBM, SQL. OSS,, SQL,,.

1,.,,,., RDBM, SQL. OSS,, SQL,,. 1,.,,,., RDBM, SQL. OSS,, SQL,,. 3 10 10 OSS RDBMS SQL 11 10.1 OSS RDBMS............................ 11 10.1.1 PostgreSQL................................. 11 10.1.2 MySQL...................................

More information

MSCD Slide Template

MSCD Slide Template セッション ID:T3-2 企業における Windows PC の電力設定 展開方法 日本マイクロソフト株式会社コンサルティングサービス統括本部シニアコンサルタント河野隆志 アジェンダ 5 月 10 日公開 Windows PC 節電策 Windows PC の電力設定展開方法 前提条件想定シナリオ展開方法 まとめ 5 月 10 日公開 Windows PC 節電策 理解する Windows PC

More information

Caché SQL に関するよくある質問

Caché SQL に関するよくある質問 Caché SQL に関するよく ある質問 Version 5.1 2006-03-14 InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com Caché SQL に関するよくある質問 Caché Version 5.1 2006-03-14 Copyright 2006 InterSystems

More information

Microsoft認定資格問題集(70-483_demo)

Microsoft認定資格問題集(70-483_demo) Microsoft 認定資格問題集 受験番号 : 70-483 受験名 : C# でのプログラミング言語 : 日本語問題数 :179 問 テストバリュー (TESTVALUE) はこの日本語版問題集の著作権を所有します 問題集の他人への展開 譲渡 転売 複製 転載等の無断行為は法律上で禁止されています 違反が発覚した場合 法的措置を取らせて頂きますので 予めご了承ください 問題 1 Orderオブジェクトのコレクションがあります

More information

1. 電 子 メール カレンダー 連 絡 先 の 統 合 Outlook は 受 信 箱 の 操 作 方 法 が 一 貫 して いる 点 が 何 も 考 えなくても 自 然 に 操 作 できる と お 客 様 に 好 評 です Gmail では 操 作 性 に 影 響 する 機 能 更 新 が 頻

1. 電 子 メール カレンダー 連 絡 先 の 統 合 Outlook は 受 信 箱 の 操 作 方 法 が 一 貫 して いる 点 が 何 も 考 えなくても 自 然 に 操 作 できる と お 客 様 に 好 評 です Gmail では 操 作 性 に 影 響 する 機 能 更 新 が 頻 1. 電 子 メール カレンダー 連 絡 先 の 統 合 Outlook は 受 信 箱 の 操 作 方 法 が 一 貫 して いる 点 が 何 も 考 えなくても 自 然 に 操 作 できる と お 客 様 に 好 評 です Gmail では 操 作 性 に 影 響 する 機 能 更 新 が 頻 繁 に 行 われているため 新 しい 操 作 方 法 を 頻 繁 に 習 得 する 必 要 があります

More information

SQLite データベース IS04 組み込み 1

SQLite データベース IS04 組み込み 1 SQLite データベース IS04 組み込み 1 SQLite データベースは ファイルベースで SQL を実行することができる軽量データベースです データベース1つにつき 1 ファイルで管理し この中に複数のテーブルを持つことができます このファイルをアクセスするための実行ファイルをダウンロードするだけという手軽さです リレーショナルとは 複数のテーブルを関連するフィールドで結合して 大きな表があるように振舞わせるものです

More information

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt 開発編第 5 章補足 DB2 組み込み SQL 本書に含まれている情報は 正式な IBM のテストを受けていません また 明記にしろ 暗黙的にしろ なんらの保証もなしに配布されるものです この情報の使用またはこれらの技術の実施は いずれも 使用先の責任において行われるべきものであり それらを評価し 実際に使用する環境に統合する使用先の判断に依存しています それぞれの項目は

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 統合 データプラットフォーム SQL Server 2008 R2 社内と クラウド上の データに アクセス 他システム パブリック クラウド リレーショナル データベース データの同期 BI (ビジネス インテリジェンス) レポーティング BI (ビジネス インテリジェンス) 管理の一元化と省力化 管理者 開発者 サーバーや データベースの 統合管理 社内とクラウド上 のデータを分析 レポートに活用

More information

セッションの 目 的 とゴール セッションの 目 的 SQL Server 2008 R2 で 何 が 変 わって 何 が 変 わっていないのかをご 理 解 いただく セッションのゴール SQL Server 2008 R2 で 何 が 変 わったの? という 質 問 に 答 えられるようになる S

セッションの 目 的 とゴール セッションの 目 的 SQL Server 2008 R2 で 何 が 変 わって 何 が 変 わっていないのかをご 理 解 いただく セッションのゴール SQL Server 2008 R2 で 何 が 変 わったの? という 質 問 に 答 えられるようになる S SQL Server 2008 R2 概 要 ~ 新 機 能 のダイジェスト ~ 2010 年 9 月 17 日 マイクロソフト 株 式 会 社 デベロッパー&プラットフォーム 統 括 本 部 エバンジェリスト 荒 井 省 三 セッションの 目 的 とゴール セッションの 目 的 SQL Server 2008 R2 で 何 が 変 わって 何 が 変 わっていないのかをご 理 解 いただく セッションのゴール

More information

第 1 章 条件分岐 この章では 条件に応じて処理を分岐する方法について説明します 1. CASE 式で複雑な条件分岐を実現 2. 関数を使用した条件分岐 3. MERGE 文による条件に応じた DML の実行

第 1 章 条件分岐 この章では 条件に応じて処理を分岐する方法について説明します 1. CASE 式で複雑な条件分岐を実現 2. 関数を使用した条件分岐 3. MERGE 文による条件に応じた DML の実行 はじめに コース概要と目的 SQL での作業の幅を広げるための応用的なテクニックをご説明します また 効率性の向上や正しい結果を得 るための記述方法など 実践的な記述方法についても併せてご説明します 本コースは SQL の応用的な記述テクニックとしてどのようなものがあるかを 1 日で広く浅くご理解いた だくことを目的としたコースです 細かな構文やオプションの習得は目的としておりませんことをご了承 ください

More information

Microsoft PowerPoint - 講義補助資料2017.pptx

Microsoft PowerPoint - 講義補助資料2017.pptx 66 SQL 最も標準的なリレーショナルデータベースの言語 ISO による国際標準規格であり特定の企業に依存しない SQL の規格 :SQL89(SQL1), SQL92(SQL2), SQL:1999(SQL3), SQL:2003, SQL:2006, SQL:2008, SQL:2011 標準規格としての SQL は 何かの略語ではない と規定されている ( 参考 : IBM 社の製品で使われている

More information

Microsoft PowerPoint pptx

Microsoft PowerPoint pptx データベース 第 11 回 (2009 年 11 月 27 日 ) テーブル結合と集計 ( 演習 ) 第 11 回のテーマ 前回より シラバスから離れ 進捗状況に合わせて全体構成を変更しています テーマ1: テーブルの結合 テーマ 2: 結合した結果からの様々な検索 テーマ3: 集計の方法 今日学ぶべきことがら Select 文のさまざまな表現 Natural join sum(*) orrder

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション データベースシステム入門 7. 集計, 集約 1 リレーショナルデータベースシステム コンピュータ リレーショナルデータベース管理システム 記憶装置 リレーショナルデータベース あわせてリレーショナルデータベースシステム データの種類ごとに分かれた たくさんのテーブルが格納される 2 SQL をマスターするには SQL のキーワード create table テーブル定義 select 射影など from

More information

7-1- 基 RDB に関する基礎知識 1 独立行政法人情報処理推進機構

7-1- 基 RDB に関する基礎知識 1 独立行政法人情報処理推進機構 7-1- 基 RDB に関する基礎知識 1 7-1.RDB に関する知識 OSS のデータストアとしてのデータベースの機能と役割に関して 実際の開発 運用の際に必要な管理知識 手法の種類と特徴 内容を Ⅰ. 概要理解し SQL やトランザクションなどデータベースを設計 活用するために必要なノウハウを学ぶ Ⅱ. 対象専門分野職種共通本カリキュラムの基本的なデータベース コンピュータシステム基礎 Ⅲ.

More information

…l…b…g…‘†[…N…v…“…O…›…~…fi…OfiÁŸ_

…l…b…g…‘†[…N…v…“…O…›…~…fi…OfiÁŸ_ 13 : Web : RDB (MySQL ) DB (memcached ) 1: MySQL ( ) 2: : /, 3: : Google, 1 / 23 testmysql.rb: mysql ruby testmem.rb: memcached ruby 2 / 23 ? Web / 3 ( ) Web s ( ) MySQL PostgreSQL SQLite MariaDB (MySQL

More information

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ Oracle Un お問合せ : 0120- Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよびSOA 対応データ サービスへ ) を網羅する総合的なデータ統合プラットフォームです Oracle

More information

Oracle Database Connect 2017 JPOUG

Oracle Database Connect 2017 JPOUG Oracle Database Connect 2017 / JPOUG 異なるデータベース間の SQL 比較と Oracle Database 12c の新機能 Noriyoshi Shinoda March 8, 2017 自己紹介篠田典良 ( しのだのりよし ) 所属 日本ヒューレット パッカード株式会社テクノロジーコンサルティング事業統括 現在の業務 Oracle Database をはじめ

More information

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター はじめに コース概要と目的 データベース処理に使用する SQL の基本構文と使用方法について説明します 受講対象者 SQL を使用してアプリケーション開発される方 管理者となられる方 前提条件 Oracle 概要 コースを受講された方 もしくは同等の知識をお持ちの方 テキスト内の記述について 構文 [ ] 省略可能 { A B } A または B のどちらかを選択 n _ 数値の指定 デフォルト値

More information

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成 KDDI ホスティングサービス (G120, G200) ブック ASP.NET 利用ガイド ( ご参考資料 ) rev.1.0 KDDI 株式会社 1 ( 目次 ) 1. はじめに... 3 2. 開発環境の準備... 3 2.1 仮想ディレクトリーの作成... 3 2.2 ASP.NET のWeb アプリケーション開発環境準備... 7 3. データベースの作成...10 3.1 データベースの追加...10

More information

Microsoft Word - sample_adv-programming.docx

Microsoft Word - sample_adv-programming.docx サンプル問題 以下のサンプル問題は包括的ではなく 必ずしも試験を構成するすべての種類の問題を表すとは限りません 問題は 個人が認定試験を受ける準備ができているかどうかを評価するためのものではありません SAS Advanced Programming for SAS 9 問題 1 次の SAS データセット ONE と TWO があります proc sql; select one.*, sales

More information

Freelance Graphics - Œ³‚è1

Freelance Graphics - Œ³‚è1 SQL ステートメント Level ISOLATION お断り : 当資料は DB2 UDB V7.2(UNIX,PC) をベースに作成されています < 第 1.00 版 >2001 年 6 月 1 ( 内容 ) とはロックの範囲と ISOLATION レベル ISOLATION レベルの設定ロックのモードアクセス パス & 処理内容とロック モードの関係 SQL ステートメント Level ISOLATIO

More information

宣言と同時代入は 2008 から int = 888 mysql 単純表記 select 10 f1, 20 f2, 'aaa' f3 1 行代入 = = = 'AAA' Set からの代入は複数不可 バッチ (go) と変数の範

宣言と同時代入は 2008 から int = 888 mysql 単純表記 select 10 f1, 20 f2, 'aaa' f3 1 行代入 = = = 'AAA' Set からの代入は複数不可 バッチ (go) と変数の範 エラー一覧 表示 エラー一覧からリスト表示可能 mysql バックアップ リストア DBを右クリック タスク バックアップ OK DBを右クリック タスク 復元 データベース オプション チェック =" 既存データベースを上書きする チェック無し =" 復元の前にログ末尾のバックアップを実行する OK ( 操作前に既存クエリは全て閉じる ) ( もしエラーが出る場合 一度ログアウトしてから再度ログインして実行

More information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

この文章に含まれる情報は 公表の日付の時点での Microsoft Corporation の考え方を表しています 市場の変化に応える必要 があるため Microsoft は記載されている内容を約束しているわけではありません この文書の内容は印刷後も正しいとは保障で きません この文章は情報の提供の

この文章に含まれる情報は 公表の日付の時点での Microsoft Corporation の考え方を表しています 市場の変化に応える必要 があるため Microsoft は記載されている内容を約束しているわけではありません この文書の内容は印刷後も正しいとは保障で きません この文章は情報の提供の SQL Server 2012 自習書シリーズ No.6 開発者のための Transact-SQL 応用 Published: 2008 年 4 月 30 日 SQL Server 2012 更新版 : 2012 年 9 月 30 日有限会社エスキューエル クオリティ この文章に含まれる情報は 公表の日付の時点での Microsoft Corporation の考え方を表しています 市場の変化に応える必要

More information

想定 昨年実施された World IPv6 に対してマイクロソフトがどのような期待と目的を持って参加したのか どのような問題を想定していたのか 実態 World IPv6 Day による影響の実際 日本におけるインターネットの諸問題に対するマイクロソフトの見解 解決策 よりよい IPv6 利用環境を

想定 昨年実施された World IPv6 に対してマイクロソフトがどのような期待と目的を持って参加したのか どのような問題を想定していたのか 実態 World IPv6 Day による影響の実際 日本におけるインターネットの諸問題に対するマイクロソフトの見解 解決策 よりよい IPv6 利用環境を 田丸健三郎 kenzat@microsoft.com 日本マイクロソフト株式会社 資料 18-3 想定 昨年実施された World IPv6 に対してマイクロソフトがどのような期待と目的を持って参加したのか どのような問題を想定していたのか 実態 World IPv6 Day による影響の実際 日本におけるインターネットの諸問題に対するマイクロソフトの見解 解決策 よりよい IPv6 利用環境を目指し

More information

Microsoft Word - SQL.rtf

Microsoft Word - SQL.rtf データベース資料古原作成 1 データベースとは データ管理の専用システムのことをデータベースと呼ぶ データをさまざまな形で格納し 取り出しやすくしている データベースの種類 カード型データベース リレーショナルデータベース カード型データベースはカードを単位としてデータを入力する カード一枚に各項目があり その内容を記述する カードは表で言えば一行に該当する リレーショナルデータベースでは複数の表を使うことが出来る

More information

橡j_Oracle_whitepaper.PDF

橡j_Oracle_whitepaper.PDF Pervasive-Oracle 1 1 Pervasive Software Pervasive-Oracle / Pervasive Oracle Pervasive-Oracle ISV Pervasive-Oracle Pervasive.SQL Oracle 2 Pervasive-Oracle Pervasive-Oracle Pervasive.SQL Oracle Open Database

More information

アジェンダ ORACLE MASTER Oracle Database 11g 概要 11g SQL 基礎 Ⅰ 試験紹介 ポイント解説 Copyright 2011 Oracle. All rights reserved. 2

アジェンダ ORACLE MASTER Oracle Database 11g 概要 11g SQL 基礎 Ⅰ 試験紹介 ポイント解説 Copyright 2011 Oracle. All rights reserved. 2 Oracle Direct Seminar 試験対策ポイント解説 11g SQL 基礎 Ⅰ 日本オラクル株式会社 アジェンダ ORACLE MASTER Oracle Database 11g 概要 11g SQL 基礎 Ⅰ 試験紹介 ポイント解説 Copyright 2011 Oracle. All rights reserved. 2 資格体系 実務エキスパートの認定

More information

SQL (2) データベース論 Ⅰ 第 7 回 URL 作成者末次文雄 C

SQL (2) データベース論 Ⅰ 第 7 回 URL   作成者末次文雄 C SQL (2) データベース論 Ⅰ 第 7 回 URL http://homepage3.nifty.com/suetsuguf/ 作成者末次文雄 C 課題 6 の解答例 テーブル定義 CREATE DATABASE 学科 ; CREATE TABLE 学科 TBL ( 学科番号 INT(7) NOT NULL UNIQUE, 学科名称 NCHAR(10), 主任 NCHAR(10) ); CREATE

More information

第 3 章 メディア障害とバックアップ リカバリ この章では メディア障害の発生に備えたバックアップ方法と 障害時の基本的なリカバリ方法につい て説明します 1. メディア リカバリ概要 2. ファイルの多重化 3. アーカイブ モードの設定 4. バックアップ概要 5. 一貫性バックアップ ( オ

第 3 章 メディア障害とバックアップ リカバリ この章では メディア障害の発生に備えたバックアップ方法と 障害時の基本的なリカバリ方法につい て説明します 1. メディア リカバリ概要 2. ファイルの多重化 3. アーカイブ モードの設定 4. バックアップ概要 5. 一貫性バックアップ ( オ はじめに コース概要と目的 データベースのバックアップの取得方法 障害発生時のリカバリ方法について習得します 受講対象者 データベース管理者の方 前提条件 データベース アーキテクチャ および データベース マネジメント コースを受講された方 または 同等の知識をお持ちの方 テキスト内の記述について 構文 [ ] 省略可能 { A B } A または B のどちらかを選択 n _ 数値の指定 デフォルト値

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション ROOM G Web 開発者のためのクラウド活用 ~ Windows Azure 基本の " き " 日本マイクロソフト株式会社デベロッパー & プラットフォーム統括本部エバンジェリスト大森彩子 http://blogs.msdn.com/bluesky Azure 青い空 http://itpro.nikkeibp.co.jp Azure 基礎 Agenda Windows Azure Web サイトの概要

More information

Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest & Valid 1z0-882-JP

Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest & Valid 1z0-882-JP itexamdump 최고이자최신인 IT 인증시험덤프 http://www.itexamdump.com 일년무료업데이트서비스제공 Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest

More information

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 yamamoto@sraoss.co.jp Sylph-Searcher とは Sylpheed 向け電子メール全文検索アプリケーション PostgreSQL 8.2の全文検索機能を利用 Linux/Unix Windows 2000

More information

3 - 正しい SQL ( 方言を排除した SQL 文の記述方法 )

3 - 正しい SQL ( 方言を排除した SQL 文の記述方法 ) 3 - 正しい SQL ( 方言を排除した SQL 文の記述方法 ) このドキュメントに記載されている情報 (URL 等のインターネット Web サイトに関する情報を含む ) は 将来予告なしに変更することがあります このドキュメントに記載された内容は情報提供のみを目的としており 明示または黙示に関わらず これらの情報についてマイクロソフトはいかなる責任も負わないものとします お客様が本製品を運用した結果の影響については

More information

このドキュメントに記載されている情報 (URL 等のインターネット Web サイトに関する情報を含む ) は 将来予告なしに変更することがあります このドキュメントに記載された内容は情報提供のみを目的としており 明示または黙示に関わらず これらの情報についてマイクロソフトはいかなる責任も負わないもの

このドキュメントに記載されている情報 (URL 等のインターネット Web サイトに関する情報を含む ) は 将来予告なしに変更することがあります このドキュメントに記載された内容は情報提供のみを目的としており 明示または黙示に関わらず これらの情報についてマイクロソフトはいかなる責任も負わないもの 2 - SQL の最適化 このドキュメントに記載されている情報 (URL 等のインターネット Web サイトに関する情報を含む ) は 将来予告なしに変更することがあります このドキュメントに記載された内容は情報提供のみを目的としており 明示または黙示に関わらず これらの情報についてマイクロソフトはいかなる責任も負わないものとします お客様が本製品を運用した結果の影響については お客様が負うものとします

More information

FormPat インポート設定ガイド

FormPat インポート設定ガイド FormPat 7 インポート設定ガイド 2019/07/12 Copyright(C) 2019 Digital Assist Corporation. All rights reserved. 1 / 11 目次 目次... 2 はじめに... 3 データベースおよびテーブルの作成... 4 インポート定義ファイルの作成... 5 インポート定義ファイルの見出し行... 5 インポート定義ファイルの明細行...

More information

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~ .NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace

More information

3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB

3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB 3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB.netソリューションを作成します言語変換後にSDK( ソフトウェア開発キット ) にてデバッグおよびビルドにて実行可能アプリケーションを作成します

More information

Oracle SQL Developer Data Modeler

Oracle SQL Developer Data Modeler Oracle SQL Developer Data Modeler テクニカル レビュー - 2009 年 6 月 アジェンダ テクニカル レビューおよび機能レビュー 開発者の生産性に重点 Oracle SQL Developer Data Modeler の概要 対象 テクノロジー 機能のレビュー パッケージの更新 Oracle SQL Developer

More information

はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 S

はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 S はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 SQL トレーニング データベース アーキテクチャ コースを受講された方 もしくは同等の知識をお持ちの

More information

5 Q. 結果セットを 1 行飛ばしに FETCH することはできますか A. できません Oracle は必ず結果セットを上から 1 行ずつ FETCH します 6 Q. カーソルを一度にいくつまでオープンできますか A. 初期化パラメータ OPEN_CURSORS で指定したの値までカーソルをオ

5 Q. 結果セットを 1 行飛ばしに FETCH することはできますか A. できません Oracle は必ず結果セットを上から 1 行ずつ FETCH します 6 Q. カーソルを一度にいくつまでオープンできますか A. 初期化パラメータ OPEN_CURSORS で指定したの値までカーソルをオ PL/SQL プログラミング Ⅰ ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助として 是非お役立てください ご利用上の注意事項は最後のページにまとめられております ご確認のうえ

More information

この文章に含まれる情報は 公表の日付の時点での Microsoft Corporation の考え方を表しています 市場の変化に応える必要 があるため Microsoft は記載されている内容を約束しているわけではありません この文書の内容は印刷後も正しいとは保障で きません この文章は情報の提供の

この文章に含まれる情報は 公表の日付の時点での Microsoft Corporation の考え方を表しています 市場の変化に応える必要 があるため Microsoft は記載されている内容を約束しているわけではありません この文書の内容は印刷後も正しいとは保障で きません この文章は情報の提供の シリーズ No.2 SQL 基礎の基礎 Published: 2008 年 4 月 30 日 SQL Server 2012 更新版 : 2012 年 8 月 17 日 有限会社エスキューエル クオリティ この文章に含まれる情報は 公表の日付の時点での Microsoft Corporation の考え方を表しています 市場の変化に応える必要 があるため Microsoft は記載されている内容を約束しているわけではありません

More information

はじめに コースの概要と目的条件分岐の方法や複雑な集計の手法など SQL のコーディングの幅を広げるためのテクニックについて説明します また パフォーマンスを考慮した記述方法や正しい結果を取得するための記述方法などについても あわせて説明します 本コースでは 実践的な SQL の記述手法を広く浅く紹

はじめに コースの概要と目的条件分岐の方法や複雑な集計の手法など SQL のコーディングの幅を広げるためのテクニックについて説明します また パフォーマンスを考慮した記述方法や正しい結果を取得するための記述方法などについても あわせて説明します 本コースでは 実践的な SQL の記述手法を広く浅く紹 はじめに コースの概要と目的条件分岐の方法や複雑な集計の手法など SQL のコーディングの幅を広げるためのテクニックについて説明します また パフォーマンスを考慮した記述方法や正しい結果を取得するための記述方法などについても あわせて説明します 本コースでは 実践的な SQL の記述手法を広く浅く紹介することを目的としているため 細かな構文やオプションの習得を目的とはしていないことを 予めご了承ください

More information

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版   Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. IM- 共通マスタの拡張について 2.1. 前提となる知識 2.1.1. Plugin Manager 2.2. 表記について 3. 汎用検索画面の拡張 3.1. 動作の概要 3.1.1. 汎用検索画面タブの動作概要 3.2. 実装の詳細 3.2.1. 汎用検索画面タブの実装

More information

PHP 分科会 '11/11 OpenSource 協議会 System i 2011/11/25

PHP 分科会 '11/11 OpenSource 協議会 System i 2011/11/25 PHP 分科会 '11/11 OpenSource 協議会 System i 2011/11/25 最も簡単な例 最低限下記の処理が必要です db2_(p)connect で DB2 に接続します 指定されたユーザーで QSYSWRK サブシステムの QSQSRVR ジョブが作成されます db2_exec で SQL を実行します データを取得します # 6 DB2 に接続 db2_(p)connect('

More information

復習 (SQL 文 ) 3/6 復習 (SQL 文 ) 4/6 表の作成 CREATE TABLE...; 表の削除 DROP TABLE テーブル名 ; 表内のデータが全て消えてしまう. 表内のデータを得る SELECT 列名 FROM 表名...; 表にデータを挿入する. INSERT INTO

復習 (SQL 文 ) 3/6 復習 (SQL 文 ) 4/6 表の作成 CREATE TABLE...; 表の削除 DROP TABLE テーブル名 ; 表内のデータが全て消えてしまう. 表内のデータを得る SELECT 列名 FROM 表名...; 表にデータを挿入する. INSERT INTO SQLite SQLite3 http://www.ns.kogakuin.ac.jp/~ct13140/prog/ オープンソース ( フリー )RDBMS 実装の 1 個 http://www.sqlite.org/ 現在,3.6 が最新版. SQLite 2.x と SQLite 3.x が有名. 特徴 RDBMS サーバプロセスの起動が不要. 1 データベース,1 ファイル で格納.. つまり

More information

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid(text_box02_id); if (001 == statee 全体のヒント 1. テキストボックスの制御 1.1. 日付入力日付の入力ボックスは フォーカスが入った時にスラッショを消し フォーカスが他の項目等に移るとスラッシュが加わるようにする オンフォーカス 20100101 オフフォーカス 2010/01/01 1.1.1 オンフォーカス時にスラッシュを消す入力項目のスラッシュを消すには include/function.js ファイル内の var delslash

More information

Sharing the Development Database

Sharing the Development Database 開発データベースを共有する 目次 1 Prerequisites 準備... 2 2 Type of database データベースのタイプ... 2 3 Select the preferred database 希望のデータベースを選択する... 2 4 Start the database viewer データベース ビューワーを起動する... 3 5 Execute queries クエリを実行する...

More information

answer.indd

answer.indd 1 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 supplier(supplier_no, city) supplier_article(supplier_no, article) 2 3 1.9 1.10 3 3.1 3.2 3.3 3 4 3.4 1801 16 3 1 'test' 3.5 4 4.1 4.2 4.3 SET DATEFORMAT ymd; 4.4 SELECT

More information

今さら聞けない!? Oracle入門 ~前編~

今さら聞けない!? Oracle入門 ~前編~ Oracle Direct Seminar 今さら聞けない!? Oracle 入門 ~ 前編 ~ 日本オラクル株式会社 Agenda 1. Oracle の基本動作 2. Oracle のファイル群 3. Oracle のプロセス群と専用メモリ領域 4. データベース内部動作 今さら聞けない!? オラクル入門 ~ 後編 ~ 4. データベース内部動作

More information

The Microsoft Conference 2014 ROOM F

The Microsoft Conference 2014 ROOM F The Microsoft Conference 2014 ROOM F 架空の企業 : Contoso ドラッグ Contoso ドラッグ企業情報 1997 年に第一号店を神奈川県に開店 現在 全国 200 店舗を展開する中堅ドラッグストアチェーン 2007 年に東証一部に上場 業界に先駆けて ポイントカード を導入 ソーシャルメディアに公式アカウントを作成して積極的に情報を発信 Point Card

More information

基本サンプル

基本サンプル SQLCompiler for LINQ(VB) のサンプル (LINQPad 用 LINQ to Entities 基本サンプル ) 本サンプルで使用した Visual Studio プロジェクトの pubs データベースの概念モデルは 以下のテーブル名とカラム名が 直接 SQL Sever へクエリする場合と異なるので が補正されています テーブル名が異なるもの employee employees

More information

2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk

2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk 2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk Autodesk Vault 2014 新機能 操作性向上 Inventor ファイルを Vault にチェックインすることなくステータス変更を実行できるようになりました 履歴テーブルの版管理を柔軟に設定できるようになりました

More information

基本サンプル

基本サンプル SQLCompiler for LINQ(C#) のサンプル (LINQPad 用 LINQ to Entities 基本サンプル ) 本サンプルで使用した Visual Studio プロジェクトの pubs データベースの概念モデルは 以下のテーブル名とカラム名が 直接 SQL Sever へクエリする場合と異なるので が補正されています テーブル名が異なるもの employee employees

More information

第 5 章 結合 結合のパフォーマンスに影響を与える結合の種類と 表の結合順序について内部動作を交えて 説明します 1. 結合処理のチューニング概要 2. 結合の種類 3. 結合順序 4. 結合処理のチューニングポイント 5. 結合関連のヒント

第 5 章 結合 結合のパフォーマンスに影響を与える結合の種類と 表の結合順序について内部動作を交えて 説明します 1. 結合処理のチューニング概要 2. 結合の種類 3. 結合順序 4. 結合処理のチューニングポイント 5. 結合関連のヒント はじめに コース概要と目的 Oracle をより効率的に使用するための SQL チューニング方法を説明します また 索引の有無 SQL の記述方 法がパフォーマンスにどのように影響するのかを実習を通して習得します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 SQL トレーニング データベース アーキテクチャ コースを受講された方 もしくは同等の知識をお持 ちの方 テキスト内の記述について

More information

Slide 1

Slide 1 資料 9 クラウドを実用的に利用するためのセキュリティ - SaaS と PaaS で安全を確保するためのアプローチ - 日本マイクロソフト株式会社 チーフセキュリティアドバイザー 高橋正和 目次 クラウド上でのデータ保護ユーザー認証とアカウント管理事業継続クラウドサービスを利用することでセキュリティを強化する大学でのクラウド利用例 大学 CIO ハンドブック ( クラウド導入 活用編 ) から クラウド上のデータ保護

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション DE - 003 Windows 8.1 時代の クライアントアプリケーション開発 日本マイクロソフト株式会社デベロッパー & プラットフォーム統括本部エバンジェリスト井戸文彦 本セッションの目的 Windows 8.1 におけるデス クトップとストアアプリの違いと使い分けをご理解いただくこと 今日の内容 Windows 8.1 プラットフォーム デスクトップアプリ開発 Windows ストアアプリ開発

More information

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版   Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.

More information

Oracle Liteデータベースの理解

Oracle Liteデータベースの理解 Oracle Lite データベースの理解 Oracle ホワイト ペーパー 2007 年 6 月 Oracle Lite データベースの理解 Oracle Lite データベースの概要... 3 埋込み型アプリケーションでの Oracle Lite データベースの使用... 3 アプリケーション ソリューション用の小規模な埋込み型データベース... 3 同一の Oracle Lite データベースを共有するマルチ

More information

Microsoft PowerPoint - 3-Forms-Others.ppt

Microsoft PowerPoint - 3-Forms-Others.ppt 3 Form Builder その他の新機能 Oracle Developer R6.0 新機能 3-1 CONTENTS PL/SQL8 サポート 項目の色 フォントの直接設定 階層ツリー コントロール 戻り値を含む DML 実行時の動作 Forms でのパスワード管理 3-2 ここでは 2 章で触れなかった Form Builder のその他の新機能に付いて紹介します Oracle Developer

More information

Postgres Plus Advanced Server 9.3パーティションテーブルの特徴と性能検証レポート

Postgres Plus Advanced Server 9.3パーティションテーブルの特徴と性能検証レポート Postgres Plus Advanced Server 9.3 パーティションテーブルの特徴と性能検証レポート ~ データロード編 ~ v1.1 テクノロジーコンサルティング事業統括オープンソース部高橋智雄 2014 年 7 月 変更履歴 版 日付 作成 修正者 説明 1.0 2014/5/19 日本 HP 高橋智雄 初版作成 1.1 2014/7/8 日本 HP 高橋智雄 表現を微修正 2 はじめに

More information

データベース暗号化ツール「D’Amo」性能検証

データベース暗号化ツール「D’Amo」性能検証 平成 29 年 5 月 31 日 株式会社東和コンピュータマネジメント 概要 測定環境 測定要件 テーブル構成 測定手順 測定結果 システムログ 統計レポート 考察 感想 データベース暗号化ツール D Amo の導入を検討するにあたり NEC 製サーバ Express 上におけるツール適用後の動作確認ならびに処理性能の増加傾向を把握する目的で 本性能測定を実施する 測定環境 ハードウェア,OS, データベース

More information

,, create table drop table alter table

,, create table drop table alter table PostgreSQL 1 1 2 1 3,, 2 3.1 - create table........................... 2 3.2 - drop table............................ 3 3.3 - alter table............................ 4 4 - copy 5 4.1..................................

More information

関数サンプル1

関数サンプル1 SQLCompiler for LINQ(C#) のサンプル (LINQPad 用 LINQ to Entities 関数サンプル 1) 本サンプルで使用した Visual Studio プロジェクトの pubs データベースの概念モデルは 以下のテーブル名とカラム名が 直接 SQL Sever へクエリする場合と異なるので が補正されています テーブル名が異なるもの employee employees

More information

アジェンダ Visio 2007 を利 した データの可視化 活 例 Visio 2007 データ接続オートメーション データの可視化 3ステップ

アジェンダ Visio 2007 を利 した データの可視化 活 例 Visio 2007 データ接続オートメーション データの可視化 3ステップ VISIO ユーザー会第 1 回セミナー VISIO 2007 VBA を利 した データの可視化 マイクロソフトディベロップメント株式会社オフィスグローバリゼーション開発統括部プログラムマネージャ 岸真 マイクロソフト株式会社 Visioグループテクノロジースペシャリスト 村佳代 アジェンダ Visio 2007 を利 した データの可視化 活 例 Visio 2007 データ接続オートメーション

More information

intra-mart Accel Platform

intra-mart Accel Platform intra-mart Accel Platform IM- 共通マスタスマートフォン拡張プログラミングガイド 2012/10/01 初版 変更年月日 2012/10/01 初版 > 変更内容 目次 > 1 IM- 共通マスタの拡張について...2 1.1 前提となる知識...2 1.1.1 Plugin Manager...2 1.2 表記について...2 2 汎用検索画面の拡張...3

More information

SQL 基礎 (6) JOIN 句 - データの結合 作成日 : 2016/02/22 作成者 : 西村 更新履歴 更新日 更新概要 作業者 2016/02/22 新規作成 西村 はじめに この資料では 下記のような JOIN によるテーブル ( データ ) の結合について簡単に説明します INNE

SQL 基礎 (6) JOIN 句 - データの結合 作成日 : 2016/02/22 作成者 : 西村 更新履歴 更新日 更新概要 作業者 2016/02/22 新規作成 西村 はじめに この資料では 下記のような JOIN によるテーブル ( データ ) の結合について簡単に説明します INNE SQL 基礎 (6) JOIN 句 - データの結合 作成日 : 2016/02/22 作成者 : 西村 更新履歴 更新日 更新概要 作業者 2016/02/22 新規作成 西村 はじめに この資料では 下記のような JOIN によるテーブル ( データ ) の結合について簡単に説明します INNER JOIN LEFT JOIN RIGHT JOIN 1 サンプルのデータ この資料では 下記のテーブルをもとに各クエリの結果がどうなるかを示します

More information

--

-- Vertica のエポックについて March, 207 原文はこちら 目次 エポックの概要... 3 エポックの種類... 4 Current Epoch (CE)... 4 Latest Epoch (LE)... 5 Checkpoint Epoch (CPE)... 5 Last Good Epoch (LGE)... 6 Ancient History Mark (AHM)... 7 エポックの仕組み...

More information

データアダプタ概要

データアダプタ概要 データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter

More information

基本サンプル

基本サンプル SQLCompiler for LINQ(C#) のサンプル ( 基本サンプル ) < 一覧表 > ファイル名 : 前版サンプルから更新したファイル名 ファイル名 説明 リンク No1.linq 単一テーブルを使用する 表 1 No2.linq 2つのテーブルのクロス結合を使用する 表 2 No3.linq 2つのテーブルの内部結合を使用する 表 3 No4.linq No3.linq で GROUP

More information

iNFUSE インフューズ

iNFUSE インフューズ はじめての DataMagic セゾン情報システムズ HULFT 事業部 目的と学習内容 この動画では次の内容をご紹介していきます DataMagicとは システムデータ連携の課題と解決ポイント DataMagicの機能一覧のご紹介 DataMagicの導入事例 DataMagic 技術コラムのご紹介 All Rights Reserved SAISON INFORMATION SYSTEMS CO.,LTD.

More information

この文章に含まれる情報は 公表の日付の時点での Microsoft Corporation の考え方を表しています 市場の変化に応える必要があるた め Microsoft は記載されている内容を約束しているわけではありません この文書の内容は印刷後も正しいとは保障できません この文章 は情報の提供の

この文章に含まれる情報は 公表の日付の時点での Microsoft Corporation の考え方を表しています 市場の変化に応える必要があるた め Microsoft は記載されている内容を約束しているわけではありません この文書の内容は印刷後も正しいとは保障できません この文章 は情報の提供の SQL Server 2008 自習書シリーズ No.6 開発者のための Transact-SQL 応用 Published: 2008 年 4 月 30 日 改訂版 : 2008 年 10 月 13 日 有限会社エスキューエル クオリテゖ この文章に含まれる情報は 公表の日付の時点での Microsoft Corporation の考え方を表しています 市場の変化に応える必要があるた め Microsoft

More information

PowerPoint Presentation

PowerPoint Presentation UiPath 女性ユーザー コミュニティ第 1 回 Meetup 2018.9.12 (WED) 女性ユーザーコミュニティ概要 目的 : まだまだ男性と比べると数が少ない UiPath を使ってる女性ユーザーに対し 勉強 意見交換ができる場を提供し 女性ユーザーをさらに増やします 対象 : 仕事で UiPath を使っている これから使う予定の女性の方 コミュニティ内容 : 勉強会 交流会の実施 デベロッパーコミュニティと何が違うの?

More information

自己紹介 公共営業部門のアーキテクトとして 2003 年入社.NET の技術啓発活動に従事 2006 年 現在の部署に異動し エバンジェリストとして UX/Cloud プラットフォームの採用推進と技術啓発活動を担当 早稲田大学大学院国際情報通信研究科と中央大学総合政策学部で非常勤講師 趣味は 久しぶ

自己紹介 公共営業部門のアーキテクトとして 2003 年入社.NET の技術啓発活動に従事 2006 年 現在の部署に異動し エバンジェリストとして UX/Cloud プラットフォームの採用推進と技術啓発活動を担当 早稲田大学大学院国際情報通信研究科と中央大学総合政策学部で非常勤講師 趣味は 久しぶ 意外にカンタン Internet Explorer 9 の新機能を実装してみる Pinned Site - Integrating Your Site With Windows 7 鈴木章太郎アーキテクトエバンジェリスト / HTML5 Champ 日本マイクロソフト株式会社デベロッパー & プラットフォーム統括本部 http://blogs.msdn.com/b/shosuz/ 自己紹介 公共営業部門のアーキテクトとして

More information

Oracle 入門 ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助とし

Oracle 入門 ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助とし Oracle 入門 ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助として 是非お役立てください ご利用上の注意事項は最後のページにまとめられております ご確認のうえ ご利用ください

More information

今さら聞けない!? Oracle入門 ~後編~

今さら聞けない!? Oracle入門 ~後編~ Oracle Direct Seminar 今さら聞けない!? Oracle 入門 ~ 後編 ~ 日本オラクル株式会社 Agenda 1. Oracle の基本動作 2. Oracle のファイル群 3. Oracle のプロセス群と専用メモリ領域. データベース内部動作 今さら聞けない!? オラクル入門 ~ 後編 ~. データベース内部動作 検索時の動作更新時の動作バックアップについて

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション マイクロソフト Access での SQL 演習 第 2 回 集計, 集約 キーワード : 問い合わせ ( クエリ ), 集計, 集約,SQL ビュー https://www.kunihikokaneko.com/free/access/index.html 1 今日の授業で行うこと 元データ 集計 SQL で A 3 B 2 データの個数 国語 2 算数 2 理科 1 データの個数 A 90 B

More information

Microsoft Word - Lab5d-DB2組み込みSQL.doc

Microsoft Word - Lab5d-DB2組み込みSQL.doc [Lab 5d] DB2 でのアプリケーション開発 ( 組み込み SQL) 2011 年 06 月日本アイ ビー エム株式会社 Contents CONTENTS...2 1. はじめに...3 2. 内容...3 3. DB2 組み込み SQL への移行...3 3.1 準備...4 3.2 エラー処理用プログラムに関する処理...5 3.3 メインプログラムに関する処理...7 3.4 実行プログラムの生成...11

More information

第 7 章 ユーザー データ用表領域の管理 この章では 表や索引を格納するユーザー データ用表領域の作成や 作成後のメンテナンスに ついて解説します 1. ユーザー データ用表領域の管理概要 2. ユーザー データ用表領域作成時の考慮事項 3. ユーザー データ用表領域の作成 4. ユーザー データ

第 7 章 ユーザー データ用表領域の管理 この章では 表や索引を格納するユーザー データ用表領域の作成や 作成後のメンテナンスに ついて解説します 1. ユーザー データ用表領域の管理概要 2. ユーザー データ用表領域作成時の考慮事項 3. ユーザー データ用表領域の作成 4. ユーザー データ はじめに コース概要と目的 効率良く Oracle データベースを使用するための運用管理について 管理タスクを行う上での考慮事項や注意 点を実習を通して習得します 受講対象者 データベース管理者 前提条件 データベース アーキテクチャ コースを受講された方 もしくは Oracle システム構成とデータベース構 造に関する知識をお持ちの方 テキスト内の記述について 構文 [ ] 省略可能 { A B

More information

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版   Copyright 2016 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 前提条件 2.3. 対象読者 2.4. 注意事項 3. 概要 3.1. OData 連携について 3.2. OData について 3.3. SAP HANA 連携について 3.4. アクター 3.5. セットアップの手順について

More information