サンプル問題
MCP MCSE 70-461 問題集 SQL Server 2012,
問題:
あなたはABC.comでは、SQL Server 2012データベース開発者として働いています。あなたは訪問者が週のクリケット選手に投票することができ、データベースドライブ型Webアプリケーションのクエリの開発を行っています。投票数は、週という名前の列があるWeeklyVotes、PlayerName、Votesという名前のテーブルに格納されています。
あなたは、過去12ヶ月間の平均的な票差でトップ30クリケット選手をランク付けするTransact-SQLクエリを記述する必要があります。あなたは上位10クリケット選手にランク1を、次の上位10クリケット選手にランク2を、最下位の10クリケット選手にランク3をつけることを望みます。
あなたはどのステートメントを使うのでしょうか?
解答エリアに正しいコードを入力してください。
解答:
SELECT TOP 50 PlayerName,
NTILE (3) OVER (ORDER BY AVG (Votes) DESC) AS AveVotes
FROM WeeklyVotes
GROUP BY PlayerName
問題:
あなたはABC.comでデータベース開発者として働いています。 ABC.comはWeeklySalesという名前のテーブルを持っていSalesDBという名前のSQL Server 2012のデータベースを持っています。 WeeklySalesテーブルはABC.comの20営業担当者のそれぞれについて、売上高を記録します。
あなたは、過去1年間の平均売上金額によって、営業担当者をランク付けしたTransact-SQLクエリを記述する必要があります。あなたは、同じ平均売上金額を持つ営業担当者が、その後のランクがスキップされると、同じランクを持つようにすることを望みます。
あなたはどのランキング関数を使うべきでしょうか?
(A). The RANK( ) OVER function.
(B). The NTILE( ) OVER function
(C). The DENSE_RANK( ) OVER function
(D). The ROW_NUMBER( ) OVER function
(E). The FORMAT function.
解答:C
問題:
あなたはABC.comでは、SQL Server 2012データベース開発者として働いています。あなたは訪問者が週のクリケット選手に投票することができ、データベースドライブ型Webアプリケーションのクエリの開発を行っています。投票数は、週という名前の列があるWeeklyVotes、PlayerName、Votesという名前のテーブルに格納されています。
あなたは、週ごとの最多得票を受けクリケット選手だけでなく、彼らは得票数を返すTransact-SQLクエリを記述する必要があります。
どのステートメントは、このタスクを達成しますか?
(A). SELECT PlayerName, Votes
FROM ( SELECT PlayerName, Votes,
RANK () OVER (PARTITION BY PlayerName ORDER BY Votes ASC) AS Rank
FROM WeeklyVotes ) AS tmp
WHERE Rank = 1
(B). SELECT PlayerName, Votes
FROM ( SELECT PlayerName, Votes,
RANK() OVER (PARTITION BY Week ORDER BY Votes DESC) AS Rank FROM WeeklyVotes)
AS tmp
WHERE Rank = 1
(C). SELECT PlayerName, Votes
FROM ( SELECT TOP 1 PlayerName, Votes,
RANK () OVER (PARTITION BY PlayerName ORDER BY Votes ASC) AS Rank
FROM WeeklyVotes
ORDER BY Rank) AS tmp
(D). SELECT PlayerName, Votes
FROM ( SELECT TOP 1 PlayerName, Votes,
RANXO OVER (PARTITION BY PlayerName ORDER BY Votes DESC) AS Rank
FROM WeeklyVotes
ORDER BY Rank) AS tmp
解答:B
問題:
あなたはABC.comでデータベース開発者として働いています。 ABC.comは、salesdbの名前のSQL Server 2012のデータベースを持っていて、それはInventoryという名前のテーブルを持っています。
Inventoryテーブルは、ProductID、インストアイベントとInWarehouseという名前の3つの列があります。 ProductID列は主キーであり、Productsテーブルにリンクされています。 'InWarehouse列はABC.comで開催されている製品の量を記憶し、小売店の "インストアイベントの列はABC.comで開催されている製品の数量を格納します。
あなたはABC.comが持っている製品の合計数を格納する計算列を追加する必要があります。
どのTransact-SQLステートメントは、このタスクを達成しますか?
(A). ALTER TABLE Inventory
ADD TotalProducts AS (InStore + InWarehouse) PERSISTED
(B). ALTER TABLE Inventory
ADD TotalProducts int SPARSE NOT NULL
(C). ALTER TABLE Inventory
ADD TotalProducts AS SUM (ALL) OVER (GROUP BY InStore, InWarehouse) PERSISTED
(D). DROP TABLE Inventory
GO
CREATE TABLE Inventory
(
ProductID int NOT NULL PRIMARY KEY,
InStore int NOT NULL,
InWarehouse int NOT NULL,
TotalProducts AS SUM (InStore, InWarehouse) PERSISTED
)
解答:A
問題:
ABC.comはComDBという名前のデータベースをホストするSQL Server 2012のデータベースインスタンスを持っています。 ComDBデータベースには、次のTransact-SQLコードを使用して作成されたパートナーという名前のテーブルがあります。
CREATE TABLE [dbo].[Partners]
(
[CompanyID] [int] NOT NULL,
[CompanyName] [nvarchar] (50) NOT NULL,
[Location] [nvarchar] (50) NOT NULL,
[ContactName] [nvarchar] (50) NOT NULL,
[Email] [nvarchar] (50) NOT NULL,
[Phone] [nvarchar] (10) NOT NULL,
CONSTRAINT [PK_Partners] PRIMARY KEY CLUSTERED
(
[CompanyID] ASC
)
ON PRIMARY
)
あなたは、担当者名と電話番号の列に変更が追跡され、FOR UPDATEトリガーを作成したいと思います。
あなたは、トリガー定義にどのステートメントを使うべきですか?
(A). IF COLUMNS_UPDATED (ContactName, Phone)
(B). IF COLUMNS_UPDATED (ContactName) OR COLUMNS_UPDATED (Phone)
(C). IF UPDATED (ContactName, Phone).
(D). IF UPDATED (ContactName) OR UPDATED (Phone)
解答:D
問題:
あなたはABC.comでSQL Server 2012のデータベースインフラストラクチャのデータベース管理者です。あなたがテーブルに基づいてビューを設計することによって、データの数百万行が含まれている非常に大規模なデータベーステーブルを最適化する必要があります。ビューには、ユーザーが複数の列で集計を実行できるようにする必要があります。
どのようにして最適なパフォーマンスを確保するためのビューを設定する必要がありますか
(A)。あなたは、インデックス付きビュー、ビューを作成する必要があります。
(B)。あなたは、ビューのクラスタ化インデックスを作成する必要があります。
(C)。そのデータを返すストアドプロシージャを利用する必要があります。
(D)。あなたは、テーブル値関数を利用する必要があります。
解答:A
問題:
あなたはABC.comでデータベースの開発者です。 ABC.comは、パートナーという名前のテーブルとComDBという名前のデータベースがあるSQL Server 2012データベースインフラストラクチャを持っています。
Partnersテーブルは、次のTransact-SQLコードを使用して作成されました:
CREATE TABLE [dbo].[Partners]
(
[CompanyID] [int] NOT NULL PRIMARY KEY,
[CompanyName] [varchar] (150) NOT NULL,
[Location] [varchar] (150) NOT NULL,
[ContactName] [varchar] (150) NOT NULL,
[Email] [varchar] (150) NOT NULL,
[Phone] [varchar] (10) NOT NULL
)
あなたは、次のTransact-SQLコードを使用して、イベントという名前の新しいテーブルを開発:
CREATE TABLE [dbo].[Events]
(
[EventID] [int] NOT NULL PRIMARY KEY,
[CompanyID] [int] NOT NULL,
[EventDescription] [varchar] (2500),
[EventCordinator] [varchar] (150) NOT NULL
)
どのようにしてEvents.CompanyID列の値がすでにPartners.CompanyID列に存在していることを保証しますか?
(A)。あなたは、イベントテーブルの外部キー制約を追加する必要があります。
(B)。あなたは、イベントテーブルにCHECK制約を追加する必要があります。
(C)。あなたは、イベントテーブルにUNIQUE制約を追加する必要があります。
(D)。あなたは、スパー列としてEvents.CompanyID指定する必要があります。
(E)。パーティション表へのイベント?テーブルを変更する必要があります。
解答:A
問題:
ABC.comはComDBという名前のデータベースを持つSQL Server 2012データベースインフラストラクチャを持っています。
あなたは、次のTransact-SQLコードを使用してビューを作成しました:
CREATE VIEW ABCCommunications
(Type, CompanyID, CompanyName, Location, ContactName, Email, Phone)
AS
SELECT 'Clients' AS Type, CompanyID, CompanyName, Location, ContactName, Email, Phone
FROM CommList
WHERE Relation = 'Client'
SELECT 'Partners' AS Type, CompanyID, CompanyName, Location, ContactName, Email, Phone
FROM CommList
WHERE Relation = 'Partner'
SELECT 'Guests' AS Type, CompanyID, CompanyName, Location, ContactName, Email, Phone
FROM CommList
WHERE Relation = 'Guests'
GO
あなたはCompanyID、CompanyNameと場所の列を除くすべての列を編集するために使用されるビューを望ます。
あなたは、ビューに何を実装する必要がありますか?
(A)。あなたは、AFTER UPDATEトリガーを実装することを検討する必要があります。
(B)。あなたは、インデックスを実装することを検討します。
(C)。あなたは、INSTEAD OF UPDATEトリガの実装を検討します。
(D). CHECK制約を実装することを検討する必要があります。
解答:C
問題:
あなたはABC.comでは、SQL Server 2012データベース開発者として採用されています。 ABC.comはSalesVという名前のビューを持つSalesDBデータベースを持っています。 SalesVビューは、次のTransact-SQLコードを使用して作成されました:
CREATE VIEW SalesDB.ProductsSalesV
AS
SELECT OrderID, ProductID, ShipDate, OrderDate, Amount
FROM SalesDB.Orders;
あなたは、整数データ型の@ ProductIDのパラメータを受け入れfn_ABC名前インラインテーブル値関数を作成したいと思います。インラインテーブル値関数には、最新の販売によってリストされる各製品の受注のために許可する必要があります。
どのようにこのインラインテーブル値関数を作成しますか?
解答エリアに正しいコードを入力してください。
解答:
CREATE FUNCTION SalesDB.fn_ABC ( @ProductID int )
RETURNS TABLE
AS
RETURN
(
SELECT OrderID, ProductID, ShipDate, OrderDate, Amount
FROM Sales. ProductsSalesV
WHERE ProductID = @ProductID
ORDER BY OrderDate DESC
);
問題:
あなたはABC.comでデータベース開発者として働いています。 ABC.comは、複数のデータベースを使用するSQL Server 2012データベースインフラストラクチャを持っています。あなたは、これらのデータベースのうちの2つ、すなわち、CommDBとSalesDB上の権限を持っています。
あなたはAssetsDBという名前のデータベースのdbo.ABC_addEntryという名前のストアドプロシージャを開発する必要があります。 dbo.ABC_addEntryストアドプロシージャはCommDBとSalesDBでストアドプロシージャを実行します。
CommDBとSalesDBのパーミッションをペーバーない発信が正常dbo.ABC_addEntryストアドプロシージャを実行できるように、どのようにしてストアドプロシージャを設計する必要がありますか?
(A)。あなたは、xp_cmdshell拡張ストアドプロシージャを呼び出すストアドプロシージャを構成する必要があります。
(B)。あなたは、sp_configureシステムストアドプロシージャをコールするストアドプロシージャを構成する必要があります。
(C)。ストアドプロシージャにユーザーに権限を割り当てる必要があります。
(D)。ストアドプロシージャを作成するときに、呼び出し元のEXECUTE AS句を含める必要があります。
(E)。ストアドプロシージャを作成するときにはOWNER EXECUTE AS句を含める必要があります。
解答:E
問題:
あなたはABC.comでデータベースの開発者です。 ABC.comは、パートナーとイベントという名前のテーブルをComDBという名前のデータベースがあるSQL Server 2012データベースインフラストラクチャを持っています。これらのテーブルは、次のTransact-SQLコードを使用して作成されました:
CREATE TABLE [dbo].[Partners]
(
[CompanyID] [int] NOT NULL PRIMARY KEY,
[CompanyName] [varchar] (150) NOT NULL,
[Location] [varchar] (150) NOT NULL,
[ContactName] [varchar] (150) NOT NULL,
[Email] [varchar] (150) NOT NULL,
[Phone] [varchar] (10) NOT NULL
)
CREATE TABLE [dbo].[Events]
(
[EventID] [int] NOT NULL PRIMARY KEY,
[CompanyID] [int] NOT NULL,
[EventDescription] [nvarchar] (MAX),
[EventDate] [nvarchar] (50) NOT NULL,
[EventCordinator] [nvarchar] (150) NOT NULL
)
あなたはCompanyID列上の2つのテーブル間の外部キーリレーションシップを追加します。あなたは、すべてのパートナー、彼らが調整されているすべてのイベントのためのEventDate CompanyNameを取得するsp_coEventsという名前のストアドプロシージャを開発する必要があります。
解答エリアに正しいコードを入力してください。
解答:
CREATE PROCEDURE sp_coEvent
AS
SELECT CompanyName, EventDate
FROM Partners JOIN Events ON
Partners.CompanyID = Events.CompanyID