71
MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド 試験番号 98-364 データベースの基本事項

MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

M I C R O S O F T T E C H N O L O G Y A S S O C I A T E

受講者用学習ガイド

試験番号 98-364

データベースの基本事項

Page 2: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

MTA 認定試験の準備

MICROSOFT TECHNOLOGY ASSOCIATE (MTA)

開発者志望の学生用学習ガイド

98-364 データベースの基本事項

Page 3: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

執筆者

Peggy Fisher (Web 開発、データベース管理)。米ペンシルバニア

州中部の田舎にある Indian Valley High School でコンピューター

サイエンスを教えています。この高校では、プログラミング

(AP コースで C#、VB、および Java) と、Web デザイン

(Expression Web、HTML、JavaScript、CSS) のコースを設けてい

ます。Peggy は、ビジネスの世界を離れて教育の分野に入る

前は、ペンシルバニア州フィラデルフィア郊外にある大手

保険会社に勤めていました。この高校で教鞭を取り始めてから

8 年間、新しいキャリアを心から楽しんでいます。また、

Pennsylvania State University の生涯学習プログラムでも非常勤

講師を務めています。教育における目標は、卒業してからも生

涯にわたって学習を続けたいという気持ちを持ってもらえるよ

うに、生徒の向学心を養うことです。MTA 試験レビュー キット

シリーズの Web 開発試験レビュー キットの共同執筆者でもあり

ます。

Patricia Phillips (主執筆者、プロジェクト マネージャー)。

Patricia は、米ウィスコンシン州ジェーンズビルでコンピューター

サイエンスを 20 年間教えていました。また、Microsoft の

National K–12 Faculty Advisory Board に所属し、技術系教育者向け

の Microsoft MainFunction Web サイトの編集に 2 年間携わりました。

ここ 5 年ほどは、Expression Studio の Web デザインや XNA ゲーム

開発など、K–12 カリキュラム開発やパイロット プログラムに関連

するさまざまな業務において、マイクロソフトに協力しています。

さらに執筆者および編集者として、コンピューター サイエンス、

Web デザイン、コンピューター的思考法などのトピックに関する

記事や学生用ワークブックを執筆しています。現在は、

Computer Science Teachers Association のニュースレターである

Voice の編集を務めています。

このコンテンツは、受講者が個人的に使用することを目的として、使用対象および提供対象を学生に限定しています。

このドキュメントで使用しているいくつかの例は、説明のみを目的としており、架空のものです。実在する事物とは一切関係ありません。

Microsoft および http://www.microsoft.com/about/legal/en/us/IntellectualProperty/Trademarks/EN-US.aspx (英語) に挙げられてい

る商標は、Microsoft グループ企業各社の商標です。その他の会社名、ロゴ、製品名などはすべて、該当する各社の商標または登録商標

です。

© 2012 Microsoft Corporation. All Rights Reserved. このコンテンツは何ら保証のない現状有姿のままで提供され、明示または黙示にかかわ

らず、Microsoft はいかなる責任も負わないものとします。

Page 4: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 5: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 6: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 7: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 8: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 9: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 10: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

98-361

目次

はじめに. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

キャリア計画. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

職種について. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

認定資格の価値. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

98-364 データベースの基本事項

データベースの中心的な概念の理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1.1 テーブルにデータを格納する方法を理解する. . . . . . . . . . . . . . . . . . 5

1.2 リレーショナル データベースの概念を理解する. . . . . . . . . . . . . . . .7

1.3 データ操作言語 (DML) を理解する. . . . . . . . . . . . . . . . . . . . . . . . . . . .9

1.4 データ定義言語 (DDL) を理解する. . . . . . . . . . . . . . . . . . . . . . . . . . . .11

データベース オブジェクトの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

2.1 データ型を選択する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

2.2 テーブルとその作成方法を理解する. . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3A T-SQL を使用してビューを作成する. . . . . . . . . . . . . . . . . . . . . . . . . 19

2.3B グラフィカル デザイナーを使用してビューを作成する . . . . . . . .21

2.4 ストアド プロシージャと関数を作成する. . . . . . . . . . . . . . . . . . . . .23

第 1 章

第 2 章

Page 11: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

データの操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.1A 簡単なクエリで SELECT を使用してデータを選択する . . . . . . . . . 27

3.1B 複雑なクエリで SELECT を使用してデータを選択する . . . . . . . . . 29

3.2 データを挿入する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3 データを更新する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.4 データを削除する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

データ ストレージの理解. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37

4.1 正規化を理解する. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

4.2 主キー、外部キー、および複合キーを理解する . . . . . . . . . . . . . . .41

4.3 インデックスを理解する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

データベースの管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.1 データベース セキュリティの概念を理解する . . . . . . . . . . . . . . . . 47

5.2 データベースのバックアップと復元を理解する. . . . . . . . . . . . . . . 49

データベースの概念の復習. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51

データベースの基本事項の復習. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

第 3 章

第 4 章

x 目次

第 5 章

第 6 章

Page 12: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

はじめに

TA は、学生の皆さんが、基礎となるテクノ

ロジの概念を確認しながら興味を持って学び、

資格を取得することにより、情報技術 (IT) 分野の

キャリアに活かしていただくための認定試験です。

MTA は、マイクロソフト テクノロジ認定資格シリー

ズの最初のステップとして新しく設置された、入門

レベルの認定試験です。MTA を取得すると、皆さん

の自信につながると共に、能力を客観的に示し、他

の人との差別化を図ることができます。

時間やリソースを浪費することなく IT 関連職の選択

肢を探る MTA 試験では、世界中の企業で現在求め

られている主要なテクノロジに関する知識が問われ

ます。ネットワーク管理者、ソフトウェア エンジニ

ア、Web 開発者、データベース アナリストなどを目

指す皆さんにとって、MTA は、最初のステップとし

て必ず役立つことでしょう。

競争に備える 現在の雇用情勢では、IT 分野でのわ

ずかな投資が大きな効果をもたらします。MTA 認定

資格を取得することは、テクノロジ関連の学習にお

いて中級レベルに進む場合にも、マイクロソフト認

定テクノロジー スペシャリスト (MCTS) 認定資格を

取得する場合にも、確かな基盤として活かされます。

大学院への進学を目指したり、IT キャリア計画を早

めに開始するうえでも役立ちます。

パワーを身に付ける MCTS 取得への足掛かりとして

MTA を取得しておくと、テクノロジに取り組む姿勢

を示せるだけでなく、500 万人を超えるマイクロソフ

ト認定プロフェッショナルのコミュニティとのつなが

りを持つことができます。MTA 認定資格を取得して、

このコミュニティの人々と情報や知識を交換し

ましょう。

この MTA 受講者用学習ガイドは、学生の皆さんが

MTA 認定試験に備えるための学習ツールの 1 つです。

皆さんは、試験の対象範囲に含まれる主要トピックご

とに、実際の状況を題材とした課題に取り組みます。

この学習ガイドの演習をやり遂げることで、MTA 試

験の合格が保証されるわけではありませんが、受験の

ための準備がどの程度できているか自分で判断し、

受験日までに必要な知識を習得して、自信を持って

試験に臨むことができます。

テクノロジ分野でのキャリアを目指す皆さんが、確実

な第一歩を踏み出されることを願っています。

Victoria Pohto

Victoria Pohto

MTA 製品マーケティング マネージャー

M

はじめに xi

Page 13: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

キャリア計画

イクロソフトのテクノロジを基に構築され

た IT ソリューションまたはインフラストラ

クチャを扱うには、ほとんどの場合、次に示す製品

の いずれかまたはすべてに関する知識が必要になり

ます。これらは、「マイクロソフト スタック」と呼

ばれるものです。

• Microsoft Windows Server : データ センターまた

は開発プラットフォームとして

• Microsoft SQL Server : データおよびビジネス

インテリジェンス (BI) プラットフォームとして

• Microsoft Visual Studio : アプリケーション

ライフサイクル管理ツールのスイートとして

MTA はマイクロソフト テクノロジ認定資格の開始点

です。技術者への道を目指す皆さんに、勉強を続け

てテクノロジの分野へ進むために不可欠な基礎知識

を提供します。

MTA の準備を行い、認定を受けることで、特定の専

門分野に限定したキャリア パスに膨大な時間や資金

を費やすことなく、テクノロジ分野でのさまざまな

キャリア パスを探ることができます。自分に合った

進路が見つかったときは、さらに長期的なキャリア

計画を段階的に準備するうえで、Microsoft Learning

の製品や認定資格が役に立ちます。

テクノロジ分野でのキャリア構築を開始したいという

気持ちが既にはっきりしている場合は、足掛かりとし

て MTA の準備を行い、認定を受けることをお勧めしま

す。MTA 認定資格を取得することで、IT の基本概念に

関する 実用的な知識を確実に習得していることを証明

できます。これは、中級レベルの学習に進み、マイク

ロソフト認定テクノロジー スペシャリスト (MCTS) な

どの認定資格を取得する場合に不可欠となる知識です。

しかもマイクロソフト認定資格は業界で認められてい

る資格であり、これを保持していることは、知識やス

キルを高めるための自己投資と次のレベルに向かう自

信の証しでもあります。

MTA は、雇用主から「即戦力」と認められるための

「キャリア認定資格」ではなく、キャリア目標に向け

た最初の一歩であり、インターンシップや大学の入学

審査時に差別化を図ることができる資格です。テクノ

ロジ関連に絞って就職に備える場合は、ぜひ MCTS 認

定資格を取得しておいてください。これは、マイクロ

ソフトの製品およびテクノロジのスキルが問われる中

級レベルの認定資格です。

次のページに、MTA 認定資格パスを図で示します。各

種の MCTS に挑戦する前に受験することが推奨されて

いる MTA 試験がそれぞれ示されています。

xii キャリア計画

Page 14: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

キャリア計画 xiii

Page 15: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

職種について

ャリア パスの選択は重大な決断であり、

必ずしも簡単ではありませんが、もう

1 人で悩む必要はありません。マイクロソフト

では、学生の皆さんが IT 分野でのキャリアを追

求する場合にどのような選択肢と可能性がある

のかわかるように、キャリア サイトを用意しま

した。このサイトでは、学習のためのリソース

や技術に詳しい学生のコミュニティをはじめ、

テクノロジ分野でのキャリアの準備に役立つさ

まざまなコンテンツにアクセスすることができ

ます。

さまざまな職種とマイクロソフト

テクノロジとの対応付けを確認するには、

www.microsoft.com/learning/career/en/us/

career-org-charts.aspx (英語) を参照して

ください。

データベース管理者

データベース管理者は、複数のプラット

フォームおよび環境にまたがる重要な

データベースの管理を担当します。ペー

スの速い環境の中で、強力なチーム プレ

イヤーとして成長していくことのできる仕事で

す。ビジネス ニーズとセキュリティ要件を満た

しスケーラビリティに優れた、複雑なデータ

ベースを構築します。データベースの最適化、

メンテナンス、トラブルシューティングはもと

より、アーカイブ作成、データ分散、および高

可用性を目的としたソリューションの設計にお

けるエキスパートでもあります。

サーバー管理者

サーバー管理者は、組織において特に重要なテ

クノロジに分類されるサーバーの実装と管理を

担当します。監視用およびプロファイリング用

のさまざまなツールを使用して、最適なレベル

でシステムが動作するように、ネットワークの管理と

システムの調整を行います。また、Active Directory の

エキスパートであると同時に、ネットワーク プロトコ

ルやファイルおよびディレクトリのセキュリティにつ

いても、深く理解しています。

コンシューマー サポート技術者

IT 分野のキャリアは、コンシューマー サポート

技術者として始めることもできます。正規の実

務経験は必要なくても、デスクトップ コン

ピューター、ラップトップ、およびプリンター

があるホーム ネットワーク環境でオペレーティング シ

ステムのインストール、管理、およびトラブルシュー

ティングを行うための知識が求められる可能性があり

ます。コンシューマー サポート技術者は、ネットワー

ク、ウイルス、悪意のあるソフトウェア、およびハー

ドウェア サポートの問題も処理します。この職種は通

常、中小規模の組織で募集されます。

xiv 職種について

Page 16: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

職種について

Web 開発者

Web 開発者は、Web に生命を吹き込むため

の動的プログラミング ツールおよび言語を使

用するエキスパートです。内部サイトまたは

パブリック サイトで使用される対話型の

Web サイト、アプリケーション、サービスを構築およ

び統合するチームの一員として仕事をする場合も、独

立して仕事をする場合もあります。Web 開発者の役割

は、「機能させる」ことです。つまり Web アプリ

ケーションを開発して各種のブラウザーでテストし、

必要に応じて機能強化や変更を行って、最適なユー

ザー エクスペリエンスを実現することが仕事です。ま

た、Web 開発者には、Web サイトやデータ ドリブン

アプリケーションを設計する仕事や、効率的なクライ

アント/サーバー ソリューションを決定するという仕

事もあります。ソフトウェア開発ライフサイクルにつ

いての深い知識と、プロジェクトの状態、問題点、お

よび解決策を伝達する能力が必要になります。 Windows 開発者

Windows クライアント開発者は、前提として、

Windows コードの最適化方法とバグの追跡方

法についての知識を持っている必要がありま

す。ただし、Microsoft Visual Studio や

Microsoft .NET Framework を使用して、企業のサー

バーおよびデスクトップ コンピューターで稼働する

Windows ベースのアプリケーションを設計、開発、テ

スト、および展開する方法についての知識も必要です。

特に、多様な Windows アプリケーション モデル

と n 層アプリケーションを理解していることと、

オブジェクト指向プログラミング、アルゴリズム、

データ構造、およびマルチスレッドの操作方法を

知っていることが求められます。Windows 開発

者は、ソフトウェア エンジニアリング原理、ソ

フトウェア ライフサイクル、およびセキュリ

ティ原理について、深く理解しています。

新人開発者のためのその他のオンライン リソース:

http://msdn.microsoft.com/beginner (英語)

http://msdn.microsoft.com/rampup

Imagine Cup

Imagine Cup は、世

界中の学生が新しい

スキルを学び、新し

い友人を作り、さら

には世界を変えることもできる、全世界の学生の

ための技術コンテストです。コンテストには、ソ

フトウェア デザイン、組み込み開発、ゲーム デ

ザイン、デジタル メディア、Windows Phone 7

の部門があります。情熱あふれる頭脳明晰な若者

たちが、テクノロジの力を活かして、地球規模の

難題に挑みます。

www.imaginecup.com (英語)

職種について xv

Page 17: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

認定資格の価値

クノロジは、私たちの日常にかかわるすべ

てに、何らかの役割を果たしています。マ

イクロソフトの製品やテクノロジに関する知識やス

キルの認定が開始して以来、20 年あまりで何百万も

の人々が、知識、専門性、および資格を獲得し、あ

りとあらゆる業種や分野において、自身のキャリア

を高め、ビジネス ソリューションを改善し、さらに

はイノベーションを実現してきました。今日、情報

技術 (IT) 分野の人事採用では、人材に備わっている

スキルを見極めるための 1 つの判断材料として、マ

イクロソフト認定資格などの専門的な資格を用いる

ことが多くなりました。認定資格は、おびただしい

数の履歴書の中から、条件を満たす人材を簡単に見

分ける手段の 1 つになっています。

米国労働省の労働統計局 (BLS) がまとめた調査によると、IT プロフェッショナルの雇用は上向きの見通しです。BLS では、コンピューター サポート スペシャリスト、システム エンジニア、データベース管理者、およびコンピューター ソフトウェア エンジニアの雇用に関して「2014 年まで、全職種の平均を上回る速度で」増加する見込みであるとしています。

この調査から導くことができる重要なメッセージの

1 つは、国、業界、職種を問わず、雇用市場への通行証

として、情報通信技術 (ICT) のスキルが求められるとい

うことです。情報技術は、時間、リソース、および勉

強の面で投資する価値のある領域であることは明らか

です。中でも、勉強の過程で製品やテクノロジについ

て学んだ専門知識を試す機会として、テクノロジ関連

の資格は重要な役割を果たします。

マイクロソフト IT 認定資格は、世界中の IT プロフェッ

ショナル、開発者、インフォメーション ワーカーを対

象に、知識、役割、仕事の内容などに基づく多様な種

類が用意されています。そのどれもが、重要な IT 機能

を実行する能力の有無を客観的に証明します。世界中

の業界で認められているマイクロソフト認定資格は、

長期的なキャリア目標に到達するために最も有効な手

段の 1 つとして、今後もその価値を発揮し続けます。

xvi 認定資格の価値

Page 18: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

MTA 98-364

データベースの 基本事項

Page 19: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 20: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

1

データベースの 中心的な概念の 理解

この章の内容

■ 1.1 テーブルにデータを格納する方法を理解する

■ 1.2 リレーショナル データベースの概念を理解する

■ 1.3 データ操作言語 (DML) を理解する

■ 1.4 データ定義言語 (DDL) を理解する

Page 21: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 22: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データベースの中心的な概念の理解 1.1

テーブルにデータを格納する方法を理解する

シナリオ: 高校生の Rajesh M. Patel は、インドのプネにある父親の自転車店でアルバイトをしています。プネは、

インドで初めて自転車専用レーンが整備された都市です。

Raj の父親は現在、在庫管理に紙と鉛筆を使用しています。部品やアクセサリの注文にも、棚卸しの作業にも、

数日かかります。Raj は学校でデータベース管理の授業を受けており、データベース管理システムを導入すれば、

父親の仕事に非常に役立つことに気が付きました。

作業に着手する前に、いくつか基本的な概念を見直す必要があったため、Raj はプロジェクトの初期段階で重要

になりそうなトピックをリストアップしました。

1. Raj がデータベースを作成するとすれば、どのようなテーブルが必要になりますか。

a. 部品テーブル、自転車テーブル、およびアクセサリ テーブル

b. 部品、自転車、およびアクセサリのすべてを格納する 1 つのテーブル

c. 各部品用のテーブル、各自転車用のテーブル、および各アクセサリ タイプ専用の

テーブル (ヘルメット テーブル、自転車用グローブ テーブルなど)

2. 部品テーブルの列見出しに Raj が使用する必要があるフィールドはどれですか。

a. 部品番号、部品名、自転車番号、自転車名

b. 部品番号と販売個数

c. 部品番号、部品名、数量、色、自転車番号

3. 行と列が交わる場所にあるデータの名前は何ですか。

a. フィールド

b. レコード

c. 変数

データベース テーブルは、行と 列が含まれる Excel スプレッドシートのようなものです。あるテーブルのデータから、別のテーブルのデータを 参照する場合もあり ます。

テーブルにデータを格納する方法を理解する 5

Page 23: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. Raj が作成する必要があるのは、次のテーブルです。

a. 部品テーブル、自転車テーブル、およびアクセサリ テーブル

2. Raj は、次のフィールドを部品テーブルの列見出しに使用する必要があります。

c. 部品番号、部品名、数量、色、自転車番号

3. 行と列が交わる場所にあるデータの名前は次のとおりです。

a. フィールド

重要ポイント

• フィールドは、特定の種類のデータが格納される、レコード内の場所です。

• 列は、行またはレコードの属性です。

• 行は、テーブル内のレコードです。

• テーブルは、行と列から成るデータベース オブジェクトです。

• レコードは、複数のフィールド (要素) をまとめたデータ構造です。各レコードには固有の名前と型があ

り、1 行に並んだフィールドのグループとして、テーブルに表示されます。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/aa174501(SQL.80).aspx

• http://msdn.microsoft.com/ja-jp/library/ms189104.aspx

6 第 1 章:データベースの中心的な概念の理解

Page 24: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データベースの中心的な概念の理解 1.2

リレーショナル データベースの概念を理解する

シナリオ: Raj が父親の自転車店で業務を効率化するために、データベースの設計で次にすべきことは、テーブル

間で最も有用なリレーションシップ (関係) を決定することです。1 つのテーブル内のデータを使用して別の

テーブル内のデータを検索できるようにすることが重要であるため、リレーショナル データベースを作成する

必要があることは明らかです。父親の店のニーズに最も適した設計を考えることは、非常に重要なステップで

す。現在のビジネス要件を見直していると、自転車部品の納入業者を格納するテーブルを 1 つ追加する必要が

あることに気付きました。このテーブルを新しく追加する場合、Raj は部品テーブルの変更を行い、納入業者

テーブルへの外部キーを含める必要があります。

1. 納入業者テーブルと部品テーブルの間にはどのようなリレーションシップがありますか。

a. 一対一

b. 一対多

c. 多対多

2. 自転車テーブルと部品テーブル間のリレーションシップに適した外部キーはどれですか。

a. 部品番号

b. 自転車のモデル番号

c. 部品名

3. アクセサリ テーブルの主キーとしては、どれが考えられますか。

a. アクセサリ番号

b. アクセサリ名

c. アクセサリのモデル

主キーは、テー ブルの各レコードに 対して一意な値でな ければなりません。

リレーショナル データベースの概念を理解する 7

Page 25: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

の確認 得点

/3

解答

1. 納入業者テーブルと部品テーブルの間のリレーションシップは次のとおりです。

b. 一対多。個々の納入業者が、複数の部品を供給します。

2. 自転車テーブルと部品テーブル間のリレーションシップに適した外部キーは次のとおりです。

a. 部品番号。個々の自転車に、一意の部品が多数使用されます。

3. アクセサリ テーブルの主キーとして考えられるキーは次のとおりです。

a. アクセサリ番号。名前やモデルが同一であるアクセサリは、複数存在する可能性があります。

重要ポイント

• 最新のデータベース管理システムでは、データがリレーション (テーブル) を使って整理されるリレーショ

ナル モデルが実装されます。

• 一対一リレーションシップは、2 つのテーブル間での関連付けを表しています。このリレーションシップ

では、主テーブルの各レコードの主キー値に対して、対応するフィールドの値が一致するレコードは、

関連テーブル内に 1 レコードずつしかありません。

• 多対多リレーションシップは、2 つの集合間での複雑な関連付けを表しています。このリレーションシッ

プでは、各集合に含まれる複数の要素から、もう一方の集合の複数の要素への関連付けが可能です。

• 親子リレーションシップは、ツリー状のデータ構造におけるノード (項目) 間のリレーションシップを表し

ます。親は子より 1 段階ルートに近い (つまり、1 つレベルが上の) 位置にあります。

ルートとはツリー構造の根にあたる部分ですが、ツリー構造はルートを上にして

書き表すのが普通です。

• 主キーは一意のデータ識別子です。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/aa174501(SQL.80).aspx

• http://www.asp.net/sql-server/videos/designing-relational-database-tables

(英語)

• http://msdn.microsoft.com/ja-jp/library/aa224764(SQL.80).aspx

8 第 1 章:データベースの中心的な概念の理解

Page 26: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データベースの中心的な概念の理解 1 .3

データ操作言語 (DML) を理解する

シナリオ: Raj は、インドにある父親の自転車店のための自転車データベースをセットアップしました。次のス

テップでは、父親に協力してもらい、データベースを使ってどのような操作を実行する必要があるかを特定し

ます。これは、ユーザー要件と呼ばれるものです。父親から話を聞いた結果、次のような初期作業を実行する

ための新しいアプリケーションが必要であることがわかりました (他の要件については、後で定義します)。

• さまざまな在庫レポートを作成する

• 売上レポートを作成する (自転車のモデル別、価格別など)

• 新しい在庫が納入されたら、システムに追加する

• 必要に応じて自転車や部品のコストを変更する

• 自転車が販売されたら、データベースから削除する

1. 自転車が販売され、Cycle (自転車) テーブルから削除する必要があることを示すには、どのような

DML (データ操作言語) コマンドを使用しますか。

a. DELETE FROM Cycle WHERE cycle_number = T1234

b. REMOVE FROM Cycle WHERE cycle_number = T1234

c. ERASE FROM Cycle WHERE cycle_number = T1234

2. 在庫がある赤い自転車の数量をレポートするためのコマンドとして、適切なものは

次のどれですか。

a. SELECT cycle_model WHERE cycle_color = 'red'

b. SELECT * FROM Cycle WHERE cycle_color = 'red'

c. FIND * FROM Cycle WHERE cycle_color = 'red'

3. 新しい自転車をデータベースの Cycle テーブルに追加するためのコマンドとして、

適切なものは次のどれですか。

a. INSERT INTO Cycle (C3425, 'Rockrider', 'red', 9999.00)

b. ADD INTO Cycle VALUES (C3425, 'Rockrider', 'red', 9999.00)

c. INSERT INTO Cycle VALUES (C3425, 'Rockrider', 'red', 9999.00)

DELETE コマンドを 使用する場合は、テー ブル内のすべての行を 削除する誤りを起こしや すいので、十分に注意する必要があります。テーブ ル自体を削除するのでな い限り、WHERE 句を使 用してください。

データ操作言語 (DML) を理解する 9

Page 27: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. 自転車が販売され、Cycle テーブルから削除する必要があることを示すためには、次の DML (データ操作

言語) コマンドを使用します。

a. DELETE FROM Cycle WHERE cycle_number = T1234

2. 在庫がある赤い自転車の数量をレポートするには、次のコマンドを使用します。

b. SELECT * FROM Cycle WHERE cycle_color = 'red'

3. 新しい自転車をデータベースの Cycle テーブルに追加するには、次のコマンドを使用します。

c. INSERT INTO Cycle VALUES (C3425, 'Rockrider', 'red', 9999.00)

重要ポイント

• 構造化照会言語 (SQL) は、リレーショナル データベースに対する照会、更新、および管理に使用されるリ

レーショナル データベース言語であり、事実上の標準として各種のデータベース製品に使用されています。

• データ操作言語 (DML) は、データの挿入、更新、および削除と、データベースへの照会に使用されます。

• データ定義言語 (DDL) は、リレーショナル データベース、エンティティ、属性、その他のオブジェクト

(ビューなど) の作成、変更、または削除に使用されます。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/ms191524.aspx

• http://msdn.microsoft.com/en-us/library/dd787894(BTS.10).aspx (英語)

• http://msdn.microsoft.com/ja-jp/rampup/ee832799.aspx

10 第 1 章:データベースの中心的な概念の理解

Page 28: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

ヒント

目的 データベースの中心的な概念の理解 1 .4

データ定義言語 (DDL) を理解する

シナリオ: Raj は、父親の自転車店で業務の自動化を着々と進めています。在庫管理に必要な手書き伝票の量が減

り、より正確な情報が得られるようになりました。

この自動化の結果、父親は、自転車の広告と販売に Web サイトを使いたいと思うようになりました。これは自

転車店の業務に対する変更の第 2 段階として申し分のない内容であり、これを実現するのは Raj の役目です。

Raj はすぐに、現在のデータベース スキーマを変更する必要があることに気が付きました。ユーザーがイン

ターネットから商品を購入できるようにするのであれば、自転車、アクセサリ、部品を含め、すべての商品の

写真を用意する必要があります。

1. 写真のファイル名を格納する新しいフィールドを Cycle テーブルに追加するために、Raj が使用でき

る DDL コマンドはどれですか。

a. ALTER TABLE Cycle ADD photo_file_name CHAR (30) NULL

b. ADD photo_file_name TO TABLE Cycle

c. ALTER Cycle TABLE USING photo_file_name CHAR(30) NULL

2. 前の質問の例で、新しい自転車をテーブルに追加する際に NULL という語を使用すると、どのよ

うな影響がありますか。

a. ユーザーが写真のファイル名を入力しなければならない

b. ユーザーが写真のファイル名を入力する必要がない

c. 写真のファイル名が自動的に入力される

3. DML コマンドの DELETE と DDL コマンドの DROP の主な違いは何ですか。

a. どちらでも同じ作業が実行されるので、違いはない

b. DELETE ではテーブルからすべての (または一部の) レコードが削除されるだけで、

テーブル自体は削除されない

c. DROP ではテーブルからすべてのレコードが削除されるだけで、テーブル自体は削除

されない

ALTER コマンド は、新しいフィール ドの追加または既存のフィールドの形式の 変更に使用できます。例: CHAR(20) から VARCHAR(35) への 変更

データ定義言語 (DDL) を理解する 11

Page 29: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. Raj は、次のコマンドを使用して、写真のファイル名を保持する新しいフィールドを Cycle テーブルに

追加できます。

a. ALTER TABLE Cycle ADD photo_file_name CHAR (30) NULL

2. 新しい自転車をテーブルに追加する際に、NULL という語を使用すると次のような影響があります。

b. ユーザーが写真のファイル名を入力する必要がない

3. DML コマンドの DELETE と DDL コマンドの DROP の主な違いは、次のとおりです。

b. DELETE ではテーブルからすべての (または一部の) レコードが削除されるだけで、テーブル自体は

削除されない

重要ポイント

• スキーマとは、データベース管理システム (DBMS) に用意されている言語で表された、DBMS に追加される

データベースの説明です。

• データ定義言語 (DDL) では、エンティティ、属性、ビュー、インデックスなどのデータベース オブジェク

トを定義します。

• CREATE は、データベースまたはオブジェクトの追加に使用します。

• ALTER は、データベースまたはオブジェクトの変更に使用します。

• DROP は、データベースまたはオブジェクトの削除に使用します。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/ms175941.aspx

• http://support.microsoft.com/kb/180841 (英語)

• http://msdn.microsoft.com/ja-jp/library/ms734677.aspx

12 第 1 章:データベースの中心的な概念の理解

Page 30: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

2

データベース オブジェクトの 作成

この章の内容

■ 2.1 データ型を選択する

■ 2.2 テーブルとその作成方法を理解する

■ 2.3A T-SQL を使用してビューを作成する

■ 2.3B グラフィカル デザイナーを使用してビューを作成する

■ 2.4 ストアド プロシージャと関数を作成する

Page 31: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 32: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データベース オブジェクトの作成 2.1

データ型を選択する

シナリオ: Yuhong Li の息子の Yan は、学校でプログラミング コースを受講しています。Yan は授業に関連した

プロジェクトのテーマを選ぶため、Yuhong にアドバイスを求めました。すると Yuhong は、長年にわたって集

めてきた彼女の CD のコレクションを整理するためのプログラムを作成してはどうかと Yan に提案しました。

Yan はそのアイディアが気に入り、プロジェクトに使うことにしました。母親のコレクションに関するデータ

をすべて格納するためのデータベース テーブルを作成し、C# または Visual Basic を使用して、テーブルの情報

を検索、追加、および削除するためのユーザー インターフェイスを作成するのです。

Yan は、テーブルのフィールドの定義が非常に重要であり、各フィールドに正しいデータ型を選択することが

鍵になると考えています。

1. CD のラベル名を格納するために Yan が使用するデータ型として、適切なものは次のどれですか。

a. 文字列または可変長文字列

b. 名前

c. 整数

2. 各 CD のトラック数を格納するために Yan が使用するデータ型として、適切なものは次のどれですか。

a. 実数

b. 整数

c. 文字列

3. 曲全体の長さ (秒単位) を格納するために Yan が使用するデータ型として、適切なも

のは次のどれですか。

a. バイト

b. 整数

c. ブール

パフォーマンス の低下を避けるには、格納対象のデータに一致し、サイズが最小であるデータ型を常に使 用してください。

データ型を選択する 15

Page 33: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. CD のラベル名の格納には、次のデータ型を使用します。

a. 文字または可変長文字列。

2. 各 CD のトラック数の格納には、次のデータ型を使用します。

b. 整数。曲数に小数部は設定できません。また、この値は、すべてのアルバムのトラック数の

合計など、数式計算に使用できます。

3. 曲の長さの格納には、次のデータ型を使用します。

b. 整数。長さは合計秒数で保存でき、アプリケーションでは必要に応じて分と秒による表現に戻すこと

ができます。

重要ポイント

• データ型により、その項目について使用できる値の範囲、値に対して実行できる操作、および値をメモリ

に格納する方法が指定されます。

• 整数データ型では、整数が格納されます。

• 浮動小数点データ型では、実数が格納されます。

• 文字データ型では、A ~ Z または 0 ~ 9、つまり、数学関数が適用されない数字または文字が格納さ

れます。

• ブール データ型では、1 または 0 (true または false) が格納されます。

詳細情報

• http://msdn.microsoft.com/en-us/beginner/ff715351.aspx (英語)

• http://msdn.microsoft.com/ja-jp/library/aa258271(SQL.80).aspx

• http://msdn.microsoft.com/en-us/library/aa716185(VS.60).aspx (英語)

16 第 2 章:データベース オブジェクトの作成

Page 34: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データベース オブジェクトの作成 2 .2

テーブルとその作成方法を理解する

シナリオ: Yan は母親が持っている CD をすべて集めました。するとその枚数は、Yan の想像を超えていました。

データベース テーブルに必要なデータ フィールドと、それぞれのデータ フィールドに最も適したデータ型を特

定したので、データベース テーブルを作成する準備ができました。Yan は適切な ANSI SQL 構文を使用して

テーブルを作成する予定ですが、作業にかかる前に詳細を確認したいと考えています。

1. 適切な ANSI SQL 構文の説明として適切なものは、次のどれですか。

a. フィールドに空白の値を設定できるかどうかを決定するルール

b. すべてのデータ フィールドのサイズを定義するルール

c. ステートメント (文) の構造や内容を規定するルール

2. 新しいテーブルの追加に使用する SQL コマンドはどれですか。

a. CREATE TABLE table_name (column_name data_type [null/not null], column_name

data_type [null/not null], ...)

b. ADD TABLE table_name (column_name data_type [null/not null], column_name

data_type [null/not null], ...)

c. INSERT TABLE table_name (column_name data_type [null/not null], column_name

data_type [null/not null], ...)

3. Yan が集めた情報に基づくと、テーブル内のデータにアクセスするための一意の

キーとして使用できるデータ フィールドはどれですか。

a. アーティスト名

b. CD ラベル名

c. トラック名

テーブルのキー を選択する際は、 必ずテーブル内のすべてのレコードに対して一意になるものを選択してください。

テーブルとその作成方法を理解する 17

Page 35: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. 適切な ANSI SQL 構文の説明として適切なものは、次のとおりです。

c. ステートメント (文) の構造や内容を規定するルール

2. 新しいテーブルの追加には、次の SQL コマンドを使用します。

a. CREATE TABLE table_name (column_name data_type <null/not null>, columnname

data_type [null/not null], ...)

3. テーブル内のデータにアクセスするための一意のキーとしては、次のデータ フィールドを使用できます。

b. CD ラベル名

重要ポイント

• ANSI SQL 構文とは、ステートメントの構造や内容を規定する文法およびルールのことです。

• テーブルとはデータ構造の一種であり、通常は項目の一覧で構成されています。

• データ ファイル内のレコードの識別子で、一意であり、1 つのレコードにしかないものは、キーと呼ばれ

ます。従業員のデータベースでは、社会保障番号をキーとして使用できます。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/ms365315.aspx

• http://msdn.microsoft.com/ja-jp/library/aa258255(SQL.80).aspx

• http://msdn.microsoft.com/en-us/library/aa977477(VS.71).aspx (英語)

18 第 2 章:データベース オブジェクトの作成

Page 36: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データベース オブジェクトの作成 2 .3A

T-SQL を使用してビューを作成する

シナリオ: Yan は、データベース管理の授業で、ビューについて学んでいます。先生の説明によると、ビューの

作成には 2 つの方法があるとのことでした。コマンド ライン言語の T-SQL (Transact-SQL) を使用する方法と、

グラフィカル デザイナーを使用する方法です。

Yan は、母親の CD コレクションを管理するために作成しているデータベース プロジェクトに、新しく学んだ

ことを応用したいと考え、次の要件を特定しました。また、T-SQL を使用する方法でビューを作成するつもり

です。

• すべての CD をアルファベット順に並べ替えて表示する

• 特定のトラック数が含まれる CD をすべてレポートする

• アーティスト別に CD の一覧を作成する

• CD の総数を計算する

1. ビューおよび T-SQL の利用方法として、このプロジェクトに最も適しているものは、次のどれですか。

a. 要求ごとに情報を表示する別々のビューを作成する

b. 上記の一覧に示された要件ごとに新しいテーブルを作成する

c. 新たに CD を購入したら既存のテーブルにデータを追加する

2. ビューを使用するメリットとして重要なものは、次のどれですか。

a. ユーザーが直接テーブル内のデータにアクセスできる

b. アプリケーションとデータベースに必要なストレージ (記憶域) の容量を

削減できる

c. 要約データを表すことができる

3. トラック数が 10 を超える全 CD のタイトル、アーティスト、および発売年を表

示するビューを作成するコード セグメントとして、適切なものは次のどれですか。

a. CREATE VIEW CD_More_than_10 AS SELECT CD_Title, CD_Artist,

CD_Year FROM CD_Collection WHERE Tracks > 10

b. CREATE TABLE CD_More_than_10 AS SELECT CD_Title, CD_ArtistCD_Year

FROM CD_Collection WHERE Tracks > 10

c. CREATE VIEW AS CD_More_than_10 FROM CD_Collection WHERE Tracks > 10

アクセスを制限す

るには、ビューを使用

します。たとえば、特定の

従業員用のビューを作成し

て、全従業員のデータが含

まれるテーブルから、その

従業員の給与情報のみを

表示することができ

ます。

T-SQL を使用してビューを作成する 19

Page 37: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. ビューおよび T-SQL の利用方法として、このプロジェクトに最も適しているものは、次のとおりです。

a. 要求ごとに情報を表示する別々のビューを作成する

2. ビューを使用するメリットとして重要なものは、次のとおりです。

c. 要約データを表すことができる

3. 次のコードにより、トラック数が 10 を超える全 CD のタイトル、アーティスト、発売年を表示する

ビューを作成できます。

a. CREATE VIEW CD_More_than_10 AS SELECT CD_Title, CD_Artist, CD_Year

FROM CD_Collection WHERE Tracks > 10

重要ポイント

• ビューとは保存されたクエリであり、そのクエリの結果セットから仮想テーブルが作成されます。

• クエリとは、特定のデータを抽出/選択するための、一連の命令です。

• グラフィカル デザイナーとは、Microsoft Access など、オブジェクト指向でドラッグ アンド ドロップによ

り操作するアプリケーションです。

• Transact-SQL (T-SQL) は、ANSI SQL で定義されている以外の機能も備えた高度なクエリ言語です。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/aa260642(v=SQL.80).aspx

• http://msdn.microsoft.com/ja-jp/library/bb510741.aspx

• http://msdn.microsoft.com/ja-jp/data/ff687144.aspx

20 第 2 章:データベース オブジェクトの作成

Page 38: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データベース オブジェクトの作成 2.3B

グラフィカル デザイナーを使用してビューを作成する

シナリオ: Yan が T-SQL を使用して作成したビューは、母親にとって非常に便利なものでした。さまざまな方法

で並べ替えることができる一覧を使用して、コレクションに含まれる CD を簡単に確認できます。リビングの

床に CD の山をいくつも作って仕分けるよりも、はるかに簡単です。

Yan は T-SQL を使用してビューを作成できるようになったので、今度はグラフィカル デザイナーを使用して同

じクエリを作成したいと考えています。両方の方法で練習しておくと、間違いなく認定試験に役立つことで

しょう。

1. Jet SQL などのグラフィカル デザイナーと T-SQL の相違点として、適切なものは次のどれですか。

a. グラフィカル デザイナーではコマンド ライン インターフェイスを使用する

b. グラフィカル デザイナーはオブジェクト指向である

c. グラフィカル デザイナーは SQL Server データベースにしか使用されない

2. Access で Jet SQL を使用するビューを作成する手順として正しいものは、次のどれですか。

a. クエリの作成、ソース テーブルやクエリの特定、フィールドの選択、条件の設定、実行、表示

b. クエリの作成、データ フィールドの特定、テーブルの選択、条件の設定、実行、表示

c. クエリの作成、条件の特定、テーブルの選択、フィールドの選択、実行、表示

3. すべての CD をアルファベット順で取得するには、どの条件を追加で指定する必

要がありますか。

a. ORDER BY

b. WHERE

c. SELECT

Microsoft Access な どのグラフィカル デザイナーでは、テーブルおよび以前のクエリからフィールドを選択して新しいクエリに 使用できます。

グラフィカル デザイナーを使用してビューを作成する 21

Page 39: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. Jet SQL などのグラフィカル デザイナーは、次の点で T-SQL と異なります。

b. グラフィカル デザイナーはオブジェクト指向である

2. Access でビューを作成する正しい手順は次のとおりです。

a. クエリの作成、ソース テーブルやクエリの特定、フィールドの選択、条件の設定、実行、表示

3. すべての CD をアルファベット順で取得するには、次の条件を追加で指定します。

a. ORDER BY

重要ポイント

• ビューとは保存されたクエリであり、そのクエリの結果セットから仮想テーブルが作成されます。

• クエリとは、特定のデータを抽出するための一連の命令です。

• グラフィカル デザイナーには、Microsoft Access など、オブジェクト指向でドラッグ アンド ドロップに

より操作するアプリケーションが含まれます。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/aa196232(SQL.80).aspx

• http://msdn.microsoft.com/en-us/library/aa140011(office.10).aspx (英語)

• http://msdn.microsoft.com/ja-jp/library/ms365414.aspx

22 第 2 章:データベース オブジェクトの作成

Page 40: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データベース オブジェクトの作成 2 .4

ストアド プロシージャと関数を作成する

シナリオ: Yan は母親のために CD コレクションのデータベースを作成するプロセスをひととおり体験したとこ

ろで、これ以外の多くの在庫管理データベースにも、同様の構造を使用できることに気が付きました。

Yan は、よく使用される機能の中には、定義済みの SQL 関数として用意されているものがあることを発見しま

した。このような、すぐに使用できる組み込みの関数を利用することで、生産性を向上し、他に必要なユー

ザー定義関数の作成に時間をかけることができます。また、Yan は集計関数とスカラー関数の違いについても

学びました。

1. CD コレクション データベースに含まれる CD の総数を計算する場合に、Yan が使用できる集計関数は、

次のどれですか。

a. SUM (<列名>)

b. COUNT (<列名>)

c. AVG (<列名>)

2. Yan は、スカラー関数の機能がいまひとつ理解できていません。次のうち、スカラー関数に関す

る記述はどれですか。

a. FIRST (<列名>) では、指定した列の最初のフィールドが返される

b. SUM (<列名>) では、その列のすべての値の合計が返される

c. UCASE (<列名>) では、フィールドの値がすべて大文字で返される

3. ストアド プロシージャを呼び出す方法として、適切なものは次のどれですか。

a. RUN (<プロシージャ名>, <入力値>)

b. EXECUTE (<プロシージャ名>, <入力値>)

c. PERFORM (<プロシージャ名>, <入力値>)

データ整合性を 確保するには、 ストアド プロシー ジャには権限を許可し、基になるテーブルへの アクセスは制限します。

ストアド プロシージャと関数を作成する 23

Page 41: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. Yan は次の集計関数を使用して、CD コレクション データベースに含まれる CD の総数を計算できます。

b. COUNT (<列名>)

2. 次の例はスカラー関数に関する記述です。

c. UCASE (<列名>) では、フィールドの値がすべて大文字で返される

3. ストアド プロシージャは次のコマンドで呼び出すことができます。

b. EXECUTE (<プロシージャ名>, <入力値>)

重要ポイント

• 関数は、単一の値を返す 1 語のコマンドであり、SQL の一連のコマンド内に記述されます。

• 集計関数は、列の値を計算して単一の値を返します。

• スカラー関数は、単一のフィールドの入力値に基づいて単一の値を返します。

• ユーザー定義関数は、ユーザーによって作成されたコンパクトな SQL コード セグメントであり、

パラメーター (媒介変数) を受け取って値またはテーブルを返すことができます。

• ストアド プロシージャは、データベースに保存される、プリコンパイル済みの SQL ステートメントの

グループです。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/aa258901(SQL.80).aspx

• http://msdn.microsoft.com/ja-jp/library/ms177499.aspx

• http://msdn.microsoft.com/ja-jp/library/aa214363(SQL.80).aspx

24 第 2 章:データベース オブジェクトの作成

Page 42: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

3

データの操作

この章の内容

■ 3.1A 簡単なクエリで SELECT を使用してデータを選択する

■ 3.1B 複雑なクエリで SELECT を使用してデータを選択する

■ 3.2 データを挿入する

■ 3.3 データを更新する

■ 3.4 データを削除する

Page 43: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 44: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データの操作 3 .1A

簡単なクエリで SELECT を使用してデータを選択する

シナリオ: Katarina Larsson は子供のときから運動が得意で、カヤック、ハイキング、水泳、サイクリングなどが

好きです。このため Katarina は、Adventure Works の情報システム部門にインターンとして採用されたときも、

非常に喜びました。Katarina は大学でデータベース管理を勉強しており、このインターンシップは貴重な体験

になるはずです。しかも、カナダのノバスコシア州でアスレチック アドベンチャーを経験できるというおまけ

付きです。

Katarina の仕事には、SQL クエリを作成して、島々で地元の人や観光客に楽しまれているレクリエーション活

動の現在の傾向についてのデータを分析する作業が含まれています。Katarina は、次の活動についてのレポー

ト作成に着手するつもりです。

• ハイキング

• ホエール ウォッチング

• カヤック

• キャンプ

• ゴルフ

1. 予約システムに対してクエリを実行した場合に、リピート客が 1 回だけカウントされるようにするコマン

ドはどれですか。

a. SELECT ONLY

b. SELECT DISTINCT

c. SELECT UNIQUE

2. いくつかのレポートでは、結果をアルファベット順で表示できると便利です。

アルファベット順の一覧を作成する場合に使用するのは、どのコマンドですか。

a. ORDER BY column_name ([ASC または DESC])

b. SORT BY column_name ([ASC または DESC])

c. ARRANGE BY column_name ([ASC または DESC])

3. 論理演算子の結果を視覚化する場合、真理表が便利です。2 つのフィールドを比較す

る際に、常に結果が TRUE になる条件はどれですか。

a. AND 演算子、1 フィールドのみが TRUE

b. OR 演算子、尐なくとも 1 フィールドが TRUE

c. AND 演算子、尐なくとも 1 フィールドが FALSE

簡単なクエリで SELECT を使用してデータを選択する 27

SELECT ステート メントを使用すると、 1 つまたは複数のテー ブルやビューからデー タを取得し、結果を result_set という名前の結果テーブルに格納で きます。

Page 45: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. リピート客が 1 回だけカウントされるようにするコマンドは、次のとおりです。

b. SELECT DISTINCT

2. アルファベット順の一覧を返すコマンドは、次のとおりです。

a. ORDER BY column_name ([ASC または DESC])

3. 結果が常に TRUE になる条件は、次のとおりです。

b. OR 演算子、尐なくとも 1 フィールドが TRUE

重要ポイント

• SELECT は、データベースからデータを選択する場合に、最もよく使用される SQL コマンドです。

• DISTINCT は個別の (一意の) 値のみを返します。

• WHERE は、取得する行を指定するときに使用します。

• ORDER BY は、行を返す順序を指定するときに使用します。

• ブール論理演算子

• AND は、1 つ目の条件と 2 つ目の条件がどちらも true の場合にレコードを表示します。

• OR は、1 つ目の条件または 2 つ目の条件が true の場合にレコードを表示します。

• 真理表は、ブール論理演算子の関係を示します。

詳細情報

• http://msdn.microsoft.com/en-us/library/aa393276(VS.85).aspx (英語)

• http://msdn.microsoft.com/ja-jp/library/aa259187(SQL.80).aspx

• http://msdn.microsoft.com/en-us/library/ms691985(VS.85).aspx (英語)

28 第 3 章:データの操作

Page 46: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データの操作 3 .1B

複雑なクエリで SELECT を使用してデータを選択する

シナリオ: ノバスコシアは美しい場所なので、Katrina は余暇にさまざまなアウトドア活動を楽しんでいます。

やりがいがあり、非常に多くのことを学べるので、Katrina は Adventure Works での仕事が気に入っています。

インターンシップの 3 週目になり、レクリエーションの傾向データベースにいくつか複雑なクエリを適用する

ことで、内容の充実したレポートを生成できることに気が付きました。そこで Katarina は、サブクエリ (述語、

スカラー、およびテーブル)、UNION、JOIN、および INTERSECT の概念を見直す時間を取ることにしました。

1. 述語サブクエリの特徴を最もよく表している説明はどれですか。

a. 1 つの値を返し、CASE 式、WHERE 句、ORDER BY、SELECT で使用できる

b. FROM 句内の入れ子になったクエリを基にテーブルを返す

c. AND、OR、LIKE、BETWEEN、AS、および TOP を使用して、WHERE 句内で拡張論理構造を使用する

2. UNION と JOIN の相違点は何ですか。

a. UNION では列数とデータ型が同じである場合に 2 つの SQL クエリの結果が結合され、JOIN では尐なくとも

1 つの列が一致する場合に行が返される

b. UNION では尐なくとも 1 つの列が一致する場合に 2 つの SQL クエリの結果が結合され、JOIN では列数と

データ型が同じである場合に 行が返される

c. UNION では両方のテーブルにある行のみが返され、JOIN では尐なくとも 1 つの

列が一致する場合に行が返される

3. INTERSECT クエリを使用するのはどのような場合ですか。

a. 一致するものがなくても、左のテーブルからすべての行を検出する場合

b. ブール演算子の OR のように、両方のテーブルにある行をすべて返す場合

c. ブール演算子の AND のように、両方のテーブルにある行のみを返す場合

複雑なクエリで SELECT を使用してデータを選択する 29

UNION クエリを 使用した場合は、UNION ALL を指定しない限り、重複するレコードは自動的に削除されます。

Page 47: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. 述語サブクエリには次のような特徴があります。

c. AND、OR、LIKE、BETWEEN、AS、および TOP を使用して、WHERE 句内で拡張論理構造を

使用する

2. UNION と JOIN の相違点は、次のとおりです。

a. UNION では列数とデータ型が同じである場合に 2 つの SQL クエリの結果が結合され、JOIN では尐

なくとも 1 つの列が一致する場合に行が返される

3. INTERSECT クエリを使用するのは次のような場合です。

c. ブール演算子の AND のように、両方のテーブルにある行のみを返す場合

重要ポイント

• UNION では、OR 関数を使用して、2 つ以上の SELECT ステートメントを結合します。

• JOIN は、2 つ以上のテーブルからデータを照会する場合に使用します。

• サブクエリは、別のクエリ内に入れ子にして使用します。

• INTERSECT は、AND 関数を使用して、2 つ以上の SELECT ステートメントを結合します。

詳細情報

• http://msdn.microsoft.com/en-us/library/aa393276(VS.85).aspx (英語)

• http://msdn.microsoft.com/ja-jp/library/aa259187(SQL.80).aspx

• http://msdn.microsoft.com/ja-jp/library/ms190659.aspx

30 第 3 章:データの操作

Page 48: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データの操作 3 .2

データを挿入する シナリオ: Katarina は、Adventure Works でのレポート プロジェクトを通じて、データベースのレイアウトについてより深く理解できるようになり、チームのデータベース管理者から、新しい仕事を任されました。その仕事とは、プログラマがデータベースのデータを挿入、更新、および削除するために使用できる、SQL ストアド プロシージャを作成することです。

Adventure Works では、ノバスコシアで好まれるレクリエーション活動について、新しいデータを観光客から大量に収集しました。Katarina の最初の仕事は、データベースに新しい行を挿入してこのデータを格納することです。Katarina は、この仕事は非常に重要であるため、効率的かつ正確にデータをデータベースに挿入する方法を復習してから、仕事に取りかかりたいと考えています。

1. INSERT SQL を設計する際に、特定の列のデータが見つからなかった場合はどうなりますか。

a. INSERT ステートメントから構文エラーが返される

b. INSERT ステートメントにより、その列の既定値が使用される

c. INSERT ステートメントにより、その列に NULL 値が挿入される 2. プログラマが他のテーブルから行をコピーできるようにするには、どのように INSERT ステートメントを

作成できますか。

a. INSERT INTO に SELECT . . . FROM 句を使用する

b. INSERT コマンドではこの操作を行うことができないので、JOIN を使用する必要がある

c. 行値コンストラクターを使用する

3. 複数の行を一度に挿入する場合の正しい構文はどれですか。

a. INSERT INTO table (column1, val1a), (column2, val2a);

b. INSERT (column1, column2) VALUES (val1a, val1b), (val2a, val2b) INTO table;

c. INSERT INTO table (column1, column2) VALUES (val1a, val1b), (val2a, val2b);

データを挿入する 31

新しい行を挿入す

るときは、各列の既定

値に注意してください。

新しいデータが指定され

ない場合は、既定値が使用

されます。

Page 49: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. 特定の列のデータが見つからなかった場合に行われることは、次のとおりです。

b. INSERT ステートメントにより、その列の既定値が使用される

2. プログラマが他のテーブルから行をコピーできるようにするには、次のように INSERT ステートメントを

作成できます。

a. INSERT INTO に SELECT . . . FROM 句を使用する

3. 複数の行を一度に挿入する場合の正しい構文は次のとおりです。

c. INSERT INTO table (column1, column2) VALUES (val1a, val1b), (val2a, val2b);

重要ポイント

• INSERT INTO ステートメントは、テーブルに新しい行を挿入するために使用します。

• SELECT を伴う INSERT INTO ステートメントは、VALUES 句の代わりにサブ選択を使用して、テーブルに

新しい行を挿入するために使用します。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/ms365309.aspx

• http://msdn.microsoft.com/ja-jp/library/ms188263.aspx

32 第 3 章:データの操作

Page 50: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データの操作 3 .3

データを更新する シナリオ: Katarina は、レクリエーション活動に関する大量のデータを Adventure Works データベースに追加し、このデータベースから多数のレポートを作成するうちに、この会社のデータベース構造について理解を深めることができました。

チームのデータベース管理者は Katarina の前進に満足し、さらに新しい仕事を任せることにしました。その仕事とは、開発者がデータベースのデータを挿入、更新、および削除するために使用できる SQL ストアド プロシージャを作成することです。

1. 地方付加価値税が 8% から 10% に引き上げられたことを受けて、開発者はデータベース内のすべてのレ

コードを更新したいと考えています。正しい構文は次のうちどれですか。

a. UPDATE RENTALS SET value_added_tax = .10;

b. SET sales_tax_rate = .10 IN RENTALS;

c. UPDATE sales_tax_rate = .10 IN RENTALS;

2. Katarina は、条件が true の場合にデータを更新し、条件が false の場合は別の更新を実行したいと考え

ています。最適な選択肢は次のうちどれですか。

a. CASE ステートメント

b. LIKE ステートメント

c. IF/THEN/ELSE ステートメント

3. 開発者の 1 人が、あるテーブルのデータを別のテーブルから更新しなければならない

ことがあると話していました。このような更新を行う場合に、正しい構文は次のうち

どれですか。

a. UPDATE SET kayak = RENTALS.kayak + EQUIPMENT.kayak

FROM RENTALS, EQUIPMENT;

b. UPDATE RENTALS SET RENTALS.kayak + EQUIPMENT.kayak;

c. UPDATE RENTALS SET kayak = RENTALS.kayak + EQUIPMENT.kayak

FROM RENTALS, EQUIPMENT;

CASE ステート メントを使用する 場合は、ELSE ステートメント (これは NULL を返します) を省略でき ます。

データを更新する 33

Page 51: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. 地方付加価値税が 8% から 10% に引き上げられたことを受けて、データベース内のすべてのレコードを

更新する場合は、次のコマンドを使用します。

a. UPDATE RENTALS SET value_added_tax = .10;

2. 次のステートメントを使用すると、条件が true の場合にデータを更新し、条件が false の場合は別の更新

を実行できます。

a. CASE ステートメント

3. あるテーブルのデータを別のテーブルから更新する場合は、次のコマンドを使用します。

c. UPDATE RENTALS SET kayak = RENTALS.kayak + EQUIPMENT.kayak FROM RENTALS,

EQUIPMENT;

重要ポイント

• UPDATE は、テーブルの既存のレコードの更新に使用します。

• UPDATE ステートメント内の WHERE 句は、更新する行の指定に使用します。

• CASE では、一致すべき条件 (WHEN) と、一致した場合に実行する操作 (THEN) を指定することにより、

when-then-else 機能を作成します。

• CASE 式の値は、最初に true になった WHEN 句の値です。いずれも true にならなかった場合、結果は

ELSE になります。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/ms189074.aspx

• http://msdn.microsoft.com/ja-jp/library/aa275660(SQL.80).aspx (英語)

34 第 3 章:データの操作

Page 52: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データの操作 3 .4

データを削除する

シナリオ: Katarina は、これまでに行った仕事で Adventure Works のデータベースについて、かなりの知識を身

に付けました。現在は、プログラマがデータベースのデータの挿入、更新、および削除に使用できる SQL スト

アド プロシージャを作成するという仕事を完了できる状態です。

この仕事での Katarina の最後の作業は、SQL を使用してデータベース内の既存のデータを削除することです。

プロシージャでは、1 つまたは複数のテーブルからデータを削除できるようにします。また、このトランザク

ションでは、データの整合性と参照整合性が保証される必要があります。

1. WHERE ステートメントが DELETE ステートメントに含まれていない場合はどうなりますか。

a. テーブル全体が削除される

b. テーブルのデータが削除される

c. ユーザーが構文エラーを受け取る

2. データベースのレコードの更新、削除、または追加を行う場合に、トランザクションはどのように役立

ちますか。

a. 複数のステートメントをまとめて、データ整合性エラーを防ぐ

b. テーブル内のレコードに対する変更の数をカウントする

c. 更新を制限して、一度に 1 つのステートメントしか実行できないようにする

3. プログラマがデータベースのレコードを変更する際に、データ整合性のルールを適用

するにはどうしますか。

a. トランザクションのすべてのステートメントが正常に完了した時点で、

コミット ステートメントを実行する

b. トランザクションのすべてのステートメントが正常に完了した時点で、

ロールバック ステートメントを実行する

c. トランザクション内の 1 つのステートメントにエラーが発生した時点でコミット

ステートメントを実行し、次のステートメントに移る

データベースの

更新時にデータ整合性

を適用するには、コミッ

ト ステートメントを使用

して複数のステートメン

トを 1 つのトランザク

ションにまとめます。

データを削除する 35

Page 53: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. WHERE ステートメントが DELETE ステートメントに含まれていない場合の動作は、次のとおりです。

b. テーブルのデータが削除される

2. データベースのレコードの更新、削除、または追加を行う場合に、トランザクションが役立つ理由は次の

とおりです。

a. 複数のステートメントをまとめて、データ整合性エラーを防ぐ

3. プログラマがデータベースのレコードを変更する際には、次の方法でデータ整合性のルールを適用でき

ます。

a. トランザクションのすべてのステートメントが正常に完了した時点で、コミット ステートメントを

実行する

重要ポイント

• DELETE FROM は、テーブル内の行を削除します。

• トランザクションは、複数のステートメントを 1 つにまとめたものです。

• ROLLBACK は、変更を取り消します。

• 1 つのトランザクション内のすべてのステートメントが正常であれば、

COMMIT コマンドにより変更がデータベースに記録されます。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/ms233823(VS.80).aspx

• http://msdn.microsoft.com/ja-jp/library/ms233823.aspx

• http://msdn.microsoft.com/ja-jp/library/aa213068(v=SQL.80).aspx

36 第 3 章:データの操作

Page 54: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

4

データ ストレージの理解

この章の内容

■ 4.1 正規化を理解する

■ 4.2 主キー、外部キー、および複合キーを理解する

■ 4.3 インデックスを理解する

Page 55: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 56: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データ ストレージの理解 4 .1

正規化を理解する

シナリオ: Natasha A. Desai は、Ohio State University の学生で、テクノロジの専門家のための優等生協会である

Epsilon Pi Tau の会員です。Epsilon Pi Tau の支部では、組織の運営資金を集めるため、卒業生に対して資金調達

キャンペーンを実施しています。

現在は、すべての記録が、キャンパス内にある Epsilon Pi Tau 会館の書類棚に手作業で保管されています。

Natasha は、最近データベース設計の授業を修了したので、卒業生の情報をデジタルで保管し、自動でメール

を生成できるように、データベースをボランティアで作成することにしました。

最初の作業は、次のようなデータ要件を収集することでした。

• フル ネームおよび旧姓 (該当す

る場合)

• 郵便番号、州、市町村、スト

リート アドレス

• 電子メール アドレス (電子メールと

郵便のどちらを希望するか)

• 卒業年度

• 取得学位

• 前年度の寄付

Natasha は Microsoft Access でデータベースを作成することを考えていますが、情報が正規化された形に

なっていないことに気が付きました。データベース設計の正規化を適切に進められるよう、次の質問に答え

てください。

1. 第 1 正規形の目的は何ですか。

a. 重複する情報ができるだけ含まれないようにする

b. 主キーと外部キーを特定する

c. 主キーに依存しない列を除去する

2. 上記の要件の場合、データベースを第 2 正規形にするには、どのデータを除去する

必要がありますか。

a. 州と市町村

b. 卒業年度

c. 前年度の寄付

3. 第 2 および第 3 正規形を適用するメリットではないものはどれですか。

a. ストレージ要件の削減

b. クエリおよび更新の管理の簡略化

c. インデックス付きデータによる容易な取得 正規化を理解する 39

住所のデータベー

スは、主テーブルに

郵便番号のみを格納し、

別のテーブルを作成して

郵便番号、州、および市町

村を格納することで、簡略

化できます。

Page 57: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

/3

の確認 得点

解答

1. 第 1 正規形の目的は次のとおりです。

a. 重複する情報ができるだけ含まれないようにする

2. データベースを第 2 正規形にするには、次のデータを除去する必要があります。

a. 州と市町村

3. 第 2 および第 3 正規形を適用する場合、次の点以外のメリットがあります。

c. インデックス付きデータによる容易な取得

重要ポイント

• 正規化では、リレーショナル データベースにさまざまな手法を適用して、重複する情報ができるだけ含ま

れないようにします。

• 正規形とは、重複と不整合を防ぎ、メンテナンス、保管、および更新の効率を向上するために情報の構造

(組織) を整理した形です。

• 第 1 正規形 (1NF) では、データベースについていくつかの基本的なルールが設定されています。

第 1 正規形にするには、同じテーブルから重複する列を除去します。

• 第 2 正規形 (2NF) では、1NF に加えて、同一テーブル内の複数の行に該当するデータを除去し、

別のテーブルに格納します。

• 第 3 正規形 (3NF) では、2NF に加えて、主キーに依存しない列を除去します。

詳細情報

• http://msdn.microsoft.com/en-us/library/aa200276(office.11).aspx (英語)

• http://msdn.microsoft.com/ja-jp/library/aa139981(office.10).aspx

40 第 4 章:データ ストレージの理解

Page 58: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データ ストレージの理解 4 .2

主キー、外部キー、および複合キーを理解する

シナリオ: Epsilon Pi Tau の卒業生のデータベースは、着々と整備が進んでいます。Natasha は正規化の概念を適

用して必要なストレージ容量を削減し、クエリおよび更新の手続きを簡略化しました。データベースを第 3 正

規形にした結果、テーブルは 4 つになりました。人口統計情報、郵便番号、学位、寄付の各テーブルです。

今度は、各テーブルに主キー、外部キー、および複合キーを作成します。これは、高いデータ整合性を維持し、

情報の一貫性と有用性を確保するための作業です。

1. 人口統計情報テーブルの主キーとして最適なものはどれですか。

a. 姓

b. 卒業生 ID (システムにより自動生成)

c. 姓名

2. 次のうち外部キーの例はどれですか。

a. 郵便番号

b. 卒業年度

c. 姓

3. 主キーのルールではないものはどれですか。

a. 一意である

b. 数値である

c. NULL 以外の値

主キー、外部キー、および複合キーを理解する 41

データ整合性は 3 種

類あります。エンティ

ティの整合性では主キー、

参照整合性では外部キーが

問題になります。ドメイン

の整合性では値の宣言が必

要であることが規定され

ます。

Page 59: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

/3

の確認 得点

解答

1. 人口統計情報テーブルの主キーとして最適なものは次のとおりです。

b. 卒業生 ID (システムにより自動生成)

2. 外部キーの例は次のとおりです。

a. 郵便番号

3. 主キーのルールではないものは次のとおりです。

b. 数値である

重要ポイント • 主キーは、特定の行の一意の識別子になるものであり、データベース内のリレーションシップを一意に

定義します。 • 外部キーは、別のテーブルの主キーを参照します。 • データ整合性とは、データベース全体でデータの一貫性、正確性、および有用性を確保することです。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/ms191236.aspx

• http://msdn.microsoft.com/ja-jp/library/ms175464.aspx

42 第 4 章:データ ストレージの理解

Page 60: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データ ストレージの理解 4 .3

インデックスを理解する

シナリオ: Natasha は、Epsilon Pi Tau 卒業生データベースの設計とセットアップをほぼ完了しました。今は、

優等生協会のリーダーたちが、各種イベントやプロモーションを計画するときや、会員に連絡しなければなら

ないときに、データを取り出しやすくするインデックスが必要かどうかを決める段階です。

インデックスがこのデータベースにとって有益であるかどうか、インデックスを作成する時間を割くだけの

価値があるかどうかを判断するためにも、インデックスの目的とメリットを簡単に見直してみましょう。

1. 人口統計情報テーブルの主キーはシステム定義の番号であることを踏まえると、有用なクラスター化イン

デックスを作成するにはどのデータを基盤にするとよいですか。

a. 姓

b. 性別

c. 名

2. 非クラスター化インデックスの特徴はどれですか。

a. 実際のデータ ページまたはレコードが含まれる

b. キーワードおよびデータへのポインターが含まれる

c. 外部キーが含まれる

3. インデックスを使用した結果として当てはまらないものはどれですか。

a. データ取得速度の向上

b. ストレージ要件の増加

c. レコードの書き込み速度の向上

インデックスを理解する 43

一般的には、

データベースに多数

のレコードが含まれる

場合、インデックスの

追加に必要な時間と労

力よりもメリットの方

が大きくなります。

Page 61: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

/3

の確認 得点

解答

1. このテーブルで有用なクラスター化インデックスは、次のデータを基に作成します。

a. 姓

2. 非クラスター化インデックスには、次の特徴があります。

b. キーワードおよびデータへのポインターが含まれる

3. インデックスを使用した結果として、次の内容は当てはまりません。

c. レコードの書き込み速度の向上

重要ポイント

• インデックスには、キーワードと、より包括的な情報の場所 (ディスク上のファイルやレコード、

データベース内のレコード キーなど) を示す関連データが含まれます。

• データベース インデックスを格納するための B ツリー構造では、ツリーの各ノードに、並べ替えられた

キー値の一覧と、一覧に含まれる値の間に存在するキー値の範囲に対応したリンクが格納されます。

• 非クラスター化インデックスは、本のインデックス (索引) と同様の編成のインデックスで、

インデックス値が実際の情報の場所を示しています。

• クラスター化インデックスは、情報の取得速度を向上し、情報へ直接アクセスできるような特殊

な順序で配置されています。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/ms180978.aspx

• http://msdn.microsoft.com/en-us/library/aa933129(v=SQL.80).aspx (英語)

44 第 4 章:データ ストレージの理解

Page 62: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

5

データベースの管理

この章の内容

■ 5.1 データベース セキュリティの概念を理解する

■ 5.2 データベースのバックアップと復元を理解する

Page 63: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 64: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データベースの管理 5 .1

データベース セキュリティの概念を理解する

シナリオ: 最近、さまざまなセキュリティ違反によって企業が顧客のデータを紛失するというニュースが、多数

のメディアで取り上げられています。Humongous Insurance Company では、このようなニュースに自社の名前

が登場することがないように、内部監査を実施して、情報システム内の潜在的なセキュリティ リスクを特定す

ることにしました。アナリストのチームは、物理的なセキュリティ、内部セキュリティ、外部セキュリティな

ど、リスクが考えられる領域について十分理解しています。

監査担当者によると、この会社のセキュリティ計画は、ユーザーと各ユーザーが実行できる操作を特定するこ

とでデータ整合性を確保するという点と、データをハッカーから保護するという点では適切です。しかし、

全体的に見ると、セキュリティ計画のその他の領域については 再検討する必要があります。

1. 物理的なセキュリティ計画には、どのような項目を含める必要がありますか。

a. ユーザー アカウントとパスワードの格納場所

b. データベース管理者の就労場所

c. アクセス制限があるサーバーの設置場所

2. 内部セキュリティ計画に関係のない戦略はどれですか。

a. バックアップおよび運用継続性を提供する

b. 古く、使用されていないユーザー アカウントを削除する

c. 強力なパスワードを使用するようにユーザー アカウントに強制する

3. セキュリティ攻撃の例として、当てはまらないものはどれですか。

a. ロールの適用によるアクセスの許可

b. 特権の昇格

c. SQL インジェクション

データベース セキュリティの概念を理解する 47

大規模な組織 では、ユーザーを ロール別にグループ 化します。各ロールに従ってアクセスを許可するには、GRANT ステート メントを使用します。

Page 65: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

/3

の確認 得点

解答

1. 物理的なセキュリティ計画には、次の項目を含める必要があります。

c. アクセス制限があるサーバーの設置場所

2. 内部セキュリティに関係のない戦略は、次のとおりです。

a. バックアップおよび運用継続性を提供する

3. セキュリティ攻撃の例として、当てはまらないものは、次のとおりです。

a. ロールの適用によるアクセスの許可

重要ポイント • セキュリティ計画では、データベースのデータに対して、どのユーザーがどのような操作を実行できるか

を特定します。 • 物理的なセキュリティ計画では、データベースが実際に配置されている場所の安全を確保します。 • アクセス制御では、接続できるユーザーと各ユーザーが実行できる操作を確実に制限します。 • ユーザー アカウントでは、ユーザーにデータベースへのアクセスを許可します。 • ロールでは、データベースに対する権限を付与します。定義済みのロールを使用することで、同一グ

ループ内のすべてのユーザーに同じ権限を付与することができます。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/aa291801(VS.71).aspx

• http://msdn.microsoft.com/en-us/library/dd568741.aspx (英語)

48 第 5 章:データベースの管理

Page 66: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データベースの管理 5 .2

データベースのバックアップと復元を理解する

シナリオ: アナリストのチームは、Humongous Insurance Company の内部セキュリティ監査を完了しました。

システムにある脆弱性がいくつか見つかったため、関連するリスクを最小限に抑えるために、改善策の提示を

行いました。しかし、最終的なレポートを完成するには、バックアップおよび回復の計画を把握する必要があ

ります。

そこでアナリストたちはデータベース管理者との打ち合わせ前に、Humongous Insurance Company 独自の状況

と必要なプロセスを関連付けて考えることができるように、データベースのバックアップおよび復元の概念を

確認することにしました。

1. 前回の完全バックアップ以降に変更されたファイルのみをコピーするバックアップ戦略は、次のうち

どれですか。

a. 部分バックアップ

b. 増分バックアップ

c. 差分バックアップ

2. レプリケーション サービスの使用が推奨されるのは、どのような場合ですか。

a. データベースが、1 日 24 時間、週 7 日利用できる必要がある場合

b. データベースのリソース使用量が非常に大きい場合

c. 会社がデータベースのバックアップに、オフサイトのストレージを使用している

場合

3. 完全バックアップを実行する場合に省略可能な情報はどれですか。

a. 変更されていないデータ

b. ユーザー セキュリティ NAT などのサーバー ファイル

c. 前回の完全バックアップ以降に変更されていないデータ

データベースのバックアップと復元を理解する 49

バックアップ ソフトウェアでは、 ロックされているレ コードも処理する必要 があります。

Page 67: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

/3

の確認 得点

解答

1. 前回の完全バックアップ以降に変更されたファイルのみをコピーするバックアップ戦略は、 次のとおりです。

c. 差分バックアップ

2. レプリケーション サービスが推奨されるのは、次の場合です。

a. データベースが、1 日 24 時間、週 7 日利用できる必要がある

3. 完全バックアップを実行する場合に、次の情報は省略可能です。

b. ユーザー セキュリティ NAT などのサーバー ファイル

重要ポイント • バックアップは、比較的短時間で、使用できる形でデータベースを再現できるように、すべての重要な

データを保存するプロセスです。

• 完全バックアップでは、将来取得が必要になった場合に備えて、すべてのファイルがコピーされます。

• 増分バックアップでは、前回のバックアップ以降に変更されたファイルのみがコピーされます。

• 差分バックアップでは、前回の完全バックアップ以降に変更されたファイルのみがコピーされます。

• レプリケーション サービスでは、データベースの完全コピーまたは増分コピーを再現します。

詳細情報

• http://msdn.microsoft.com/ja-jp/library/ms187510.aspx

• http://msdn.microsoft.com/ja-jp/library/ms188312.aspx

50 第 5 章:データベースの管理

Page 68: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

6

データベースの 概念の復習

この章の内容

■ データベースの基本事項の復習

Page 69: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。
Page 70: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

ヒント

目的 データベースの概念の復習

データベースの基本事項の復習

シナリオ: おめでとうございます! この章で、データベース管理の受講者用学習ガイドは終わりです。さまざまな

シナリオを通じて、楽しく勉強できたでしょうか。テクノロジに彩られている私たちの生活で、日常の多くの

場面にデータベースがかかわっていることを理解していただけたことと思います。データベース管理のスキル

を身に付けることは、将来のキャリアへの扉を開く鍵です。

データベース管理の認定試験の準備に、この学習ガイドに掲載されている質問やヒントを役立ててください。

1. データベース管理の認定試験に備えるために不可欠な、データベースの中心的な概念はどれですか。

a. リレーショナル データベース管理システム、データ操作言語、データ定義言語、SQL

b. 電子工学、データ型、ビュー、グラフィカル デザイナー

c. データベースのバックアップ、開発言語、復元手法

2. 次のうち、データの操作方法ではないものはどれですか。

a. 選択、挿入、更新、削除

b. ストアド プロシージャと関数の作成

c. 主キーと外部キーの作成

3. 正規化とは何ですか。

a. 重複する情報ができるだけ含まれないようにする手法

b. データベースのバックアップと復元に使用されるプロセス

c. キーワードおよび格納されているデータへのポインターを提供する戦略

概念を復習して、 データベース管理の スキルを実践してください。各レッスンの「詳細 情報」のリンクを使用して、知識を補強してくだ さい。

データベースの基本事項の復習 53

Page 71: MICROSOFT TECHNOLOGY ASSOCIATE 受講者用学習ガイド · この高校で教鞭を取り始めてから するさまざまな業務において、マイクロソフトに協力しています。

の確認 得点

/3

解答

1. データベースの中心的な概念は、次のとおりです。

a. リレーショナル データベース管理システム、データ操作言語、データ定義言語、SQL

2. 次の作業は、データ操作ではありません。

c. 主キーと外部キーの作成

3. 正規化の意味は次のとおりです。

a. 重複する情報ができるだけ含まれないようにする手法

重要ポイント

• 最新のデータベース管理システムでは、データがリレーション (テーブル) を使って整理されるリレーショ

ナル モデルが実装されます。

• RDBMS は、Relational (リレーショナル) Data Base (データベース) Management (管理) System (システム)

の頭字語です。

• 構造化照会言語 (SQL) は、リレーショナル データベースに対する照会、更新、および管理に使用される

データベース サブ言語です。

• データ操作言語 (DML) は、データの挿入、更新、およびデータベースへの照会に使用されます。

• データ定義言語 (DDL) は、データベースのすべての属性とプロパティを定義します。

特に、レコードのレイアウト、フィールド定義、キー フィールド、ファイルの場所、

およびストレージ戦略を定義します。

• 正規形は、重複を防ぎ、メンテナンス、保管、および更新の効率を向上するために

情報の構造 (組織) を整理した形です。

詳細情報

• http://msdn.microsoft.com/ja-jp/data/default.aspx

• http://msdn.microsoft.com/ja-jp/sqlserver/default.aspx

54 第 6 章:データベースの理解